/* ================= perde çubuğu ================= */
.perde{position:sticky;top:0;z-index:40;background:var(--bg);border-bottom:1px solid var(--line)}
.perde .wrap{display:flex;gap:0;overflow-x:auto;scrollbar-width:none}
.perde .wrap::-webkit-scrollbar{display:none}
.perde a{flex:0 0 auto;padding:16px 18px;font-size:var(--t1);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap;transition:color .15s}
.perde a:hover{color:var(--navy)}
.perde a[aria-current="true"]{color:var(--navy);border-bottom-color:var(--red)}
#prog{position:absolute;left:0;bottom:-1px;height:2px;background:var(--red);width:100%;transform:scaleX(0);transform-origin:left;transition:transform .1s linear} /* K20:gosterge */

/* ================= bölüm iskeleti ================= */
section{padding-block:var(--s9);position:relative;scroll-margin-top:60px}
section.tight{padding-block:var(--s8)}
.dark h1,.dark h2,.dark h3,.dark h4{color:var(--deep-fg)}
.dark .em{color:var(--deep-acc)}
.dark .note,.dark .lede{color:var(--deep-fg2)}
.dark .hair{border-color:var(--deep-hair)}
.paper{background:var(--paper)}

.ex{display:flex;align-items:center;gap:var(--s3);font-size:var(--p1);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:var(--s5)}
.ex::before{content:"";width:28px;height:2px;background:var(--red)}
.dark .ex{color:var(--deep-acc)}
.dark .ex::before{background:var(--deep-acc)}
.ex span{color:var(--slate);font-weight:600;letter-spacing:.08em}
.dark .ex span{color:var(--deep-fg2)}

.h-xl{font-size:clamp(34px,5.2vw,var(--t8));max-width:18ch;margin-bottom:var(--s5)}
.h-lg{font-size:clamp(28px,3.6vw,var(--t7));max-width:22ch;margin-bottom:var(--s4)}
.h-md{font-size:var(--t5);margin-bottom:var(--s3)}
.lede{font-size:var(--p3);line-height:1.5;max-width:54ch;color:var(--ink)}
.note{font-size:var(--t2);color:var(--slate);max-width:64ch;line-height:1.6}
.hair{border-top:1px solid var(--line)}

/* büyük rakam */
.n-xl{font-family:Lora,Georgia,serif;font-size:var(--p6);line-height:.92;letter-spacing:-.02em;color:var(--navy);font-variant-numeric:tabular-nums}
.n-lg{font-family:Lora,Georgia,serif;font-size:var(--p6);line-height:.95;letter-spacing:-.015em;color:var(--navy)}
.dark .n-xl,.dark .n-lg{color:var(--deep-fg)}
.n-xl.hot,.n-lg.hot{color:var(--red)}
.dark .n-xl.hot,.dark .n-lg.hot{color:var(--deep-acc)}
sup.fnr{font-size:.38em;vertical-align:top;position:relative;top:.55em;font-family:Inter,sans-serif;font-weight:700;color:var(--red);letter-spacing:0}
.dark sup.fnr{color:var(--deep-acc)}

/* işaret çipi */
.isaret{display:inline-flex;align-items:center;gap:6px;font-size:var(--t1);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);border:1px solid var(--line-mid);padding:3px 8px;white-space:nowrap;line-height:1.4}
.isaret::before{content:"";width:6px;height:6px;background:var(--slate);border-radius:50%}
.isaret.k{color:var(--ink);border-color:var(--line-mid)}.isaret.k::before{background:var(--ink)}
.isaret.o{color:var(--navy);border-color:var(--navy)}.isaret.o::before{background:var(--navy);border-radius:0}
.isaret.s{color:var(--red);border-color:var(--red)}.isaret.s::before{background:var(--red)}
.dark .isaret{color:var(--deep-fg2);border-color:var(--deep-hair)}
.dark .isaret.k{color:var(--deep-fg2);border-color:var(--deep-hair)}.dark .isaret.k::before{background:var(--deep-fg2)}
.dark .isaret.s{color:var(--deep-acc);border-color:var(--deep-acc)}.dark .isaret.s::before{background:var(--deep-acc)}

.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s6)}
@media (max-width:900px){.split{grid-template-columns:1fr}}
/* ızgara */
.g2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s7);align-items:start}
.g2.l{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s5)}
.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line)}
.dark .g4{background:var(--deep-hair)}
.cell{background:var(--bg);padding:var(--s6) var(--s5)}
.dark .cell{background:var(--deep)}

/* açılır ayrıntı */
details.ac{border-top:1px solid var(--line);margin-top:var(--s5)}
.dark details.ac{border-color:var(--deep-hair)}
details.ac>summary{cursor:pointer;list-style:none;padding:var(--s4) 0;display:flex;align-items:center;gap:var(--s3);font-size:var(--t2);font-weight:600;color:var(--navy);letter-spacing:.01em}
.dark details.ac>summary{color:var(--deep-fg)}
details.ac>summary::-webkit-details-marker{display:none}


details.ac>summary:hover{color:var(--navy)}
.dark details.ac>summary:hover{color:var(--deep-fg)}
details.ac[open]>summary{color:var(--navy)}
.dark details.ac[open]>summary{color:var(--deep-fg)}
.ac-body{padding:0 0 var(--s6) 30px;font-size:var(--t2);line-height:1.75;max-width:66ch;display:flex;flex-direction:column;gap:var(--s3);color:var(--ink);min-width:0}
.dark .ac-body{color:var(--deep-fg2)}
.ac-body>*{max-width:100%;min-width:0}

/* dipnot */
.fn{all:unset;cursor:pointer;position:relative;color:var(--red);font-weight:700;font-size:.7em;vertical-align:super;padding:0 2px}
.dark .fn{color:var(--deep-acc)}
.fn:focus-visible{outline:2px solid currentColor;outline-offset:1px}
.fn-pop{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);width:260px;background:var(--navy);color:var(--bg);font-size:var(--t1);font-weight:400;line-height:1.5;padding:12px 14px;z-index:50;display:none;text-align:left;vertical-align:baseline;white-space:normal;box-shadow:0 12px 32px rgba(0,0,0,.18)}
.dark .fn-pop{background:var(--deep-fg);color:var(--deep)}
.dark .fn-pop b{color:var(--red-marka)}
.fn-pop b{display:block;color:var(--red);font-size:var(--t1);text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px}
.fn:hover .fn-pop,.fn:focus-visible .fn-pop,.fn.open .fn-pop{display:block}

