:root {
  --zemin: #f6f5ef;
  --kart: #ffffff;
  --murekkep: #0e3b34;
  --yesil: #1f8a6a;
  --metin: #1d2b27;
  --soluk: #5d6b66;
  --cizgi: #e2e0d6;
  --hata: #b3261e;
  --golge: 0 1px 2px rgba(14, 59, 52, .06), 0 8px 28px rgba(14, 59, 52, .08);
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  :root {
    --zemin: #101816;
    --kart: #18231f;
    --murekkep: #d8efe6;
    --yesil: #4cc79b;
    --metin: #e3ece8;
    --soluk: #9fb1aa;
    --cizgi: #2a3a35;
    --hata: #ff8a80;
    --golge: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 28px rgba(0, 0, 0, .25);
  }
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--zemin); color: var(--metin); font: 16px/1.55 "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif; }
[hidden] { display: none !important; }
h1, h2 { color: var(--murekkep); line-height: 1.2; margin: 0 0 14px; letter-spacing: -.01em; }
h1 { font-size: 24px; }
h2 { font-size: 19px; }
.soluk { color: var(--soluk); }

.ust { display: flex; align-items: center; gap: 12px; padding: 14px 20px; border-bottom: 1px solid var(--cizgi); background: var(--kart); flex-wrap: wrap; }
.ust img { border-radius: 9px; }
.ust-yazi { display: flex; flex-direction: column; line-height: 1.15; }
.ust-yazi strong { color: var(--murekkep); }
.ust-yazi span { color: var(--soluk); font-size: 14px; }
.ust-sag { margin-left: auto; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ust-sag #kullaniciAdi { color: var(--soluk); font-size: 14px; margin-right: 4px; }

main { max-width: 1040px; margin: 0 auto; padding: 28px 16px 60px; }
.kart { background: var(--kart); border: 1px solid var(--cizgi); border-radius: 16px; padding: 26px 28px; box-shadow: var(--golge); }
.kart.dar { max-width: 430px; margin: 24px auto; }

form { display: grid; gap: 14px; }
label { display: grid; gap: 6px; font-weight: 600; font-size: 15px; }
input { font: inherit; padding: 11px 13px; border-radius: 10px; border: 1px solid var(--cizgi); background: var(--zemin); color: var(--metin); }
input:focus-visible, button:focus-visible { outline: 3px solid #f2c14e; outline-offset: 2px; }
button { font: inherit; font-weight: 600; cursor: pointer; border-radius: 999px; padding: 11px 20px; border: 2px solid var(--yesil); background: var(--yesil); color: #fff; }
button:disabled { opacity: .6; cursor: wait; }
button.ince { background: transparent; color: var(--yesil); border: 1px solid var(--cizgi); padding: 6px 14px; font-size: 14px; }
button.geri { margin-top: 14px; }

.durum { min-height: 1.5em; text-align: center; margin: 0 0 8px; font-weight: 600; }
.durum.hata { color: var(--hata); }

.karekod { display: block; margin: 8px auto; background: #fff; border-radius: 8px; image-rendering: pixelated; }
.anahtar { text-align: center; font-size: 13px; color: var(--soluk); word-break: break-all; }
.anahtar code { font-size: 13px; color: var(--metin); }

.liste-baslik { margin-top: 6px; }
.izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 16px; margin-top: 18px; }
.uyg { display: flex; flex-direction: column; background: var(--kart); border: 1px solid var(--cizgi); border-top: 5px solid var(--renk, var(--yesil)); border-radius: 14px; box-shadow: var(--golge); overflow: hidden; }
.uyg-ana { all: unset; cursor: pointer; display: block; padding: 18px 20px 14px; flex: 1; }
.uyg-ana:hover .uyg-ad, .uyg-ana:focus-visible .uyg-ad { text-decoration: underline; }
.uyg-ana:focus-visible { outline: 3px solid #f2c14e; outline-offset: -3px; }
.uyg-ad { display: block; font-size: 20px; font-weight: 700; color: var(--murekkep); }
.uyg-adres { display: block; font-size: 13px; color: var(--soluk); margin-top: 2px; }
.uyg-aciklama { display: block; margin-top: 8px; color: var(--metin); font-size: 15px; }
.uyg-alt { display: flex; justify-content: flex-end; padding: 0 12px 12px; }
.uyg-alt button { font-size: 13px; }

.satir-baslik { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.tablo-kap { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; font-size: 14px; }
th, td { text-align: left; padding: 7px 10px; border-bottom: 1px solid var(--cizgi); white-space: nowrap; }
th { color: var(--soluk); font-weight: 600; }

@media (max-width: 520px) {
  .kart { padding: 20px 18px; }
  .ust-sag { margin-left: 0; width: 100%; }
}
