:root{
  --bg:#EEF2F8; --surface:#FFFFFF; --surface-2:#E4E9F2;
  --ink:#1B2A4A; --ink-soft:#57648A; --line:#CBD4E4;
  --accent:#2447A8; --accent-ink:#FFFFFF;
  --red-pen:#D8402A; --good:#1E9A63; --good-bg:#E4F6EC; --bad-bg:#FBE7E3;
  --tur:#B23A2E; --mat:#1C7FB0; --fen:#2F8F5B; --sos:#C97A2B; --ing:#6E4FA3; --din:#1E8A7A;
  --gsa:#B23570; --muz:#A67C00; --spor:#5B8C1A; --bilisim:#4A4FBF;
  --star-gold:#B8760F; --shadow:rgba(27,42,74,0.13);
  --radius-s:10px; --radius-m:16px; --radius-l:22px;
  --font-d:'Baloo 2',system-ui,sans-serif; --font-b:'Figtree',system-ui,sans-serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#11151F; --surface:#1A2030; --surface-2:#232B3F;
    --ink:#E8ECF7; --ink-soft:#AEB8D2; --line:#333F5C;
    --accent:#7098EC; --accent-ink:#0E1424;
    --red-pen:#FF8368; --good:#4ADE94; --good-bg:#123024; --bad-bg:#3A1D1D;
    --tur:#E2685A; --mat:#4FB3DA; --fen:#4CC98A; --sos:#E6A354; --ing:#A98FDB; --din:#4FC4B0;
    --gsa:#E8729E; --muz:#E5BD4D; --spor:#9AD147; --bilisim:#9096EE;
    --star-gold:#F3B62B; --shadow:rgba(0,0,0,0.45);
  }
}
:root[data-theme="dark"]{
  --bg:#11151F; --surface:#1A2030; --surface-2:#232B3F;
  --ink:#E8ECF7; --ink-soft:#AEB8D2; --line:#333F5C;
  --accent:#7098EC; --accent-ink:#0E1424;
  --red-pen:#FF8368; --good:#4ADE94; --good-bg:#123024; --bad-bg:#3A1D1D;
  --tur:#E2685A; --mat:#4FB3DA; --fen:#4CC98A; --sos:#E6A354; --ing:#A98FDB; --din:#4FC4B0;
  --gsa:#E8729E; --muz:#E5BD4D; --spor:#9AD147; --bilisim:#9096EE;
  --star-gold:#F3B62B; --shadow:rgba(0,0,0,0.45);
}
*{box-sizing:border-box;}
html{background:var(--bg);}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-b);line-height:1.6;-webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:var(--font-d);text-wrap:balance;margin:0;}
button{margin:0;font-family:var(--font-b);}
a{color:inherit;text-decoration:none;}
form.inline{display:inline-flex;}
.icon{width:1em;height:1em;display:inline-block;vertical-align:-0.15em;flex-shrink:0;}
:focus-visible{outline:2.5px solid var(--accent);outline-offset:2px;border-radius:6px;}

.shell{max-width:920px;margin:0 auto;padding:0 20px 64px;}
header.top{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line);}
.top-inner{max-width:920px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.brand{display:flex;align-items:center;gap:10px;cursor:pointer;border:none;background:none;padding:0;color:inherit;}
.brand .mark{width:38px;height:38px;border-radius:11px;background:var(--accent);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.brand .mark .icon{width:22px;height:22px;}
.brand-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2;}
.brand-text .name{font-family:var(--font-d);font-weight:700;font-size:1.05rem;}
#breadcrumb{font-size:0.82rem;color:var(--ink-soft);display:flex;gap:4px;flex-wrap:wrap;align-items:center;}
#breadcrumb a{color:var(--ink-soft);font-size:0.82rem;padding:2px 3px;border-radius:5px;font-weight:600;}
#breadcrumb a:hover{color:var(--accent);text-decoration:underline;}
#breadcrumb .sep{color:var(--line);display:inline-flex;}
#breadcrumb .sep .icon{width:14px;height:14px;}
#breadcrumb .current{color:var(--ink);font-weight:700;}
#progress-badge{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 12px 6px 8px;font-size:0.8rem;font-weight:700;color:var(--ink-soft);flex-shrink:0;}
#progress-badge .ring{width:26px;height:26px;flex-shrink:0;}
#progress-badge .icon{color:var(--star-gold);}

main{padding-top:24px;display:block;}
.eyebrow{font-family:var(--font-b);font-weight:800;font-size:0.72rem;letter-spacing:0.09em;text-transform:uppercase;color:var(--ink-soft);}

.tab-chip{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-d);font-weight:800;font-size:0.72rem;letter-spacing:0.03em;color:#fff;border-radius:7px;padding:4px 8px;flex-shrink:0;}

/* ---- Home ---- */
.hero{padding:6px 0 22px;}
.hero h1{font-size:clamp(1.6rem,1.3rem + 1.2vw,2.15rem);margin-bottom:6px;}
.hero p{color:var(--ink-soft);font-size:1rem;max-width:52ch;margin:0;}

.progress-strip{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);padding:18px 20px;display:flex;align-items:center;gap:18px;margin-bottom:28px;box-shadow:0 1px 0 var(--shadow);}
.progress-strip .num{font-family:var(--font-d);font-weight:800;font-size:1.7rem;font-variant-numeric:tabular-nums;color:var(--accent);}
.progress-strip .lbl{font-size:0.8rem;color:var(--ink-soft);}
.progress-strip .bar-wrap{flex:1;min-width:120px;}
.progress-strip .bar{height:10px;border-radius:999px;background:var(--surface-2);overflow:hidden;}
.progress-strip .bar > span{display:block;height:100%;background:var(--accent);border-radius:999px;}
.progress-strip .stat{display:flex;flex-direction:column;gap:2px;}