/* tablo */
.g2>*,.g3>*,.g4>*,.cell,.doc-card,#doc-panel,#part-detail,#lvl-detail,#dept-detail{min-width:0}
.tbl,.tbl-wrap{overflow-x:auto;border:1px solid var(--line);max-width:100%;min-width:0}
.dark .tbl,.dark .tbl-wrap{border-color:var(--deep-hair)}
table{border-collapse:collapse;width:100%;min-width:600px;font-size:var(--t1)}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.dark th,.dark td{border-color:var(--deep-hair)}
thead th{font-size:var(--t1);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);background:var(--band);white-space:nowrap}
.dark thead th{background:var(--deep2);color:var(--deep-fg2)}
td.num{text-align:right;white-space:nowrap}
td.k{font-weight:600;color:var(--navy);white-space:nowrap}
.dark td.k{color:var(--deep-fg)}
tbody tr:hover td{background:var(--paper)}
.dark tbody tr:hover td{background:var(--deep2)}

/* düğme */
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--red);color:var(--dolgu-ustu);text-decoration:none;font-size:var(--t2);font-weight:600;padding:16px 28px;border:0;cursor:pointer;letter-spacing:.01em;transition:transform .15s}
.btn:hover{transform:translateY(-1px)}
.btn::after{content:"→";font-size:var(--t4);line-height:1}
.btn.ghost{background:transparent;color:var(--navy);padding:16px 0;border-bottom:2px solid var(--red)}
.dark .btn.ghost{color:var(--deep-fg);border-color:var(--deep-acc)}
.btn.light{background:var(--deep-fg);color:var(--deep)}


/* SVG seçilebilir düğümler: durum sınıfla, renk belirteçle */
.node circle{fill:var(--deep2);stroke:var(--deep-hair);stroke-width:1.5;transition:fill .15s}
.node .nn{font:600 28px Lora,serif;fill:var(--deep-fg)}
.node .nl{font:600 14px Inter,sans-serif;fill:var(--deep-fg2)}
.node:hover circle{stroke:var(--deep-fg2)}
.node.on circle{fill:var(--deep-acc);stroke:var(--deep-acc)}
.node.on .nn,.node.on .nl{fill:var(--dolgu-ustu)}
.step rect{fill:var(--track);transition:fill .15s}
.step:hover rect{fill:var(--line-mid)}
.step.on rect{fill:var(--red)}
.step.on .cl{fill:var(--dolgu-ustu)}
.tk circle{fill:var(--deep);stroke:var(--deep-acc);stroke-width:3}
.tk.on circle{fill:var(--deep-acc)}
/* grafik metinleri */
svg{display:block;max-width:100%;height:auto;overflow:visible}
.ct{font-family:Inter,sans-serif;font-size:var(--p1);fill:var(--slate);letter-spacing:.01em}
.cl{font-family:Inter,sans-serif;font-size:var(--p2);fill:var(--ink);font-weight:600}
.cv{font-family:Lora,serif;font-size:var(--p3);fill:var(--navy);font-weight:600}
.cv.hot{fill:var(--red)}
.dark .ct{fill:var(--deep-fg2)}.dark .cl{fill:var(--deep-fg)}.dark .cv{fill:var(--deep-fg)}.dark .cv.hot{fill:var(--deep-acc)}
.draw{stroke-dasharray:var(--len,1200);stroke-dashoffset:var(--len,1200);transition:stroke-dashoffset 1.2s cubic-bezier(.2,.7,.2,1)} /* K20:tek-an=giris */
.in .draw{stroke-dashoffset:0}
.pop{transform-origin:center;transform:scale(.6);opacity:.0;transition:transform .5s cubic-bezier(.2,.7,.2,1),opacity .5s} /* K20:tek-an=giris */
.in .pop{opacity:1}
.in .pop{transform:scale(1)}
.pop.d1{transition-delay:.9s}.pop.d2{transition-delay:1.1s}.pop.d3{transition-delay:1.3s}.pop.d4{transition-delay:1.5s}

/* hareket: görünür dinlenme durumundan yumuşak kayma */
.rv{transform:translateY(22px);transition:transform .8s cubic-bezier(.2,.7,.2,1)} /* K20:tek-an=giris */
.rv.in{transform:none}
.rv.d1{transition-delay:.1s}.rv.d2{transition-delay:.2s}.rv.d3{transition-delay:.3s}.rv.d4{transition-delay:.4s}

/* waffle */
.waffle{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;width:100%;max-width:200px;aspect-ratio:1}
.waffle i{display:block;background:var(--track);aspect-ratio:1;transition:background-color .2s}
.dark .waffle i{background:var(--deep2)}
.waffle i.on{background:var(--mark)}.waffle.hot i.on{background:var(--alert)}
.dark .waffle i.on{background:var(--deep-mark)}.dark .waffle.hot i.on{background:var(--deep-acc)}

/* seçici ızgaralar */
.sel{all:unset;cursor:pointer;display:block;transition:background-color .15s}
.sel:focus-visible{outline:2px solid var(--red);outline-offset:-2px}

/* belge kartı — kağıt hissi */
.doc-card{background:var(--bg);border:1px solid var(--line);box-shadow:0 1px 0 var(--line),0 24px 48px -32px rgba(11,37,69,.35);padding:var(--s6)}
.dark .doc-card{background:var(--deep2);border-color:var(--deep-hair);box-shadow:0 1px 0 rgba(255,255,255,.04) inset}

.kicker{font-size:var(--t1);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--slate)}
.dark .kicker{color:var(--deep-fg2)}



