/* Birebir Röntgen: kâğıda basılmış rapor. Tek metin ailesi (Plex Sans), başlıklar Bricolage.
   Kart yok, ızgara yok; bölümler boşlukla ve ince çizgiyle ayrılır. Yalnız açık tema (rapor kâğıdı). */
:root{
  color-scheme:light;
  --disp:"Bricolage Grotesque",-apple-system,system-ui,sans-serif;
  --sans:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
  --paper:#faf8f3; --tint:#f1ede4; --tint2:#e8e3d8; --rule:#e2ddd3; --rule2:#cdc7ba;
  --ink:#1e1b16; --ink2:#4a463f; --mute:#7e786e; --faint:#a39d92;
  --up:#2e7d5b; --up-bg:#e4f0e9; --down:#b4432c; --down-bg:#f6e5e0; --flat:#7e786e;
  --kurum:#1e1b16; --turkiye:#a39d92;
  --read:720px; --wide:980px; --pad:20px;
}
*{box-sizing:border-box} html{-webkit-text-size-adjust:100%} html,body{overflow-x:hidden;max-width:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--sans);-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1}
a{color:inherit;text-decoration:none} a.l{text-decoration:underline;text-decoration-color:var(--rule2);text-underline-offset:3px} a.l:hover{text-decoration-color:var(--ink)}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:3px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
b,strong{font-weight:600}

.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px var(--pad);background:color-mix(in oklab,var(--paper) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}
.brand{font:500 15px/1 var(--sans);color:var(--ink2);white-space:nowrap} .brand b{font-family:var(--disp);font-weight:700;color:var(--ink);font-size:17px} .brand .yil{color:var(--mute)}
.nav{display:flex;gap:2px;overflow:auto;scrollbar-width:none} .nav a{padding:7px 11px;border-radius:999px;color:var(--ink2);font-size:14px;white-space:nowrap} .nav a.on{background:var(--ink);color:var(--paper)}
@media(max-width:640px){.top{flex-wrap:wrap;padding:8px 14px 6px;gap:4px 10px} .brand .yil{display:none} .nav{width:100%;gap:0;margin-left:-6px} .nav a{padding:6px 9px;font-size:13.5px} .kocbtn{padding:8px 13px;font-size:13px;right:12px;bottom:12px}}
main{max-width:var(--wide);margin:0 auto;padding:28px var(--pad) 100px}
.foot{max-width:var(--read);margin:0 auto;padding:0 var(--pad) 48px;color:var(--mute);font-size:13px}

h1{font:700 clamp(30px,5.2vw,46px)/1.02 var(--disp);letter-spacing:-.025em;margin:0 0 10px;font-variation-settings:"opsz" 96;max-width:16ch}
h2{font:700 clamp(22px,3.4vw,30px)/1.1 var(--disp);letter-spacing:-.02em;margin:0 0 6px;font-variation-settings:"opsz" 60}
h3{font:600 17px/1.3 var(--sans);margin:22px 0 8px}
p{margin:0 0 12px;max-width:var(--read)} .lead{font-size:19px;line-height:1.45;color:var(--ink2);max-width:var(--read)}
.small{font-size:13.5px;color:var(--mute)} .mute{color:var(--mute)} .n{font-variant-numeric:tabular-nums}
.up{color:var(--up)} .down{color:var(--down)} .flat{color:var(--flat)}
.k{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);font-weight:500}

/* bölüm: kenarda rakam, ince üst çizgi, cömert boşluk */
.sec{border-top:1px solid var(--rule2);padding:26px 0 10px;margin-top:34px;display:grid;grid-template-columns:1fr;gap:6px 28px}
.sec>.num{font:600 13px/1 var(--sans);color:var(--mute);letter-spacing:.06em} .sec>.body{min-width:0}
@media(min-width:860px){.sec{grid-template-columns:64px 1fr}}
.claim{font:500 clamp(19px,2.6vw,24px)/1.3 var(--sans);letter-spacing:-.01em;margin:6px 0 14px;max-width:var(--read)}
.claim .n{font-weight:600}
.act{display:flex;gap:10px;align-items:baseline;margin:12px 0 4px;max-width:var(--read);padding:10px 14px;background:var(--tint);border-radius:8px;font-size:15px}
.act>span:first-child{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);font-weight:600;white-space:nowrap}

/* mektup: madde = başlık + düz metin + (görsel) + ne yapalım */
.m{margin:38px 0 0;max-width:var(--read)} .m h2{margin-bottom:8px} .m p{font-size:17px;line-height:1.55}
.gor{margin:14px 0 10px;max-width:var(--read)} .gor .small{margin-top:6px}
.yap{padding:12px 16px;background:var(--tint);border-radius:8px;font-size:16px!important;margin-top:12px}
/* manşet: dört iddia */
.manset{display:grid;gap:0;margin:22px 0 6px;max-width:var(--wide)} .manset a{display:grid;grid-template-columns:minmax(120px,170px) 1fr;gap:6px 22px;padding:16px 0;border-top:1px solid var(--rule);font-size:17px;line-height:1.4;align-items:start}
.manset a .fig{font:700 clamp(26px,3.6vw,34px)/1.05 var(--disp);letter-spacing:-.025em;font-variation-settings:"opsz" 60;white-space:nowrap} .manset a .txt{max-width:var(--read)}
.manset a b{font-weight:600} .manset a .go{display:block;font-size:13px;color:var(--mute);margin-top:4px}
@media(max-width:560px){.manset a{grid-template-columns:1fr}}
.manset a:hover .go{color:var(--ink)}

