/* Geliştirici belgeleri (/gelistirici/, 16.10.2026, iş H). Belirteçler yeni landing'den (static/front_end/css/yeni_ana_sayfa.css
   :root) AYNEN alındı — orada değişirse burada da değiştirin. Sahibin kuralı "arka fon beyaz": tek açık tema; yalnız kod
   panelleri koyu. Düzen: üst çubuk + sekmeler · kenar çubuğu | içerik | sağ panel. 1100 px altında sağ panel içeriğin
   altına iner, 900 px altında kenar çubuğu çekmeceye döner; sayfa yatay kaymaz, kod blokları kendi içinde kayar. */
:root{
  --bg:#ffffff; --ink:#151b23; --muted:#5b6571; --hair:#e5e8ed; --wash:#f5f7fa;
  --accent:#005cd8; --accent-ink:#ffffff; --accent-wash:#eaf2fd; --accent-line:#c8dbf6;
  --paper:#fbfaf6; --paper-line:#e6e1d4; --mark:#ffe58a;
  --alarm:#b42318; --alarm-wash:#fdeeec; --warn:#8a5200; --warn-wash:#fff3e0; --ok:#11804a; --ok-wash:#e8f6ee;
  --f-display:"Fraunces", Georgia, "Times New Roman", serif;
  --f-body:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --f-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  /* yalnız bu sayfa */
  --kod-bg:#0f1622; --kod-bg2:#172131; --kod-ink:#e6ebf2; --kod-muted:#8d99aa; --kod-line:#243246;
  --ust-h:60px; --sekme-h:44px; --kenar-w:252px; --sag-w:min(460px, 38vw);
  --gut:clamp(16px, 3vw, 32px);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth; scroll-padding-top:calc(var(--ust-h) + var(--sekme-h) + 16px); -webkit-text-size-adjust:100%}
