
/* Düzen: solda patika menüsü, sağda çalışma alanı; telefonda alt sekme çubuğu.
   Kimlik: Kesit SQL ile aynı patika dili; işaret boyası kehribar (rapor sarısı), logo yükselen üç çubuk. */
:root{
  --bg:#F1F0EC; --surface:#FFFFFF; --surface-2:#F7F6F2; --ink:#1B1A16; --muted:#625F55; --line:#DEDBD2;
  --accent:#E9B10C; --accent-text:#8A6200; --accent-soft:#FBF1D2; --accent-ink:#1B1505;
  --ok:#17855A; --ok-soft:#E1F3EA; --warn:#A86A12; --warn-soft:#FBF0DD; --err:#C0392B; --err-soft:#FBE6E3;
  --code-bg:#17150F; --code-ink:#E8E4D8; --code-kw:#F2C14E; --code-fn:#8FC8FF; --code-str:#B8E07A; --code-num:#F5A86B; --code-com:#7D7868; --code-var:#E2A8FF; --code-line:#2A271E; --code-tab:#201D16;
  --ic-shade:rgba(0,0,0,.38); --l1:#1F7F47; --l3:#3866D1; --l5:#B8418F; --l6:#C2410C;
  --s1:#2a78d6; --s2:#eb6834; --s3:#1baf7a; --s4:#eda100; --s5:#e87ba4; --s6:#008300; --s7:#6250d6; --s8:#e34948;
  --grid:#E8E6DF; --axis:#8E8A7E;
  --f-display:"Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;
  --f-body:"IBM Plex Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
  --f-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  --r:10px; --shadow:0 1px 2px rgba(27,26,22,.06), 0 4px 16px rgba(27,26,22,.05);
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#12110D; --surface:#1B1A15; --surface-2:#222019; --ink:#EEEBE2; --muted:#A39F92; --line:#34312A;
  --accent:#F2C230; --accent-text:#F2C94C; --accent-soft:#3A3014; --accent-ink:#1B1505;
  --ok:#45C08A; --ok-soft:#14302A; --warn:#E3A84B; --warn-soft:#352A16; --err:#FF7B6E; --err-soft:#3A1F1E;
  --code-bg:#0E0D09; --code-line:#2A271E; --code-tab:#16140F;
  --ic-shade:rgba(0,0,0,.45); --l1:#4CC27E; --l3:#6E93F0; --l5:#E06BB6; --l6:#F07A45;
  --s1:#3987e5; --s2:#d95926; --s3:#199e70; --s4:#c98500; --s5:#d55181; --s6:#008300; --s7:#9085e9; --s8:#e66767;
  --grid:#2C2A23; --axis:#857F70;
  --shadow:0 1px 2px rgba(0,0,0,.3); color-scheme:dark }}
:root[data-theme="dark"]{
  --bg:#12110D; --surface:#1B1A15; --surface-2:#222019; --ink:#EEEBE2; --muted:#A39F92; --line:#34312A;
  --accent:#F2C230; --accent-text:#F2C94C; --accent-soft:#3A3014; --accent-ink:#1B1505;
  --ok:#45C08A; --ok-soft:#14302A; --warn:#E3A84B; --warn-soft:#352A16; --err:#FF7B6E; --err-soft:#3A1F1E;
  --code-bg:#0E0D09; --code-line:#2A271E; --code-tab:#16140F;
  --ic-shade:rgba(0,0,0,.45); --l1:#4CC27E; --l3:#6E93F0; --l5:#E06BB6; --l6:#F07A45;
  --s1:#3987e5; --s2:#d95926; --s3:#199e70; --s4:#c98500; --s5:#d55181; --s6:#008300; --s7:#9085e9; --s8:#e66767;
  --grid:#2C2A23; --axis:#857F70;
  --shadow:0 1px 2px rgba(0,0,0,.3); color-scheme:dark }

*{box-sizing:border-box}
html,body{height:100%}
body{background:var(--bg); color:var(--ink); font-family:var(--f-body); font-size:15px; line-height:1.55; -webkit-font-smoothing:antialiased}
body::before{content:""; position:fixed; inset:0 0 auto; height:env(safe-area-inset-top,0px); z-index:30; background:var(--surface)}
a{color:var(--accent-text)}
button,select{font:inherit; color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--accent-text); outline-offset:2px}
h1,h2,h3{font-family:var(--f-display); line-height:1.15; text-wrap:balance; margin:0; letter-spacing:-.01em}
h1{font-size:clamp(1.7rem, 4vw, 2.4rem); font-weight:800}
h2{font-size:1.35rem; font-weight:700}
h3{font-size:1.08rem; font-weight:700}
code,kbd{font-family:var(--f-mono); font-size:.88em}
p code, li code, td code, .q code{background:var(--surface-2); border:1px solid var(--line); padding:.05em .35em; border-radius:5px}
.muted{color:var(--muted)}
.eyebrow{font-size:.72rem; text-transform:uppercase; letter-spacing:.09em; font-weight:600; color:var(--muted)}
.num{font-variant-numeric:tabular-nums}

/* Kabuk */
.app{display:grid; grid-template-columns:252px minmax(0,1fr); min-height:100%}
.side{position:sticky; top:0; height:100vh; background:var(--surface); border-right:1px solid var(--line); display:flex; flex-direction:column; padding:20px 14px; gap:16px; overflow-y:auto}
.brand{display:flex; align-items:center; gap:10px; padding:4px 8px; text-decoration:none; color:var(--ink)}
.brand b{font-family:var(--f-display); font-weight:800; font-size:1.25rem; letter-spacing:-.02em}
.brand b span{color:var(--accent-text)}
.marker{width:26px; height:26px; border-radius:6px; border:1.5px solid var(--ink); display:grid; grid-template-rows:1fr 1fr 1fr; overflow:hidden; flex:none; background:var(--surface)}
.marker i{display:block}
.marker i:nth-child(1),.marker i:nth-child(3){background:var(--accent)}
.marker i:nth-child(2){background:#fff}
.dsel{display:flex; flex-direction:column; gap:4px; padding:10px; border:1px solid var(--line); border-radius:var(--r); background:var(--surface-2)}
.dsel label{font-size:.7rem; text-transform:uppercase; letter-spacing:.09em; font-weight:600; color:var(--muted)}
.dsel select{border:1px solid var(--line); background:var(--surface); border-radius:7px; padding:7px 8px; font-weight:600}
.nav{display:flex; flex-direction:column; gap:2px}
.nav button{display:flex; align-items:center; gap:10px; padding:9px 10px; border:0; background:none; border-radius:8px; text-align:left; color:var(--muted); font-weight:500}
.nav button:hover{background:var(--surface-2); color:var(--ink)}
.nav button[aria-current="true"]{background:var(--accent-soft); color:var(--accent-text)}
.nav svg{width:18px; height:18px; flex:none}
.side-stats{margin-top:auto; border-top:1px solid var(--line); padding:14px 8px 0; display:grid; grid-template-columns:1fr 1fr; gap:10px}
.stat b{display:block; font-family:var(--f-display); font-size:1.3rem; font-variant-numeric:tabular-nums}
.stat span{font-size:.75rem; color:var(--muted)}
.engine{font-size:.75rem; color:var(--muted); display:flex; align-items:center; gap:6px; grid-column:1/-1}
.dot{width:8px; height:8px; border-radius:50%; background:var(--warn); flex:none}
.dot.ok{background:var(--ok)} .dot.bad{background:var(--err)}
main{min-width:0; padding-block:28px 64px; padding-left:max(16px, env(safe-area-inset-left,0px)); padding-right:max(16px, env(safe-area-inset-right,0px))}
.wrap{max-width:1180px; margin:0 auto; display:flex; flex-direction:column; gap:28px}
.tabbar{display:none}
.topbar{display:none}

/* Genel öğeler */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid var(--line); background:var(--surface); padding:9px 16px; border-radius:8px; font-weight:600; font-size:.92rem; text-decoration:none; color:var(--ink); white-space:nowrap}
.btn:hover{border-color:var(--muted)}
.btn.pri{background:var(--accent); border-color:var(--accent-text); color:var(--accent-ink)}
.btn.pri:hover{filter:brightness(1.06)}
.btn.ghost{background:none; border-color:transparent}
.btn.sm{padding:6px 11px; font-size:.84rem}
.btn:disabled{opacity:.5; cursor:not-allowed}
.panel{background:var(--surface); border:1px solid var(--line); border-radius:var(--r)}
.row{display:flex; gap:12px; flex-wrap:wrap; align-items:center}
.grow{flex:1 1 auto; min-width:0}
.chip{display:inline-flex; align-items:center; gap:6px; font-size:.75rem; font-weight:600; padding:3px 9px; border-radius:99px; background:var(--surface-2); border:1px solid var(--line); color:var(--muted); white-space:nowrap}
button.chip{cursor:pointer} button.chip:hover{border-color:var(--muted); color:var(--ink)}
button.chip[aria-pressed="true"]{background:var(--ink); border-color:var(--ink); color:var(--bg)}
.lv{display:inline-grid; place-items:center; min-width:48px; height:22px; padding:0 8px; border-radius:5px; font-weight:600; font-size:.72rem; color:#fff; letter-spacing:.02em; white-space:nowrap}
.lv-temel{background:var(--l1)} .lv-orta{background:var(--l3)} .lv-ileri{background:var(--l6)}
.bar{height:6px; background:var(--surface-2); border-radius:99px; overflow:hidden; border:1px solid var(--line)}
.bar i{display:block; height:100%; background:var(--accent); border-radius:99px}
.input{width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--ink); font:inherit}
.sec-head{display:flex; align-items:end; justify-content:space-between; gap:12px; flex-wrap:wrap}