/* ders karnesi: satır = ders; küçük çizgi grafik + fark */
.ders{display:grid;grid-template-columns:1fr;gap:0;max-width:var(--wide)}
.ders .row{display:grid;grid-template-columns:minmax(120px,1.1fr) minmax(160px,2fr) 88px minmax(140px,1.4fr);gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--rule)}
.ders .row .ad{font-weight:600} .ders .row .ad .small{display:block;font-weight:400}
.ders .row .fark{font:600 22px/1 var(--disp);text-align:right;font-variation-settings:"opsz" 40;letter-spacing:-.02em}
.ders .row .yorum{font-size:13.5px;color:var(--ink2)}
@media(max-width:640px){.ders .row{grid-template-columns:1fr 84px;grid-template-areas:"ad fark" "chart chart" "yorum yorum"} .ders .row .ad{grid-area:ad} .ders .row .fark{grid-area:fark} .ders .row .chart{grid-area:chart} .ders .row .yorum{grid-area:yorum}}
.legend{display:flex;gap:16px;font-size:13px;color:var(--mute);margin:4px 0 8px} .legend i{display:inline-block;width:18px;height:2px;background:var(--kurum);vertical-align:middle;margin-right:6px} .legend i.t{background:var(--turkiye)}

/* grafik ortak */
svg.ch{width:100%;height:auto;display:block;overflow:visible} svg.ch text{font:12px var(--sans);fill:var(--mute)} svg.ch .ax{stroke:var(--rule2);stroke-width:1} svg.ch .gr{stroke:var(--rule);stroke-width:1}
svg.ch .ln{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round} svg.ch .hit{fill:transparent;cursor:crosshair}
svg.ch .lbl{fill:var(--ink);font-weight:500} svg.ch .lbl.up{fill:var(--up)} svg.ch .lbl.down{fill:var(--down)} svg.ch .lbl.flat{fill:var(--mute)}
.tip{position:fixed;z-index:20;pointer-events:none;background:var(--ink);color:var(--paper);padding:8px 10px;border-radius:6px;font-size:12.5px;line-height:1.4;max-width:280px;box-shadow:0 6px 20px -6px #0006}

/* çubuk listesi (boş oranı vb.) */
.bars{max-width:var(--read)} .bars .r{display:grid;grid-template-columns:minmax(110px,1fr) 3fr 56px;gap:12px;align-items:center;padding:6px 0;border-bottom:1px solid var(--rule);font-size:14.5px}
.bars .r .bar{height:10px;background:var(--tint2);border-radius:3px;position:relative;overflow:hidden} .bars .r .bar i{position:absolute;left:0;top:0;bottom:0;background:var(--ink2);border-radius:3px}
.bars .r .bar i.tail{background:var(--down);opacity:.85} .bars .r .v{text-align:right;font-weight:600}
.bars .r .m{display:block;font-size:12.5px;color:var(--mute)}

/* öğrenci listesi / yolculuk */
.grp{margin:18px 0 6px} .grp .k{margin-bottom:6px}
.ogr{display:grid;grid-template-columns:1fr;max-width:var(--wide)}
.ogr a{display:grid;grid-template-columns:minmax(130px,1.3fr) 60px minmax(120px,1fr) 1.6fr;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--rule);font-size:14.5px}
.ogr a:hover{background:var(--tint)} .ogr a .ad{font-weight:600} .ogr a .ad .small{display:block;font-weight:400}
.ogr a .puan{font-variant-numeric:tabular-nums} .ogr a .puan b{font-weight:600}
@media(max-width:640px){.ogr a{grid-template-columns:1fr auto;grid-template-areas:"ad puan" "not not"} .ogr a .ad{grid-area:ad} .ogr a .puan{grid-area:puan;text-align:right} .ogr a .n1{display:none} .ogr a .not{grid-area:not}}
.pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12.5px;font-weight:500;background:var(--tint)} .pill.up{background:var(--up-bg);color:var(--up)} .pill.down{background:var(--down-bg);color:var(--down)}