.ozet{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.ozet li{display:grid;grid-template-columns:44px 1fr;gap:var(--s3);padding:var(--s4) 0;border-top:1px solid var(--line)}
.ozet li:last-child{border-bottom:1px solid var(--line)}
.ozet li span{font:600 14px Inter,sans-serif;letter-spacing:.14em;color:var(--red);padding-top:4px}
.ozet li p{font-size:var(--t3);line-height:1.55;color:var(--ink);max-width:60ch}
.ozet li p b{color:var(--navy)}
.ozet li p a{color:var(--red);font-size:var(--t1);font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;margin-left:6px;white-space:nowrap}
.ozet li p a:hover{text-decoration:underline}
.ks{display:grid;grid-template-columns:1fr auto;gap:var(--s3);align-items:center;padding:6px 0;border-top:1px solid var(--line)}
.ks b{font-family:Lora,serif;font-size:var(--t4);color:var(--navy)}
.preset{all:unset;cursor:pointer;font:600 var(--t1) Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--slate);border:1px solid var(--line-mid);padding:6px 10px}
.preset.on,.preset:hover{color:var(--red);border-color:var(--red)}
#tip{position:fixed;pointer-events:none;opacity:0;transition:opacity .15s;background:var(--navy);color:var(--bg);font-size:var(--p1);padding:8px 11px;z-index:60;white-space:nowrap;font-weight:500}

@media (max-width:900px){
  .g2,.g2.l{grid-template-columns:1fr!important;gap:var(--s6)}
  .g3{grid-template-columns:1fr}
  .g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  section{padding-block:var(--s8)}
}
@media (max-width:640px){
  .wrap{padding-inline:20px}
  section{padding-block:var(--s7)}
  .g4{grid-template-columns:1fr}
  .btn{display:flex;justify-content:center}
  .btn.ghost{margin-top:var(--s3)}
  .fn-pop{width:210px;left:auto;right:-8px;transform:none}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
  .rv{transform:none}.draw{stroke-dashoffset:0}.pop{transform:scale(1);opacity:1}
}


.opt{all:unset;cursor:pointer;font:600 14px Inter,sans-serif;color:var(--navy);border:1px solid var(--line-mid);padding:9px 14px;transition:background-color .15s,color .15s,border-color .15s}
.opt:hover{border-color:var(--navy)}
.opt.on{background:var(--red);color:var(--dolgu-ustu);border-color:var(--red)}
.inp{width:104px;padding:9px 10px;border:1px solid var(--line-mid);background:var(--bg);color:var(--navy);font:600 14px Inter,sans-serif;text-align:right;font-variant-numeric:tabular-nums}
.inp:focus{outline:2px solid var(--red);outline-offset:-1px;border-color:var(--red)}
.dm{display:grid;grid-template-columns:1fr;gap:6px}
.dm .lab{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3);font-size:var(--t2);font-weight:600;color:var(--navy)}
.dm .lab .val{font-family:Lora,serif;font-size:var(--t5);font-weight:600}
.dm .lab .val.hot{color:var(--red)}
.dm .trk{position:relative;height:14px;background:var(--track)}
.dm .trk .rng{position:absolute;top:0;bottom:0;background:var(--mark);opacity:.35}
.dm .trk .lo,.dm .trk .hi{position:absolute;top:-2px;width:18px;height:18px;border-radius:50%;transform:translateX(-50%)}
.dm .trk .lo{background:var(--bg);border:3px solid var(--slate)}
.dm .trk .hi{background:var(--mark)}
.dm .trk.hot .hi{background:var(--red)}.dm .trk.hot .rng{background:var(--red)}
.dm .sub{display:flex;justify-content:space-between;font-size:var(--t1);color:var(--slate)}
.vaat{background:var(--deep);padding:var(--s6) var(--s5);counter-increment:v;position:relative;padding-top:var(--s7)}
.vaat::before{content:counter(v,decimal-leading-zero);position:absolute;top:var(--s4);left:var(--s5);font:600 14px Inter,sans-serif;letter-spacing:.14em;color:var(--deep-acc)}
.vaat b{display:block;font-family:Lora,serif;font-size:var(--t5);font-weight:500;color:var(--deep-fg);line-height:1.25;margin-bottom:var(--s3)}
.vaat p{font-size:var(--t2);color:var(--deep-fg2);line-height:1.6}
.vaat:last-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--s5);align-items:start}
.vaat:last-child b{margin:0}
@media (max-width:900px){.vaat:last-child{grid-template-columns:1fr}}
.dcell{background:var(--bg);padding:var(--s5);display:flex;flex-direction:column;gap:var(--s2);text-align:left;min-height:120px}
.dcell:hover,.dcell.on{background:var(--band)}
.dcell.on{box-shadow:inset 0 3px 0 var(--red)}
.dcell b{font-size:var(--t2);color:var(--navy)}
.dcell span{font-size:var(--t1);color:var(--slate);line-height:1.5}
.dcell .glyph{width:26px;height:26px;border:1.5px solid var(--line-mid);display:grid;place-items:center;font:700 var(--t1) Inter,sans-serif;color:var(--slate);margin-bottom:var(--s1)}
.dcell.on .glyph{border-color:var(--red);color:var(--red)}
@media (max-width:900px){#cta{grid-template-columns:1fr!important}#pages{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* ── Şekil 05 · eşleme cetveli (daire-hub yerine). Seçim sözleşmesi aynı: .node[data-p]+.on */
.esle{border:1px solid var(--line);min-width:0}
.esle-bas,.esle .node,.esle-top{display:grid;grid-template-columns:32px minmax(0,1fr) 48px minmax(0,1.1fr);
  gap:var(--s3);align-items:center;padding:var(--s4);min-width:0;box-sizing:border-box}
.esle-bas{background:var(--paper);padding-block:var(--s3)}
.esle-bas .kicker:first-child{grid-column:1/3}
.esle-bas .kicker:last-child{grid-column:4}
.esle .node{width:100%;min-height:64px;text-align:left;color:inherit;border-top:1px solid var(--line);
  border-left:3px solid transparent;transition:background-color .15s}
.esle .node:hover{background:var(--paper)}
.esle .node.on{background:var(--paper);border-left-color:var(--red)}
.esle-no{font-size:var(--t1);font-weight:600;letter-spacing:.14em;color:var(--slate)}
.esle-ad{font-family:Lora,Georgia,serif;font-size:var(--t5);font-weight:500;color:var(--navy);line-height:1.15}
.esle-bag{position:relative;height:1px;background:var(--line-mid)}
.esle-bag::after{content:"";position:absolute;right:0;top:50%;width:8px;height:8px;
  transform:translateY(-50%);background:var(--slate)}
.esle-yalin{font-size:var(--t3);font-weight:500;color:var(--ink);line-height:1.3}
.esle .node.on .esle-no{color:var(--red)}
.esle .node.on .esle-bag,.esle .node.on .esle-bag::after{background:var(--red)}
.esle .node.on .esle-yalin{color:var(--navy)}
.esle-top{border-top:1px solid var(--line);background:var(--band)}
.esle-sum{grid-column:1/3;font-size:var(--t2);font-weight:600;color:var(--navy)}
.esle-esit{font-family:Lora,Georgia,serif;font-size:var(--t5);font-weight:600;color:var(--red);text-align:center}
.esle-birim{grid-column:4;display:flex;flex-direction:column;gap:var(--s1)}
.esle-birim b{font-family:Lora,Georgia,serif;font-size:var(--t5);font-weight:600;color:var(--red);line-height:1.15}
@media (max-width:640px){
  .esle-bas,.esle .node,.esle-top{grid-template-columns:32px minmax(0,1fr)}
  .esle-bas .kicker:last-child,.esle-bag,.esle-esit{display:none}
  .esle-yalin,.esle-birim{grid-column:2}
}
/* ── açılış: teklif satırı + tez bloğu ── */
.teklif{display:flex;flex-wrap:wrap;gap:var(--s4) var(--s6);margin:var(--s5) 0 0;
  padding-top:var(--s4);border-top:1px solid var(--line)}
.teklif>div{display:flex;flex-direction:column;gap:var(--s1)}
.teklif dt,.teklif dd{margin:0}
.teklif dd{font-family:Lora,Georgia,serif;font-size:var(--t4);font-weight:600;color:var(--navy);line-height:1.2}
.tez{margin-top:var(--s7);padding-top:var(--s5);border-top:1px solid var(--line)}
.tez .note{margin-top:var(--s2)}

/* ── H1-üstü hizmet etiketi (P0-3, 2026-09-13). tema_apple.semantik_katman 8 sayfaya
   `p.raf-etiket.etiket-vurgu` basar; v8 ailesinde `.vurgu-sistemi .etiket-vurgu` (_v8.css)
   stiller, v9 ailesinde (index · ai-masasi · kim) o kural YOK → düz gövde metni basıyordu
   (Playwright ölçümü: 3/8 sayfa 17px/none). v9'da eyebrow rolü = `.kicker`; aynı kural,
   yeni stil icat edilmedi. */
.raf-etiket.etiket-vurgu{display:block;margin:0 0 var(--s2);font-size:var(--t1);font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--slate)}
.dark .raf-etiket.etiket-vurgu{color:var(--deep-fg2)}