.subject-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:20px;}
.subject-card{position:relative;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);padding:22px 18px 18px;cursor:pointer;display:flex;flex-direction:column;gap:10px;box-shadow:0 1px 0 var(--shadow);animation:riseIn .5s ease both;}
.subject-card:nth-child(1){animation-delay:.02s;} .subject-card:nth-child(2){animation-delay:.08s;} .subject-card:nth-child(3){animation-delay:.14s;} .subject-card:nth-child(4){animation-delay:.2s;} .subject-card:nth-child(5){animation-delay:.26s;} .subject-card:nth-child(6){animation-delay:.32s;} .subject-card:nth-child(7){animation-delay:.38s;} .subject-card:nth-child(8){animation-delay:.44s;} .subject-card:nth-child(9){animation-delay:.5s;} .subject-card:nth-child(10){animation-delay:.56s;}
@media (prefers-reduced-motion: reduce){ .subject-card{animation:none;} }
@keyframes riseIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
.subject-card::before{content:attr(data-tab);position:absolute;top:-11px;left:20px;font-family:var(--font-d);font-weight:800;font-size:0.68rem;letter-spacing:0.03em;color:#fff;background:var(--tab-color);border-radius:7px 7px 4px 4px;padding:4px 9px 5px;box-shadow:0 2px 4px var(--shadow);}
.subject-card .top-row{display:flex;align-items:center;justify-content:space-between;}
.subject-card .icon-badge{width:46px;height:46px;border-radius:13px;background:color-mix(in srgb, var(--tab-color) 16%, transparent);color:var(--tab-color);display:flex;align-items:center;justify-content:center;}
.subject-card .icon-badge .icon{width:26px;height:26px;}
.subject-card h2{font-size:1.15rem;}
.subject-card .desc{font-size:0.85rem;color:var(--ink-soft);}
.subject-card .foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;font-size:0.78rem;color:var(--ink-soft);font-weight:700;}
.subject-card .foot .stars{display:flex;gap:2px;color:var(--tab-color);}
.subject-card .foot .stars .icon{width:14px;height:14px;}
.subject-card:hover{border-color:var(--tab-color);}