/* öğrenci sayfası */
.hdr{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;flex-wrap:wrap;margin-bottom:10px} .hdr .meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.big{font:700 clamp(34px,6vw,54px)/1 var(--disp);letter-spacing:-.03em;font-variation-settings:"opsz" 96;margin:6px 0 4px} .big .arrow{color:var(--faint);font-weight:500;margin:0 8px}
.big .d{font-size:.5em;vertical-align:middle;margin-left:10px}
table.t{width:100%;border-collapse:collapse;font-size:14px} table.t th{text-align:left;font-weight:500;color:var(--mute);font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:6px 8px 6px 0;border-bottom:1px solid var(--rule2)}
table.t td svg.ch{width:140px;height:36px} table.t td{padding:8px 8px 8px 0;border-bottom:1px solid var(--rule);vertical-align:top} table.t .r{text-align:right} table.t th.r{text-align:right}
.tw{overflow-x:auto;max-width:100%} .stack{display:flex;height:8px;border-radius:3px;overflow:hidden;background:var(--tint2);min-width:90px} .stack i{display:block;height:100%} .stack .d{background:var(--ink2)} .stack .y{background:var(--down)} .stack .b{background:transparent}
ol.plan{padding-left:22px;margin:0 0 12px;max-width:var(--read)} ol.plan li{margin:0 0 10px} ul.li{padding-left:20px;margin:0 0 12px;max-width:var(--read)} ul.li li{margin:0 0 6px}
details{margin:10px 0 0;max-width:var(--wide)} details>summary{cursor:pointer;font-weight:500;color:var(--ink2);padding:8px 0;list-style:none;display:flex;align-items:center;gap:8px}
details>summary::before{content:"";width:0;height:0;border:5px solid transparent;border-left:7px solid var(--mute);transition:transform .15s} details[open]>summary::before{transform:rotate(90deg)}
.btn{display:inline-block;padding:8px 14px;border-radius:8px;background:var(--ink);color:var(--paper);font-weight:500;font-size:14px;border:0;cursor:pointer} .btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--rule2)}
.empty{padding:40px 0;color:var(--mute)}
.two{display:grid;grid-template-columns:1fr;gap:10px 36px;max-width:var(--wide)} @media(min-width:820px){.two{grid-template-columns:1fr 1fr}}
.kz{max-width:var(--wide)} .kz .r{display:grid;grid-template-columns:minmax(100px,.9fr) 3fr 70px;gap:12px;align-items:baseline;padding:7px 0;border-bottom:1px solid var(--rule);font-size:14px}
.kz .r .ders{color:var(--mute);font-size:13px} .kz .r .v{text-align:right;font-weight:600} .kz .r .m{color:var(--mute);font-size:12.5px}
@media(max-width:560px){.kz .r{grid-template-columns:1fr 60px} .kz .r .ders{grid-column:1/-1}}

/* rapor modu (PNG / yazdır): üst çubuk ve koç yok */
body.rapor-mode .top,body.rapor-mode .kocbtn,body.rapor-mode .koc,body.rapor-mode .foot{display:none} body.rapor-mode main{padding-top:20px;max-width:800px}
@media print{.top,.kocbtn,.koc,.foot,.nav{display:none} body{background:#fff} main{padding:0;max-width:none}}

/* koç */
.kocbtn{position:fixed;right:16px;bottom:16px;z-index:9;padding:10px 16px;border-radius:999px;background:var(--ink);color:var(--paper);border:0;font:500 14px var(--sans);cursor:pointer;box-shadow:0 8px 24px -8px #0008}
.koc[hidden]{display:none} .kocbtn[hidden]{display:none} .koc{position:fixed;right:12px;bottom:12px;z-index:10;width:min(400px,calc(100vw - 24px));height:min(560px,calc(100vh - 24px));background:var(--paper);border:1px solid var(--rule2);border-radius:14px;display:flex;flex-direction:column;box-shadow:0 20px 50px -20px #0009}
.koc-h{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--rule)} .koc-ctx{font-size:12.5px;color:var(--mute)} .koc-x{background:none;border:0;font-size:22px;color:var(--mute);cursor:pointer;line-height:1}
.koc-log{flex:1;overflow:auto;padding:12px 14px;display:flex;flex-direction:column;gap:10px;font-size:14px}
.koc-m{max-width:92%;padding:8px 11px;border-radius:10px;line-height:1.45} .koc-m.a{background:var(--tint);align-self:flex-start} .koc-m.u{background:var(--ink);color:var(--paper);align-self:flex-end} .koc-m.w{color:var(--mute);font-style:italic;background:none} .koc-m.e{color:var(--down);background:var(--down-bg)}
.koc-m p{margin:0 0 6px} .koc-m p:last-child{margin:0} .koc-m ul{margin:4px 0;padding-left:18px}
.koc-sug{display:flex;gap:6px;flex-wrap:wrap;padding:0 14px 8px} .koc-sug button{font:13px var(--sans);padding:5px 10px;border-radius:999px;border:1px solid var(--rule2);background:transparent;color:var(--ink2);cursor:pointer} .koc-sug button:hover{background:var(--tint)}
.koc-f{display:flex;gap:8px;padding:10px 14px 14px;border-top:1px solid var(--rule)} .koc-f input{flex:1;font:14px var(--sans);padding:9px 12px;border-radius:9px;border:1px solid var(--rule2);background:#fff;color:var(--ink)} .koc-f button{width:38px;border-radius:9px;border:0;background:var(--ink);color:var(--paper);font-size:16px;cursor:pointer}