/* ================= SİTE KABUĞU (üst menü · alt bilgi) — v9 diliyle */
.atla{position:absolute;left:-9999px;top:0;background:var(--red);color:var(--dolgu-ustu);padding:12px 18px;
  font-size:var(--t2);font-weight:600;z-index:100}
.atla:focus{left:0}
.ust{border-bottom:1px solid var(--line);background:var(--bg);position:relative;z-index:50}
.ust-ic{display:flex;align-items:center;gap:var(--s5);padding-block:var(--s4);flex-wrap:wrap}
.marka{display:flex;align-items:center;flex:0 0 auto;min-height:44px}
.marka img{display:block;height:35px;width:auto}
/* ⚠️ ÖZGÜLLÜK: `.marka img` (0,1,1) sade `.logo-koyu`yu (0,1,0) yener → iki logo üst üste
   basardı (2026-09-10 göz denetiminde yakalandı). Tüm logo kuralları .marka altında. */
.marka .logo-koyu{display:none}
.dark .marka .logo-acik,:root[data-theme="dark"] .marka .logo-acik{display:none}
.dark .marka .logo-koyu,:root[data-theme="dark"] .marka .logo-koyu{display:block}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .marka .logo-acik{display:none}
  :root:not([data-theme="light"]) .marka .logo-koyu{display:block}}
.menu{display:flex;flex-wrap:wrap;gap:0 var(--s4);margin-left:auto}
.menu a{font-size:var(--t1);font-weight:700;letter-spacing:.12em;color:var(--slate);text-decoration:none;
  padding:12px 0;min-height:44px;display:inline-flex;align-items:center;border-bottom:2px solid transparent}
.menu a:hover{color:var(--navy)}
.menu a[aria-current="page"]{color:var(--navy);border-bottom-color:var(--red)}
.ust-cta{font-size:var(--t1);font-weight:700;letter-spacing:.1em;color:var(--dolgu-ustu);background:var(--red);
  text-decoration:none;padding:0 18px;min-height:44px;display:inline-flex;align-items:center}
.dip{border-top:1px solid var(--line);padding-block:var(--s7) var(--s8);background:var(--paper)}
/* ≤900 üst bar kuralı BURADA DEĞİL: tek kaynak tema_apple.py ORTAK_UST_BAR (2026-09-12).
   Taban katmanda eşit-özgüllüklü ikinci bir üst-bar kuralı bırakmak, F-B'yi öldüren
   sessiz kaskad bağını yeniden üretir (bkz. SPEC_MOBIL_UST_BAR_2026-09-12.md §3.5). */
@media print{.ust,.dip .note:last-child,.atla{display:none!important}}

/* ── şekil kabı: dar ekranda diyagram yatay kayar (tablo deseninin aynısı, brief §6.7)
      gerekçe: 390 px'te viewBox ölçeklenince SVG yazısı 5-9 px'e düşüyordu; brief §4 ≥12 px. */