body.gd{margin:0; background:var(--bg); color:var(--ink); font:15.5px/1.65 var(--f-body); -webkit-font-smoothing:antialiased; overflow-x:hidden}
.gd a{color:var(--accent)}
.gd code, .gd pre, .gd kbd{font-family:var(--f-mono)}
.gd :where(a,button,summary,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--accent); outline-offset:2px; border-radius:4px}
.gd-atla{position:absolute; left:-999px; top:8px; z-index:60; background:var(--ink); color:#fff; padding:8px 14px; border-radius:6px}
.gd-atla:focus{left:12px}
[hidden]{display:none !important}

/* ---------- üst çubuk ---------- */
.gd-ust{position:sticky; top:0; z-index:30; background:var(--bg); border-bottom:1px solid var(--hair)}
.gd-ust-ic{display:flex; align-items:center; gap:16px; height:var(--ust-h); padding-inline:var(--gut)}
.gd-marka{font-family:var(--f-display); font-size:23px; font-weight:600; letter-spacing:-.02em; color:var(--ink) !important; text-decoration:none; display:inline-flex; align-items:baseline; gap:2px; white-space:nowrap}
.gd-marka i{width:6px; height:6px; border-radius:50%; background:var(--accent); display:inline-block}
.gd-marka{flex-shrink:0}
.gd-marka .marka-logo{display:block; height:26px; width:auto; max-width:none; align-self:center}
.gd-marka span{font:500 13px/1 var(--f-body); color:var(--muted); letter-spacing:0; margin-left:10px; padding-left:10px; border-left:1px solid var(--hair); align-self:center}
.gd-ara-dugme{flex:0 1 340px; margin-inline:auto; display:flex; align-items:center; gap:10px; height:38px; padding:0 8px 0 12px; border:1px solid var(--hair); border-radius:10px; background:var(--wash); color:var(--muted); font:14px var(--f-body); cursor:pointer; min-width:0}
.gd-ara-dugme:hover{border-color:var(--accent-line); color:var(--ink)}
.gd-ara-yer{flex:1; text-align:left; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.gd kbd{font-size:11.5px; border:1px solid var(--hair); border-bottom-width:2px; border-radius:6px; padding:1px 6px; background:var(--bg); color:var(--muted)}
.gd-ust-bag{display:flex; align-items:center; gap:18px; font-size:14px; white-space:nowrap}
.gd-ust-bag a{color:var(--muted); text-decoration:none}
.gd-ust-bag a:hover{color:var(--ink)}
.gd-btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:36px; padding:0 14px; border-radius:999px; border:1px solid var(--ink); background:var(--ink); color:#fff !important; font:600 13.5px/1 var(--f-body); text-decoration:none; cursor:pointer; white-space:nowrap}
.gd-btn:hover{background:var(--accent); border-color:var(--accent)}
.gd-btn--sade{background:transparent; color:var(--ink) !important; border-color:var(--hair)}
.gd-btn--sade:hover{background:var(--wash); border-color:var(--muted)}
.gd-menu-dugme{display:none; width:40px; height:40px; margin-left:-8px; border:0; background:none; cursor:pointer; position:relative}
.gd-menu-dugme span, .gd-menu-dugme span::before, .gd-menu-dugme span::after{content:""; position:absolute; left:11px; width:18px; height:1.8px; background:var(--ink); border-radius:2px}
.gd-menu-dugme span{top:19px} .gd-menu-dugme span::before{left:0; top:-6px} .gd-menu-dugme span::after{left:0; top:6px}

.gd-sekmeler{display:flex; gap:4px; height:var(--sekme-h); padding-inline:var(--gut); overflow-x:auto; scrollbar-width:none}
.gd-sekmeler::-webkit-scrollbar{display:none}
.gd-sekmeler a{display:flex; align-items:center; padding:0 12px; font-size:14px; font-weight:500; color:var(--muted); text-decoration:none; white-space:nowrap; border-bottom:2px solid transparent; margin-bottom:-1px}
.gd-sekmeler a:hover{color:var(--ink)}
.gd-sekmeler a[aria-current]{color:var(--ink); border-bottom-color:var(--accent)}

/* ---------- gövde ızgarası ---------- */
.gd-govde{display:grid; grid-template-columns:var(--kenar-w) minmax(0,1fr) 220px; gap:0 48px; padding-inline:var(--gut); max-width:1560px; margin-inline:auto}
.gd--uc .gd-govde{grid-template-columns:var(--kenar-w) minmax(0,1fr) var(--sag-w); gap:0 40px}
.gd-kenar{grid-row:1 / span 3; position:sticky; top:calc(var(--ust-h) + var(--sekme-h)); align-self:start; max-height:calc(100vh - var(--ust-h) - var(--sekme-h)); overflow-y:auto; padding:24px 8px 40px 0; scrollbar-width:thin}
.gd-kenar-bas{display:none}
.gd-grup + .gd-grup{margin-top:20px}
.gd-grup-ad{margin:0 0 6px; padding-left:10px; font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--ink)}
.gd-grup ul{list-style:none; margin:0; padding:0}
.gd-grup a{display:flex; align-items:center; gap:8px; padding:5px 10px; border-radius:8px; color:var(--muted); text-decoration:none; font-size:14px; line-height:1.35}
.gd-grup a:hover{background:var(--wash); color:var(--ink)}
.gd-grup a[aria-current]{background:var(--accent-wash); color:var(--accent); font-weight:500}
.gd-kenar-ad{flex:1; min-width:0}
.gd-perde{display:none}

/* yöntem rozetleri */
.gd-y{flex:none; display:inline-flex; justify-content:center; min-width:40px; padding:2px 5px; border-radius:5px; font:600 10.5px/1.4 var(--f-mono); letter-spacing:.02em}
.gd-y--get{background:var(--ok-wash); color:var(--ok)}
.gd-y--post{background:var(--accent-wash); color:var(--accent)}
.gd-y--patch{background:var(--warn-wash); color:var(--warn)}
.gd-y--delete{background:var(--alarm-wash); color:var(--alarm)}
.gd-rozet{display:inline-block; font:500 11px/1.5 var(--f-body); padding:0 7px; border-radius:999px; background:var(--wash); color:var(--muted); border:1px solid var(--hair); white-space:nowrap}
.gd-rozet--zorunlu{background:var(--alarm-wash); color:var(--alarm); border-color:transparent}
.gd-rozet--ok{background:var(--ok-wash); color:var(--ok); border-color:transparent}
.gd-rozet--uyari{background:var(--warn-wash); color:var(--warn); border-color:transparent}
.gd-tip{font:500 12px/1.5 var(--f-mono); color:var(--muted)}

/* ---------- içerik ---------- */
.gd-icerik{min-width:0; padding:32px 0 48px; outline:none}
.gd-metin{max-width:760px}
.gd-metin h1, .gd-uc h1{font-family:var(--f-display); font-weight:500; font-size:clamp(30px,3.4vw,40px); line-height:1.1; letter-spacing:-.02em; margin:0 0 14px; text-wrap:balance}
.gd-metin h2, .gd-uc h2{font-family:var(--f-display); font-weight:500; font-size:24px; line-height:1.2; letter-spacing:-.01em; margin:40px 0 12px; position:relative}
.gd-metin h3{font-size:17px; font-weight:600; margin:28px 0 8px; position:relative}
.gd-capa{position:absolute; left:-22px; color:var(--hair) !important; text-decoration:none; font-family:var(--f-body); opacity:0; transition:opacity .15s}
:is(h2,h3):hover > .gd-capa{opacity:1}
.gd-metin p, .gd-metin li{color:#2b333d}
.gd-metin p{margin:0 0 14px; text-wrap:pretty}
.gd-metin ul, .gd-metin ol{padding-left:22px; margin:0 0 16px}
.gd-metin li + li{margin-top:4px}
.gd-metin :not(pre) > code, .gd-alan-ac code, .gd-yanit-bas code, .gd-hata-listesi code, .gd-kucuk code{font-size:.86em; background:var(--wash); border:1px solid var(--hair); padding:0 .3em; border-radius:4px; overflow-wrap:anywhere}
.gd-metin .gd-alan-ad, .gd-metin .gd-sema-ad code{background:none; border:0; padding:0}
.gd-metin strong{font-weight:600; color:var(--ink)}
.gd-not{margin:20px 0; padding:14px 16px; border-radius:10px; background:var(--accent-wash); border:1px solid var(--accent-line)}
.gd-not p{margin:0; font-size:14.5px}
.gd-tablo{overflow-x:auto; margin:8px 0 20px; border:1px solid var(--hair); border-radius:10px}
.gd-tablo table{border-collapse:collapse; width:100%; font-size:14px}
.gd-tablo th, .gd-tablo td{text-align:left; vertical-align:top; padding:9px 12px; border-bottom:1px solid var(--hair)}
.gd-tablo tr:last-child td{border-bottom:0}
.gd-tablo th{background:var(--wash); font-weight:600; font-size:13px}
.gd-tablo code{white-space:nowrap}
.gd-kucuk{font-size:13.5px; color:var(--muted)}
.gd-ust-etiket{margin:0 0 8px; font-size:13px; font-weight:600; color:var(--accent)}
.gd-yol{display:flex; align-items:center; gap:10px; padding:10px 12px; margin:0 0 18px; border:1px solid var(--hair); border-radius:10px; background:var(--wash); overflow-x:auto}
.gd-yol code{font-size:14px; white-space:nowrap}
.gd-bolum{max-width:760px}

/* kod blokları (rehberlerde ve sağ panelde aynı) */
.gd-kod, .gd-panel{margin:12px 0 22px; border-radius:12px; background:var(--kod-bg); color:var(--kod-ink); overflow:hidden; border:1px solid var(--kod-line)}
.gd-kod-bas, .gd-panel-bas{display:flex; align-items:center; gap:10px; min-height:42px; padding:0 8px 0 14px; background:var(--kod-bg2); border-bottom:1px solid var(--kod-line); font-size:12.5px; color:var(--kod-muted)}
.gd-kod-bas > span{font-weight:500}
.gd-sekmeler-k, .gd-kod .gd-sekmeler{display:flex; gap:2px; overflow-x:auto; scrollbar-width:none; min-width:0; flex:1}
.gd-sekme{border:0; background:none; color:var(--kod-muted); font:500 12.5px/1 var(--f-body); padding:8px 9px; border-radius:6px; cursor:pointer; white-space:nowrap}
.gd-sekme:hover{color:var(--kod-ink)}
.gd-sekme[aria-selected="true"]{color:#fff; background:rgba(255,255,255,.08)}
.gd-sekme--4[aria-selected="true"], .gd-sekme--5[aria-selected="true"]{color:#ffb4a8}
.gd-sekme--2[aria-selected="true"]{color:#8de0b2}
.gd-kopyala{margin-left:auto; flex:none; border:1px solid var(--kod-line); background:transparent; color:var(--kod-muted); font:500 12px/1 var(--f-body); padding:6px 10px; border-radius:7px; cursor:pointer}
.gd-kopyala:hover{color:#fff; border-color:var(--kod-muted)}
.gd pre{margin:0; padding:14px 16px; overflow:auto; font-size:12.8px; line-height:1.6; tab-size:2; white-space:pre}
.gd pre code{font-size:inherit; background:none; border:0; padding:0; color:inherit}
.gd-uzun{max-height:520px}
.gd-baslik-satiri{color:#ffd58a}
.gd-panel-ad{display:flex; align-items:center; gap:8px; margin:0; font-weight:600; color:var(--kod-ink); white-space:nowrap}
.gd-panel-not{margin:0; padding:8px 14px 10px; font-size:12px; color:var(--kod-muted); border-top:1px solid var(--kod-line)}
.gd-panel .gd-y--get{background:rgba(17,128,74,.22); color:#8de0b2}
.gd-panel .gd-y--post{background:rgba(0,92,216,.3); color:#9cc4ff}
.gd-panel .gd-y--patch{background:rgba(138,82,0,.35); color:#ffd58a}
.gd-panel .gd-y--delete{background:rgba(180,35,24,.3); color:#ffb4a8}

/* alan ağacı */
.gd-alanlar{list-style:none; margin:6px 0 18px; padding:0; border-top:1px solid var(--hair)}
.gd-alan{border-bottom:1px solid var(--hair); padding:10px 0}
.gd-alan details > summary{list-style:none; cursor:pointer}
.gd-alan details > summary::-webkit-details-marker{display:none}
.gd-alan details > summary .gd-alan-bas::after{content:"+"; margin-left:auto; font:500 14px/1 var(--f-mono); color:var(--muted); border:1px solid var(--hair); border-radius:6px; width:22px; height:22px; display:inline-grid; place-items:center; flex:none}
.gd-alan details[open] > summary .gd-alan-bas::after{content:"−"}
.gd-alan-bas{display:flex; flex-wrap:wrap; align-items:center; gap:6px 8px}
.gd-alan-ad{font-size:13.5px; font-weight:600; color:var(--ink); overflow-wrap:anywhere}
.gd-alan-ac{margin-top:4px; font-size:14px; color:#3a434e}
.gd-enum{display:block; margin-top:4px; font-size:12.5px; color:var(--muted)}
.gd-alt{margin:10px 0 0 6px; padding-left:14px; border-left:2px solid var(--accent-line)}
.gd-alt > .gd-alanlar{margin-bottom:0; border-top:0}
.gd-alt .gd-alan:last-child{border-bottom:0}
.gd-alan-ek{font-size:13px; color:var(--muted); margin:6px 0}
.gd-sema{margin:8px 0 20px}
.gd-sema-ad{margin:0 0 4px; font-size:13px; color:var(--muted)}
.gd-yanit-bas{display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin:8px 0 6px; font-size:14.5px}
.gd-dk{display:inline-block; padding:0 7px; border-radius:6px; font:600 12px/1.6 var(--f-mono); background:var(--ok-wash); color:var(--ok)}
.gd-dk--4, .gd-dk--5{background:var(--alarm-wash); color:var(--alarm)}
.gd-hata-listesi{list-style:none; margin:0 0 12px; padding:0; border-top:1px solid var(--hair)}
.gd-hata-listesi li{display:grid; grid-template-columns:52px minmax(0,1fr); gap:10px; padding:9px 0; border-bottom:1px solid var(--hair); font-size:14px; align-items:baseline}

/* komşu sayfalar */
.gd-komsu{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:16px; max-width:760px}
.gd-komsu a{display:flex; flex-direction:column; gap:2px; padding:14px 16px; border:1px solid var(--hair); border-radius:12px; text-decoration:none; color:var(--ink) !important; min-width:0}
.gd-komsu a:hover{border-color:var(--accent-line); background:var(--wash)}
.gd-komsu small{color:var(--muted); font-size:12.5px}
.gd-komsu span{font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.gd-komsu-sag{text-align:right; grid-column:2}
.gd-son{grid-column:2; min-width:0; padding-bottom:40px}
.gd-sayfa-alt{margin-top:28px; font-size:13px; color:var(--muted)}
.gd-sayfa-alt a{color:var(--muted)}

/* ---------- sağ sütun ---------- */
.gd-sag{min-width:0; padding:32px 0 40px}
.gd--uc .gd-sag{position:sticky; top:calc(var(--ust-h) + var(--sekme-h)); align-self:start; max-height:calc(100vh - var(--ust-h) - var(--sekme-h)); overflow-y:auto; padding-top:24px; scrollbar-width:thin}
.gd--uc .gd-panel{margin:0 0 16px}
.gd-toc{position:sticky; top:calc(var(--ust-h) + var(--sekme-h) + 24px); font-size:13.5px}
.gd-toc p{margin:0 0 8px; font-weight:600; font-size:12px; letter-spacing:.06em; text-transform:uppercase}
.gd-toc ul{list-style:none; margin:0; padding:0; border-left:1px solid var(--hair)}
.gd-toc a{display:block; padding:4px 0 4px 12px; margin-left:-1px; border-left:2px solid transparent; color:var(--muted); text-decoration:none; line-height:1.35}
.gd-toc a:hover, .gd-toc a[aria-current]{color:var(--ink); border-left-color:var(--accent)}
.gd-toc-3 a{padding-left:24px; font-size:13px}

/* Dene paneli (koyu kart içinde açık form) */
.gd-dene .gd-dene-ic{display:grid; gap:10px; padding:14px; background:var(--bg); color:var(--ink)}
.gd-dene p{margin:0}
.gd-dene label{display:grid; gap:4px; font-size:12.5px; font-weight:500; color:var(--muted)}
.gd-dene label code{font-size:12.5px; color:var(--ink)}
.gd-dene input, .gd-dene select, .gd-dene textarea{width:100%; min-height:38px; padding:8px 10px; border:1px solid var(--hair); border-radius:8px; font:13px var(--f-mono); color:var(--ink); background:var(--bg)}
.gd-dene textarea{resize:vertical}
.gd-dene-uyari{padding:10px 12px; border-radius:8px; background:var(--warn-wash); color:var(--warn); font-size:13px}
.gd-dene-dugmeler{display:flex; flex-wrap:wrap; gap:8px}
.gd-dene-durum{font-size:13px; color:var(--muted); min-height:1em}
.gd-dene-durum.hata{color:var(--alarm)}
.gd-dene-cikti{background:var(--kod-bg); color:var(--kod-ink); border-radius:8px}

/* ---------- arama ---------- */
.gd-arama{width:min(640px, calc(100vw - 24px)); max-height:min(72vh, 620px); padding:0; border:1px solid var(--hair); border-radius:14px; box-shadow:0 30px 80px -30px rgba(10,30,60,.45); margin-top:10vh; color:var(--ink)}
.gd-arama::backdrop{background:rgba(15,22,34,.4)}
.gd-arama-ic{display:flex; flex-direction:column; max-height:inherit}
.gd-arama-bas{display:flex; align-items:center; gap:10px; padding:12px 14px; border-bottom:1px solid var(--hair); color:var(--muted)}
.gd-arama-bas input{flex:1; min-width:0; border:0; outline:none; font:16px var(--f-body); color:var(--ink); background:none}
.gd .gd-arama-bas input:focus-visible{outline:none}
.gd-arama-bas button{border:0; background:none; cursor:pointer; padding:0}
.gd-arama-sonuc{list-style:none; margin:0; padding:6px; overflow-y:auto}
.gd-arama-sonuc a{display:grid; grid-template-columns:auto minmax(0,1fr); gap:2px 10px; padding:9px 10px; border-radius:8px; text-decoration:none; color:var(--ink)}
.gd-arama-sonuc a > .gd-y{grid-row:span 2; align-self:center}
.gd-arama-sonuc a > .gd-ara-ikon{grid-row:span 2; align-self:center; width:40px; text-align:center; color:var(--muted); font-size:13px}
.gd-arama-sonuc b{font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.gd-arama-sonuc small{color:var(--muted); font-size:12.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.gd-arama-sonuc [aria-selected="true"] a, .gd-arama-sonuc a:hover{background:var(--accent-wash)}
.gd-arama-bos{margin:0; padding:18px; color:var(--muted); text-align:center}

/* ---------- duyarlı ---------- */
@media (max-width:1280px){ .gd-ust-bag a:not(.gd-btn):nth-child(-n+2){display:none} }
@media (max-width:1100px){
  .gd-govde, .gd--uc .gd-govde{grid-template-columns:var(--kenar-w) minmax(0,1fr)}
  .gd-sag{grid-column:2; padding-top:0}
  .gd--uc .gd-sag{position:static; max-height:none; overflow:visible}
  .gd-toc{display:none}
  .gd:not(.gd--uc) .gd-sag{display:none}
}
@media (max-width:900px){
  :root{--ust-h:56px}
  .gd-menu-dugme{display:block}
  .gd-govde, .gd--uc .gd-govde{grid-template-columns:minmax(0,1fr)}
  .gd-sag, .gd-son{grid-column:1}
  .gd-kenar{grid-row:auto; position:fixed; z-index:50; top:0; left:0; bottom:0; width:min(320px, 86vw); max-height:none; background:var(--bg); padding:0 12px 32px; height:100vh; height:100dvh; transform:translateX(-102%); transition:transform .22s ease; box-shadow:0 0 40px rgba(0,0,0,.18); visibility:hidden}
  .gd-kenar.acik{transform:none; visibility:visible}
  .gd-kenar-bas{display:flex; align-items:center; justify-content:space-between; position:sticky; top:0; background:var(--bg); height:56px; margin-bottom:8px; border-bottom:1px solid var(--hair); font-weight:600}
  .gd-kenar-bas button{width:40px; height:40px; border:0; background:none; font-size:24px; cursor:pointer; color:var(--ink)}
  .gd-perde{display:block; position:fixed; inset:0; z-index:45; background:rgba(15,22,34,.35)}
  .gd-ust-bag a:not(.gd-btn){display:none}
  .gd-ara-dugme{flex:1 1 auto}
  .gd-capa{display:none}
}
@media (max-width:600px){
  body.gd{font-size:15px}
  .gd-marka span{display:none}
  .gd-ust-ic{gap:10px}
  .gd-ust-bag .gd-btn{display:none}
  .gd-ara-dugme kbd{display:none}
  .gd-icerik{padding-top:22px}
  .gd-komsu{grid-template-columns:minmax(0,1fr)}
  .gd-komsu-sag{grid-column:1}
  .gd-tablo table{font-size:13px}
  .gd-tablo th, .gd-tablo td{padding:8px 10px}
  .gd-hata-listesi li{grid-template-columns:44px minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} .gd-kenar{transition:none} }
@media print{ .gd-ust, .gd-kenar, .gd-sag, .gd-komsu{display:none} .gd-govde{display:block} }