/* Ana sayfa */
.hero{display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:20px; align-items:stretch}
.hero-main{padding:28px; display:flex; flex-direction:column; gap:14px; position:relative; overflow:hidden}
.hero-main p{margin:0; max-width:56ch; color:var(--muted)}
.hero-main h1 em{font-style:normal; color:var(--accent-text)}
.stripe{position:absolute; right:-30px; top:22px; width:150px; height:54px; display:grid; grid-template-rows:1fr 1fr 1fr; transform:rotate(-8deg); opacity:.9}
.stripe i:nth-child(odd){background:var(--accent)} .stripe i:nth-child(2){background:var(--surface-2)}
.today{padding:22px; display:flex; flex-direction:column; gap:14px}
.kpis{display:grid; grid-template-columns:repeat(3,1fr); gap:10px}
.kpi{background:var(--surface-2); border-radius:8px; padding:12px}
.kpi b{display:block; font-family:var(--f-display); font-size:1.6rem; line-height:1.1; font-variant-numeric:tabular-nums}
.kpi span{font-size:.75rem; color:var(--muted)}
.continue{display:flex; gap:14px; align-items:center; padding:14px; border-radius:8px; border:1px dashed var(--line)}
.continue .grow b{display:block}
.chooser{padding:22px; display:flex; flex-direction:column; gap:14px; border:1px solid var(--line); border-radius:var(--r); background:var(--surface)}
.chooser .opts{display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px}
.chooser .opts button{display:flex; flex-direction:column; gap:4px; align-items:flex-start; text-align:left; padding:12px; border:1px solid var(--line); border-radius:8px; background:var(--surface-2)}
.chooser .opts button b{font-family:var(--f-display); font-size:1.02rem}
.chooser .opts button small{color:var(--muted); font-size:.76rem; line-height:1.35}
.chooser .opts button[aria-pressed="true"]{border-color:var(--accent-text); box-shadow:inset 0 -3px 0 var(--accent); background:var(--surface)}
.climb{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; align-items:end}
.stop{padding:18px; display:flex; flex-direction:column; gap:8px; cursor:pointer; text-align:left; border:1px solid var(--line); background:var(--surface); border-radius:var(--r)}
.stop:hover{border-color:var(--muted)}
.stop .code{font-family:var(--f-display); font-weight:800; font-size:1.8rem; line-height:1}
.stop small{color:var(--muted); font-size:.82rem; line-height:1.4}
.stop:nth-child(1){min-height:160px} .stop:nth-child(2){min-height:190px} .stop:nth-child(3){min-height:220px}
.stop .bar{margin-top:auto}
.paths{display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:14px}
.pcard{padding:18px; display:flex; flex-direction:column; gap:10px; text-align:left; cursor:pointer; border:1px solid var(--line); background:var(--surface); border-radius:var(--r)}
.pcard:hover{border-color:var(--muted)}
.ic{min-width:38px; height:38px; padding:0 8px; border-radius:8px; display:grid; place-items:center; color:#fff; box-shadow:inset 0 0 0 99px var(--ic-shade); font-family:var(--f-display); font-weight:800; font-size:.9rem}
.pcard p{margin:0; color:var(--muted); font-size:.9rem}
.pcard .foot{display:flex; justify-content:space-between; font-size:.8rem; color:var(--muted); margin-top:auto}

/* Listeler */
.lessons{display:flex; flex-direction:column}
.litem{display:grid; grid-template-columns:28px minmax(0,1fr) auto; gap:12px; align-items:center; padding:12px 14px; border:0; border-top:1px solid var(--line); background:none; text-align:left; width:100%}
.litem:first-child{border-top:0}
.litem:hover{background:var(--surface-2)}
.litem b{font-weight:600; display:block}
.litem small{color:var(--muted); display:block; font-size:.82rem; line-height:1.4}
.check{width:22px; height:22px; border-radius:50%; border:2px solid var(--line); display:grid; place-items:center}
.check.done{border:0; background:var(--ok); color:#fff}
.check.part{border-color:var(--ok)}
.check svg{width:13px; height:13px}
.lvl-block{display:flex; flex-direction:column; gap:10px}
.lvl-head{display:flex; gap:12px; align-items:center; flex-wrap:wrap}
.mod-head{padding:10px 14px 6px; font-size:.74rem; text-transform:uppercase; letter-spacing:.09em; font-weight:600; color:var(--muted); border-top:1px solid var(--line); background:var(--surface-2)}
.mod-head:first-child{border-top:0; border-radius:var(--r) var(--r) 0 0}
.filters{display:flex; gap:8px; flex-wrap:wrap}
.filters button{border:1px solid var(--line); background:var(--surface); padding:6px 12px; border-radius:99px; font-size:.84rem; font-weight:500; color:var(--muted)}
.filters button[aria-pressed="true"]{background:var(--ink); color:var(--bg); border-color:var(--ink)}

/* Ders */
.lhead{display:flex; flex-direction:column; gap:12px}
.crumbs{display:flex; gap:8px; align-items:center; flex-wrap:wrap; font-size:.85rem; color:var(--muted)}
.crumbs button{border:0; background:none; padding:0; color:var(--muted); text-decoration:underline; text-underline-offset:3px}
.steps{display:flex; gap:5px; flex-wrap:wrap}
.steps button{height:30px; min-width:30px; padding:0 9px; border-radius:6px; border:1px solid var(--line); background:var(--surface); font-size:.78rem; font-weight:600; color:var(--muted); font-family:var(--f-mono)}
.steps button[aria-current="true"]{border-color:var(--ink); color:var(--ink); box-shadow:inset 0 -3px 0 var(--accent)}
.steps button.done{background:var(--ok-soft); border-color:var(--ok); color:var(--ok)}
.theory{padding:28px clamp(18px,4vw,40px); max-width:900px}
.theory > *{max-width:76ch}
.theory h2{margin:30px 0 10px} .theory h2:first-child{margin-top:0}
.theory h3{margin:22px 0 8px}
.theory ul, .theory ol{padding-left:1.3em}
.theory table{border-collapse:collapse; font-size:.88rem; margin:12px 0}
.theory th, .theory td{border:1px solid var(--line); padding:6px 10px; text-align:left; vertical-align:top}
.theory th{background:var(--surface-2)}
.tbl-wrap{overflow-x:auto; max-width:100% !important}
.note,.tip,.warn{border-radius:8px; padding:12px 14px; margin:14px 0; font-size:.94rem; border:1px solid}
.note{background:var(--surface-2); border-color:var(--line)}
.tip{background:var(--ok-soft); border-color:color-mix(in srgb, var(--ok) 35%, transparent)}
.warn{background:var(--warn-soft); border-color:color-mix(in srgb, var(--warn) 35%, transparent)}
.note b:first-child,.tip b:first-child,.warn b:first-child{display:block; margin-bottom:2px}
.timeline{list-style:none; padding:0 !important; border-left:3px solid var(--accent); margin:14px 0 14px 6px}
.timeline li{padding:0 0 14px 18px; position:relative}
.timeline li::before{content:""; position:absolute; left:-8.5px; top:6px; width:14px; height:14px; border-radius:50%; background:var(--surface); border:3px solid var(--accent)}
.timeline b{font-family:var(--f-mono)}
.usedata{border:1px solid var(--line); border-radius:var(--r); background:var(--surface-2); padding:12px 14px; display:flex; flex-direction:column; gap:10px; max-width:100% !important}
.usedata .row{gap:8px}
.preview{overflow-x:auto; border:1px solid var(--line); border-radius:8px; background:var(--surface)}
.preview table{border-collapse:collapse; font-family:var(--f-mono); font-size:.78rem; width:max-content; min-width:100%; margin:0 !important}
.preview th{background:var(--surface-2); text-align:left; padding:5px 10px; border-bottom:1px solid var(--line); border-left:0; border-right:0; border-top:0; white-space:nowrap}
.preview td{padding:4px 10px; border:0; border-bottom:1px solid var(--line); white-space:nowrap}
.preview .cap{padding:6px 10px; font-family:var(--f-body); font-size:.76rem; color:var(--muted); border-bottom:1px solid var(--line)}

/* Kod kutusu */
.codebox{margin:14px 0; border-radius:8px; overflow:hidden; background:var(--code-bg); border:1px solid var(--code-line); max-width:100% !important}
.codebox pre{margin:0; padding:14px 16px; overflow-x:auto; color:var(--code-ink); font-family:var(--f-mono); font-size:.85rem; line-height:1.6}
.dtabs{display:flex; gap:2px; padding:6px 6px 0; background:var(--code-tab); overflow-x:auto; border-bottom:1px solid var(--code-line)}
.dtabs button{flex:none; border:0; background:transparent; color:var(--code-com); font-size:.74rem; font-weight:600; padding:6px 10px; border-radius:6px 6px 0 0; letter-spacing:.01em}
.dtabs button:hover:not(:disabled){color:var(--code-ink)}
.dtabs button[aria-pressed="true"]{background:var(--code-bg); color:#fff; box-shadow:inset 0 2px 0 var(--accent)}
.dtabs button:disabled{opacity:.35; cursor:not-allowed}
.dtabs .def{font-weight:400; opacity:.7; margin-left:4px}
.codebox .tools{display:flex; gap:6px; padding:6px 8px; border-top:1px solid var(--code-line); justify-content:flex-end; flex-wrap:wrap; align-items:center}
.codebox .tools .lbl{margin-right:auto; color:var(--code-com); font-size:.72rem; font-family:var(--f-mono)}
.codebox .tools button{background:transparent; border:1px solid var(--code-line); color:var(--code-ink); font-size:.76rem; padding:4px 10px; border-radius:6px; font-weight:600}
.codebox .tools button:hover{border-color:var(--code-com)}
.codebox .out{background:var(--surface); color:var(--ink); border-top:1px solid var(--code-line)}
.k{color:var(--code-kw); font-weight:600} .f{color:var(--code-fn)} .s{color:var(--code-str)} .n{color:var(--code-num)} .c{color:var(--code-com); font-style:italic} .v{color:var(--code-var)}

.ex-grid{display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:16px; align-items:start}
.brief{padding:22px; display:flex; flex-direction:column; gap:14px; min-width:0}
.brief .q{font-size:1.02rem}
.brief .q p{margin:0 0 8px}
.work{display:flex; flex-direction:column; gap:10px; min-width:0}
.ed-shell{border-radius:var(--r); overflow:hidden; background:var(--code-bg); border:1px solid var(--code-line)}
.ed-top{display:flex; align-items:center; justify-content:space-between; gap:8px; padding:6px 10px; border-bottom:1px solid var(--code-line); color:var(--code-com); font-size:.75rem; font-family:var(--f-mono); flex-wrap:wrap}
.ed-top select{background:#1C2735; color:var(--code-ink); border:1px solid var(--code-line); border-radius:6px; padding:3px 6px; font-family:var(--f-body); font-size:.8rem; font-weight:600}
.ed{position:relative; height:230px}
.ed textarea,.ed pre{position:absolute; inset:0; margin:0; padding:14px 16px; border:0; font-family:var(--f-mono); font-size:14px; line-height:1.6; white-space:pre; tab-size:2; overflow:auto; letter-spacing:0; word-spacing:0}
.ed pre{color:var(--code-ink); pointer-events:none; overflow:hidden}
.ed textarea{background:transparent; color:transparent; caret-color:#fff; resize:none; outline:none; -webkit-text-fill-color:transparent}
.ed textarea::selection{background:rgba(143,200,255,.28); -webkit-text-fill-color:transparent}
.ed-keys{display:none; gap:6px; padding:8px; overflow-x:auto; border-top:1px solid var(--code-line)}
.ed-keys button{flex:none; background:#1C2735; color:var(--code-ink); border:1px solid var(--code-line); border-radius:6px; padding:6px 10px; font-family:var(--f-mono); font-size:.78rem}
.ed-actions{display:flex; gap:8px; flex-wrap:wrap; align-items:center}
.result{overflow:hidden}
.result-meta{display:flex; justify-content:space-between; gap:10px; padding:8px 12px; font-size:.78rem; color:var(--muted); border-bottom:1px solid var(--line); flex-wrap:wrap}
.rtable{overflow:auto; max-height:340px}
.rtable table{border-collapse:collapse; font-size:.84rem; font-family:var(--f-mono); width:max-content; min-width:100%}
.rtable th{position:sticky; top:0; background:var(--surface-2); text-align:left; font-weight:600; padding:7px 12px; border-bottom:1px solid var(--line); white-space:nowrap}
.rtable td{padding:6px 12px; border-bottom:1px solid var(--line); white-space:nowrap; font-variant-numeric:tabular-nums; max-width:360px; overflow:hidden; text-overflow:ellipsis}
.rtable td.null{color:var(--muted); font-style:italic}
.rtable td.numc{text-align:right}
.rset + .rset{border-top:3px solid var(--surface-2)}
.msgs{padding:10px 12px; font-family:var(--f-mono); font-size:.8rem; border-top:1px solid var(--line); background:var(--surface-2); white-space:pre-wrap}
.msgs b{font-family:var(--f-body); display:block; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); margin-bottom:4px}
.emu{display:flex; flex-wrap:wrap; gap:8px; align-items:center; padding:7px 12px; font-size:.74rem; color:var(--muted); border-top:1px solid var(--line)}
.emu button{border:0; background:none; padding:0; color:var(--muted); text-decoration:underline; text-underline-offset:3px; font-size:.74rem}
.emu pre{width:100%; margin:4px 0 0; padding:8px 10px; background:var(--code-bg); color:var(--code-ink); border-radius:6px; overflow-x:auto; font-family:var(--f-mono); font-size:.76rem}
.empty{padding:22px; color:var(--muted); font-size:.9rem; text-align:center}
.msg{padding:12px 14px; border-radius:8px; font-size:.92rem; border:1px solid}
.msg.err{background:var(--err-soft); border-color:color-mix(in srgb, var(--err) 40%, transparent); color:var(--ink)}
.msg.ok{background:var(--ok-soft); border-color:color-mix(in srgb, var(--ok) 40%, transparent)}
.msg.info{background:var(--surface-2); border-color:var(--line)}
.msg b{display:block}
.msg .vend{font-family:var(--f-mono); font-size:.82rem; margin:4px 0; display:block; word-break:break-word}
.mc{display:flex; flex-direction:column; gap:8px}
.mc button{display:flex; gap:12px; align-items:flex-start; text-align:left; padding:12px 14px; border:1px solid var(--line); background:var(--surface); border-radius:8px; font-size:.95rem}
.mc button:hover{border-color:var(--muted)}
.mc button .key{font-family:var(--f-mono); font-weight:600; color:var(--muted); flex:none; width:18px}
.mc button.right{border-color:var(--ok); background:var(--ok-soft)}
.mc button.wrong{border-color:var(--err); background:var(--err-soft)}
.cmp{display:flex; flex-direction:column; gap:0}
.cmp .dtabs{border-radius:var(--r) var(--r) 0 0}
.cmp-body{border:1px solid var(--line); border-top:0; border-radius:0 0 var(--r) var(--r); background:var(--surface); overflow:hidden}
.cmp-body pre{margin:0; padding:12px 14px; background:var(--code-bg); color:var(--code-ink); font-family:var(--f-mono); font-size:.82rem; line-height:1.6; overflow-x:auto}

.schema{display:flex; flex-direction:column; gap:4px; font-size:.86rem}
.schema details{border:1px solid var(--line); border-radius:8px; background:var(--surface)}
.schema summary{padding:8px 12px; cursor:pointer; font-family:var(--f-mono); font-weight:600; display:flex; justify-content:space-between; gap:8px}
.schema summary span{font-family:var(--f-body); font-weight:400; color:var(--muted); font-size:.78rem}
.schema ul{list-style:none; margin:0; padding:2px 12px 10px; font-family:var(--f-mono); font-size:.8rem}
.schema li{display:flex; justify-content:space-between; gap:8px; padding:2px 0}
.schema li i{color:var(--muted); font-style:normal}
.schema p{margin:0 12px 8px; color:var(--muted); font-size:.8rem}
.pk{color:var(--accent-text); font-weight:600; font-size:.7rem}
.fk{color:var(--l3); font-weight:600; font-size:.7rem}

/* Veri seti */
.er{overflow-x:auto; padding:8px}
.er svg{display:block; width:100%; min-width:760px; height:auto}
.er .tbox rect{fill:var(--surface); stroke:var(--line); stroke-width:1.2}
.er .tbox .hd{fill:var(--surface-2)}
.er .tbox text{fill:var(--ink); font-family:var(--f-mono); font-size:11px}
.er .tbox text.t{font-weight:600; font-size:12px}
.er .tbox text.k{fill:var(--accent-text); font-size:9.5px; font-weight:600}
.er .tbox text.fk{fill:var(--l3); font-size:9.5px; font-weight:600}
.er .tbox{cursor:pointer}
.er .tbox.sel rect{stroke:var(--accent); stroke-width:2}
.er path{fill:none; stroke:var(--muted); stroke-width:1.3}
.er .dot2{fill:var(--muted)}
.dgrid{display:grid; grid-template-columns:minmax(0,1fr); gap:16px}
.coltable{overflow-x:auto}
.coltable table{border-collapse:collapse; font-size:.86rem; width:100%}
.coltable th,.coltable td{border-bottom:1px solid var(--line); padding:7px 10px; text-align:left; vertical-align:top}
.coltable th{background:var(--surface-2); font-size:.76rem; text-transform:uppercase; letter-spacing:.06em; color:var(--muted)}
.coltable td:first-child, .coltable td:nth-child(2){font-family:var(--f-mono); font-size:.82rem; white-space:nowrap}
.pager2{display:flex; gap:8px; align-items:center; justify-content:flex-end; padding:8px 12px; border-top:1px solid var(--line); font-size:.82rem; color:var(--muted)}

.finish{padding:30px; display:flex; flex-direction:column; gap:14px; align-items:flex-start}
.pager{display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap}
.pg{display:grid; grid-template-columns:280px minmax(0,1fr); gap:16px; align-items:start}
.gl{display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:12px}
.term{padding:14px 16px}
.term b{font-family:var(--f-mono); font-size:.92rem}
.term p{margin:4px 0 0; font-size:.9rem; color:var(--muted)}
.cheat{padding:18px; min-width:0}
.cheat h3{margin-bottom:8px}
.dtable{overflow-x:auto}
.dtable table{border-collapse:collapse; font-size:.84rem; width:max-content; min-width:100%}
.dtable th,.dtable td{border:1px solid var(--line); padding:7px 10px; text-align:left; vertical-align:top}
.dtable th{background:var(--surface-2)}
.dtable td code{white-space:nowrap}
.toast{position:fixed; left:50%; transform:translateX(-50%); bottom:calc(24px + env(safe-area-inset-bottom,0px)); background:var(--ink); color:var(--bg); padding:10px 18px; border-radius:99px; font-weight:600; font-size:.9rem; z-index:50; box-shadow:var(--shadow); max-width:calc(100vw - 32px); text-align:center}
.confirm{display:flex; gap:8px; align-items:center; flex-wrap:wrap}

@media (max-width: 1080px){ .chooser .opts{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width: 980px){
  .hero{grid-template-columns:1fr}
  .ex-grid{grid-template-columns:1fr}
  .pg{grid-template-columns:1fr}
  .pg > .panel{order:2}
  .stop:nth-child(n){min-height:0}
}
@media (max-width: 760px){
  .app{grid-template-columns:1fr}
  .side{display:none}
  .topbar{display:flex; position:sticky; top:env(safe-area-inset-top,0px); z-index:20; background:var(--surface); border-bottom:1px solid var(--line); padding-block:8px; padding-left:max(16px, env(safe-area-inset-left,0px)); padding-right:max(16px, env(safe-area-inset-right,0px)); align-items:center; justify-content:space-between; gap:10px}
  .topbar .mini{display:flex; gap:10px; align-items:center; font-size:.82rem; color:var(--muted); font-variant-numeric:tabular-nums}
  .topbar .mini b{color:var(--ink)}
  .topbar select{border:1px solid var(--line); background:var(--surface-2); border-radius:7px; padding:5px 6px; font-size:.8rem; font-weight:600; max-width:120px}
  main{padding-block:18px calc(90px + env(safe-area-inset-bottom,0px))}
  .tabbar{display:grid; grid-template-columns:repeat(5,1fr); position:fixed; left:0; right:0; bottom:0; z-index:20; background:var(--surface); border-top:1px solid var(--line); padding-bottom:env(safe-area-inset-bottom,0px); padding-left:env(safe-area-inset-left,0px); padding-right:env(safe-area-inset-right,0px)}
  .tabbar button{border:0; background:none; display:flex; flex-direction:column; align-items:center; gap:2px; padding:8px 2px 9px; font-size:.68rem; color:var(--muted); font-weight:500}
  .tabbar button[aria-current="true"]{color:var(--accent-text)}
  .tabbar svg{width:21px; height:21px}
  .ed-keys{display:flex}
  .ed{height:200px}
  .ed textarea,.ed pre{font-size:13.5px}
  .climb{grid-template-columns:1fr}
  .chooser .opts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-main{padding:22px}
  .theory{padding:20px 16px}
  .brief{padding:18px}
}
@media (prefers-reduced-motion: no-preference){
  .bar i{transition:width .5s ease}
  .toast{animation:pop .25s ease}
  @keyframes pop{from{opacity:0; transform:translate(-50%,8px)}}
}

/* ---------- Kesit Power BI eklemeleri ---------- */
.marker{display:flex; align-items:flex-end; gap:2px; padding:4px; grid-template-rows:none; border-color:var(--ink)}
.marker i{flex:1; border-radius:1.5px; background:var(--accent)!important}
.marker i:nth-child(1){height:40%} .marker i:nth-child(2){height:70%; background:var(--ink)!important} .marker i:nth-child(3){height:100%}
.bars-deco{position:absolute; right:22px; top:22px; display:flex; align-items:flex-end; gap:6px; height:64px; opacity:.95}
.bars-deco i{width:14px; border-radius:3px 3px 0 0; background:var(--accent)}
.bars-deco i:nth-child(1){height:30%} .bars-deco i:nth-child(2){height:55%; background:var(--ink)} .bars-deco i:nth-child(3){height:42%} .bars-deco i:nth-child(4){height:100%}
.hero-main h1{padding-right:90px}
.sibling{grid-column:1/-1; font-size:.8rem; color:var(--muted); text-decoration:none}
.sibling:hover{color:var(--accent-text)}
.chip.dx{background:var(--accent-soft); border-color:color-mix(in srgb, var(--accent) 50%, transparent); color:var(--accent-text)}
.dxdot{display:inline-block; width:5px; height:5px; border-radius:50%; background:var(--accent); margin-left:4px; vertical-align:middle}
.tools{display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:12px}
.tool{display:flex; flex-direction:column; gap:6px; align-items:flex-start; text-align:left; padding:16px; border:1px solid var(--line); border-radius:var(--r); background:var(--surface); color:var(--ink); text-decoration:none}
.tool:hover{border-color:var(--muted)}
.tool b{font-family:var(--f-display); font-size:1.02rem}
.tool small{color:var(--muted); font-size:.82rem; line-height:1.4}
.tic{width:34px; height:34px; border-radius:8px; display:grid; place-items:center; background:var(--accent-soft); color:var(--accent-text)}
.tic svg{width:19px; height:19px}
.ms{color:var(--code-var)}
.codebox{position:relative; margin:12px 0; max-width:100%}
.codebox pre, pre.m{margin:0; padding:14px 16px; background:var(--code-bg); color:var(--code-ink); border-radius:8px; font-family:var(--f-mono); font-size:.84rem; line-height:1.6; overflow-x:auto; border:1px solid var(--code-line)}
pre.m{margin:12px 0}
.codebox .try{position:absolute; right:8px; top:8px; border:1px solid var(--code-line); background:#26231B; color:var(--code-ink); border-radius:6px; padding:3px 9px; font-size:.74rem; font-weight:600}
.codebox .try:hover{border-color:var(--accent); color:var(--accent)}
.theory > .codebox{max-width:76ch}
.ed-top select{background:#26231B}
.ed-keys button{background:#26231B}
.ed textarea{caret-color:var(--accent)}
.rtable tr.bad td{background:var(--err-soft)}
.rtable tr.bad td:first-child{box-shadow:inset 3px 0 0 var(--err)}
.result + .result{margin-top:10px}
.mc-vis{display:grid; grid-template-columns:repeat(2,minmax(0,1fr))}
.mc-vis button{flex-direction:column; align-items:center; text-align:center}
.mc-vis .vthumb{width:96px}
.vthumb{width:80px; height:auto; flex:none}

/* Stüdyo */
.dtoggle{display:inline-flex; border:1px solid var(--line); border-radius:8px; overflow:hidden; background:var(--surface)}
.dtoggle button{border:0; background:none; padding:7px 14px; font-weight:600; font-size:.88rem; color:var(--muted)}
.dtoggle button[aria-pressed="true"]{background:var(--ink); color:var(--bg)}
.dtoggle.sm{width:100%} .dtoggle.sm button{flex:1; padding:6px 8px; font-size:.82rem}
.studio{display:grid; grid-template-columns:240px minmax(0,1fr); gap:16px; align-items:start}
.fields{padding:10px; display:flex; flex-direction:column; gap:8px; position:sticky; top:16px; max-height:calc(100vh - 32px); overflow:auto}
.fields > *{flex-shrink:0}
.fields details{border-bottom:1px solid var(--line)}
.fields summary{cursor:pointer; padding:7px 4px; font-weight:600; font-size:.86rem; display:flex; justify-content:space-between; gap:6px}
.fields summary span{color:var(--muted); font-weight:400; font-size:.76rem}
.fields ul{list-style:none; margin:0 0 6px; padding:0}
.fields li{display:flex}
.fields li button{flex:1; text-align:left; border:0; background:none; padding:4px 8px; border-radius:6px; font-family:var(--f-mono); font-size:.78rem; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.fields li button:hover{background:var(--surface-2)}
.fields li .x{flex:none; color:var(--muted); font-family:var(--f-body); padding:4px 6px}
.vset{display:flex; flex-wrap:wrap; gap:10px 16px; padding:12px 14px; align-items:end}
.vset label{display:flex; flex-direction:column; gap:4px; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; font-weight:600; color:var(--muted)}
.vset select{border:1px solid var(--line); background:var(--surface); border-radius:7px; padding:6px 8px; font-size:.86rem; text-transform:none; letter-spacing:0; color:var(--ink); max-width:200px}
.slrow{display:flex; flex-wrap:wrap; gap:6px; align-items:center}
.slrow .eyebrow{margin-right:4px}
.timing{font-size:.76rem; color:var(--muted); margin:2px 2px 6px; font-variant-numeric:tabular-nums}
.vbox{padding:14px 16px; display:flex; flex-direction:column; gap:10px; min-width:0}
.vtitle{font-family:var(--f-display); font-weight:700; font-size:1rem}
.vtot{display:flex; justify-content:space-between; border-top:1px solid var(--line); padding-top:8px; font-size:.86rem}
.vtot b{font-variant-numeric:tabular-nums}
.vdet summary, .daxshow summary{cursor:pointer; font-size:.82rem; color:var(--muted); font-weight:600}
.vdet[open] summary{margin-bottom:8px}
.daxshow{border-top:1px solid var(--line); padding-top:8px}
.daxshow[open]{display:flex; flex-direction:column; gap:8px}
.daxshow .codebox{margin:0}
.mcode{font-family:var(--f-mono); font-size:.76rem; white-space:pre-wrap; background:var(--code-bg); color:var(--code-ink); padding:4px 8px; border-radius:6px; display:block}

/* Grafikler */
svg.viz{display:block; width:100%; height:auto; overflow:visible}
.vt{fill:var(--muted); font-family:var(--f-body); font-size:11px}
.vax{font-size:10.5px; font-variant-numeric:tabular-nums}
.vcat{fill:var(--ink); font-size:11px}
.vlab{fill:var(--ink); font-size:10.5px; font-weight:600; font-variant-numeric:tabular-nums}
.vbig{fill:var(--ink); font-family:var(--f-display); font-size:22px; font-weight:800}
.vtm{fill:#fff; font-size:11.5px; font-weight:600}
.vtm2{fill:#fff; font-size:10.5px; opacity:.9}
.vgrid{stroke:var(--grid); stroke-width:1}
.vbase{stroke:var(--axis); stroke-width:1}
.vcross{stroke:var(--axis); stroke-width:1; stroke-dasharray:3 3; opacity:0}
.vcol:hover .vcross{opacity:1}
.vmark{cursor:default; outline:none}
.dtile[data-cross] .vmark{cursor:pointer}
g.vmark:hover rect:not([fill="transparent"]), g.vmark:hover path, path.vmark:hover, circle.vmark:hover{filter:brightness(1.08)}
g.vmark:focus-visible rect:not([fill="transparent"]), path.vmark:focus-visible, circle.vmark:focus-visible{stroke:var(--ink); stroke-width:2}
.vmark.dim{opacity:.32}
tr.vmark.dim td{opacity:.45}
tr.vmark.sel td{background:var(--accent-soft)}
.vlegend{display:flex; flex-wrap:wrap; gap:6px 14px; font-size:.8rem; color:var(--muted)}
.vlegend span{display:inline-flex; align-items:center; gap:6px}
.vlegend i{width:10px; height:10px; border-radius:2px; display:inline-block}
.vtip{position:fixed; z-index:60; background:var(--surface); color:var(--ink); border:1px solid var(--line); box-shadow:var(--shadow); border-radius:8px; padding:8px 10px; font-size:.8rem; pointer-events:none; min-width:140px; max-width:260px; display:flex; flex-direction:column; gap:2px}
.vtip b{font-weight:600; margin-bottom:2px}
.vtip span{display:flex; justify-content:space-between; gap:14px; font-variant-numeric:tabular-nums}
.vtip i{font-style:normal; color:var(--muted)}
.vcard{display:flex; flex-direction:column; gap:2px; padding:4px 2px}
.vcard b{font-family:var(--f-display); font-size:2rem; line-height:1.1; font-weight:800; font-variant-numeric:tabular-nums}
.vcard span{color:var(--muted); font-size:.82rem}
.pill{display:inline-flex; align-self:flex-start; gap:4px; align-items:center; font-style:normal; font-size:.78rem; font-weight:600; padding:2px 9px; border-radius:99px; margin-top:6px; background:var(--surface-2); color:var(--muted); font-variant-numeric:tabular-nums}
.pill small{font-weight:400; opacity:.85}
.pill.p-ok{background:var(--ok-soft); color:var(--ok)} .pill.p-warn{background:var(--warn-soft); color:var(--warn)} .pill.p-bad{background:var(--err-soft); color:var(--err)}
.vtable{overflow-x:auto}
.vtable table{border-collapse:collapse; width:100%; font-size:.84rem}
.vtable th{text-align:left; font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); padding:6px 8px; border-bottom:1px solid var(--line); white-space:nowrap}
.vtable td{padding:6px 8px; border-bottom:1px solid var(--line); white-space:nowrap}
.vtable .nc{text-align:right; font-variant-numeric:tabular-nums}
.vtable tr.tot td{font-weight:700; border-top:2px solid var(--ink); border-bottom:0}
.dtile[data-cross] tr.vmark{cursor:pointer}
.cfbar{display:inline-block; width:56px; height:8px; background:var(--surface-2); border-radius:2px; margin-right:8px; vertical-align:middle; overflow:hidden}
.cfbar i{display:block; height:100%; background:var(--s1); border-radius:0 2px 2px 0}
.cfi{font-size:.7rem; margin-right:6px} .cfi.ok{color:var(--ok)} .cfi.bad{color:var(--err)}
.slicer{display:flex; flex-direction:column; gap:5px}
.sl-opts{display:flex; flex-wrap:wrap; gap:4px}
.sl-opts button{border:1px solid var(--line); background:var(--surface); border-radius:6px; padding:4px 10px; font-size:.82rem; color:var(--ink)}
.sl-opts button[aria-pressed="true"]{background:var(--ink); color:var(--bg); border-color:var(--ink)}

/* Galeri */
.vis-layout{display:grid; grid-template-columns:300px minmax(0,1fr); gap:16px; align-items:start}
.vgal{display:flex; flex-direction:column; gap:6px; position:sticky; top:16px}
.vgal-row{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-bottom:6px}
.vgal button{display:flex; flex-direction:column; align-items:center; gap:4px; padding:8px 4px; border:1px solid var(--line); border-radius:8px; background:var(--surface); font-size:.72rem; color:var(--ink); line-height:1.2}
.vgal button .vthumb{width:100%; max-width:64px}
.vgal button[aria-pressed="true"]{border-color:var(--accent); box-shadow:inset 0 -3px 0 var(--accent)}
.vdetail{padding:20px; display:flex; flex-direction:column; gap:12px; min-width:0}
.vdetail .vthumb{width:90px}
.vwhen{display:grid; grid-template-columns:1fr 1fr; gap:10px}
.vwhen > div{margin:0}

/* Formüller */
.fgrid{display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:12px}
.fcard{padding:16px; display:flex; flex-direction:column; gap:8px; min-width:0}
.fcard p{margin:0; color:var(--muted); font-size:.9rem}
.syn{font-family:var(--f-mono); font-size:.8rem; background:var(--surface-2); border:1px solid var(--line); border-radius:6px; padding:6px 8px; display:block; overflow-x:auto; white-space:pre}
.fcard .codebox{margin:4px 0 0}
.fcard .codebox pre{padding:10px 12px; padding-right:110px; font-size:.78rem}

/* Dashboard */
.dtabs2{display:flex; gap:4px; flex-wrap:wrap; border-bottom:1px solid var(--line)}
.dtabs2 button{border:0; background:none; padding:9px 14px; font-weight:600; color:var(--muted); border-bottom:3px solid transparent; margin-bottom:-1px}
.dtabs2 button[aria-pressed="true"]{color:var(--ink); border-bottom-color:var(--accent)}
.dash-frame{background:var(--surface-2); border:1px solid var(--line); border-radius:var(--r); padding:16px; display:flex; flex-direction:column; gap:14px}
.dash-head{display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; align-items:flex-end}
.dash-head p{margin:4px 0 0; font-size:.9rem}
.dash-sl{display:flex; gap:18px; flex-wrap:wrap}
.dgrid2{display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:12px}
.dtile{background:var(--surface); border:1px solid var(--line); border-radius:8px; padding:14px 16px; display:flex; flex-direction:column; gap:10px; min-width:0}
.dt-head{display:flex; justify-content:space-between; gap:8px; align-items:baseline; flex-wrap:wrap}
.dt-head h3{font-family:var(--f-body); font-size:.86rem; font-weight:600}
.dt-head span{font-size:.75rem}
.dt-body{flex:1; min-width:0}
.s3{grid-column:span 3} .s4{grid-column:span 4} .s5{grid-column:span 5} .s6{grid-column:span 6} .s7{grid-column:span 7} .s8{grid-column:span 8} .s12{grid-column:span 12}
.crossbar{display:flex; gap:10px; align-items:center; justify-content:space-between; background:var(--accent-soft); border:1px solid color-mix(in srgb, var(--accent) 45%, transparent); border-radius:8px; padding:6px 6px 6px 12px; font-size:.86rem}
.dict dl{margin:0}
.dict dl div{display:grid; grid-template-columns:minmax(160px,260px) minmax(0,1fr); gap:12px; padding:10px 16px; border-top:1px solid var(--line)}
.dict dl div:first-child{border-top:0}
.dict dt{font-weight:600}
.dict dd{margin:0; color:var(--muted)}

@media (max-width: 1080px){ .s3{grid-column:span 6} .s4,.s5,.s7,.s8{grid-column:span 12} .s6{grid-column:span 12} }
@media (max-width: 980px){ .studio{grid-template-columns:1fr} .fields{position:static; max-height:300px; order:2} .vis-layout{grid-template-columns:1fr} .vgal{position:static} .vgal-row{grid-template-columns:repeat(4,minmax(0,1fr))} }
@media (max-width: 760px){
  .dgrid2{grid-template-columns:1fr} .dgrid2 > .dtile{grid-column:auto}
  .vwhen{grid-template-columns:1fr}
  .dict dl div{grid-template-columns:1fr; gap:2px}
  .bars-deco{height:44px; right:16px; top:16px} .bars-deco i{width:9px}
  .hero-main h1{padding-right:56px}
  .vgal-row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fgrid{grid-template-columns:1fr}
  .tabbar{grid-template-columns:repeat(5,1fr)}
  .mc-vis{grid-template-columns:1fr 1fr}
}

/* ===== Kesit Power BI v2: 6 seviye, rehberler, biçim bölmesi, dashboard çekmecesi, laboratuvar, püf noktaları, menüler, final ===== */
:root{ --lv1:#1F7F47; --lv2:#1E8A8A; --lv3:#3866D1; --lv4:#7A4FD0; --lv5:#B8418F; --lv6:#C2410C; --muted-mark:#C9C5BA }
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){ --lv1:#4CC27E; --lv2:#3CB8B8; --lv3:#6E93F0; --lv4:#A784F0; --lv5:#E06BB6; --lv6:#F07A45; --muted-mark:#4A473E }}
:root[data-theme="dark"]{ --lv1:#4CC27E; --lv2:#3CB8B8; --lv3:#6E93F0; --lv4:#A784F0; --lv5:#E06BB6; --lv6:#F07A45; --muted-mark:#4A473E }

/* Seviye rozetleri */
.lv{min-width:34px; flex-shrink:0}
.lv.lv1{background:var(--lv1)} .lv.lv2{background:var(--lv2)} .lv.lv3{background:var(--lv3)} .lv.lv4{background:var(--lv4)} .lv.lv5{background:var(--lv5)} .lv.lv6{background:var(--lv6)}

/* Menü grupları */
.navgrp{display:block; font-size:.66rem; text-transform:uppercase; letter-spacing:.1em; font-weight:700; color:var(--muted); padding:12px 10px 4px; opacity:.8}
.navgrp:first-child{padding-top:0}
.side{overflow-y:auto}

/* Sayfa başlığı ve rehber */
.phead{display:flex; flex-direction:column; gap:6px}
.phead p{margin:0; max-width:72ch}
.guide{background:var(--surface); border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:var(--r); padding:0}
.guide summary{cursor:pointer; list-style:none; display:flex; gap:10px; align-items:center; padding:11px 14px; font-weight:600; font-size:.92rem}
.guide summary::-webkit-details-marker{display:none}
.guide summary::after{content:"\25BE"; margin-left:auto; color:var(--muted); transition:transform .15s}
.guide:not([open]) summary::after{transform:rotate(-90deg)}
.guide .gi{display:inline-grid; place-items:center; width:20px; height:20px; border-radius:50%; background:var(--accent-soft); color:var(--accent-text); font-family:var(--f-display); font-weight:800; font-size:.8rem; font-style:italic}
.guide .gbody{padding:0 16px 14px 44px; font-size:.92rem}
.guide .gbody p{margin:0 0 8px; max-width:80ch}
.guide ul{margin:0; padding-left:18px; display:grid; gap:4px}
.guide li b{margin-right:4px}

/* Ana sayfa seviye haritası */
.climb6{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px}
.stop6{display:flex; flex-direction:column; gap:6px; align-items:flex-start; text-align:left; padding:14px; background:var(--surface); border:1px solid var(--line); border-top:4px solid var(--c, var(--lv1)); border-radius:var(--r); min-width:0}
.stop6:hover{border-color:var(--muted); border-top-color:var(--c)}
.stop6.lv1{--c:var(--lv1)} .stop6.lv2{--c:var(--lv2)} .stop6.lv3{--c:var(--lv3)} .stop6.lv4{--c:var(--lv4)} .stop6.lv5{--c:var(--lv5)} .stop6.lv6{--c:var(--lv6)}
.stop6 .code{font-family:var(--f-display); font-weight:800; font-size:1.4rem; color:var(--c)}
.stop6 small{color:var(--muted); font-size:.8rem; line-height:1.4}
.stop6 .daxlen{font-family:var(--f-mono); font-size:.7rem; color:var(--muted); background:var(--surface-2); border-radius:5px; padding:2px 6px}
.stop6 .bar{width:100%; margin-top:auto} .stop6 .bar i{background:var(--c)}
.cando{display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:16px; padding:14px 18px; margin-bottom:10px}
.cando ul{margin:6px 0 0; padding-left:0; list-style:none; display:grid; gap:4px; font-size:.9rem}
.cando li{padding-left:22px; position:relative}
.cando li::before{content:"\2713"; position:absolute; left:2px; color:var(--ok); font-weight:700}
.cando-side{display:flex; flex-direction:column; gap:6px; border-left:1px solid var(--line); padding-left:16px}
.cando-side b{font-family:var(--f-mono); font-size:.8rem; font-weight:500}
.explain{margin-top:8px; padding-top:8px; border-top:1px dashed color-mix(in srgb, var(--ok) 35%, transparent); font-size:.9rem}
.explain b{display:block; font-size:.72rem; text-transform:uppercase; letter-spacing:.07em; color:var(--muted)}

/* Model */
.er path.inactive{stroke-dasharray:5 4; opacity:.7}
.er .card1{fill:var(--muted); font-size:10px; font-family:var(--f-mono)}
.ptables{padding:14px 18px; display:flex; flex-direction:column; gap:8px}

/* Görsel kütüphanesi ek sınıfları */
.ref{stroke-width:1.4; fill:none}
.ref-avg{stroke:var(--s2); stroke-dasharray:5 4}
.ref-med{stroke:var(--s7); stroke-dasharray:2 3}
.ref-min{stroke:var(--axis); stroke-dasharray:1 3}
.ref-const{stroke:var(--ink); stroke-dasharray:6 3}
.ref-trend{stroke:var(--s2); stroke-width:1.6}
.ref-fc{stroke:var(--s1); stroke-dasharray:4 3}
.fband{fill:var(--s1); opacity:.13}
.vref{fill:var(--ink); font-size:10px; font-weight:600}
.vbreak{stroke:var(--err); stroke-width:1.5}
.vlabin{fill:#fff; font-size:10px; font-weight:600}
.vspark{display:inline-block; vertical-align:middle}
.kspark{margin-top:6px}
.vmap{fill:var(--surface-2); stroke:var(--line); stroke-width:1}
.dlink{fill:none; stroke:var(--line); stroke-width:1.4}
.dnode{cursor:pointer}
.dnode.sel rect{stroke:var(--accent); stroke-width:2}
.svgm{display:block; height:26px; width:auto}
.vcard.sm b{font-size:1.5rem}
.vkpi b{font-size:2rem}
.vlegend.top{margin-bottom:4px}
.vtable.banded tbody tr:nth-child(even):not(.tot) td{background:var(--surface-2)}
.vtable.compact td,.vtable.compact th{padding:4px 7px}
.cfi{display:inline-block; width:14px; font-size:.75rem; margin-right:3px}
.cfi.ok{color:var(--ok)} .cfi.bad{color:var(--err)}
.sl-dd{border:1px solid var(--line); background:var(--surface); border-radius:6px; padding:5px 8px; font-size:.84rem; min-width:150px; max-width:240px}
.sl-list{display:flex; flex-direction:column; gap:3px; font-size:.86rem; max-height:180px; overflow:auto; padding:4px 0}
.sl-list label{display:flex; gap:6px; align-items:center}
.vtip.wide{max-width:280px; min-width:240px}
.tpage{margin-top:8px; padding-top:8px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:6px}
.tpage-h{font-size:.7rem; text-transform:uppercase; letter-spacing:.07em; color:var(--muted); font-weight:600}
.tcards{display:grid; grid-template-columns:repeat(3,1fr); gap:6px}
.tcards div{background:var(--surface-2); border-radius:6px; padding:5px 6px; display:flex; flex-direction:column}
.tcards small{font-size:.66rem; color:var(--muted)} .tcards b{font-size:.84rem}
.tsl{font-size:.7rem; color:var(--muted)}
.heat{overflow-x:auto} .heat table{border-collapse:separate; border-spacing:2px; font-size:.74rem; width:100%}
.heat th{font-weight:600; color:var(--muted); font-size:.7rem; padding:2px 4px; text-align:center}
.heat td{text-align:center; padding:6px 2px; border-radius:3px; font-variant-numeric:tabular-nums; min-width:34px}
.coh{overflow-x:auto}
.narr{margin:0; font-size:.98rem; line-height:1.6; max-width:95ch}
.tsub{font-size:.86rem; color:var(--muted)}
.rlsbar{background:var(--accent-soft); border:1px solid color-mix(in srgb, var(--accent) 45%, transparent); border-radius:8px; padding:10px 12px; font-size:.9rem}
.rlsbar.off{background:var(--surface-2); border-color:var(--line)}
.empty{color:var(--muted); font-size:.9rem; padding:16px; text-align:center}
.hscroll{overflow-x:auto}

/* ===== Görseller: biçim bölmesi benzetimi ===== */
.vstrip{display:flex; gap:14px; overflow-x:auto; padding:4px 2px 10px; scroll-snap-type:x proximity; border-bottom:1px solid var(--line)}
.vsg{display:flex; flex-direction:column; gap:6px; flex:none}
.vsg-row{display:flex; gap:6px}
.vsg-row button{display:flex; flex-direction:column; align-items:center; gap:4px; width:84px; padding:6px 4px; border:1px solid var(--line); border-radius:8px; background:var(--surface); scroll-snap-align:start}
.vsg-row button span{font-size:.7rem; line-height:1.2; text-align:center; color:var(--muted)}
.vsg-row button .vthumb{width:56px; height:35px}
.vsg-row button[aria-pressed="true"]{border-color:var(--accent-text); background:var(--accent-soft); box-shadow:inset 0 0 0 1px var(--accent-text)}
.vsg-row button[aria-pressed="true"] span{color:var(--accent-text); font-weight:600}
.vsim{display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:14px; align-items:start}
.vcanvas{padding:16px 18px; display:flex; flex-direction:column; gap:12px; min-width:0}
.vc-head{display:flex; justify-content:space-between; align-items:center; gap:10px}
.vc-head .vthumb{width:64px; height:40px}
.vlast{border:1px solid color-mix(in srgb, var(--s1) 40%, transparent); background:color-mix(in srgb, var(--s1) 8%, var(--surface)); border-radius:8px; padding:10px 12px; font-size:.9rem}
.vlast p{margin:6px 0 0}
.vlast.idle{border-style:dashed; border-color:var(--line); background:none; color:var(--muted)}
.vframe{background:var(--surface); border-radius:8px; padding:12px; display:flex; flex-direction:column; gap:8px; border:1px solid transparent}
.vframe.bd{border-color:var(--ink)} .vframe.sh{box-shadow:0 6px 18px rgba(0,0,0,.14)} .vframe.nobg{background:repeating-conic-gradient(var(--surface-2) 0 25%, transparent 0 50%) 0 0/16px 16px}
.vtitle{font-weight:600; font-size:.92rem}
.vtitle.dyn{font-family:var(--f-display); font-size:1.05rem}
.vpane{position:sticky; top:12px; max-height:calc(100vh - 24px); display:flex; flex-direction:column; overflow:hidden}
.ptabs{display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid var(--line)}
.ptabs button{border:0; background:none; padding:10px 4px; font-weight:600; font-size:.84rem; color:var(--muted); border-bottom:2px solid transparent}
.ptabs button[aria-selected="true"]{color:var(--ink); border-bottom-color:var(--accent)}
.pbody{overflow-y:auto; padding:10px 14px; display:flex; flex-direction:column; gap:4px}
.pintro{font-size:.82rem; color:var(--muted); margin:0 0 6px}
.psec{border-top:1px solid var(--line)} .psec:first-of-type{border-top:0}
.psec summary{cursor:pointer; font-weight:600; font-size:.86rem; padding:8px 0}
.pitem{padding:6px 0 10px; border-bottom:1px dashed var(--line)}
.pitem:last-child{border-bottom:0}
.prow{display:flex; justify-content:space-between; align-items:center; gap:10px}
.pl{font-size:.86rem; font-weight:500}
.prow select{max-width:190px; border:1px solid var(--line); border-radius:6px; background:var(--surface); padding:4px 6px; font-size:.82rem}
.pdoes,.pwhen{margin:4px 0 0; font-size:.78rem; line-height:1.45}
.pwhen{color:var(--muted)}
.pdoes b,.pwhen b{font-weight:600}
.pfoot{border-top:1px solid var(--line); padding:6px 10px; display:flex; justify-content:flex-end}
.sw{width:38px; height:22px; border-radius:99px; border:1px solid var(--line); background:var(--surface-2); position:relative; flex:none; padding:0}
.sw i{position:absolute; top:2px; left:2px; width:16px; height:16px; border-radius:50%; background:var(--muted); transition:left .15s, background .15s}
.sw[aria-pressed="true"]{background:var(--accent); border-color:var(--accent-text)}
.sw[aria-pressed="true"] i{left:18px; background:#fff}
.smgrid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:10px}
.smgrid > div{display:flex; flex-direction:column; gap:4px; min-width:0}
.sl-demo{display:flex; flex-direction:column; gap:6px; margin-top:12px; padding-top:12px; border-top:1px dashed var(--line)}

/* ===== Dashboardlar ===== */
.dpick{display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:8px}
.dpick button{display:flex; align-items:center; gap:10px; text-align:left; border:1px solid var(--line); background:var(--surface); border-radius:var(--r); padding:9px 10px; min-width:0}
.dpick button:hover{border-color:var(--muted)}
.dpick button[aria-selected="true"]{border-color:var(--accent-text); background:var(--accent-soft)}
.dic{display:grid; place-items:center; width:34px; height:34px; flex:none; border-radius:8px; background:var(--ink); color:var(--bg); font-family:var(--f-display); font-weight:800; font-size:.78rem}
.dpn{display:flex; flex-direction:column; min-width:0; flex:1}
.dpn b{font-size:.88rem; font-weight:600}
.dpn small{font-size:.72rem; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.dash-card{padding:16px; display:flex; flex-direction:column; gap:14px}
.dq{margin:6px 0 2px; font-size:.95rem; max-width:80ch}
.dash-sl{display:flex; flex-wrap:wrap; gap:14px; align-items:flex-end}
.dgrid2.busy{opacity:.55; transition:opacity .2s; pointer-events:none}
.dtile.skel .dt-body{min-height:120px}
.skbar{height:12px; border-radius:6px; background:linear-gradient(90deg, var(--surface-2), var(--line), var(--surface-2)); background-size:200% 100%; animation:sk 1.2s linear infinite; margin:10px 0}
@keyframes sk{to{background-position:-200% 0}}
.dt-tools{display:inline-flex; gap:6px; align-items:center; flex-wrap:wrap}
.dt-head{align-items:center}
.insb{padding:3px 9px !important; font-size:.76rem !important; border:1px solid var(--line) !important}
.dtile.insp{outline:2px solid var(--accent); outline-offset:2px}
.chip.tp{background:color-mix(in srgb, var(--s7) 14%, transparent); color:var(--s7); border-color:transparent}
.drillb{display:inline-flex; border:1px solid var(--line); border-radius:6px; overflow:hidden}
.drillb button{border:0; background:var(--surface); padding:2px 7px; font-size:.82rem; line-height:1.4; color:var(--ink)}
.drillb button + button{border-left:1px solid var(--line)}
.drillb button:disabled{opacity:.35; cursor:default}
.drillb button[aria-pressed="true"]{background:var(--ink); color:var(--bg)}
.dcrumb{display:flex; flex-wrap:wrap; gap:4px; align-items:center; font-size:.74rem; color:var(--muted)}
.dcrumb span.on{color:var(--ink); font-weight:600}
.dcrumb i{font-style:normal; opacity:.6}
.dfoot{display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; font-size:.78rem}
.dtile .vbox, .dtile .dt-body{min-width:0}
.dt-body{overflow:hidden}
.drawer{position:fixed; top:0; right:0; bottom:0; width:min(440px, 100vw); background:var(--surface); border-left:1px solid var(--line); box-shadow:-12px 0 32px rgba(0,0,0,.14); z-index:50; display:flex; flex-direction:column}
.drawer[hidden]{display:none}
.dr-head{display:flex; justify-content:space-between; align-items:flex-start; gap:10px; padding:16px 18px; border-bottom:1px solid var(--line)}
.dr-body{overflow-y:auto; padding:14px 18px 24px; display:flex; flex-direction:column; gap:10px}
.dr-body h3{font-size:.9rem; margin-top:6px}
.drsteps{margin:0; padding-left:20px; display:grid; gap:4px; font-size:.9rem}
.wells{display:flex; flex-direction:column; gap:6px}
.well{display:grid; grid-template-columns:120px minmax(0,1fr); gap:8px; align-items:start; font-size:.84rem; background:var(--surface-2); border-radius:6px; padding:6px 8px}
.well span{color:var(--muted); font-weight:600; font-size:.76rem}
.well code{white-space:normal; word-break:break-word}
.fmtlist{margin:0; padding-left:18px; font-size:.88rem; display:grid; gap:3px}
.build{display:flex; flex-direction:column; gap:16px}
.bsec{display:flex; flex-direction:column; gap:8px}
.wire{display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:6px; background:var(--surface-2); border:1px dashed var(--line); border-radius:8px; padding:8px}
.wbox{background:var(--surface); border:1px solid var(--line); border-radius:6px; padding:8px; min-height:58px; display:flex; flex-direction:column; justify-content:space-between; gap:4px; min-width:0}
.wbox b{font-size:.78rem; font-weight:600; line-height:1.25}
.wbox small{font-size:.68rem; color:var(--muted)}
.wbox.s1,.wbox.s2,.wbox.s3{grid-column:span 3} .wbox.s4{grid-column:span 4} .wbox.s5{grid-column:span 5} .wbox.s6{grid-column:span 6} .wbox.s7{grid-column:span 7} .wbox.s8{grid-column:span 8} .wbox.s9{grid-column:span 9} .wbox.s12{grid-column:span 12}
.bsteps{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px}
.bsteps li{display:grid; grid-template-columns:34px minmax(0,1fr); gap:12px; background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:12px 14px}
.bsteps .bn{display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:var(--accent); color:var(--accent-ink); font-weight:800; font-family:var(--f-display)}
.bsteps p{margin:4px 0 0; font-size:.92rem}
.s1{grid-column:span 1} .s2{grid-column:span 2} .s9{grid-column:span 9} .s12{grid-column:span 12}
.kgrid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px}

/* ===== Ölçü Laboratuvarı ===== */
.lvlen{padding:0; overflow-x:auto}
.lvlen table{border-collapse:collapse; width:100%; font-size:.86rem}
.lvlen th{text-align:left; font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); padding:8px 12px; border-bottom:1px solid var(--line)}
.lvlen td{padding:7px 12px; border-bottom:1px solid var(--line)}
.lvlen tr:last-child td{border-bottom:0}
.labgrid{display:grid; grid-template-columns:270px minmax(0,1fr); gap:14px; align-items:start}
.lablist{position:sticky; top:12px; max-height:calc(100vh - 24px); overflow-y:auto; padding:10px; display:flex; flex-direction:column; gap:10px}
.lablist select{display:none}
.llg{display:flex; flex-direction:column; gap:2px}
.llg .eyebrow{padding:4px 6px}
.llg button{display:flex; align-items:center; gap:8px; border:0; background:none; text-align:left; padding:6px 8px; border-radius:6px; font-size:.86rem; color:var(--ink)}
.llg button span{flex:1; min-width:0}
.llg button small{font-family:var(--f-mono); font-size:.7rem; color:var(--muted)}
.llg button .seen{font-style:normal; color:var(--ok); font-size:.75rem}
.llg button:hover{background:var(--surface-2)}
.llg button[aria-current="true"]{background:var(--accent-soft); color:var(--accent-text); font-weight:600}
.labd{padding:18px 20px; display:flex; flex-direction:column; gap:12px; min-width:0}
.labd h3 small{font-weight:400; font-family:var(--f-body); font-size:.78rem}
.labcode{background:var(--code-bg); border-radius:var(--r); overflow:hidden}
.lc-head{display:flex; justify-content:space-between; align-items:center; padding:8px 12px; border-bottom:1px solid var(--code-line); color:var(--code-ink)}
.lc-head .btn{background:transparent; color:var(--code-ink); border-color:var(--code-line)}
pre.lc{margin:0; padding:10px 0; overflow-x:auto; color:var(--code-ink); font-family:var(--f-mono); font-size:.82rem; line-height:1.6}
pre.lc .ln{display:block; padding:0 14px 0 0; border-left:3px solid transparent; transition:background .12s}
pre.lc .ln em{display:inline-block; width:34px; text-align:right; padding-right:12px; color:var(--code-com); font-style:normal; user-select:none}
pre.lc .ln.on{background:color-mix(in srgb, var(--accent) 22%, transparent); border-left-color:var(--accent)}
pre.lc .k{color:var(--code-kw)} pre.lc .f{color:var(--code-fn)} pre.lc .s{color:var(--code-str)} pre.lc .n{color:var(--code-num)} pre.lc .c{color:var(--code-com)} pre.lc .v,pre.lc .ms{color:var(--code-var)}
.lsteps{margin:0; padding-left:22px; display:flex; flex-direction:column; gap:6px}
.lsteps li{padding:7px 10px; border-radius:8px; border:1px solid transparent; cursor:pointer; font-size:.92rem}
.lsteps li code{font-weight:600; margin-right:8px}
.lsteps li.on, .lsteps li:hover{background:var(--accent-soft); border-color:color-mix(in srgb, var(--accent) 40%, transparent)}
.labres{min-height:120px; display:flex; flex-direction:column; gap:8px}

/* ===== Püf noktaları ===== */
.tgrid{display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:12px; align-items:start}
.tcard{display:flex; flex-direction:column; overflow:hidden}
.tcard.open{grid-column:1/-1; border-color:var(--accent-text)}
.tc-head{display:flex; flex-direction:column; gap:6px; align-items:flex-start; text-align:left; border:0; background:none; padding:14px 16px}
.tc-head h3{font-size:1rem}
.tc-head p{margin:0; font-size:.88rem; color:var(--muted)}
.tc-more{font-size:.8rem; font-weight:600; color:var(--accent-text)}
.tc-body{border-top:1px solid var(--line); padding:14px 16px}
.tc-cols{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:18px}
.tc-cols h4{margin:0 0 6px; font-size:.86rem}
.tc-cols ol{margin:0 0 10px; padding-left:20px; display:grid; gap:5px; font-size:.9rem}
.tc-demo{min-width:0}
.demo{display:flex; flex-direction:column; gap:8px; background:var(--surface-2); border-radius:8px; padding:12px; min-width:0}
.dthru{display:flex; flex-direction:column; gap:10px}

/* ===== Menüler ===== */
.mgroups{display:flex; gap:6px; flex-wrap:wrap}
.mgroups button{border:1px solid var(--line); background:var(--surface); border-radius:99px; padding:6px 12px; font-size:.84rem; font-weight:600; color:var(--muted)}
.mgroups button[aria-selected="true"]{background:var(--ink); color:var(--bg); border-color:var(--ink)}
.ribbon{display:flex; gap:0; overflow-x:auto; border-bottom:2px solid var(--line); margin-top:8px}
.ribbon button{border:0; background:none; padding:9px 14px; font-size:.88rem; font-weight:500; white-space:nowrap; border-bottom:3px solid transparent; margin-bottom:-2px; color:var(--muted)}
.ribbon button small{margin-left:5px; font-size:.68rem; color:var(--muted)}
.ribbon button[aria-selected="true"]{color:var(--ink); font-weight:700; border-bottom-color:var(--accent)}
.mtab{padding:0; overflow:hidden; margin-top:10px}
.mtab-h{padding:14px 18px; border-bottom:1px solid var(--line); background:var(--surface-2)}
.mtab-h p{margin:4px 0 0; font-size:.9rem; color:var(--muted)}
.rgroup{display:flex; flex-wrap:wrap; gap:4px; padding:10px 18px; border-bottom:1px solid var(--line)}
.rmini{font-size:.72rem; border:1px solid var(--line); border-radius:4px; padding:2px 7px; background:var(--surface)}
.cmd{display:grid; grid-template-columns:230px minmax(0,1fr); gap:14px; padding:12px 18px; border-bottom:1px solid var(--line)}
.cmd:last-child{border-bottom:0}
.rbtn{display:inline-block; font-weight:600; font-size:.9rem; line-height:1.35}
.cmd-d p{margin:0 0 4px; font-size:.9rem}
.chip.fin{background:var(--accent-soft); color:var(--accent-text); border-color:transparent}

/* ===== Final ===== */
.stages{display:flex; flex-direction:column; gap:8px}
.stage{padding:0}
.stage summary{cursor:pointer; list-style:none; display:flex; align-items:center; gap:12px; padding:12px 16px}
.stage summary::-webkit-details-marker{display:none}
.sn{display:grid; place-items:center; width:32px; height:32px; flex:none; border-radius:50%; background:var(--ink); color:var(--bg); font-family:var(--f-display); font-weight:800}
.stage[open] .sn{background:var(--accent); color:var(--accent-ink)}
.st{display:flex; flex-direction:column; flex:1; min-width:0}
.st small{color:var(--muted); font-size:.78rem}
.stage-b{padding:0 16px 16px 60px; display:flex; flex-direction:column; gap:10px}
.stage-b > p{margin:0}
.tasks{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px}
.tasks label{display:grid; grid-template-columns:20px minmax(0,1fr); gap:8px; align-items:start; font-size:.92rem; cursor:pointer}
.tasks input{margin-top:4px; accent-color:var(--accent-text)}
.tasks input:checked + span{color:var(--muted); text-decoration:line-through; text-decoration-color:color-mix(in srgb, var(--muted) 50%, transparent)}
.cmdlist summary{cursor:pointer; font-size:.84rem; color:var(--muted); font-weight:600; margin-bottom:6px}
.finrep{padding:14px; display:flex; flex-direction:column; gap:10px}
.pagenav{display:flex; gap:0; border-bottom:2px solid var(--line); overflow-x:auto}
.pagenav button{border:0; background:none; padding:8px 16px; font-weight:600; font-size:.88rem; color:var(--muted); border-bottom:3px solid transparent; margin-bottom:-2px; white-space:nowrap}
.pagenav button[aria-selected="true"]{color:var(--ink); border-bottom-color:var(--accent)}
.cover{padding:6px 14px}
.cover details{border-bottom:1px solid var(--line); padding:8px 0}
.cover details:last-child{border-bottom:0}
.cover summary{cursor:pointer}
.rubric{padding:6px 16px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px}
.rubric div{display:grid; grid-template-columns:110px minmax(0,1fr); gap:10px; padding:9px 0; border-bottom:1px solid var(--line); font-size:.9rem}

/* ===== Duyarlı ===== */
@media (max-width: 1180px){ .climb6{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width: 1080px){
  .vsim{grid-template-columns:1fr} .vpane{position:static; max-height:none}
  .s9{grid-column:span 12}
}
@media (max-width: 980px){
  .labgrid{grid-template-columns:1fr} .lablist{position:static; max-height:none} .lablist select{display:block} .lablist .llg{display:none}
  .tc-cols{grid-template-columns:1fr}
  .cando{grid-template-columns:1fr} .cando-side{border-left:0; padding-left:0; border-top:1px solid var(--line); padding-top:10px}
  .rubric{grid-template-columns:1fr}
}
@media (max-width: 760px){
  .climb6{grid-template-columns:1fr}
  .cmd{grid-template-columns:1fr; gap:4px}
  .stage-b{padding-left:16px}
  .wire{grid-template-columns:repeat(6,minmax(0,1fr))} .wbox{grid-column:span 6 !important}
  .dpick{grid-template-columns:1fr 1fr}
  .dpn small{display:none}
  .kgrid{grid-template-columns:1fr}
  .drawer{top:auto; height:82vh; width:100vw; border-left:0; border-top:1px solid var(--line); border-radius:14px 14px 0 0; box-shadow:0 -12px 32px rgba(0,0,0,.18)}
  .well{grid-template-columns:1fr}
  .dash-sl{gap:10px}
  .tgrid{grid-template-columns:1fr}
  .guide .gbody{padding-left:16px}
}
@media (max-width: 420px){ .dpick{grid-template-columns:1fr} }
svg.viz text{pointer-events:none}
.stage-b .chip,.cover .chip{white-space:normal; max-width:100%; height:auto; line-height:1.35; padding-top:4px; padding-bottom:4px}
.stage-b,.stage-b *{min-width:0}
.stage-b .codebox,.stage-b pre{max-width:100%; overflow-x:auto}
/* Sonraki ders düğmesi uzun başlıkta taşmasın */
.pager .btn{white-space:normal; text-align:left; max-width:100%; line-height:1.35; min-width:0}
.pager{align-items:center}

/* ---------- Power Query Atölyesi ---------- */
.lnk{border:0; background:none; padding:0; color:var(--accent-text); font:inherit; text-decoration:underline; text-underline-offset:3px; cursor:pointer}
.dxdot.pq{background:var(--s7)}
.chip.pqc{background:color-mix(in srgb, var(--s7) 14%, var(--surface)); border-color:color-mix(in srgb, var(--s7) 45%, transparent); color:var(--ink)}
.pqwrap{padding:0; overflow:hidden; display:flex; flex-direction:column}
.pqrib{border-bottom:1px solid var(--line); background:var(--surface-2)}
.pqtabs{display:flex; gap:2px; align-items:center; padding:6px 10px 0; flex-wrap:wrap}
.pqtabs button{border:0; background:none; padding:6px 12px; font-weight:600; font-size:.86rem; color:var(--muted); border-bottom:3px solid transparent}
.pqtabs button[aria-selected="true"]{color:var(--ink); border-bottom-color:var(--s7)}
.pqmulti{margin-left:auto; font-size:.78rem; color:var(--muted); display:flex; gap:6px; align-items:center; padding:4px 0}
.pqbtns{display:flex; gap:0; overflow-x:auto; padding:8px 6px 4px; background:var(--surface)}
.pqgrp{display:flex; flex-direction:column; align-items:center; gap:4px; padding:0 8px; border-right:1px solid var(--line); flex:none}
.pqgrp:last-child{border-right:0}
.pqgrp > div{display:flex; gap:4px; flex-wrap:wrap; max-width:520px}
.pqgrp > span{font-size:.68rem; color:var(--muted); text-transform:uppercase; letter-spacing:.08em}
.pqgrp button{border:1px solid var(--line); background:var(--surface); border-radius:6px; padding:5px 9px; font-size:.8rem; color:var(--ink); white-space:nowrap}
.pqgrp button:hover{border-color:var(--muted)}
.pqgrp button.on{border-color:var(--s7); box-shadow:inset 0 -2px 0 var(--s7)}
.pqform{padding:10px 14px; border-bottom:1px solid var(--line); background:color-mix(in srgb, var(--s7) 7%, var(--surface))}
.pqform p{margin:2px 0 8px; font-size:.84rem; max-width:90ch}
.pqf{display:flex; flex-direction:column; gap:3px; font-size:.74rem; font-weight:600; color:var(--muted)}
.pqf select,.pqf .input{padding:6px 8px; font-size:.86rem; font-weight:400; color:var(--ink); border:1px solid var(--line); border-radius:7px; background:var(--surface)}
.pqfx{display:flex; gap:8px; align-items:center; padding:6px 10px; border-bottom:1px solid var(--line); font-family:var(--f-mono); font-size:.78rem; min-width:0}
.pqfx span{font-style:italic; color:var(--muted); font-weight:600; flex:none}
.pqfx code{overflow-x:auto; white-space:nowrap; display:block; min-width:0; padding-bottom:2px}
.pqmain{display:grid; grid-template-columns:minmax(0,1fr) 270px; min-height:300px}
.pqleft{min-width:0; padding:10px; display:flex; flex-direction:column; gap:6px}
.pqside{border-left:1px solid var(--line); background:var(--surface-2); padding:10px; display:flex; flex-direction:column; gap:10px; min-width:0}
.pqgrid{overflow:auto; max-height:460px; border:1px solid var(--line); border-radius:6px; background:var(--surface)}
.pqgrid table{border-collapse:collapse; font-size:.8rem; width:max-content; min-width:100%}
.pqgrid th{position:sticky; top:0; z-index:1; background:var(--surface-2); text-align:left; padding:6px 10px; border-bottom:1px solid var(--line); border-right:1px solid var(--line); white-space:nowrap; font-weight:600}
.pqgrid th[data-pqcol]{cursor:pointer}
.pqgrid th[data-pqcol]:hover{background:color-mix(in srgb, var(--s7) 10%, var(--surface-2))}
.pqgrid th.on{background:color-mix(in srgb, var(--s7) 22%, var(--surface-2)); box-shadow:inset 0 -2px 0 var(--s7)}
.pqgrid td{padding:4px 10px; border-bottom:1px solid var(--line); border-right:1px solid var(--line); white-space:pre; font-variant-numeric:tabular-nums}
.pqgrid td.on{background:color-mix(in srgb, var(--s7) 8%, transparent)}
.pqgrid td.nc{text-align:right}
.pqgrid .rn{color:var(--muted); font-size:.72rem; text-align:right; background:var(--surface-2); width:1%; padding:4px 6px}
.pqgrid tr.pqq td, .pqgrid tr.pqq th{position:sticky; top:31px; background:var(--surface); white-space:nowrap; padding:4px 10px 5px; font-weight:400}
.pqq small{display:block; font-size:.66rem; color:var(--muted); margin-top:2px}
.pqq small .e{color:var(--err)}
.qbar{display:flex; height:4px; border-radius:2px; overflow:hidden; background:var(--surface-2); min-width:80px}
.qbar i{display:block; height:100%} .qbar .ok{background:var(--ok)} .qbar .er{background:var(--err)} .qbar .em{background:var(--axis)}
.pqty{display:inline-block; font-family:var(--f-mono); font-size:.66rem; font-weight:700; padding:1px 4px; margin-right:6px; border-radius:3px; border:1px solid var(--line); background:var(--surface); color:var(--ink)}
.pqty.any{color:var(--warn); border-color:color-mix(in srgb, var(--warn) 45%, transparent)}
.pqty[data-pqtype]:hover{border-color:var(--s7)}
.pqerr{color:var(--err); font-weight:600; text-decoration:underline dotted; cursor:help}
.pqnull{color:var(--muted); font-style:italic}
.pqsp{color:var(--warn); background:var(--warn-soft); border-radius:2px}
.pqstatus{display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; font-size:.76rem; color:var(--muted)}
.pqfoot{font-size:.76rem; margin:0}
.pqsteps b,.pqadv summary{font-size:.8rem; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); font-weight:600}
.pqsteps ol{list-style:none; margin:6px 0 0; padding:0; display:flex; flex-direction:column; gap:2px; counter-reset:st}
.pqsteps li{display:flex; align-items:stretch; border-radius:6px}
.pqsteps li button:first-child{flex:1; text-align:left; border:0; background:none; padding:5px 8px; font-size:.8rem; color:var(--ink); border-radius:6px; min-width:0; overflow-wrap:anywhere}
.pqsteps li.on button:first-child{background:color-mix(in srgb, var(--s7) 18%, var(--surface)); font-weight:600}
.pqsteps li.bad button:first-child{color:var(--err); font-weight:600}
.pqsteps li.bad button:first-child::before{content:"⚠ "}
.pqsteps li.dead button:first-child{color:var(--muted); text-decoration:line-through}
.pqsteps .x{border:0; background:none; color:var(--muted); padding:0 8px; font-size:1rem; border-radius:6px}
.pqsteps .x:hover{color:var(--err); background:var(--err-soft)}
.pqadv summary{cursor:pointer}
.pqadv pre.m{font-size:.72rem; white-space:pre-wrap; word-break:break-word; max-height:340px; overflow:auto; margin:6px 0 0}
.pqexbar{display:flex; gap:8px; flex-wrap:wrap; padding:10px; border-top:1px solid var(--line)}
.pqwrap > .msg, .pqwrap > .note{margin:0 10px 10px}
.pqtarget summary{cursor:pointer; font-weight:600; font-size:.88rem}
.pqtarget[open] summary{margin-bottom:8px}
.pqbrief{max-width:none}
.pqsrcs{display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:8px}
.pqsrcs button{display:flex; flex-direction:column; gap:2px; align-items:flex-start; text-align:left; padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--ink)}
.pqsrcs button small{color:var(--muted); font-size:.76rem}
.pqsrcs button[aria-selected="true"]{border-color:var(--s7); box-shadow:inset 0 -3px 0 var(--s7)}
@media (max-width: 900px){ .pqmain{grid-template-columns:1fr} .pqside{border-left:0; border-top:1px solid var(--line)} .pqmulti{margin-left:0} }
/* İpucu kutusu: uzun fonksiyon/sütun adları dar ekranda kırılsın */
#hintBox .tip{overflow-wrap:anywhere; min-width:0}
#hintBox code{white-space:normal; overflow-wrap:anywhere}
#hintBox pre{max-width:100%; overflow-x:auto}

/* ---------- Alıştırma bankası, tekrar, profil ---------- */
.prstats{display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px}
.prstat{display:flex; flex-direction:column; gap:6px; align-items:flex-start; padding:10px 12px; text-align:left; cursor:pointer; color:var(--ink)}
.prstat b{font-family:var(--f-display); font-size:1.15rem; font-variant-numeric:tabular-nums}
.prstat .bar{width:100%}
.prstat.on{border-color:var(--accent-text); box-shadow:inset 0 -3px 0 var(--accent)}
.prfilters{display:flex; gap:8px; flex-wrap:wrap; align-items:center}
.prfilters .input{width:auto; flex:1 1 200px; max-width:320px}
.kpis4{grid-template-columns:repeat(4,minmax(0,1fr))}
.rcards{display:flex; flex-direction:column}
.rcard{display:flex; gap:12px; align-items:center; justify-content:space-between; padding:12px 14px; border-top:1px solid var(--line)}
.rcard:first-child{border-top:0}
.rcard small{color:var(--muted); font-size:.8rem}
.rcard .qt{display:block; font-size:.9rem; margin-top:2px; overflow-wrap:anywhere}
.pbox{padding:18px; display:flex; flex-direction:column; gap:10px}
.heat:has(> i){display:grid; grid-template-rows:repeat(7,12px); grid-auto-flow:column; grid-auto-columns:12px; gap:3px; overflow-x:auto; padding-bottom:4px}
.heat i{border-radius:2px; background:var(--surface-2); border:1px solid var(--line)}
.heat i.h1{background:color-mix(in srgb, var(--accent) 30%, var(--surface)); border-color:transparent}
.heat i.h2{background:color-mix(in srgb, var(--accent) 55%, var(--surface)); border-color:transparent}
.heat i.h3{background:color-mix(in srgb, var(--accent) 80%, var(--surface)); border-color:transparent}
.heat i.h4{background:var(--accent-text); border-color:transparent}
.heat i.fut{opacity:.35}
.litem.prof{grid-template-columns:auto minmax(0,1fr) 120px}
.litem.prof .bar{width:120px}
.badges{display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:8px}
.badge{display:flex; flex-direction:column; gap:3px; padding:12px; border:1px solid var(--line); border-radius:var(--r); background:var(--surface)}
.badge .bi{display:inline-grid; place-items:center; width:38px; height:38px; border-radius:50%; background:var(--accent); color:var(--accent-ink); font-family:var(--f-display); font-weight:800; font-size:.82rem; margin-bottom:4px}
.badge small{color:var(--muted); font-size:.78rem}
.badge.off{opacity:.55} .badge.off .bi{background:var(--surface-2); color:var(--muted); border:1px dashed var(--line)}
.replist{margin:0; padding-left:20px; font-size:.88rem; display:flex; flex-direction:column; gap:6px}
.rep{display:inline-flex; flex-direction:column; gap:6px; align-items:flex-end; min-width:0}
.repform{display:flex; gap:6px; align-items:flex-start; flex-wrap:wrap; justify-content:flex-end}
.repform textarea{min-width:220px; max-width:100%}
.repcopy{font-family:var(--f-mono); font-size:.8rem}
@media (max-width: 900px){ .prstats{grid-template-columns:repeat(3,minmax(0,1fr))} .kpis4{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width: 560px){ .litem.prof{grid-template-columns:auto minmax(0,1fr)} .litem.prof .bar{grid-column:1/-1; width:100%} .rcard{flex-direction:column; align-items:flex-start} }

/* ---------- Sınavlar ---------- */
.excard{padding:18px; display:flex; flex-direction:column; gap:10px}
.excard p{margin:0; font-size:.9rem}
.excard .btn{align-self:flex-start; margin-top:auto}
.exmeta{display:flex; gap:6px 14px; flex-wrap:wrap; font-size:.8rem; color:var(--muted)}
.clock{font-family:var(--f-mono); font-weight:600; font-size:1.1rem; padding:4px 10px; border:1px solid var(--line); border-radius:8px; background:var(--surface); font-variant-numeric:tabular-nums}
.clock.late{color:var(--err); border-color:var(--err)}
.exgrid{display:flex; flex-wrap:wrap; gap:5px}
.exgrid button{min-width:34px; height:32px; padding:0 8px; border:1px solid var(--line); border-radius:6px; background:var(--surface); font-family:var(--f-mono); font-size:.8rem; color:var(--muted)}
.exgrid button.ans{background:var(--accent-soft); border-color:color-mix(in srgb, var(--accent) 50%, transparent); color:var(--ink)}
.exgrid button.flag{box-shadow:inset 0 -3px 0 var(--warn)}
.exgrid button.cur{border-color:var(--ink); color:var(--ink); font-weight:700}
.mc button.picked{border-color:var(--accent-text); background:var(--accent-soft)}
.exrev{padding:16px; display:flex; flex-direction:column; gap:8px; margin-bottom:8px}
.exrev p{margin:0}
.exrev .codebox{margin:0}
.confirm{display:flex; gap:8px; align-items:center; flex-wrap:wrap}
/* DAX Arena */
.ar-rank{display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:18px; align-items:center; padding:20px}
.ar-rank h2{margin:2px 0 8px; font-size:1.35rem}
.ar-rank .bar{max-width:360px; margin-bottom:4px}
.ar-badge{width:56px; height:56px; border-radius:50%; display:grid; place-items:center; font-family:var(--f-display); font-size:1.5rem; font-weight:700; background:var(--accent-soft); color:var(--accent-text); border:2px solid var(--accent)}
.ar-nums{display:flex; gap:18px}
.ar-nums div{display:flex; flex-direction:column; align-items:flex-end}
.ar-nums b{font-family:var(--f-mono); font-size:1.2rem}
.ar-nums span{font-size:.75rem; color:var(--muted)}
.ar-daily{display:flex; justify-content:space-between; align-items:center; gap:14px; padding:16px 20px; border-left:4px solid var(--warn)}
.ar-daily h3{margin:2px 0}
.ar-modes .tool .chip{margin-top:auto}
.ar-modes .tool small{color:var(--muted); line-height:1.45}
.chip.df-kolay{background:var(--ok-soft); color:var(--ok); border-color:transparent}
.chip.df-orta{background:var(--warn-soft); color:var(--warn); border-color:transparent}
.chip.df-zor{background:var(--err-soft); color:var(--err); border-color:transparent}
.ar-sample{border:1px solid var(--line); border-radius:var(--r); background:var(--surface); padding:12px 14px; max-width:520px; overflow-x:auto}
.ar-sample table{border-collapse:collapse; width:100%; font-size:.86rem; margin-top:6px}
.ar-sample th,.ar-sample td{padding:4px 8px; border-bottom:1px solid var(--line); text-align:left}
.ar-sample .nc{text-align:right; font-family:var(--f-mono)}
.ar-sample tr.tot td{font-weight:700; border-bottom:0}
.sp-ok{font-family:var(--f-mono); color:var(--ok)}
.ctxchips{display:flex; flex-wrap:wrap; gap:6px}
.pz-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.pz-box{display:flex; flex-direction:column; gap:6px; padding:14px; min-width:0; min-height:120px}
.pz-ans{border-style:dashed}
.pz-piece{display:flex; gap:8px; align-items:center; text-align:left; padding:7px 10px; border:1px solid var(--line); border-radius:6px; background:var(--code-bg); color:var(--code-ink); cursor:pointer; min-width:0}
.pz-piece code{white-space:pre; overflow-x:auto; font-size:.82rem; min-width:0}
.pz-piece:hover{border-color:var(--accent)}
.pz-piece.on{border-color:color-mix(in srgb, var(--accent) 50%, transparent)}
.pz-piece em{font-style:normal; font-family:var(--f-mono); font-size:.72rem; color:var(--muted); min-width:16px}
.det-intro{padding:18px; display:flex; flex-direction:column; gap:10px}
.det-steps{display:flex; flex-wrap:wrap; gap:6px}
.det-steps span{font-size:.78rem; padding:3px 9px; border-radius:99px; border:1px solid var(--line); color:var(--muted)}
.det-steps span.ok{background:var(--ok-soft); color:var(--ok); border-color:transparent}
.det-steps span.cur{border-color:var(--ink); color:var(--ink); font-weight:600}
.det-clue{padding:14px 18px; border-left:4px solid var(--ok)}
.det-clue p{margin:6px 0 0}
.det-now{padding:4px 2px}
.tr-list{margin:0; padding-left:20px; display:flex; flex-direction:column; gap:6px; text-align:left}
@media (max-width: 700px){ .ar-rank{grid-template-columns:auto minmax(0,1fr)} .ar-nums{grid-column:1/-1; justify-content:space-between} .ar-nums div{align-items:flex-start} .pz-grid{grid-template-columns:1fr} .ar-daily{flex-direction:column; align-items:flex-start} }
/* Derinleş ve SSS */
.theory .deep{margin-top:28px; padding:18px 20px 6px; border:1px solid var(--line); border-left:4px solid var(--accent); border-radius:var(--r); background:var(--surface-2)}
.theory .deep > .eyebrow{display:block; margin-bottom:2px}
.theory .deep > h2{margin-top:0}
.theory details.faq{border:1px solid var(--line); border-radius:8px; margin:8px 0; background:var(--surface)}
.theory details.faq summary{cursor:pointer; padding:10px 14px; font-weight:600; list-style-position:inside}
.theory details.faq[open] summary{border-bottom:1px solid var(--line)}
.theory details.faq p{margin:0; padding:10px 14px 12px}
@media (max-width: 560px){ .theory .deep{padding:14px 14px 4px} }
/* Sınav: yeni soru tipleri, vaka, kapsam haritası, rehber */
.chip.qt{background:var(--surface-2)}
.exhint{margin:4px 0 0; font-size:.86rem; color:var(--muted)}
.mc.multi .key.box{border-radius:4px}
.mc button.wrong{border-color:var(--err); background:var(--err-soft)}
.yn{width:100%; border-collapse:collapse; font-size:.92rem}
.yn th,.yn td{padding:8px 10px; border-bottom:1px solid var(--line); text-align:left; vertical-align:middle}
.yn th:nth-child(n+2),.yn td:nth-child(n+2){text-align:center; width:70px}
.yn tr.ok td:first-child{box-shadow:inset 3px 0 0 var(--ok)}
.yn tr.bad td:first-child{box-shadow:inset 3px 0 0 var(--err)}
.ynb{width:34px; height:34px; border-radius:50%; border:1px solid var(--line); background:var(--surface); color:var(--ink); font-size:1rem; cursor:pointer}
.ynb.on{border-color:var(--accent); color:var(--accent-text); background:var(--accent-soft)}
.ord-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.ord-it{display:flex; gap:8px; align-items:flex-start; text-align:left; padding:8px 10px; border:1px solid var(--line); border-radius:6px; background:var(--surface); color:var(--ink); font-size:.9rem; line-height:1.4; min-width:0}
button.ord-it{cursor:pointer}
button.ord-it:hover{border-color:var(--accent)}
.ord-it em{font-style:normal; font-family:var(--f-mono); font-size:.75rem; color:var(--muted); min-width:16px}
.ord-it.ok{box-shadow:inset 3px 0 0 var(--ok)} .ord-it.bad{box-shadow:inset 3px 0 0 var(--err)}
.hot-code{background:var(--code-bg); color:var(--code-ink); padding:14px 16px; border-radius:var(--r); font-family:var(--f-mono); font-size:.86rem; line-height:2; white-space:pre-wrap; overflow-x:auto; margin:6px 0 0}
.hot-code select{font:inherit; font-size:.82rem; background:#fff8dc; color:#1b1a16; border:1px solid #e0b400; border-radius:4px; padding:1px 4px; max-width:100%}
.hot-v{padding:1px 6px; border-radius:4px; font-weight:600}
.hot-v.ok{background:rgba(63,174,90,.25)} .hot-v.bad{background:rgba(214,69,69,.3)}
.exgrid button.case{border-style:dashed}
.exgrid button:disabled{opacity:.35; cursor:not-allowed}
.case-box{padding:16px 18px; display:flex; flex-direction:column; gap:8px; border-left:4px solid var(--s3, var(--accent))}
.case-box h3{margin:0}
.case-txt{max-height:300px; overflow:auto; font-size:.92rem; line-height:1.55}
.case-txt p{margin:0 0 6px} .case-txt ul{margin:0 0 6px; padding-left:20px}
.cov-sum{display:flex; flex-wrap:wrap; gap:8px 18px; padding:12px 16px; font-size:.88rem; align-items:center}
.cov-sum a{margin-left:auto; color:var(--accent-text)}
.cov-dom{padding:14px 16px; display:flex; flex-direction:column; gap:8px}
.cov-head{display:flex; flex-wrap:wrap; gap:8px; align-items:center}
.cov-head > div{display:flex; flex-direction:column; margin-right:auto; min-width:0}
.cov-head small{color:var(--muted); font-size:.78rem}
.cov-t{width:100%; border-collapse:collapse; font-size:.88rem}
.cov-t td{padding:6px 6px; border-bottom:1px solid var(--line); vertical-align:middle}
.cov-t td:first-child span{display:block} .cov-t td:first-child small{color:var(--muted); font-size:.74rem}
.cov-t .nc{text-align:right; white-space:nowrap; width:1%}
.cov-g td{font-weight:700; font-size:.78rem; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); padding-top:12px}
.guide-list{padding:6px 16px}
.guide-list details{border-bottom:1px solid var(--line); padding:8px 0}
.guide-list details:last-child{border-bottom:0}
.guide-list summary{cursor:pointer; font-weight:600}
.guide-list p{margin:6px 0 2px; color:var(--ink); line-height:1.55}
.term-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:14px; margin-top:14px}
.term-card{padding:18px; display:flex; flex-direction:column; gap:10px; align-items:flex-start; min-height:200px}
.term-tr{font-family:var(--f-display); font-size:1.35rem}
.term-en{font-family:var(--f-mono); font-size:1.1rem; color:var(--accent-text)}
.term-list{padding:12px; display:flex; flex-direction:column; gap:8px}
.term-rows{max-height:260px; overflow:auto; font-size:.86rem}
.term-rows div{display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:5px 4px; border-bottom:1px solid var(--line)}
.term-rows b{font-family:var(--f-mono); font-weight:500; font-size:.82rem}
/* Karıştırılanlar ve hatalar */
.kc-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:12px}
.kc-card{display:flex; flex-direction:column; gap:8px; align-items:flex-start; text-align:left; padding:16px; color:var(--ink); cursor:pointer}
.kc-card:hover{border-color:var(--muted)}
.kc-card b{font-family:var(--f-display); font-size:1.02rem}
.kc-card small{color:var(--muted); line-height:1.45}
.chip.ok{background:var(--ok-soft); color:var(--ok); border-color:transparent}
.kc-items{padding:6px 16px}
.kc-items > div{display:grid; grid-template-columns:minmax(120px,auto) 1fr; gap:14px; padding:9px 0; border-bottom:1px solid var(--line); align-items:baseline}
.kc-items > div:last-child{border-bottom:0}
.kc-n{font-weight:700; white-space:nowrap}
.kc-body{padding:14px 18px}
.kc-demo{display:flex; flex-direction:column; gap:8px}
.kc-demo .rtable{border:1px solid var(--line); border-radius:var(--r); background:var(--surface); overflow-x:auto}
.kc-demo table{border-collapse:collapse; width:100%; font-size:.86rem}
.kc-demo th,.kc-demo td{padding:6px 10px; border-bottom:1px solid var(--line); text-align:left; white-space:nowrap}
.kc-demo .numc{text-align:right; font-family:var(--f-mono)}
.kc-demo tr.tot td{font-weight:700}
.kc-exprs{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:8px}
.kc-exprs b{font-size:.82rem}
.kc-exprs pre{margin:4px 0 0}
.mt-list{padding:4px 0}
.mt-row{border-bottom:1px solid var(--line)}
.mt-row:last-child{border-bottom:0}
.mt-row summary{cursor:pointer; padding:12px 16px; display:flex; gap:10px; align-items:center; flex-wrap:wrap; list-style:none}
.mt-row summary::-webkit-details-marker{display:none}
.mt-row summary b{flex:1; min-width:200px; font-weight:600}
.mt-row[open] summary{background:var(--surface-2)}
.mt-body{padding:4px 16px 14px; display:flex; flex-direction:column; gap:6px}
.mt-body p{margin:0; line-height:1.55}
.litem.weak .weak-rel{display:flex; flex-wrap:wrap; gap:4px; margin-top:4px}
.litem.weak .weak-rel .chip{cursor:pointer}
/* Mülakat */
.iv-tabs{margin-top:-4px}
.iv-list{display:flex; flex-direction:column; gap:10px}
.iv-q{padding:14px 16px; display:flex; flex-direction:column; gap:8px; align-items:flex-start}
.iv-qt{font-size:1.02rem; line-height:1.45}
.iv-ans{display:flex; flex-direction:column; gap:10px; width:100%}
.iv-weak{border-left:3px solid var(--err); padding:4px 12px; background:var(--err-soft); border-radius:0 6px 6px 0}
.iv-strong{border-left:3px solid var(--ok); padding:4px 12px; background:var(--ok-soft); border-radius:0 6px 6px 0}
.iv-weak p,.iv-strong p{margin:4px 0} .iv-strong ul{margin:4px 0; padding-left:18px}
.iv-rand .iv-q{border:2px solid var(--accent)}
.star{padding:0}
.star summary{cursor:pointer; padding:14px 16px; display:flex; flex-direction:column; gap:2px}
.star summary small{color:var(--muted); font-weight:400}
.star-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:0 16px 12px}
.star-grid p{margin:4px 0 0; line-height:1.5}
.star .note{margin:0 16px 14px !important}
.th-brief{padding:18px; display:flex; flex-direction:column; gap:6px}
.th-brief h3{margin:0} .th-brief p{margin:0 0 4px; line-height:1.55} .th-brief ol{margin:4px 0 6px; padding-left:20px; line-height:1.6}
.th-pit{padding:12px 16px 12px 34px; margin:0; line-height:1.6}
.th-sol{padding:0}
.th-sol summary{cursor:pointer; padding:14px 16px}
.th-sol .coltable{padding:0 16px} .th-sol pre{margin:6px 0 0; font-size:.8rem}
.th-story{padding:10px 16px 16px} .th-story p{margin:0 0 6px}
.cr-wrap{display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:14px; align-items:start}
.cr-board{background:#f4f4f4; color:#333; border:1px solid var(--line); border-radius:var(--r); padding:12px; display:flex; flex-direction:column; gap:10px; font-family:Arial, sans-serif}
.cr-top{display:flex; justify-content:space-between; align-items:center; gap:8px; flex-wrap:wrap}
.cr-top h3{margin:0; font-family:Georgia, serif; font-size:1.15rem}
.cr-filter{font-size:.68rem; color:#999}
.cr-row{display:grid; grid-template-columns:1fr 1fr; gap:10px}
.cr-spot{position:relative; display:block; width:100%; text-align:left; background:#fff; border:2px solid transparent; border-radius:4px; padding:8px; cursor:crosshair; color:inherit; font:inherit; min-width:0; overflow:hidden}
.cr-top .cr-spot{background:transparent; width:auto; padding:2px 6px}
.cr-spot:hover{border-color:#e0b400}
.cr-spot.found{border-color:#d64545; border-style:dashed}
.cr-spot em{position:absolute; top:2px; right:4px; background:#d64545; color:#fff; font-style:normal; font-size:.7rem; font-weight:700; border-radius:99px; min-width:18px; height:18px; display:grid; place-items:center; padding:0 4px; z-index:1}
.cr-spot.inner{padding:2px 6px; margin-bottom:4px}
.cr-kpi{display:flex; flex-direction:column; gap:2px}
.cr-kpi b{font-size:1.5rem; font-weight:400; word-break:break-all}
.cr-kpi span{font-size:.7rem; color:#888}
.cr-kpi.sm b{font-size:1.15rem}
.cr-tile{display:flex; flex-direction:column; gap:4px; align-items:center; overflow:hidden}
.cr-tile small{align-self:flex-start; font-size:.72rem; color:#666}
.cr-tile svg{max-width:100%; height:auto}
.cr-row:last-child{grid-template-columns:1.3fr 1fr}
.cr-tile.wide{align-items:stretch; background:#fff; border-radius:4px; padding:6px}
.cr-hb{display:grid; grid-template-columns:80px 1fr; gap:6px; align-items:center; font-size:.7rem; margin:2px 0}
.cr-hb i{display:block; height:10px; background:#5B7DB1}
.cr-st{color:#fff; font-size:.72rem; padding:3px 6px; margin:2px 0; border-radius:2px; width:100%}
.cr-found{padding:14px 16px; display:flex; flex-direction:column; gap:10px; align-items:flex-start}
.cr-item p{margin:4px 0 0; font-size:.88rem; line-height:1.5}
@media (max-width: 760px){ .ord-grid,.term-grid,.cr-wrap,.star-grid{grid-template-columns:1fr} .kc-items > div{grid-template-columns:1fr; gap:2px} .yn th:nth-child(n+2),.yn td:nth-child(n+2){width:48px} }
@media (max-width: 420px){ .cr-row,.cr-row:last-child{grid-template-columns:1fr} }
.brief .q code,.mc button code,.exrev code,.yn code,.ord-it code,.case-txt code{white-space:normal; overflow-wrap:anywhere; word-break:break-word}
.mc button > span:last-child{min-width:0; overflow-wrap:anywhere}
.kc-exprs{grid-template-columns:1fr}
.kc-exprs pre{white-space:pre-wrap; overflow-wrap:anywhere; padding-right:110px}
@media (max-width: 560px){ .kc-exprs pre{padding-right:14px; padding-top:34px} }
.sec-strip{display:flex; flex-wrap:wrap; gap:6px}
.sec-strip span{font-size:.78rem; padding:4px 10px; border-radius:99px; border:1px solid var(--line); color:var(--muted)}
.sec-strip span.cur{border-color:var(--ink); color:var(--ink); font-weight:600}
.sec-strip span.done{background:var(--surface-2); text-decoration:line-through}
.ser-sol{border-left:4px solid var(--accent); background:var(--surface-2); padding:10px 14px; border-radius:0 8px 8px 0; margin:8px 0}
.ser-sol p{margin:4px 0 0; line-height:1.55}
.ser-yn{display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-top:6px}
.ser-yn .btn{min-width:90px}
.ser-yn .btn.right{border-color:var(--ok); background:var(--ok-soft); color:var(--ok)}
.ser-yn .btn.wrong{border-color:var(--err); background:var(--err-soft); color:var(--err)}
.kc-demo{min-width:0; max-width:100%}
.kc-demo .rtable{max-width:100%; overflow-x:auto}
.mt-body code,.kc-body code,.kc-items code,.note code,.msg code,.iv-q code,.star code,.th-brief code,.cr-item code{white-space:normal; overflow-wrap:anywhere}
.wrap > .row > .btn,.wrap > .row > a.btn{max-width:100%; white-space:normal; text-align:left; height:auto; min-height:36px}
.lhead h1{overflow-wrap:anywhere}
/* Arayüz benzetimi */
.ui-sim{border:1px solid #c8c6c4; border-radius:8px; overflow:hidden; background:#f3f2f1; color:#252423; font-family:"Segoe UI",system-ui,sans-serif; margin-top:8px}
.ui-title{background:#e1dfdd; padding:6px 10px; font-size:.78rem; display:flex; gap:10px; align-items:center}
.ui-dots{display:flex; gap:4px} .ui-dots i{width:9px; height:9px; border-radius:50%; background:#a19f9d; display:block}
.ui-tabs{display:flex; flex-wrap:wrap; gap:0; background:#faf9f8; border-bottom:1px solid #c8c6c4; padding:0 6px}
.ui-tabs button{border:0; background:none; padding:7px 10px 5px; font:inherit; font-size:.8rem; color:#323130; cursor:pointer; border-bottom:3px solid transparent; display:flex; flex-direction:column; align-items:flex-start; line-height:1.15}
.ui-tabs button small{font-size:.62rem; color:#8a8886}
.ui-tabs button.ctx{background:#fff4ce}
.ui-tabs button.on{border-bottom-color:#c19c00; font-weight:600}
.ui-btns{display:flex; flex-wrap:wrap; gap:6px; padding:10px; background:#fff; min-height:70px}
.ui-btns button{border:1px solid #edebe9; background:#fff; border-radius:4px; padding:6px 9px; font:inherit; font-size:.8rem; color:#252423; cursor:pointer; display:flex; flex-direction:column; align-items:flex-start; line-height:1.2; text-align:left; max-width:100%}
.ui-btns button small{font-size:.66rem; color:#8a8886}
.ui-btns button:hover{background:#f3f2f1; border-color:#c8c6c4}
.ui-btns button.picked{border-color:#c19c00; background:#fff4ce}
.ui-btns button.right{border-color:#107c10; background:#dff6dd}
.ui-btns button.wrong{border-color:#a4262c; background:#fde7e9}
.ui-foot{font-size:.7rem; color:#605e5c; padding:6px 10px; border-top:1px solid #edebe9; background:#faf9f8}
.theory pre{max-width:100%; overflow-x:auto}
/* ---------- Kariyer katmanı: hedef, yol haritası, proje, işe hazırlık, sertifika ---------- */
button.navgrp{display:flex; align-items:center; justify-content:space-between; width:100%; background:none; border:0; cursor:pointer; text-align:left; font-family:inherit}
button.navgrp svg{width:12px; height:12px; transition:transform .15s; opacity:.7}
button.navgrp[aria-expanded="true"] svg{transform:rotate(90deg)}
button.navgrp:hover{color:var(--ink)}
.btn{white-space:normal; text-align:center}
.codebox:has(> .try) > pre{padding-top:40px}
.ring .ring-bg{fill:none; stroke:var(--surface-2); stroke-width:8}
.ring .ring-fg{fill:none; stroke:var(--pc, var(--accent)); stroke-width:8; stroke-linecap:round; transition:stroke-dashoffset .5s}
.ring text{font-family:var(--f-display); font-weight:800; font-size:1.05rem; fill:var(--ink)}
.goalcta{display:flex; gap:18px; align-items:center; justify-content:space-between; flex-wrap:wrap; border-left:4px solid var(--accent); background:linear-gradient(100deg, var(--accent-soft), var(--surface) 55%)}
.goalcta h2{margin:2px 0 6px; font-size:1.35rem} .goalcta p{margin:0; color:var(--muted); max-width:62ch}
.goalpanel{display:flex; flex-direction:column; gap:16px; border-top:4px solid var(--accent)}
.gp-top{display:flex; gap:18px; align-items:center; flex-wrap:wrap}
.gp-top h2{margin:2px 0 4px; font-size:1.45rem} .gp-top p{margin:0}
.gp-act{display:flex; flex-direction:column; gap:8px; align-items:stretch; max-width:340px}
.gp-foot{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px}
.gp-link{display:flex; justify-content:space-between; align-items:center; gap:8px; padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:var(--surface-2); cursor:pointer; font:inherit; color:var(--ink)}
.gp-link span{display:inline-flex; gap:8px; align-items:center; font-size:.88rem} .gp-link svg{width:16px; height:16px; color:var(--accent-text)}
.gp-link:hover{border-color:var(--accent)}
.msstrip{list-style:none; margin:0; padding:0; display:flex; gap:0; overflow-x:auto; counter-reset:ms}
.msstrip li{flex:1 1 0; min-width:120px; display:flex; flex-direction:column; align-items:flex-start; gap:6px; position:relative; padding:0 10px 0 0}
.msstrip li::before{content:""; position:absolute; top:13px; left:28px; right:0; height:2px; background:var(--line)}
.msstrip li.done::before{background:var(--ok)}
.msstrip li:last-child::before{display:none}
.msstrip .dot{position:relative; z-index:1; width:28px; height:28px; border-radius:50%; display:grid; place-items:center; background:var(--surface-2); border:2px solid var(--line); font-weight:700; font-size:.8rem; color:var(--muted)}
.msstrip .dot svg{width:14px; height:14px}
.msstrip li.done .dot{background:var(--ok); border-color:var(--ok); color:#fff}
.msstrip li.cur .dot{border-color:var(--accent); background:var(--accent); color:var(--accent-ink)}
.msstrip .mt{display:flex; flex-direction:column; font-size:.84rem; line-height:1.3} .msstrip .mt small{color:var(--muted)}
.msstrip.compact .mt b{font-weight:600; font-size:.8rem}
.msstrip li.cur .mt b{color:var(--accent-text)}
.msn{display:grid; place-items:center; width:30px; height:30px; border-radius:8px; background:var(--accent-soft); color:var(--accent-text); font-family:var(--f-display); font-weight:800}
.pathhero{display:grid; grid-template-columns:1fr auto; gap:22px; align-items:center; border-top:4px solid var(--pc)}
.pathhero h1{font-size:clamp(1.6rem,3.6vw,2.2rem); margin:2px 0 0}
.pathhero p{color:var(--muted); max-width:70ch}
.ph-main{display:flex; flex-direction:column; gap:12px; min-width:0}
.ph-side{display:flex; flex-direction:column; align-items:center; gap:4px; text-align:center; --accent:var(--pc)}
.ph-side .ring .ring-fg{stroke:var(--pc)}
.ph-facts{display:flex; flex-wrap:wrap; gap:8px}
.ph-facts span{background:var(--surface-2); border:1px solid var(--line); border-radius:999px; padding:4px 12px; font-size:.84rem; color:var(--muted)} .ph-facts b{color:var(--ink)}
.outcomes ul{columns:2; column-gap:28px; margin:0; padding-left:20px} .outcomes li{break-inside:avoid; margin:0 0 8px}
.capbox{display:flex; flex-direction:column; gap:16px}
.capbox p{margin:4px 0 0} .capsteps{margin:6px 0 0; padding-left:20px} .capsteps li{margin:0 0 6px}
.chk{list-style:none; margin:6px 0 0; padding:0; display:grid; gap:6px}
.chk label{display:flex; gap:10px; align-items:flex-start; cursor:pointer} .chk input{margin-top:4px; accent-color:var(--ok); width:16px; height:16px; flex-shrink:0}
table.rubric td, table.rubric th{font-size:.85rem; vertical-align:top}
.readybox{display:flex; flex-direction:column; gap:12px}
.readyl{list-style:none; margin:0; padding:0; display:grid; gap:2px}
.readyl li{display:flex; gap:12px; align-items:center; padding:10px 6px; border-bottom:1px solid var(--line)}
.readyl li:last-child{border-bottom:0}
.readyl li b{display:block; font-weight:600} .readyl li small{color:var(--muted); font-size:.84rem}
.readyl li.ok b{color:var(--ok)}
.readyl .rk{width:24px; display:grid; place-items:center; flex-shrink:0} .readyl input{width:18px; height:18px; accent-color:var(--ok)}
.certcta{display:flex; gap:16px; align-items:center; flex-wrap:wrap; border:1px dashed var(--line)}
.certcta.on{border:1px solid var(--accent); background:var(--accent-soft)}
.certcta .grow b{display:block} .certcta small{color:var(--muted)}
.cc-seal{width:48px; height:48px; border-radius:50%; display:grid; place-items:center; background:var(--surface-2); color:var(--muted)} .cc-seal svg{width:26px; height:26px}
.certcta.on .cc-seal{background:var(--accent); color:var(--accent-ink)}
.pcard.mine{border-color:var(--accent); box-shadow:0 0 0 1px var(--accent)}
.chip.on{background:var(--accent); color:var(--accent-ink); border-color:var(--accent)}
.pc-jobs{display:flex; flex-wrap:wrap; gap:4px} .pc-jobs i{font-style:normal; font-size:.72rem; color:var(--muted); background:var(--surface-2); border-radius:4px; padding:2px 6px}
/* Hedef seçimi */
.ob{max-width:980px}
.obbar{height:6px; background:var(--surface-2); border-radius:6px; overflow:hidden} .obbar i{display:block; height:100%; background:var(--accent); transition:width .3s}
.rolegrid{display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:12px}
.rolecard,.optcard{display:flex; flex-direction:column; gap:8px; align-items:flex-start; text-align:left; padding:16px; border:1px solid var(--line); border-radius:var(--r); background:var(--surface); cursor:pointer; font:inherit; color:var(--ink)}
.rolecard:hover,.optcard:hover{border-color:var(--muted)}
.rolecard.on,.optcard.on{border-color:var(--accent); box-shadow:0 0 0 2px var(--accent); background:var(--accent-soft)}
.rolecard b,.optcard b{font-size:1.02rem} .rolecard small,.optcard small{color:var(--muted); font-size:.86rem; line-height:1.45}
.rc-meta{font-size:.76rem; color:var(--muted); margin-top:auto}
.optlist{display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:12px}
/* Sertifika */
.cert{position:relative; margin:8px auto 0; max-width:820px; padding:48px 56px; background:var(--surface); border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); text-align:center; display:flex; flex-direction:column; gap:14px; align-items:center; overflow:hidden}
.cert::before{content:""; position:absolute; inset:10px; border:2px solid var(--pc); border-radius:10px; opacity:.35; pointer-events:none}
.cert::after{content:""; position:absolute; left:0; right:0; top:0; height:8px; background:linear-gradient(90deg, var(--accent), var(--pc))}
.cert-brand{display:flex; gap:8px; align-items:center; font-family:var(--f-display); font-size:1.3rem}
.cert-brand b span{color:var(--accent-text)}
.cert h1{font-size:clamp(1.8rem,5vw,2.8rem); margin:0; font-family:var(--f-display)}
.cert p{max-width:60ch; margin:0}
.cert-skills{list-style:none; padding:0; margin:4px 0; display:flex; flex-wrap:wrap; gap:6px; justify-content:center; max-width:680px}
.cert-skills li{font-size:.8rem; background:var(--surface-2); border:1px solid var(--line); border-radius:999px; padding:4px 10px}
.cert-foot{display:flex; gap:28px; flex-wrap:wrap; justify-content:center; margin-top:10px}
.cert-foot span{display:flex; flex-direction:column} .cert-foot small{color:var(--muted); font-size:.74rem; text-transform:uppercase; letter-spacing:.08em}
.cert-note{font-size:.74rem; color:var(--muted)}
@media print{ .side, .topbar, .tabbar, .noprint, .toast{display:none !important} body, .app{background:#fff !important} #main{padding:0 !important} .cert{box-shadow:none; border:0; margin:0 auto} }
@media (max-width: 760px){
  .pathhero{grid-template-columns:1fr} .ph-side{flex-direction:row; justify-content:flex-start; gap:12px}
  .gp-foot{grid-template-columns:1fr} .gp-act{max-width:none; width:100%}
  .outcomes ul{columns:1}
  .cert{padding:32px 22px}
  .msstrip li{min-width:96px}
}
.dlbox{display:flex; gap:14px; align-items:center; flex-wrap:wrap; border-left:4px solid var(--accent)}
.dlbox b{display:block} .dlbox small{color:var(--muted)}
.btn svg{width:16px; height:16px; vertical-align:-3px; margin-right:4px}
.goalpanel,.goalcta,.pathhero,.capbox,.readybox,.certcta,.dlbox,.outcomes{padding:20px 22px}
.hero .goalpanel{min-width:0}
.gp-act .btn.ghost{border:1px solid var(--line)}
.hero .gp-act{flex-direction:row; flex-wrap:wrap; max-width:none; align-items:center}
.hero .gp-top .grow{min-width:220px}
.hero .gp-top{flex-wrap:wrap} .hero .gp-top .grow{flex:1 1 280px} .hero .gp-act{flex-basis:100%}
.gp-link{font-size:.86rem} .gp-link span, .gp-link b{white-space:nowrap}
@media (max-width: 1180px){ .hero .gp-foot{grid-template-columns:1fr} }
.lctx{display:flex; gap:12px; align-items:center; font-size:.8rem; color:var(--muted); margin:-4px 0 2px} .lctx .bar{flex:0 0 120px; height:5px}
.readyl li{flex-wrap:wrap} .readyl li .grow{flex:1 1 170px; min-width:0} .readyl li .chip{white-space:nowrap}
/* ---------- Rapor motoru: sayfalar, yer imleri, detay sayfası, tema ---------- */
.dpick-wrap{display:flex; flex-direction:column; gap:10px}
.dpg > .eyebrow{display:block; margin:0 0 4px}
.dpick .dpm{margin-left:auto; font-size:.7rem; color:var(--muted); white-space:nowrap}
.dic[data-th="dark"]{background:#0F172A !important; color:#FCD34D !important}
.dfeat{display:flex; flex-wrap:wrap; gap:6px; margin-top:8px}
.dfeat span{font-size:.76rem; background:var(--surface-2); border:1px solid var(--line); border-radius:999px; padding:3px 10px; color:var(--muted); max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.dfeat b{color:var(--ink); font-weight:600}
.wpage{margin-bottom:10px} .wpage > .eyebrow{display:block; margin-bottom:4px}
.wbox.wvis{border-style:dashed}
.ptabs{display:flex; gap:2px; overflow-x:auto; border-top:1px solid var(--line); padding-top:8px; scrollbar-width:thin}
.ptabs button{border:1px solid var(--line); border-bottom-width:3px; background:var(--surface); color:var(--muted); border-radius:6px 6px 0 0; padding:6px 12px; font:inherit; font-size:.8rem; white-space:nowrap; cursor:pointer; display:inline-flex; gap:6px; align-items:center}
.ptabs button[aria-selected="true"]{color:var(--ink); border-bottom-color:var(--accent); font-weight:600}
.pti{font-size:.9rem}
.bmbar{display:flex; flex-direction:column; gap:6px; background:var(--surface); border:1px solid var(--line); border-radius:8px; padding:8px 10px}
.bm-list{display:flex; gap:6px; flex-wrap:wrap}
.bm-list button{border:1px solid var(--line); background:var(--surface-2); border-radius:999px; padding:4px 12px; font:inherit; font-size:.8rem; cursor:pointer; color:var(--ink)}
.bm-list button[aria-pressed="true"]{background:var(--accent); border-color:var(--accent); color:var(--accent-ink); font-weight:600}
.bm-list button.ghost{background:none; color:var(--muted)}
.bm-story{display:flex; gap:10px; align-items:center} .bm-story p{margin:0; flex:1; font-size:.92rem; line-height:1.5}
.bmbar.story{border-left:4px solid var(--accent)}
.slicer.prm .fp{font-style:normal; font-size:.62rem; text-transform:none; letter-spacing:0; background:var(--accent-soft); color:var(--accent-text); border-radius:4px; padding:1px 5px; margin-left:4px}
.thrubar{display:flex; gap:12px; align-items:center; flex-wrap:wrap; background:var(--surface); border:1px solid var(--line); border-left:4px solid var(--s7); border-radius:8px; padding:8px 12px; font-size:.88rem}
.crossbar .btn.pri{margin-left:auto}
.dtile.dnav{background:transparent; border:0; padding:0; justify-content:center}
.dnav-t{font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); font-weight:600}
.dnav-b{display:flex; gap:8px; flex-wrap:wrap}
.dbtn{display:inline-flex; gap:8px; align-items:center; border:1px solid var(--line); background:var(--surface); color:var(--ink); border-radius:8px; padding:9px 14px; font:inherit; font-size:.86rem; font-weight:600; cursor:pointer; transition:background .15s, border-color .15s, transform .1s}
.dbtn:hover{border-color:var(--accent); background:var(--accent-soft)}
.dbtn:active{transform:translateY(1px)}
.dbtn[aria-pressed="true"]{background:var(--ink); color:var(--surface); border-color:var(--ink)}
.dbi{font-size:1rem; line-height:1}
.dtile.dtext{background:transparent; border:0; padding:4px 2px}
.dtext h2{margin:0; font-size:1.25rem} .dtext p{margin:4px 0 0; color:var(--muted); font-size:.9rem}
.dtext .callout{border-left:4px solid var(--accent); padding:8px 12px; background:var(--surface); border-radius:6px; font-size:.9rem; color:var(--ink)}
.dhero{display:flex; gap:12px; align-items:center; background:var(--ink); color:var(--surface); border-radius:8px; padding:10px 14px}
.dhero b{display:block; font-family:var(--f-display); font-size:1.05rem} .dhero small{opacity:.75; font-size:.8rem} .dh-r{font-size:.74rem; opacity:.7; white-space:nowrap}
.dlogo{width:34px; height:34px; border-radius:8px; display:grid; place-items:center; background:var(--accent); color:var(--accent-ink); font-weight:800; font-size:.8rem}
.dash-frame.navleft .dbody{display:grid; grid-template-columns:168px minmax(0,1fr); gap:12px}
.lnav{display:flex; flex-direction:column; gap:4px; background:var(--surface); border:1px solid var(--line); border-radius:8px; padding:8px; align-self:start; position:sticky; top:12px}
.lnav button{display:flex; gap:8px; align-items:center; text-align:left; border:0; background:none; color:var(--muted); border-radius:6px; padding:8px 10px; font:inherit; font-size:.84rem; cursor:pointer}
.lnav button:hover{background:var(--surface-2); color:var(--ink)}
.lnav button[aria-selected="true"]{background:var(--accent-soft); color:var(--ink); font-weight:600; box-shadow:inset 3px 0 0 var(--accent)}
.dmain{display:flex; flex-direction:column; gap:12px; min-width:0}
.dash-frame.mob{max-width:390px; margin:0 auto; border-radius:22px; border-width:6px; border-color:var(--ink)}
.dash-frame.mob .dgrid2{grid-template-columns:1fr} .dash-frame.mob .dgrid2 > .dtile{grid-column:auto}
.dash-frame.mob .dash-sl{gap:8px}
.tbars{display:flex; flex-direction:column; gap:3px; font-size:.74rem}
.tbars div{display:grid; grid-template-columns:70px 1fr auto; gap:6px; align-items:center}
.tbars span{overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted)} .tbars i{display:block; height:7px; border-radius:3px; background:var(--s1)} .tbars b{font-weight:600}
.tnote{color:var(--muted); font-size:.72rem; line-height:1.35}
/* Temalar: rapor çerçevesinin içinde değişkenler yeniden tanımlanır, böylece tüm görseller uyum sağlar */
.dash-frame.th-dark{--surface:#111827; --surface-2:#0B1220; --ink:#E5E7EB; --muted:#94A3B8; --line:#1F2A3C; --grid:#1E293B; --axis:#64748B; --accent:#F5B90B; --accent-soft:#2B2410; --accent-text:#FCD34D; --accent-ink:#111; --s1:#38BDF8; --s2:#F59E0B; --s3:#34D399; --s4:#A78BFA; --s5:#F472B6; --ok:#34D399; --err:#F87171; --ok-soft:#0F2E25; --err-soft:#3A1A1A; background:#0B1220; border-color:#1F2A3C; color:var(--ink)}
.dash-frame.th-dark .dtile{box-shadow:0 1px 0 rgba(255,255,255,.03) inset, 0 8px 24px rgba(0,0,0,.25)}
.dash-frame.th-dark .dhero{background:linear-gradient(90deg,#111827,#1E293B); color:#E5E7EB; border:1px solid #1F2A3C}
.dash-frame.th-glass{background:linear-gradient(135deg, color-mix(in srgb, var(--s1) 18%, var(--surface-2)), color-mix(in srgb, var(--s7) 14%, var(--surface-2)))}
.dash-frame.th-glass .dtile{background:color-mix(in srgb, var(--surface) 78%, transparent); backdrop-filter:blur(6px); border-color:color-mix(in srgb, var(--surface) 60%, transparent); border-radius:14px; box-shadow:0 6px 20px rgba(20,30,60,.08)}
.dash-frame.th-ibcs{--s1:#3B3B3B; --s2:#9CA3AF; --accent:#111; background:var(--surface)}
.dash-frame.th-ibcs .dtile{border:0; border-top:2px solid var(--ink); border-radius:0; padding:10px 4px}
.dash-frame.th-ibcs .dt-head h3{font-family:var(--f-body); font-weight:700; font-size:.9rem}
.dash-frame.th-story{background:var(--surface)} .dash-frame.th-story .dtile{border:0; box-shadow:none} .dash-frame.th-story .dtext h2{font-family:var(--f-display); font-size:1.6rem}
.dash-frame.th-corp .dtile{border-radius:10px; border:0; box-shadow:0 1px 2px rgba(0,0,0,.05), 0 6px 18px rgba(0,0,0,.05)}
.dash-frame.th-corp{background:color-mix(in srgb, var(--s1) 6%, var(--surface-2))}
.kpic{display:flex; flex-direction:column; gap:4px}
.kpic .kv{font-family:var(--f-display); font-size:1.7rem; font-weight:800; line-height:1.1}
.kpic .kd{display:inline-flex; gap:4px; font-size:.8rem; font-weight:600; border-radius:999px; padding:2px 8px; width:max-content}
.kpic .kd.up{background:var(--ok-soft); color:var(--ok)} .kpic .kd.dn{background:var(--err-soft); color:var(--err)}
.kpic .ks{color:var(--muted); font-size:.78rem}
.kpic .kic{width:30px; height:30px; border-radius:8px; display:grid; place-items:center; background:var(--accent-soft); color:var(--accent-text); font-size:1rem}
@media (max-width: 860px){ .dash-frame.navleft .dbody{grid-template-columns:1fr} .lnav{flex-direction:row; overflow-x:auto; position:static} .lnav button{white-space:nowrap} }
.smm{display:grid; gap:10px}
.smp{border:1px solid var(--line); border-radius:6px; padding:6px 6px 2px; background:var(--surface); min-width:0; cursor:pointer}
.smp.dim{opacity:.4} .smp.sel{border-color:var(--accent)}
.smh{display:flex; justify-content:space-between; gap:6px; font-size:.74rem} .smh b{font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap} .smh span{color:var(--muted); white-space:nowrap}
.vtable.pnl tr.lv1 td:first-child{padding-left:18px}
.vtable.pnl tr.sub td{font-weight:700; border-top:1px solid var(--ink)}
.vtable.pnl tr.total td{font-weight:800; border-top:2px solid var(--ink); background:var(--surface-2)}
.vtable .okc{color:var(--ok); font-weight:600} .vtable .badc{color:var(--err); font-weight:600}
.pbar{position:relative; display:block; width:110px; height:10px; background:linear-gradient(90deg, transparent calc(50% - .5px), var(--axis) calc(50% - .5px), var(--axis) calc(50% + .5px), transparent calc(50% + .5px))}
.pbar i{position:absolute; top:1px; bottom:1px; border-radius:2px}
.prog{display:flex; flex-direction:column; gap:8px}
.prow{display:grid; grid-template-columns:minmax(70px,130px) 1fr 44px; gap:10px; align-items:center; font-size:.84rem; cursor:pointer}
.prow.dim{opacity:.4}
.prow .pl{overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.pb{position:relative; height:12px; background:var(--surface-2); border-radius:6px; overflow:visible}
.pb i{display:block; height:100%; border-radius:6px}
.pb u{position:absolute; top:-3px; bottom:-3px; width:2px; background:var(--ink); text-decoration:none}
.pv{font-variant-numeric:tabular-nums; text-align:right; font-weight:600}
.infl{display:flex; flex-direction:column; gap:6px} .infh{margin:0 0 4px; font-size:.84rem; color:var(--muted)}
.infr{display:grid; grid-template-columns:minmax(90px,170px) 1fr 52px; gap:8px; align-items:center; font-size:.84rem; cursor:pointer}
.infr.dim{opacity:.4} .inf-f{overflow:hidden; text-overflow:ellipsis; white-space:nowrap} .inf-b{height:12px; background:var(--surface-2); border-radius:6px; overflow:hidden} .inf-b i{display:block; height:100%; background:var(--s7)} .infr b{text-align:right; font-variant-numeric:tabular-nums}
/* tasarım vitrini */
/* — Yönetim kokpiti (th-dark): kart kutuları, 8 px ızgara, kayan filtre paneli, yardım katmanı — */
.dash-frame.th-dark .dgrid2{position:relative; gap:16px}
.dash-frame.th-dark .dtile{border-radius:12px; border-color:#1F2A3C; background:linear-gradient(180deg,#131C2E,#111827)}
.dash-frame.th-dark .dtile.dtext, .dash-frame.th-dark .dtile.dnav{background:transparent; box-shadow:none}
.dash-frame.th-dark .dt-head h3{font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); font-weight:600}
.dash-frame.th-dark .dtile.k-kpi{border-top:2px solid color-mix(in srgb, var(--s1) 55%, transparent)}
.dash-frame.th-dark .kpic .kv{font-size:1.9rem; color:#F8FAFC}
.dash-frame.th-dark .kpic .kic{position:absolute; top:12px; right:12px; width:32px; height:32px; border-radius:10px}
.dash-frame.th-dark .dtile.k-kpi{position:relative} .dash-frame.th-dark .dtile.k-kpi .dt-head{padding-right:40px}
.dash-frame.th-dark .dtile.k-kpi .insb{display:none}
.dash-frame.th-dark .lnav{background:#0F172A; border-color:#1F2A3C; padding:8px; gap:4px}
.dash-frame.th-dark .lnav button{padding:10px 12px; min-height:40px; color:#94A3B8}
.dash-frame.th-dark .lnav button:hover{background:#1E293B; color:#E5E7EB}
.dash-frame.th-dark .lnav button:active{background:#0B1220}
.dash-frame.th-dark .lnav button[aria-selected="true"]{background:#1E293B; color:#F8FAFC; box-shadow:inset 3px 0 0 var(--accent)}
.dash-frame.th-dark .lnav .pti{width:24px; height:24px; display:grid; place-items:center; border-radius:6px; background:#1E293B; color:var(--accent-text); font-size:.8rem}
.dash-frame.th-dark .lnav button[aria-selected="true"] .pti{background:var(--accent); color:#111}
.k-ph{display:flex; flex-direction:column; gap:2px}
.k-ph h2{margin:0; font-family:var(--f-display); font-size:1.4rem; color:var(--ink)} .k-ph p{margin:0; color:var(--muted); font-size:.84rem}
.k-eyebrow{font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:var(--accent-text); font-weight:700}
.dtile.k-tool .dnav-b{justify-content:flex-end}
.dash-frame.th-dark .dtile.k-tool .dbtn{background:#111827; border-color:#334155; color:#E5E7EB; min-height:40px}
.dash-frame.th-dark .dtile.k-tool .dbtn:hover{border-color:var(--accent); background:#1E293B}
.dash-frame.th-dark .dtile.k-tool .dbi{width:20px; height:20px; display:grid; place-items:center; border-radius:50%; background:var(--accent); color:#111; font-size:.75rem; font-weight:800}
.dash-frame.th-dark .dtile.k-tool{position:relative; z-index:9}
.dash-frame.th-dark .dtile.dtext.k-drawer{position:absolute; top:0; left:0; width:min(340px, 92%); max-height:100%; overflow:auto; z-index:7; background:#0F172A; border:1px solid #334155; border-radius:12px; padding:20px; box-shadow:16px 0 48px rgba(0,0,0,.55); animation:kSlide .28s cubic-bezier(.2,.8,.2,1)}
@keyframes kSlide{from{transform:translateX(-24px); opacity:0} to{transform:none; opacity:1}}
.k-drw{display:flex; flex-direction:column; gap:12px; font-size:.86rem; color:var(--ink)}
.k-drw p{margin:0; color:var(--muted)} .k-drw p b{color:var(--ink)}
.k-drw-t{font-family:var(--f-display); font-size:1.15rem}
.k-chips{display:flex; flex-wrap:wrap; gap:8px}
.k-chips span{display:inline-flex; gap:6px; align-items:center; background:#1E293B; border:1px solid #334155; border-radius:999px; padding:4px 12px; font-weight:600}
.k-chips i{font-style:normal; color:var(--muted); font-weight:500}
.dash-frame.th-dark .k-drw .callout{background:#111827; color:#CBD5E1}
.dash-frame.th-dark .dtile.dtext.k-help{position:absolute; inset:0; z-index:8; background:rgba(8,12,22,.9); backdrop-filter:blur(3px); border-radius:12px; padding:80px 24px 24px; overflow:auto; animation:kFade .2s ease-out}
@keyframes kFade{from{opacity:0} to{opacity:1}}
.k-help-in{max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:16px}
.k-help-g{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px}
.k-hn{display:flex; gap:12px; background:#111827; border:1px solid #334155; border-radius:12px; padding:16px}
.k-hn > b{flex:none; width:32px; height:32px; border-radius:50%; display:grid; place-items:center; background:var(--accent); color:#111; font-weight:800}
.k-hn strong{color:#F8FAFC} .k-hn p{margin:4px 0 0; color:#CBD5E1; font-size:.86rem; line-height:1.5}
.k-help-f{margin:0; color:#CBD5E1; font-size:.86rem}
.k-sw{display:inline-block; width:14px; height:4px; border-radius:2px; vertical-align:middle; margin:0 2px 0 6px}
.k-sw.k-c1{background:var(--s1)} .k-sw.k-c2{background:var(--axis)} .k-sw.k-c3{background:var(--accent)} .k-sw.k-c4{background:var(--ok)} .k-sw.k-c5{background:var(--err)}
.k-cap{margin:0; text-align:center; color:var(--muted); font-size:.84rem} .k-cap b{color:var(--ink)}
.dash-frame.th-dark.mob .dtile.dtext.k-drawer, .dash-frame.th-dark.mob .dtile.dtext.k-help{position:static; width:auto}
@media (max-width: 700px){ .k-help-g{grid-template-columns:1fr} .dash-frame.th-dark .dtile.dtext.k-help{padding-top:120px} }
/* — Veri hikâyesi (th-story): tek vurgu rengi, büyük tipografi, slayt noktaları — */
.dash-frame.th-story{--h-hl:#C2410C; --h-soft:#FFF1E8}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .dash-frame.th-story{--h-hl:#FB923C; --h-soft:#2A1A10} }
:root[data-theme="dark"] .dash-frame.th-story{--h-hl:#FB923C; --h-soft:#2A1A10}
.dash-frame.th-story .dgrid2{gap:24px}
.dash-frame.th-story .dt-head h3{font-family:var(--f-display); font-size:1rem}
.dash-frame.th-story .dtile .insb{opacity:.5}
.h-kick{display:block; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:var(--h-hl); margin-bottom:8px}
.dtile.h-cover{padding:24px 4px 4px}
.h-cover h1{margin:0; font-family:var(--f-display); font-size:clamp(1.7rem, 3.6vw, 2.9rem); line-height:1.12; letter-spacing:-.01em; max-width:22ch}
.h-cover h1 em, .h-narr h2 em, .h-sub em{font-style:normal; color:var(--h-hl)}
.h-lead{margin:12px 0 0 !important; font-size:1.02rem !important; max-width:62ch; color:var(--muted)}
.dtile.dtext.h-num{border-top:3px solid var(--line); border-radius:0; padding-top:12px; display:flex; flex-direction:column}
.dtile.dtext.h-num.hl{border-top-color:var(--h-hl)}
.h-num b{font-family:var(--f-display); font-size:clamp(1.8rem, 3vw, 2.5rem); line-height:1.1; font-variant-numeric:tabular-nums}
.h-num.hl b{color:var(--h-hl)} .h-num span{color:var(--muted); font-size:.86rem}
.dtile.h-start .dbtn{background:var(--h-hl); border-color:var(--h-hl); color:#fff; padding:12px 22px; font-size:.95rem}
.dtile.h-start .dbtn:hover{filter:brightness(1.08)}
.dtile.h-narr{align-self:center}
.h-narr h2{margin:0 0 10px; font-family:var(--f-display); font-size:clamp(1.3rem, 2.2vw, 1.75rem) !important; line-height:1.2}
.h-narr p{font-size:.98rem !important; line-height:1.6; color:var(--ink) !important; margin:0 0 10px !important; max-width:58ch}
.h-narr p b{color:var(--h-hl)}
.h-narr .h-note{color:var(--muted) !important; font-size:.84rem !important; border-left:3px solid var(--line); padding-left:10px}
.dtile.h-big{align-self:center}
.h-huge{display:block; font-family:var(--f-display); font-size:clamp(2.6rem, 6vw, 4.6rem); line-height:1; letter-spacing:-.02em; color:var(--h-hl); font-variant-numeric:tabular-nums}
.h-sub{margin:10px 0 14px !important; font-size:1.1rem !important; color:var(--ink) !important; font-weight:600}
.h-big p{line-height:1.6}
.h-acts-g{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px}
.h-act{display:flex; flex-direction:column; gap:6px; border-top:3px solid var(--h-hl); background:var(--h-soft); border-radius:0 0 10px 10px; padding:14px 16px}
.h-an{font-family:var(--f-display); font-weight:800; font-size:1.6rem; color:var(--h-hl); line-height:1}
.h-act h3{margin:0; font-size:1rem} .h-act p{margin:0 !important; color:var(--ink) !important; font-size:.88rem !important; line-height:1.5}
.h-am{margin-top:auto; font-size:.82rem; color:var(--h-hl)}
.dtile.h-dots{border-top:1px solid var(--line) !important; border-radius:0; padding-top:12px !important}
.dtile.h-dots .dnav-b{gap:6px}
.dtile.h-dots .dbtn{border-radius:999px; padding:6px 12px; font-size:.78rem; font-weight:500; background:transparent; color:var(--muted); border-color:var(--line)}
.dtile.h-dots .dbtn[aria-pressed="true"]{background:var(--h-hl); border-color:var(--h-hl); color:#fff; font-weight:700}
.hst .hst-ctx{fill:var(--muted); font-size:11px}
.hst .hst-hl{fill:var(--h-hl, var(--s2)); font-weight:700; font-size:12px}
.hst .hst-hl2{fill:var(--h-hl, var(--s2)); font-weight:700}
.hst .hst-b{font-weight:700; fill:var(--ink)}
.hst .hst-nt{fill:var(--ink); font-weight:700; font-size:11.5px}
.hst .hst-ns{fill:var(--muted); font-size:11px}
.hst .hst-lead{stroke:var(--h-hl, var(--s2)); stroke-width:1.2; stroke-dasharray:2 3}
.hst .hst-ref{stroke:var(--ink); stroke-width:1.5; stroke-dasharray:4 3}
@media (max-width: 700px){ .h-acts-g{grid-template-columns:1fr} }
.dash-frame.mob .h-acts-g{grid-template-columns:1fr}
/* — Saha satış (th-corp): telefon öncelikli, 48 px dokunma hedefleri, iki sütunlu KPI — */
.dtile.m-tabs .dnav-b{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px}
.dtile.m-tabs .dbtn{min-height:52px; flex-direction:column; justify-content:center; gap:2px; font-size:.8rem; border-radius:12px; background:var(--surface); border-color:transparent; box-shadow:0 1px 2px rgba(0,0,0,.06)}
.dtile.m-tabs .dbtn .dbi{font-size:1.15rem}
.dtile.m-tabs .dbtn[aria-pressed="true"]{background:var(--s1); color:#fff; border-color:var(--s1)}
.dtile.m-seg .dnav-b{display:inline-grid; grid-template-columns:1fr 1fr; gap:0; background:var(--surface); border-radius:12px; padding:4px; width:max-content; box-shadow:0 1px 2px rgba(0,0,0,.06)}
.dtile.m-seg .dbtn{min-height:44px; border:0; background:transparent; border-radius:9px; padding:8px 20px}
.dtile.m-seg .dbtn[aria-pressed="true"]{background:var(--ink); color:var(--surface)}
.dash-frame.th-corp .dtile.m-half .kpic .kv{font-size:1.55rem}
.dash-frame.th-corp .dtile.m-half .insb{display:none}
.dtile.m-hint{background:var(--surface) !important; border-radius:12px !important; padding:10px 14px !important; border-left:4px solid var(--s1) !important}
.dtile.m-hint p{margin:0; font-size:.84rem; color:var(--ink)}
.m-empty{color:var(--muted); font-size:.86rem; margin:8px 0}
.dash-frame.th-corp.mob .dgrid2{grid-template-columns:1fr 1fr; gap:10px}
.dash-frame.th-corp.mob .dgrid2 > .dtile{grid-column:1 / -1}
.dash-frame.th-corp.mob .dgrid2 > .dtile.m-half{grid-column:auto; padding:10px}
.dash-frame.th-corp.mob .dtile.m-half .kpic .kv{font-size:1.25rem}
.dash-frame.th-corp.mob .dtile.m-half .kpic .kd{font-size:.72rem; padding:2px 6px}
.dash-frame.th-corp.mob .dtile.m-half .vspark{max-width:100%; height:auto}
.dash-frame.th-corp.mob .dtile.m-half .dt-head h3{font-size:.78rem}
.dash-frame.th-dark table, .dash-frame.th-story table, .dash-frame.th-corp table{color:inherit}
.dash-frame.th-dark .sl-opts button{background:#111827; border-color:#334155; color:#CBD5E1}
.dash-frame.th-dark .sl-opts button:hover{border-color:var(--accent)}
.dash-frame.th-dark .sl-opts button[aria-pressed="true"]{background:var(--accent); border-color:var(--accent); color:#111; font-weight:700}
.dash-frame.th-dark .vtable td{border-bottom-color:#1F2A3C}
.dash-frame.th-corp .dtile.dnav{box-shadow:none; background:transparent}
.dash-frame.th-dark.mob .dh-r, .dash-frame.th-corp.mob .dh-r{display:none}
@media (max-width: 700px){ .dash-frame.th-dark .dh-r, .dash-frame.th-corp .dh-r{display:none} }
/* tasarım vitrini sonu */
.dash-head > div{min-width:0} .dfeat span{white-space:normal}
.vtable table{color:inherit}
.dash-frame.th-ibcs .dlogo{background:#fff; color:#111}
.dhero{flex-wrap:wrap} .dhero .grow{min-width:140px}
@media (max-width: 600px){ .dh-r{display:none} }
.dash-frame.mob .dh-r{display:none}
.bsteps p, .bsteps h3{overflow-wrap:anywhere} .bsteps li > div{min-width:0}
.ptabs-in{display:flex; gap:2px} .lnav-in{display:flex; flex-direction:column; gap:4px}
@media (max-width: 860px){ .lnav-in{flex-direction:row} }
.skip{position:absolute; left:8px; top:-60px; z-index:100; background:var(--ink); color:var(--surface); padding:8px 14px; border-radius:6px; font-weight:600}
.skip:focus{top:8px}
.sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0}
.navgrp{opacity:1 !important}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .lv{color:#10140F} }
:root[data-theme="dark"] .lv{color:#10140F}
.syncbox{display:flex; flex-direction:column; gap:10px; padding:16px 18px}
.legal{font-size:.78rem; color:var(--muted); line-height:1.5; border-top:1px solid var(--line); padding-top:12px}
.sitefoot{margin:40px auto 24px; padding:14px 24px 0; max-width:1100px}
.sitefoot p{margin:0 0 6px}
@media (max-width:860px){.sitefoot{padding-bottom:84px}}
@media print{.sitefoot{display:none}}
.errtip{margin:8px 0 0; font-size:.88rem}
.dpn small{white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical}
.dpick-det{border:1px solid var(--line); border-radius:12px; background:var(--surface); padding:0}
.dpick-det > summary{list-style:none; cursor:pointer; display:flex; gap:10px; align-items:baseline; flex-wrap:wrap; padding:12px 16px}
.dpick-det > summary::-webkit-details-marker{display:none}
.dpick-det > summary::after{content:'\25BE'; margin-left:auto; color:var(--muted)} .dpick-det[open] > summary::after{content:'\25B4'}
.dpick-det > .dpick-wrap{padding:0 16px 16px}
.coltable td, .coltable th{overflow-wrap:anywhere}
.lvl-block{min-width:0} .panel.coltable{max-width:100%; min-width:0} .lvl-block > .panel.coltable td:first-child{white-space:normal}
main p code, main li code, main td code{overflow-wrap:anywhere}
.panel.brief, .q, .msg, .tc-body, .iv-q{overflow-wrap:anywhere}
.marker.k{border:0; padding:0; background:none; display:block; border-radius:0} .marker.k svg{display:block} .brand b span{white-space:nowrap}
/* ---- Karşılama kapıları, yedek, Hakkında, yorumlar ---- */
.welcome{padding:20px; display:flex; flex-direction:column; gap:14px; border:1.5px solid var(--accent)}
.doors{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px}
.door{display:flex; flex-direction:column; gap:6px; text-align:left; padding:16px; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--ink); cursor:pointer; font:inherit; transition:border-color .15s, transform .15s}
.door:hover,.door:focus-visible{border-color:var(--accent-text); transform:translateY(-1px)}
.door b{font-family:var(--f-display); font-size:1.08rem}
.door small{color:var(--muted); line-height:1.45}
.door-ic{display:grid; place-items:center; width:30px; height:30px; border-radius:8px; background:var(--accent); color:var(--accent-ink); font-weight:800; font-family:var(--f-display)}
@media (max-width:760px){.doors{grid-template-columns:minmax(0,1fr)}}
.bkcard{display:flex; gap:12px; align-items:center; padding:14px 16px; flex-wrap:wrap} .bkcard .grow{display:flex; flex-direction:column; gap:3px; min-width:0}
.about-card{padding:18px; display:flex; flex-direction:column; gap:10px}
.about-kpis{display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:10px}
.gs-wrap{padding:18px; display:flex; flex-direction:column; gap:10px; margin-top:12px}
.lfb{margin:6px 0 0}
/* ---- Vaka veri setleri ---- */
.vd-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:14px}
.vd-card{display:flex; gap:14px; align-items:flex-start; text-align:left; padding:16px; cursor:pointer; border-left:4px solid var(--pc); color:var(--ink); font:inherit}
.vd-card:hover{border-color:var(--pc)} .vd-tx{display:flex; flex-direction:column; gap:6px; min-width:0} .vd-tx b{font-family:var(--f-display); font-size:1.15rem} .vd-tx small{color:var(--muted); line-height:1.45}
.vd-ic{display:grid; place-items:center; width:46px; height:46px; flex:none; border-radius:12px; background:color-mix(in srgb, var(--pc) 18%, var(--surface)); font-size:1.5rem}
.vd-ic.big{width:64px; height:64px; font-size:2rem}
.vd-hero{display:flex; gap:16px; align-items:center; padding:20px; border-top:4px solid var(--pc); flex-wrap:wrap} .vd-hero h1{margin:2px 0 0}
.vd-how{padding:18px} .vd-how ol{margin:6px 0 0; padding-left:20px; line-height:1.7}
.vd-sec{padding:0} .vd-sec > summary{list-style:none; cursor:pointer; padding:14px 18px; display:flex; align-items:center; justify-content:space-between}
.vd-sec > summary::-webkit-details-marker{display:none} .vd-sec > summary h2{margin:0; font-size:1.15rem} .vd-sec > summary::after{content:'\25BE'; color:var(--muted)} .vd-sec[open] > summary::after{content:'\25B4'}
.vd-body{padding:0 18px 18px; display:flex; flex-direction:column; gap:12px; min-width:0}
.vd-tbl h3,.vd-body h3{margin:6px 0 4px; font-size:1rem}
.vd-steps{margin:0; padding-left:20px; line-height:1.65} .vd-steps li{margin-bottom:6px}
.vd-rels{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px} .vd-rels li{display:flex; flex-wrap:wrap; gap:4px 6px; align-items:center} .vd-rels li small{flex-basis:100%; color:var(--muted)} .vd-rels li.off code{opacity:.75}
.vd-ms{display:flex; flex-direction:column; gap:4px; margin-bottom:6px}
.vd-task{border:1px solid var(--line); border-radius:12px; padding:14px; display:flex; flex-direction:column; gap:10px; background:var(--surface)} .vd-task.ok{border-color:var(--ok, #2E8B57)}
.vd-chk{display:flex; gap:6px; align-items:center; font-size:.88rem; white-space:nowrap; cursor:pointer}
.vd-ans{display:flex; flex-direction:column; gap:6px} .vd-ans p{margin:0} .vd-exp{font-family:var(--f-mono); font-weight:600; background:var(--accent-soft); padding:2px 8px; border-radius:6px}
.vd-pages{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:12px} .vd-page{border:1px solid var(--line); border-radius:12px; padding:14px} .vd-page h3{margin:2px 0 4px} .vd-page ul{margin:4px 0 8px; padding-left:18px}
.vd-traps li{margin-bottom:6px}
.linkbtn{background:none; border:0; padding:0; color:var(--muted); font:inherit; font-size:.82rem; text-decoration:underline; text-underline-offset:3px; cursor:pointer}
.vd-body, .vd-task{overflow-wrap:anywhere} .vd-body pre, .vd-body .codebox{max-width:100%; overflow-x:auto} .vd-hero .grow{min-width:0}
.vd-body .theory{padding:0; max-width:none; box-shadow:none; border:0; background:none}
.vd-before{padding:16px 18px; border-left:4px solid var(--accent)} .vd-before h3{margin:0 0 6px} .vd-before ol{margin:0; padding-left:20px; line-height:1.6} .vd-before li{margin-bottom:6px}

/* --- düzeltme turu: odak, aile bağlantıları, sekmeler, atlanan ders --- */
#main:focus,#main:focus-visible{outline:none}
.navfoot{margin-top:10px; padding-top:8px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:2px}
.fam{display:flex; flex-direction:column; gap:2px; margin-top:10px; padding:8px 10px 0; border-top:1px solid var(--line)}
.fam .eyebrow{margin-bottom:2px}
.fam a{font-size:.84rem; color:var(--muted); text-decoration:none; padding:3px 0}
.fam a:hover,.fam a:focus-visible{color:var(--accent-text); text-decoration:underline}
.tipstabs{margin:0}
.chip.skipc{background:var(--surface-2); color:var(--muted); border-style:dashed}
.skipnote{padding:12px 16px; font-size:.92rem; display:flex; flex-wrap:wrap; gap:8px; align-items:center}
.moddet>summary{cursor:pointer; list-style-position:inside}
.cov-les{display:block; margin-top:3px; font-size:.8rem}
.vd-limit{padding:6px 0; border-top:1px solid var(--line)}
.vd-limit summary{cursor:pointer}
@media (max-width:760px),(pointer:coarse){.kbdhint{display:none}}
@media (max-width:760px){.morelist{gap:6px}.morelist .tool{display:grid; grid-template-columns:34px 1fr; column-gap:10px; align-items:center; padding:9px 12px}.morelist .tool .tic{grid-row:span 2; width:34px; height:34px}.morelist .tool b{font-size:.95rem}.morelist .tool small{font-size:.78rem}}
.lhead .row{flex-wrap:wrap}
.lfb{order:3; flex:1 1 100%; margin:0}

/* Pratik listesi telefonda: rozetler başlığın altına iner, başlık sütunu daralmaz */
@media (max-width:560px){ #prList .litem{grid-template-columns:28px minmax(0,1fr)} #prList .litem>.row{grid-column:2; flex-wrap:wrap} }

.ic{color:#000}
.ed-top{color:#A8A392}
.ic[style*="--s6"]{color:#fff}@media (prefers-color-scheme:light){.ic[style*="--s7"]{color:#fff}}[data-theme="light"] .ic[style*="--s7"]{color:#fff}[data-theme="dark"] .ic[style*="--s7"]{color:#000}
/* Power Query Lab: Görünüm sekmesi ve M editörü */
.pqvo{display:inline-flex; align-items:center; gap:5px; font-size:.82rem; padding:4px 8px; white-space:nowrap}
.pqd td{vertical-align:bottom}
.dbars{display:flex; align-items:flex-end; gap:2px; height:26px; min-width:60px; margin-bottom:2px}
.dbars i{display:block; flex:1 1 0; min-width:3px; max-width:14px; background:var(--s7); opacity:.75; border-radius:1px 1px 0 0}
.pqprof{display:grid; grid-template-columns:minmax(200px,1fr) minmax(200px,1.4fr); gap:18px; margin-top:10px; padding:12px; border:1px solid var(--line); border-radius:6px; background:var(--surface); font-size:.82rem}
.pqprof.muted{display:block}
.pqprof table{border-collapse:collapse; margin-top:6px; width:100%}
.pqprof th{text-align:left; font-weight:500; color:var(--muted); padding:2px 8px 2px 0}
.pqprof td{text-align:right; padding:2px 0; font-variant-numeric:tabular-nums}
.pqbar{display:grid; grid-template-columns:minmax(70px,120px) 1fr auto; align-items:center; gap:6px; margin-top:4px}
.pqbar span{overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.pqbar>i{display:block; height:10px; background:var(--s7); opacity:.75; border-radius:2px}
.pqbar em{font-style:normal; color:var(--muted); font-variant-numeric:tabular-nums}
.pqnest{font-style:normal; color:var(--s7); font-weight:600}
.mbox{padding:14px; min-width:0}
.mta{display:block; width:100%; box-sizing:border-box; font-family:var(--mono,ui-monospace,Consolas,monospace); font-size:.86rem; line-height:1.5; padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:var(--surface-2); color:var(--ink); resize:vertical; white-space:pre; overflow:auto; tab-size:4}
.mta:focus{outline:2px solid var(--s7); outline-offset:1px}
#mRes:not(:empty),#mOut:not(:empty),#mSol:not(:empty){margin-top:10px}
.mbox pre.m{overflow:auto; max-width:100%}
.msup{margin-top:12px; font-size:.82rem}
.msup summary{cursor:pointer; font-weight:600}
.msup p{margin:6px 0; max-width:90ch}
.msup ul{margin:4px 0 8px; padding-left:18px}
.mfn{overflow-wrap:anywhere}
@media (max-width:640px){.pqprof{grid-template-columns:1fr}}
.mrunb{margin:-4px 0 8px}
.mrunout:not(:empty){margin:0 0 12px}

html,body.st{height:auto;overflow:auto}body.st{display:block;margin:0;background:var(--bg);color:var(--ink);padding:0}
.st-skip{position:absolute;left:-999px}.st-skip:focus{left:12px;top:12px;background:var(--surface);padding:8px 12px;z-index:9;border-radius:6px}
.st-h,.st-m,.st-f{max-width:820px;margin:0 auto;padding-left:24px;padding-right:24px}.st-h{display:flex;justify-content:space-between;align-items:center;padding-top:20px;padding-bottom:6px}.st-b{font-weight:800;color:inherit;text-decoration:none;font-size:1.1rem}
.st-m{padding-top:22px;padding-bottom:30px;display:block}.st-e{font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.st-m h1{font-size:clamp(1.8rem,4.6vw,2.6rem);line-height:1.12;margin:8px 0 10px}.st-l{color:var(--muted);font-size:1.05rem;margin:0 0 14px}
.st-c{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0 18px;font-size:.88rem;color:var(--muted)}.st-p{display:inline-block;background:var(--ink);color:var(--bg)!important;padding:10px 16px;border-radius:8px;font-weight:600;text-decoration:none;font-size:.95rem}
.st-not{font-size:.88rem;color:var(--muted);margin:0 0 12px}.st-n{display:flex;justify-content:space-between;gap:16px;margin-top:20px;font-size:.92rem}.st-f{padding-top:14px;padding-bottom:30px;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted)}
.st-d ul{padding-left:18px;margin:6px 0 12px}.st-d li{margin-bottom:5px}.st-d h3{margin:16px 0 4px;font-size:1rem}.st-d h2{margin:26px 0 4px}
article.theory{padding:22px;overflow-wrap:anywhere}article.theory pre{white-space:pre-wrap;overflow-x:auto}article.theory .tbl-wrap{overflow-x:auto}
@media (max-width:640px){.st-h,.st-m,.st-f{padding-left:16px;padding-right:16px}article.theory{padding:14px}}
