:root {
  color-scheme: dark;
  /* FingerCAD marka belirteçleri (fingercad.com ile aynı) */
  --pafta: #030712;
  --kagit: #0f172a;
  --kagit-2: #131d35;
  --murekkep: #f8fafc;
  --murekkep-2: #94a3b8;
  --cizgi: #1e293b;
  --cizgi-guclu: #334155;
  --parsel: #131d35;
  --parsel-ust: #1d3557;
  --kazik: #00d4ff;
  --kazik-koyu: #38e0ff;
  --mavi: #0284c7;
  --kazik-yumusak: rgba(0, 212, 255, 0.12);
  --hata: #f87171;
  --font-baslik: "Space Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-metin: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --olcek-1: 0.875rem;
  --olcek-2: 1rem;
  --olcek-3: 1.125rem;
  --olcek-4: 1.5rem;
  --olcek-5: clamp(1.9rem, 1.3rem + 2.4vw, 3rem);
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--pafta);
  color: var(--murekkep);
  font-family: var(--font-metin);
  font-size: var(--olcek-2);
  line-height: 1.6;
}

a { color: inherit; text-decoration-color: var(--cizgi); text-underline-offset: 3px; }
a:hover { text-decoration-color: var(--kazik); }
:focus-visible { outline: 3px solid var(--kazik); outline-offset: 2px; }

.sayfa { max-width: 1120px; margin: 0 auto; padding: 0 16px; }

/* Üst şerit */
.ust { border-bottom: 1px solid var(--cizgi); background: var(--kagit); }
.ust .sayfa { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding-top: 12px; padding-bottom: 12px; }
.marka { font-family: var(--font-baslik); font-weight: 500; font-size: 1.35rem; letter-spacing: -0.01em; text-decoration: none; }
.marka b { font-weight: 700; }
.marka small { font-size: 0.8rem; font-weight: 500; color: var(--kazik); margin-left: 10px; padding-left: 10px; border-left: 1px solid var(--cizgi-guclu); letter-spacing: 0; }
.ust nav { white-space: nowrap; }
.ust nav a { font-size: var(--olcek-1); margin-left: 16px; }
@media (max-width: 480px) {
  .marka { font-size: 1.15rem; white-space: nowrap; }
  .marka small { margin-left: 8px; padding-left: 8px; }
  .ust nav a:nth-child(2) { display: none; }
}

/* Karelaj zemin: pafta üzerindeki artı işaretleri */
.karelaj {
  background-image:
    linear-gradient(var(--cizgi), var(--cizgi)),
    linear-gradient(var(--cizgi), var(--cizgi));
  background-size: 9px 1px, 1px 9px;
  background-position: 0 0, 0 0;
  background-repeat: no-repeat;
}
.zemin {
  background-color: var(--kagit);
  background-image:
    radial-gradient(circle at 0 0, transparent 0, transparent 0),
    repeating-linear-gradient(0deg, transparent 0 47px, color-mix(in srgb, var(--cizgi) 45%, transparent) 47px 48px),
    repeating-linear-gradient(90deg, transparent 0 47px, color-mix(in srgb, var(--cizgi) 45%, transparent) 47px 48px);
  border: 1px solid var(--cizgi);
  border-radius: 14px;
}

/* Giriş */
.giris { padding: 32px 0 24px; }
.giris-izgara { display: grid; gap: 24px; grid-template-columns: 1fr; }
@media (min-width: 900px) {
  .giris { padding: 56px 0 40px; }
  .giris-izgara { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: center; gap: 40px; }
}
h1, h2, h3 { font-family: var(--font-baslik); font-weight: 700; line-height: 1.12; letter-spacing: -0.02em; margin: 0; }
h1 { font-size: var(--olcek-5); }
h2 { font-size: clamp(1.7rem, 1.3rem + 1.4vw, 2.4rem); margin-bottom: 12px; }
h3 { font-size: var(--olcek-4); }
.giris p.alt { font-size: var(--olcek-3); color: var(--murekkep-2); max-width: 46ch; margin: 16px 0 24px; }