.karma-card{border:2px dashed var(--accent);border-radius:var(--radius-l);background:color-mix(in srgb, var(--accent) 7%, var(--surface));padding:18px 20px;display:flex;align-items:center;gap:16px;cursor:pointer;text-align:left;width:100%;}
.karma-card .icon-badge{width:46px;height:46px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.karma-card .icon-badge .icon{width:24px;height:24px;}
.karma-card h2{font-size:1.05rem;margin-bottom:2px;}
.karma-card p{font-size:0.82rem;color:var(--ink-soft);margin:0;}
.karma-card .go{margin-left:auto;color:var(--accent);flex-shrink:0;}
.karma-card .go .icon{width:20px;height:20px;}

/* ---- Subject view ---- */
.subject-head{display:flex;align-items:center;gap:14px;margin-bottom:22px;}
.subject-head .icon-badge{width:54px;height:54px;border-radius:15px;background:color-mix(in srgb, var(--sub) 16%, transparent);color:var(--sub);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.subject-head .icon-badge .icon{width:30px;height:30px;}
.subject-head h1{font-size:clamp(1.4rem,1.2rem + 1vw,1.9rem);}
.subject-head p{margin:2px 0 0;color:var(--ink-soft);font-size:0.9rem;}

.topic-list{display:flex;flex-direction:column;gap:12px;}
.topic-card{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:14px 16px;cursor:pointer;text-align:left;width:100%;border-left:6px solid var(--sub);}
.topic-card .no{font-family:var(--font-d);font-weight:800;font-size:1.1rem;color:var(--sub);width:28px;flex-shrink:0;}
.topic-card .info{flex:1;min-width:0;}
.topic-card h3{font-size:1.02rem;margin-bottom:3px;}
.topic-card .meta{display:flex;gap:10px;align-items:center;font-size:0.78rem;color:var(--ink-soft);flex-wrap:wrap;}
.topic-card .meta .read-chip{display:inline-flex;align-items:center;gap:4px;color:var(--good);font-weight:700;}
.topic-card .meta .read-chip .icon{width:14px;height:14px;}
.topic-card .stars{display:flex;gap:2px;color:var(--sub);flex-shrink:0;}
.topic-card .stars .icon{width:15px;height:15px;}
.topic-card .chev{color:var(--ink-soft);flex-shrink:0;}
.topic-card .chev .icon{width:20px;height:20px;}

.back-link{display:inline-flex;align-items:center;gap:5px;background:none;border:none;color:var(--ink-soft);font-weight:700;font-size:0.85rem;cursor:pointer;padding:6px 2px;margin-bottom:6px;}
.back-link .icon{width:17px;height:17px;}
.back-link:hover{color:var(--accent);}

/* ---- Topic view ---- */
.topic-head{margin-bottom:18px;}
.topic-head .eyebrow{color:var(--sub);}
.topic-head h1{font-size:clamp(1.35rem,1.15rem + 1vw,1.8rem);margin-top:4px;}

.tabs{display:flex;gap:8px;background:var(--surface-2);padding:5px;border-radius:999px;margin-bottom:22px;width:fit-content;max-width:100%;}
.tabs a,.tabs span.tab-item{display:flex;align-items:center;gap:7px;border:none;background:none;padding:9px 18px;border-radius:999px;font-weight:700;font-size:0.88rem;color:var(--ink-soft);cursor:pointer;white-space:nowrap;}
.tabs .icon{width:16px;height:16px;}
.tabs .active{background:var(--surface);color:var(--sub);box-shadow:0 1px 3px var(--shadow);}

.lesson-paper{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);padding:26px 24px 26px 40px;background-image:repeating-linear-gradient(var(--surface) 0 41px, var(--line) 41px 42px);background-position:0 78px;}
.lesson-paper::before{content:"";position:absolute;top:0;bottom:0;left:26px;width:2px;background:color-mix(in srgb, var(--red-pen) 55%, transparent);border-radius:2px;}
.lesson-sec{margin-bottom:20px;}
.lesson-sec:last-child{margin-bottom:0;}
.lesson-sec h3{font-size:1.02rem;color:var(--sub);margin-bottom:6px;display:flex;align-items:baseline;gap:8px;}
.lesson-sec p{margin:0;font-size:0.98rem;max-width:64ch;}
.lesson-tip{display:flex;gap:12px;align-items:flex-start;background:color-mix(in srgb, var(--sub) 12%, var(--surface));border:1px solid color-mix(in srgb, var(--sub) 35%, transparent);border-radius:var(--radius-m);padding:14px 16px;margin-top:6px;}
.lesson-tip .icon{width:20px;height:20px;color:var(--sub);flex-shrink:0;margin-top:1px;}
.lesson-tip p{margin:0;font-size:0.92rem;}
.lesson-tip .lead{display:block;font-family:var(--font-d);font-weight:800;font-size:0.78rem;letter-spacing:0.03em;text-transform:uppercase;color:var(--sub);margin-bottom:3px;}
.lesson-done-row{margin-top:24px;padding-top:18px;border-top:1px dashed var(--line);display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.btn{font-family:var(--font-d);font-weight:700;font-size:0.92rem;border-radius:12px;padding:11px 20px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;}
.btn .icon{width:18px;height:18px;}
.btn-primary{background:var(--accent);color:var(--accent-ink);}
.btn-primary.sub-colored{background:var(--sub);}
.btn-ghost{background:var(--surface-2);color:var(--ink);}
.btn-ghost:hover{background:var(--line);}
.done-note{display:inline-flex;align-items:center;gap:6px;color:var(--good);font-weight:700;font-size:0.88rem;}
.done-note .icon{width:17px;height:17px;}
.hint-note{font-size:0.85rem;color:var(--ink-soft);}

/* ---- Quiz ---- */
.quiz-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);padding:24px;}
.quiz-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;flex-wrap:wrap;}
.dots{display:flex;gap:6px;}
.dots span{width:9px;height:9px;border-radius:50%;background:var(--surface-2);border:1.5px solid var(--line);}
.dots span.answered-ok{background:var(--good);border-color:var(--good);}
.dots span.answered-bad{background:var(--red-pen);border-color:var(--red-pen);}
.dots span.current{border-color:var(--sub, var(--accent));transform:scale(1.25);}
.score-live{font-weight:800;font-family:var(--font-d);font-size:0.88rem;color:var(--good);display:flex;align-items:center;gap:5px;}
.score-live .icon{width:16px;height:16px;}
.q-count{font-size:0.78rem;color:var(--ink-soft);font-weight:700;}
.karma-src{display:inline-block;margin-bottom:10px;}