.sekil-kap{min-width:0}
/* ⛔ 2026-09-12 · AKK (iPhone): "grafikler dikey ekranda yarım görünüyor. sağa kaydırılıyor
   ama grafiğe öyle bakılmaz." ÖLÇÜLDÜ: 402 px ekranda kap 360 px, içerik 646/859/646 px —
   üç şeklin de yarısı görünmüyordu. ESKİ ÇÖZÜM (yatay kaydırma) yanlış eksendeydi: bir
   grafiğin ANLAMI bütününde; parça parça kaydırarak bakılan şey grafik değil, şerittir.
   KÖK ÇÖZÜM: şekil ekrana SIĞAR (kaydırma yok) ve okunurluk viewBox ölçeklenirken eriyen
   yazıyı şeklin kendi oranıyla (--svg-k) büyüterek korunur → ekranda ≈12 px (brief §4). */
@media (max-width:640px){
  .sekil-kap{overflow-x:visible}
  .sekil-kap>svg{min-width:0;width:100%;height:auto}
  .sekil-kap svg .ct{font-size:calc(var(--p1)*var(--svg-k,1))}
  .sekil-kap svg .cl{font-size:calc(var(--p2)*var(--svg-k,1))}
  .sekil-kap svg .cv{font-size:calc(var(--p3)*var(--svg-k,1))}
  .sekil-kap svg .nn{font-size:calc(26px*var(--svg-k,1))}
  .sekil-kap svg .nl{font-size:calc(14px*var(--svg-k,1))}
}

/* ── açılır ayrıntı: tıklanabilirlik işareti + durum + açılış hareketi ──
      AKK 09-10: "kullanıcı bunun tıklanınca açılacağını bilmiyor." Üç sinyal:
      (a) artı → eksi dönen kutu  (b) sağda AÇ/KAPAT etiketi  (c) hover'da kırmızıya
      geçen başlık. Renk yalnız belirteçten; hareket reduced-motion'da kapalı. */
details.ac>summary{position:relative;transition:color .15s}
details.ac>summary::before{content:"";width:18px;height:18px;flex:0 0 auto;
  border:1.5px solid var(--red);
  background:linear-gradient(var(--red),var(--red)) center/8px 1.5px no-repeat,
             linear-gradient(var(--red),var(--red)) center/1.5px 8px no-repeat;
  transition:transform .25s cubic-bezier(.2,.7,.2,1)}
details.ac[open]>summary::before{
  background:linear-gradient(var(--red),var(--red)) center/8px 1.5px no-repeat;
  transform:rotate(180deg)}
details.ac>summary::after{content:"AÇ";margin-left:auto;font-size:var(--t1);font-weight:700;
  letter-spacing:.1em;color:var(--slate);border-bottom:1px solid currentColor;
  padding-bottom:1px;transition:color .15s}
details.ac[open]>summary::after{content:"KAPAT"}
details.ac>summary:hover,details.ac>summary:focus-visible{color:var(--red)}
details.ac>summary:hover::after,details.ac>summary:focus-visible::after{color:var(--red)}
/* ── AKORDEON NETLİK TURU (AKK 2026-09-12: "tıklanacağının net anlaşılması gerekiyor") ──
   Galeri kartı BURAYA TAŞINMADI: bu akordeonlar yazı açıyor, galeri değil — sabit
   "N sayfanın tümü" kartı yanlış vaat olurdu. Aktarılan şey NETLİK: kalın başlık +
   kırmızı AÇ/KAPAT etiketi. ⚠️ Punto EKLENMEDİ (T1 tip ölçeği kilidi: 14·17·21·28·40·56). */
details.ac>summary{font-weight:700}
details.ac>summary::after{color:var(--red);letter-spacing:.06em;font-weight:700}   /* AKK: AÇ/KAPAT etiketi KALIN — punto+aralık standartta kalır */