.il-ara label { display: block; font-weight: 600; margin-bottom: 6px; }
.il-ara .satir { display: flex; gap: 8px; }
.il-ara input { flex: 1; min-width: 0; }

input, select, textarea {
  width: 100%;
  font: inherit;
  color: inherit;
  background: var(--kagit);
  border: 1.5px solid var(--cizgi);
  border-radius: 10px;
  padding: 11px 12px;
  min-height: 46px;
}
textarea { min-height: 112px; resize: vertical; }
input:focus-visible, select:focus-visible, textarea:focus-visible { border-color: var(--kazik); }

.dugme {
  font: inherit;
  font-weight: 700;
  background: var(--kazik);
  color: #030712;
  border: 0;
  border-radius: 10px;
  padding: 11px 20px;
  min-height: 46px;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}
.dugme:hover { background: var(--kazik-koyu); }
.dugme[disabled] { opacity: 0.85; cursor: progress; }
/* Gönderim: FingerCAD halka göstergesi (uygulamadaki dönen gösterge ile aynı dört renk). */
.dugme .halka { width: 18px; height: 18px; margin-right: 10px; border-radius: 50%; box-sizing: border-box; border: 3px solid; border-color: #4FCED9 #08AEE8 #0C5FA8 #02B49E; animation: fcad-spin 1.1s linear infinite; flex: none; }
@keyframes fcad-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .dugme .halka { animation: none; } }
.dugme.gonderildi, .dugme.gonderildi[disabled] { background: #16a34a; color: #fff; opacity: 1; cursor: default; }
.alan-ipucu { font-size: var(--olcek-1); color: var(--murekkep-2); margin: -6px 0 14px; }
.dugme.ikincil { background: transparent; color: var(--murekkep); border: 1.5px solid var(--cizgi-guclu); }
.dugme.ikincil:hover { background: var(--kazik-yumusak); border-color: var(--kazik); }

/* Harita */
.harita-kutu { padding: 12px; position: relative; }
#tr-map { width: 100%; height: auto; display: block; }
#tr-map a { cursor: pointer; }
#tr-map .il { fill: var(--parsel-ust); stroke: var(--pafta); stroke-width: 0.9; stroke-linejoin: round; transition: fill 120ms; }
#tr-map a:hover .il, #tr-map a:focus-visible .il { fill: var(--kazik); filter: drop-shadow(0 0 6px rgba(0,212,255,.55)); }
#tr-map a:focus-visible { outline: none; }
#tr-map a:focus-visible .il { stroke: var(--murekkep); stroke-width: 2; }
#tr-map .il.dolu { fill: var(--mavi); }
.ipucu {
  position: absolute; pointer-events: none; z-index: 2;
  background: var(--murekkep); color: var(--pafta); font-weight: 600;
  padding: 6px 10px; border-radius: 8px; font-size: var(--olcek-1); line-height: 1.3;
  transform: translate(-50%, -130%); white-space: nowrap; display: none;
}
.harita-not { font-size: var(--olcek-1); color: var(--murekkep-2); margin: 10px 2px 0; }

/* Bölümler */
.bolum { padding: 40px 0; border-top: 1px solid var(--cizgi); }
.bolum:first-of-type { border-top: 0; }
.bolum > .sayfa > p { max-width: 68ch; }
.akis { display: grid; gap: 20px; grid-template-columns: 1fr; counter-reset: adim; padding: 0; list-style: none; margin: 20px 0 0; }
@media (min-width: 760px) { .akis { grid-template-columns: repeat(3, 1fr); gap: 32px; } }
.akis li { counter-increment: adim; border-top: 2px solid var(--kazik); padding-top: 12px; }
.akis li::before { content: counter(adim) "."; font-family: var(--font-baslik); font-weight: 800; font-size: 1.6rem; color: var(--kazik); display: block; }
.akis strong { display: block; font-size: var(--olcek-3); }

dl.isler { margin: 16px 0 0; display: grid; gap: 0; }
dl.isler > div { display: grid; gap: 4px; padding: 14px 0; border-top: 1px solid var(--cizgi); }
@media (min-width: 760px) { dl.isler > div { grid-template-columns: 17rem 1fr; gap: 24px; } }
dl.isler dt { font-weight: 700; }
dl.isler dd { margin: 0; color: var(--murekkep-2); max-width: 62ch; }

.ilce-liste { columns: 2 12rem; column-gap: 24px; margin: 12px 0 0; padding: 0; list-style: none; }
.ilce-liste li { padding: 2px 0; break-inside: avoid; }

.il-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr)); gap: 4px 16px; padding: 0; margin: 16px 0 0; list-style: none; }
.il-izgara a { display: block; padding: 6px 0; }