.q-text{font-size:clamp(1.05rem,0.95rem + 0.4vw,1.25rem);font-weight:600;margin-bottom:18px;line-height:1.5;font-family:var(--font-d);}
.options{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;border:none;}
.opt{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--surface-2);border:1.5px solid transparent;border-radius:var(--radius-m);padding:13px 16px;cursor:pointer;font-size:0.96rem;color:var(--ink);font-family:var(--font-b);}
.opt:hover:not(.locked){border-color:var(--sub,var(--accent));}
.opt .box{width:28px;height:28px;border-radius:8px;background:var(--surface);border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;font-weight:800;font-family:var(--font-d);font-size:0.85rem;flex-shrink:0;color:var(--ink-soft);}
.opt .txt{flex:1;}
.opt .mark .icon{width:19px;height:19px;}
.opt.correct{background:var(--good-bg);border-color:var(--good);}
.opt.correct .box{background:var(--good);border-color:var(--good);color:#fff;}
.opt.correct .mark{color:var(--good);}
.opt.wrong{background:var(--bad-bg);border-color:var(--red-pen);}
.opt.wrong .box{background:var(--red-pen);border-color:var(--red-pen);color:#fff;}
.opt.wrong .mark{color:var(--red-pen);}
.opt.locked{cursor:default;}
.opt.dim{opacity:0.55;}

.feedback{margin-top:18px;padding:15px 16px;border-radius:var(--radius-m);background:var(--surface-2);display:flex;gap:12px;align-items:flex-start;}
.feedback .icon{width:20px;height:20px;flex-shrink:0;margin-top:1px;}
.feedback.ok{background:var(--good-bg);}
.feedback.ok .icon{color:var(--good);}
.feedback.bad{background:var(--bad-bg);}
.feedback.bad .icon{color:var(--red-pen);}
.feedback p{margin:0;font-size:0.92rem;}
.feedback .lead{font-weight:800;font-family:var(--font-d);display:block;margin-bottom:3px;}
.feedback.ok .lead{color:var(--good);}
.feedback.bad .lead{color:var(--red-pen);}
.next-row{display:flex;justify-content:flex-end;margin-top:18px;}

/* ---- Results (karne) ---- */
.result-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);padding:32px 26px;text-align:center;}
.result-ring{width:132px;height:132px;margin:0 auto 16px;position:relative;}
.result-ring svg{width:100%;height:100%;transform:rotate(-90deg);}
.result-ring .track{fill:none;stroke:var(--surface-2);stroke-width:10;}
.result-ring .fill{fill:none;stroke:var(--sub,var(--accent));stroke-width:10;stroke-linecap:round;}
.result-ring .center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.result-ring .center b{font-family:var(--font-d);font-size:1.9rem;font-weight:800;font-variant-numeric:tabular-nums;}
.result-ring .center span{font-size:0.72rem;color:var(--ink-soft);font-weight:700;}
.result-stars{display:flex;justify-content:center;gap:6px;margin-bottom:14px;}
.result-stars .icon{width:30px;height:30px;color:var(--line);}
.result-stars .icon.lit{color:var(--star-gold);}
.result-card h2{font-size:1.3rem;margin-bottom:6px;}
.result-card p.msg{color:var(--ink-soft);font-size:0.95rem;max-width:44ch;margin:0 auto 22px;}
.result-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;}

footer.foot{max-width:920px;margin:26px auto 0;padding:0 20px;text-align:center;color:var(--ink-soft);font-size:0.78rem;}

@media (max-width:640px){
  .subject-grid{grid-template-columns:1fr;}
  .progress-strip{flex-wrap:wrap;}
  .top-inner{padding:12px 16px;}
  .shell{padding:0 16px 56px;}
  .lesson-paper{padding:22px 16px 22px 32px;}
  .lesson-paper::before{left:18px;}
}