details.ac>summary:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.dark details.ac>summary:hover,.dark details.ac>summary:hover::after{color:var(--deep-acc)}
details.ac[open] .ac-body{animation:ac-ac .28s cubic-bezier(.2,.7,.2,1)}
@keyframes ac-ac{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
/* seçilebilir grafik öğeleri de imleçte ve hover'da tepki versin */
.sel{cursor:pointer}
.tk:hover circle{stroke-width:5}
.step:hover .cl{fill:var(--navy)}
@media (prefers-reduced-motion:reduce){
  details.ac[open] .ac-body{animation:none}
  details.ac>summary::before{transition:none}
}

/* ── klavye odağı: her etkileşimli öğede görünür (yayın karnesi K-klavye · brief §13) */
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,
[tabindex]:focus-visible,.sel:focus-visible{
  outline:2px solid var(--red);outline-offset:2px;border-radius:0}
.dark a:focus-visible,.dark button:focus-visible,.dark summary:focus-visible,
.dark [tabindex]:focus-visible{outline-color:var(--deep-acc)}
/* ── dokunma hedefi: gezinme ve alt bilgi bağlantıları 44px tabanını tutar (@390) */
.menu a{min-width:44px;justify-content:center}
.dip a{display:inline-flex;align-items:center;min-height:44px}
/* ── satır uzunluğu: başlık ve açılır başlığı okunur sınırda (karne T3 ≤72ch) */
details.ac>summary{max-width:66ch}
/* ⛔ OKUNUR SATIR UZUNLUĞU — 72ch TABANI (2026-09-11, karne T3: p.kunye 158ch · p.cta-sonraki
   144ch · kim-hat-not 968px/149ch ÖLÇÜLDÜ). 150 karakterlik satırda göz satır sonundan satır
   başına dönerken yerini kaybeder; bu bir zevk değil okunabilirlik kusurudur (sözleşme T3).
   ⚠️ KURAL İKİ KUŞAĞA DA YAZILIR: tema `_v8-apple.css` ↔ `_v9-*` iki ayrı stil kuşağı taşıyor;
   tek dosyaya yazılan kural sayfaların YARISINI kapsar (bu oturumda dokunma-hedefi kuralında
   yaşandı). Ölçülen taşkınlar hedeflenir — gövde `p`'sine toptan sınır KONMAZ (ızgara
   hücrelerindeki metni kırpardı). */
/* ⚠️ SEÇİCİ DAR: `p.kunye` — ÇIPLAK `.kunye` DEĞİL. Ad iki ayrı bileşende kullanılıyor:
   `_v8.css`'te künye METNİ, `_v9-kim.css`'te 4 SÜTUNLU IZGARA (ölçüldü). Çıplak sınıfa
   sınır koymak ızgarayı ezerdi; ad-çakışması kapısı bunu yakaladı (kapı haklıydı). */
.cta-sonraki,summary{max-width:66ch}
.h-md{max-width:34ch}
/* #reset satır-içi `all:unset` taşıyor → odak kuralını yutuyordu; tek yer, !important şart */
#reset:focus-visible{outline:2px solid var(--red)!important;outline-offset:2px}

/* ── satır uzunluğu: kaynak defteri kendi puntosuna göre kapta (karne T3 ≤72ch) */
#kaynak-defteri{max-width:66ch}
#kaynak-defteri li{max-width:66ch}

/* ── ölçüm düzeltmeleri (brief §4 satır uzunluğu · §13-10 dokunma hedefi) ── */
#doc-panel p,#dept-detail p,#part-detail p,#lvl-detail p,.doc-card p,.vaat p{max-width:66ch}
#doc-panel h4,#doc-panel .note,#dept-detail .note{max-width:66ch}
.opt,.preset,#reset,.ex .lnk{min-height:44px;display:inline-flex;align-items:center}
.inp{min-height:44px}
.perde a{min-height:44px;display:inline-flex;align-items:center}
.ozet li p a,.note a{padding-block:2px}
@media (max-width:640px){
  .opt,.preset{width:auto;justify-content:center}
  .dcell{min-height:44px}
}

/* ── H29 · görsel dil: koşul matrisi + belge künyesi şeridi (brief §2-4 tek eksen,
      §2-8 gölge/gradyan yok, §5 üç renk — hiçbiri süsleme değil, hepsi bilgi) ── */
.mtx{border:1px solid var(--line);margin-top:var(--s4);
  --mtx-kol:minmax(150px,1.5fr) repeat(4,minmax(54px,1fr))}
.mtx-bas,.mtx-alt{display:grid;grid-template-columns:var(--mtx-kol);align-items:center}
.mtx-bas{background:var(--band)}
.mtx-bas span{padding:12px 10px;font-family:Inter,sans-serif;font-weight:700;font-size:var(--t1);
  letter-spacing:.09em;text-transform:uppercase;color:var(--slate);text-align:center}
.mtx-bas span:first-child{text-align:left}
/* all:unset display'i de sıfırlar → grid TANIMI BU KURALIN İÇİNDE, unset'ten SONRA
   gelmek zorunda. Ayrı bir seçicide tanımlanırsa unset onu ezer (ilk denemede tam bu oldu). */
.step{all:unset;display:grid;grid-template-columns:var(--mtx-kol);align-items:center;
  width:100%;cursor:pointer;border-top:1px solid var(--line);min-height:54px;
  box-sizing:border-box;transition:background-color .15s}
.step:hover{background:var(--paper)}
.step:focus-visible{outline:2px solid var(--red);outline-offset:-2px}
.mtx-ad{padding:10px 12px;font-size:var(--t2);color:var(--ink);
  display:flex;align-items:baseline;gap:10px;min-width:0}
.mtx-ad b{font-family:Lora,Georgia,serif;font-size:var(--t5);font-weight:600;color:var(--navy)}
.hc{display:grid;place-items:center;height:100%}
.hc::before{content:"";width:15px;height:15px;border:1.5px solid var(--line-mid)}
.hc.d::before{background:var(--mark);border-color:var(--mark)}
.step.on{background:var(--band)}
.step.on .mtx-ad b{color:var(--red)}
.step.on .hc.d::before{background:var(--red);border-color:var(--red)}
.mtx-alt{border-top:1px solid var(--line)}
.mtx-is{grid-column:4/6;border-top:2px solid var(--red);padding:8px 4px 10px;text-align:center;
  font-family:Inter,sans-serif;font-weight:700;font-size:var(--t1);letter-spacing:.1em;
  text-transform:uppercase;color:var(--red)}
@media (max-width:640px){
  /* ⛔ ≤640 MATRİS BAŞLIĞI KURALI BURADA DEĞİL — tek kaynak: tema_apple.py ORTAK_MOBIL
     (2026-09-12). Buraya yazılan punto/padding, Apple katmanındaki `.mtx-bas span
     {padding:14px 10px}` tarafından EŞİT ÖZGÜLLÜKLE ezildi (ölçüldü: taşma 86>65 sürdü) —
     F-B'yi ve mobil menüyü öldüren aynı yığın ayrışması. Buraya ikinci tanım BIRAKMA.
     Ek olarak: bu dosyanın px değerleri `_olcege_cek` ile belirtece çevrilir; 10px yazsan
     bile çıktıda var(--p1) olur → punto düşürme zaten BU KATMANDA mümkün değil. */
  .mtx{--mtx-kol:minmax(88px,1.1fr) repeat(4,minmax(40px,1fr))}
  .mtx-bas span{padding:9px 3px;letter-spacing:.03em}
  .mtx-ad{padding:9px 8px;font-size:var(--t1);gap:6px}
  .mtx-ad b{font-size:var(--t4)}
  .hc::before{width:13px;height:13px}
}

/* Şerit YÜZEY-NÖTR yazılır: .dark kapsamında --line/--paper/--band zaten deep karşılıklarına
   eşlenir (§5.3), böylece aynı bileşen ana sayfanın krem zemininde de çalışır — ikinci bir
   "açık şerit" sınıfı YAZILMAZ (bileşen çoğaltmak = ikinci tasarım dili). */
.serit{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);margin-top:var(--s4)}
.tk{all:unset;cursor:pointer;background:var(--paper);padding:16px 15px;display:flex;
  flex-direction:column;gap:6px;min-height:132px;box-sizing:border-box;transition:background-color .15s}