.komsu { display: flex; flex-wrap: wrap; gap: 8px 20px; padding: 0; margin: 12px 0 0; list-style: none; }

details { border-top: 1px solid var(--cizgi); padding: 12px 0; }
details:last-of-type { border-bottom: 1px solid var(--cizgi); }
summary { cursor: pointer; font-weight: 700; padding-right: 8px; }
details p { margin: 8px 0 0; max-width: 66ch; color: var(--murekkep-2); }

/* İl sayfası */
.il-baslik { padding-top: 28px; padding-bottom: 8px; }
.kirinti { font-size: var(--olcek-1); color: var(--murekkep-2); margin-bottom: 14px; }
.kirinti a { color: inherit; }
.il-izgara-2 { display: grid; gap: 24px; grid-template-columns: 1fr; }
@media (min-width: 900px) { .il-izgara-2 { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 48px; align-items: start; } .teklif-yan { position: sticky; top: 16px; } }
.sekil { padding: 12px; margin-bottom: 20px; }
.sekil svg { width: 100%; max-height: 190px; display: block; }
.sekil svg { max-height: none; }
.harita-ipucu { margin: 0 0 8px; font-size: var(--olcek-1); color: var(--murekkep-2); }
#ilce-map { width: 100%; height: auto; max-height: 420px; }
#ilce-map .ilce { fill: var(--parsel-ust); stroke: var(--pafta); stroke-width: 1; stroke-linejoin: round; cursor: pointer; transition: fill 120ms; vector-effect: non-scaling-stroke; }
#ilce-map .ilce.bos { fill: var(--parsel); cursor: default; }
#ilce-map .ilce:not(.bos):hover { fill: #1b86ad; }
#ilce-map .ilce.secili, #ilce-map .ilce.secili:hover { fill: var(--kazik); }
#ilce-map .ilce:focus-visible { outline: none; stroke: var(--kazik); stroke-width: 2.5; }
.ilce-secili { margin: 8px 0 0; min-height: 1.6em; font-weight: 600; color: var(--kazik); }
.ilce-secenek { margin: 10px 0 0; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: var(--olcek-1); color: var(--murekkep-2); }
.ilce-secenek[hidden] { display: none; }
.cip { font: inherit; font-weight: 600; color: var(--murekkep); background: var(--kagit-2); border: 1px solid var(--cizgi-guclu); border-radius: 999px; padding: 8px 14px; min-height: 40px; cursor: pointer; }
.cip:hover, .cip[aria-pressed="true"] { background: var(--kazik); color: #030712; border-color: var(--kazik); }

/* Form */
.form-kutu { background: var(--kagit); border: 1px solid var(--cizgi-guclu); border-top: 3px solid var(--kazik); border-radius: 14px; padding: 22px; box-shadow: 0 24px 60px rgba(0,0,0,.45); }
.form-kutu h2 { font-size: 1.6rem; margin-bottom: 4px; }
.form-kutu .not { color: var(--murekkep-2); font-size: var(--olcek-1); margin: 0 0 16px; }
.alan { margin-bottom: 14px; }
.alan label { display: block; font-weight: 600; margin-bottom: 5px; }
.alan .ipucu-metin { font-size: var(--olcek-1); color: var(--murekkep-2); margin-top: 4px; }
.iki { display: grid; gap: 14px; grid-template-columns: 1fr; }
@media (min-width: 520px) { .iki { grid-template-columns: 1fr 1fr; } }
.onay { display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: start; margin: 4px 0 16px; font-size: var(--olcek-1); }
.onay input { width: 20px; height: 20px; min-height: 0; margin: 2px 0 0; accent-color: var(--kazik); }
.bal { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.durum { margin-top: 12px; font-weight: 600; }
.durum.hata { color: var(--hata); }
.durum.tamam { color: #22c55e; }
.sayi-satir { font-size: var(--olcek-1); color: var(--murekkep-2); margin-top: 12px; }

.alt { }
footer { border-top: 1px solid var(--cizgi); background: var(--kagit); padding: 28px 0 40px; font-size: var(--olcek-1); color: var(--murekkep-2); }
footer p { max-width: 70ch; margin: 0 0 10px; }

.metin-sayfa { max-width: 70ch; padding: 32px 0 56px; }
.metin-sayfa h1 { font-size: 2.6rem; margin-bottom: 16px; }
.metin-sayfa h2 { font-size: 1.6rem; margin-top: 28px; }
.uyari { border-left: 4px solid var(--kazik); padding: 8px 14px; background: var(--kagit-2); margin: 16px 0; }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }

/* Harita etiketleri */
.etiket text { fill: var(--murekkep); font-family: var(--font-metin); font-weight: 600; text-anchor: middle; dominant-baseline: central; pointer-events: none; paint-order: stroke; stroke: var(--pafta); stroke-width: 2.2px; stroke-linejoin: round; user-select: none; }
#ilce-map .etiket text { stroke-width: 3px; }
@media (max-width: 600px) { #tr-map .etiket { display: none; } }

/* İlçe sayfası */
.sabit-yer { margin: 0 0 14px; color: var(--murekkep-2); }
.sabit-yer strong { color: var(--murekkep); }
#ilce-map a { cursor: pointer; }
#ilce-map a:focus-visible { outline: none; }
#ilce-map a:focus-visible .ilce { stroke: var(--kazik); stroke-width: 2.5; }
.il-baslik h1 { text-wrap: balance; }
.ilce-liste a, .komsu a { text-decoration-color: var(--cizgi-guclu); }

/* İlçe sayfası */
.sabit-yer { margin: 0 0 14px; color: var(--murekkep-2); }
.sabit-yer strong { color: var(--murekkep); }
#ilce-map a { cursor: pointer; }
#ilce-map a:focus-visible { outline: none; }
#ilce-map a:focus-visible .ilce { stroke: var(--kazik); stroke-width: 2.5; }

/* Haritada tıklayınca çıkan tarayıcı odak karesini kaldır; klavye odağı çizgiyle gösterilir */
#ilce-map *:focus, #ilce-map *:focus-visible, #tr-map *:focus, #tr-map *:focus-visible { outline: none !important; }
#ilce-map path.ilce:focus:not(:focus-visible) { stroke: var(--pafta); stroke-width: 1; }

.ilce-secili .ilce-git { display: inline-block; margin-left: 4px; font-weight: 600; color: var(--murekkep); text-decoration-color: var(--kazik); }

/* Köy haritası */
#koy-map { width: 100%; height: auto; max-height: 640px; display: block; }
#koy-map .sinir { fill: var(--parsel-ust); stroke: var(--kazik); stroke-width: 1.2; stroke-linejoin: round; opacity: .9; vector-effect: non-scaling-stroke; }
#koy-map .nk { cursor: pointer; stroke: var(--pafta); stroke-width: .8; }
#koy-map .nk.koy { fill: var(--kazik); }
#koy-map .nk.mah { fill: var(--pafta); stroke: var(--kazik); stroke-width: 1.2; }
#koy-map .nk:hover, #koy-map .nk.secili { fill: #fff; stroke: var(--kazik); stroke-width: 1.6; }
#koy-map .etiket text { stroke-width: 2.4px; font-weight: 500; }
@media (max-width: 600px) { #koy-map .etiket { font-size: 7.2px; } }