.tk:hover,.tk.on{background:var(--band)}
/* koyu yüzeyde seçili kart DAHA KOYUYA iner (--band=--deep3 değil): kırmızı künye yazısı
   --deep3 üstünde 4,43:1'e düşüyordu — Kilit 171'in bedeli. Koyulaşma kontrastı büyütür. */
.dark .tk:hover,.dark .tk.on{background:var(--deep)}
.tk:focus-visible{outline:2px solid var(--red);outline-offset:-2px}
.tk-no{font-family:Inter,sans-serif;font-weight:700;font-size:var(--t1);letter-spacing:.14em;
  color:var(--slate)}
.tk-gun{font-family:Inter,sans-serif;font-weight:700;font-size:var(--t1);letter-spacing:.1em;
  text-transform:uppercase;color:var(--red)}
.tk-ad{font-family:Lora,Georgia,serif;font-weight:500;font-size:var(--t4);line-height:1.2;
  color:var(--navy)}
.tk-sinif{margin-top:auto;font-size:var(--t1);line-height:1.45;color:var(--ink)}
.tk.on{box-shadow:inset 0 3px 0 var(--red)}
.serit.alti{grid-template-columns:repeat(6,minmax(0,1fr))}
@media (max-width:900px){.serit.alti{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.serit.alti{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ── H31 · ol.ozet: yatay çizgilerle ayrılmış DÜZ LİSTE → SIRALI RAY ────────────────
   AKK 2026-09-10: "düz tablo olarak zayıf kalıyor… benzer tablolardaki genel sıkıntı bu."
   Kök neden: maddeler SIRALI (birbirini izleyen adımlar) ama biçim bunu söylemiyordu —
   numara yalnız bir etiketti, satırlar birbirinin aynıydı. Ray sırayı görünür kılar,
   dolu son düğüm dizinin kapandığını. Süsleme değil: taşınan bilgi SIRA. */
/* ── H32 · BÜYÜTEÇ (canlıdaki §3b işlevi, v9 belirteçleriyle) ──────────────────────
   Tetikleyici figure.buyutec; diyaloğu hareket katmanı kurar. v8 belirteçleri v9
   karşılıklarına eşlendi: --kirmizi→--red · --lacivert→--navy · --beyaz→--bg
   · --hat→--line · --ikincil→--slate. Koyu yüzeyde bunlar zaten deep karşılıklarına
   eşlendiği için (§5.3) ai-masasi'nin antrasit bölümlerinde de doğru çalışır. */
.buyutec{cursor:zoom-in}
/* P1-10 (2026-09-13): tetikleyici artık gerçek <button> (figure değil role/tabindex taklidi) —
   odak da tıklama alanı da düğmede; figure yalnız düzen kabı. `all:unset` düğmenin native
   çerçeve/dolgu/arkaplanını siler, görünüm tamamen mirastan (cursor burada AÇIKÇA tekrarlanır —
   UA-stylesheet düğmeye kendi imleci vermeye çalışabilir, miras her zaman kazanmaz). */
.buyutec button{all:unset;display:block;cursor:zoom-in}
.buyutec button:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.buyutec-cerceve{display:block;position:relative}
.buyutec .buyutec-ipucu{position:absolute;inset-inline-end:8px;bottom:8px;background:var(--bg);
  border:1px solid var(--line-mid);color:var(--slate);font-family:Inter,sans-serif;
  font-size:var(--t1);font-weight:600;line-height:1.3;padding:3px 8px;cursor:zoom-in;
  transition:color .2s,border-color .2s}
.buyutec:hover .buyutec-ipucu,.buyutec:focus-within .buyutec-ipucu{color:var(--navy);
  border-color:var(--navy)}
.buyutec:hover img{border-color:var(--line-mid)}
.buyutec img{transition:border-color .2s}
html.buyutec-acik,html.buyutec-acik body{overflow:hidden}
.buyutec-dialog{--boy:min(88dvh, calc(100dvh - 8.5rem));margin:0;padding:0;border:0;
  background:transparent;width:100vw;height:100dvh;max-width:none;max-height:none;
  overflow:auto;overscroll-behavior:contain}
.buyutec-dialog:not([open]){display:none}
.buyutec-dialog[open]{display:flex;align-items:center;justify-content:center}
.buyutec-dialog::backdrop{background:rgba(28,31,36,.86);opacity:1;transition:opacity .22s}
.buyutec-kutu{position:relative;margin:auto;max-width:100%;padding:16px;background:var(--bg);
  border:1px solid var(--line-mid);display:flex;flex-direction:column;align-items:center;gap:14px}
.buyutec-gorsel{display:block;background:var(--bg);border:1px solid var(--line);
  width:min(94vw, calc(var(--boy) * var(--oran,.75)));height:auto;max-width:94vw;
  max-height:var(--boy);object-fit:contain}
.buyutec-kunye{margin:0;max-width:min(94vw,62ch);color:var(--slate);font-size:var(--t2);
  line-height:1.6;text-align:center;font-variant-numeric:tabular-nums}
.buyutec-kapat{position:absolute;top:0;inset-inline-end:0;width:44px;height:44px;padding:0;
  background:var(--bg);border:1px solid var(--line-mid);color:var(--navy);font-size:var(--t5);
  line-height:1;cursor:pointer;flex-shrink:0}
.buyutec-kapat:hover{border-color:var(--navy)}
.buyutec-kapat:focus-visible{outline:2px solid var(--red);outline-offset:3px}
@starting-style{ .buyutec-dialog[open]::backdrop{opacity:0} }
.buyutec-dialog.kapaniyor::backdrop{opacity:0;transition-duration:.26s}
.buyutec-kunye{opacity:1;transition:opacity .18s ease-out .12s}
@starting-style{ .buyutec-dialog[open] .buyutec-kunye{opacity:0} }
.buyutec-dialog.kapaniyor .buyutec-kunye{opacity:0;transition:opacity .18s ease-out}
@media (prefers-reduced-motion:reduce){
  .buyutec-dialog::backdrop,.buyutec-kunye{transition-duration:.12s!important}
}

/* ── H31 · GÖVDE-İÇİ BAĞLANTI: belirteçten renk ────────────────────────────────────
   Ortak katmanda gövde metni içindeki <a> için HİÇ kural yoktu → tarayıcı varsayılanı
   rgb(0,0,238) çıkıyor: hem §5 üç-renk kuralını deliyor (mavi yok) hem antrasit yüzeyde
   1,76:1 kontrasta düşüyordu. ai-masasi'de fark edilmemişti çünkü orada .note içinde
   çıplak bağlantı hiç kullanılmamış — boşluk ana sayfada ortaya çıktı. */
.note a,.lede a,.ac-body a,.hat-donus a,.cell p a,.doc-card a,.cell a:not(.bl-bag),
.ozet li p a,.vaat a{color:var(--red);text-decoration:underline;
  text-decoration-thickness:1px;text-underline-offset:3px;
  text-decoration-color:color-mix(in srgb,var(--red) 45%,transparent);padding-block:2px}
.note a:hover,.lede a:hover,.ac-body a:hover,.hat-donus a:hover{color:var(--navy);
  text-decoration-color:var(--navy)}
.dark .note a:hover,.dark .lede a:hover,.dark .hat-donus a:hover{color:var(--deep-fg);
  text-decoration-color:var(--deep-fg)}

.ozet{position:relative}
.ozet li{position:relative;grid-template-columns:56px minmax(0,1fr);border-top:0;
  padding:var(--s4) 0;align-items:start}
.ozet li::after{content:"";position:absolute;left:17px;top:0;bottom:0;width:1px;
  background:var(--line-mid)}
.ozet li:first-child::after{top:26px}
.ozet li:last-child{border-bottom:0}
.ozet li:last-child::after{bottom:calc(100% - 26px)}
.ozet li span{position:relative;z-index:1;padding-left:32px;padding-top:0;line-height:20px}
.ozet li span::before{content:"";position:absolute;left:12px;top:5px;width:11px;height:11px;
  box-sizing:border-box;background:var(--bg);border:2px solid var(--red)}
.ozet li:last-child span::before{background:var(--red)}
.dark .ozet li span::before{background:var(--deep)}
.dark .ozet li:last-child span::before{background:var(--red)}

/* ── H31 · VURUŞ-DURAK HARİTASI (.hat) — gruplama + sıra + döngü tek şekilde ────────
   Dört vuruş bandının genişliği KAPSADIĞI durak sayısına orantılı (3/1/1/1): gerçek
   gruplama, uydurulmuş ölçek değil (K1). Duraklar aynı künye kartı bileşeni (.tk).
   Alt bant zincirin kapandığını söyler — bu bilgi eskiden yalnız figcaption metnindeydi. */
.hat{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);margin-top:var(--s4)}
.hat-v{background:var(--band);padding:12px 14px;font-family:Inter,sans-serif;font-weight:700;
  font-size:var(--t1);letter-spacing:.09em;text-transform:uppercase;color:var(--red)}
.hat-v.k3{grid-column:span 3}
.hat .tk-gun{display:none}
.hat-donus{grid-column:1/-1;background:var(--paper);padding:11px 14px;display:flex;
  align-items:center;gap:11px;font-size:var(--t1);color:var(--ink)}
.hat-donus a{min-height:44px;display:inline-flex;align-items:center}
.hat-donus::before{content:"↺";font-family:Inter,sans-serif;font-size:var(--t5);
  color:var(--red);line-height:1}
@media (max-width:900px){
  .hat{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hat-v{display:none}
  .hat .tk-gun{display:block}
}
@media (max-width:640px){.hat{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.serit{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.serit{grid-template-columns:1fr}.tk{min-height:0}}

/* ── H36 · kaynak kutusu: üst-simge → künye (tıkla/Enter; Esc ya da dışarı tıkla kapanır) */
sup.fnr{cursor:pointer}
sup.fnr:hover{text-decoration:underline}
sup.fnr:focus-visible{outline:2px solid var(--red);outline-offset:2px;border-radius:3px}
.fn-kutu{position:absolute;z-index:90;box-sizing:border-box;
  background:var(--bg);border:.5px solid var(--line);border-radius:12px;
  box-shadow:0 14px 38px -10px rgba(0,0,0,.36);padding:14px 36px 13px 16px;
  font-family:Inter,sans-serif;font-size:12.5px;line-height:1.5;color:var(--ink)}
.fn-no{font-size:10px;font-weight:700;letter-spacing:.09em;color:var(--red);margin:0 0 6px}
.fn-metin{margin:0;color:var(--slate)}
.fn-git{display:inline-block;margin-top:10px;font-weight:600;font-size:12px;color:var(--navy)}
.fn-kapat{position:absolute;top:10px;right:10px;width:22px;height:22px;padding:0;border:0;
  border-radius:50%;background:var(--band);cursor:pointer;color:var(--slate)}
/* × işareti ÇİZİLİR (karakterle değil) — büyüteç kapatıyla aynı doktrin: merkez matematiksel */
.fn-kapat::before,.fn-kapat::after{content:"";position:absolute;inset:0;
  background:linear-gradient(currentColor,currentColor) center/9px 1.5px no-repeat}
.fn-kapat::before{transform:rotate(45deg)}
.fn-kapat::after{transform:rotate(-45deg)}
.fn-kutu.koyu{background:var(--deep2);border-color:var(--deep-hair);color:var(--deep-fg)}
.fn-kutu.koyu .fn-metin{color:var(--deep-fg2)}
.fn-kutu.koyu .fn-git{color:var(--deep-acc)}
.fn-kutu.koyu .fn-kapat{background:rgba(255,255,255,.10);color:var(--deep-fg2)}

/* ── H38 · P1-6 kat-genişlik: `.kat` bant içeriğiyle aynı sütuna sığar (66ch'e sıkışmaz) */
details.kat>.ac-body{max-width:none;width:100%}
