
:root{color-scheme:light;--blue:#4169e1;--ink:#202633;--muted:#707989;--line:#e1e5ec;--bg:#f3f5f9;--surface:#ffffff;--surface-soft:#f8faff;--control:#ffffff;--soft-blue:#edf2ff;--soft-green:#dff5e9;--green:#16845b;--red:#c63d43;--shadow:0 8px 28px rgba(25,39,70,.06)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif}
header{background:#fff;border-bottom:1px solid var(--line);padding:18px max(18px,calc((100vw - 1100px)/2));display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.brand{font-weight:800;letter-spacing:-.3px}.brand small{display:block;font-size:12px;color:var(--muted);font-weight:500}
.wrap{max-width:1100px;margin:24px auto;padding:0 16px}.crumb{font-size:12px;color:var(--muted);margin:0 0 16px}
h1{font-size:25px;letter-spacing:-.7px;margin:0 0 6px}h2{font-size:18px;margin:0 0 8px}.sub{color:var(--muted);margin:0 0 22px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.stat,.panel,.testcard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}.stat strong{font-size:22px;display:block}.stat span{font-size:12px;color:var(--muted)}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:18px 0}.btn{border:0;border-radius:8px;padding:10px 14px;font-weight:700;cursor:pointer;background:var(--blue);color:white}.btn.secondary{background:#eef3ff;color:#1c57bd;border:1px solid #d9e5ff}.btn.light{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn:disabled{opacity:.45;cursor:not-allowed}
input[type=file]{max-width:100%;font-size:13px}.search{padding:10px 12px;border:1px solid var(--line);border-radius:8px;min-width:220px;flex:1}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.testcard{display:flex;flex-direction:column;gap:8px}.tag{align-self:flex-start;background:#f0f2f5;color:#66707d;border-radius:5px;padding:3px 7px;font-size:10px;font-weight:800;letter-spacing:.5px}.testcard h3{font-size:15px;margin:0}.meta{font-size:12px;color:var(--muted);display:flex;gap:14px;flex-wrap:wrap}.testcard .btn{margin-top:6px;align-self:flex-start}
.notice{border:1px solid #d9e5ff;background:#f7faff;color:#37517b;padding:12px 14px;border-radius:9px;font-size:13px;margin:14px 0}
.sectioncards{display:flex;flex-direction:column;gap:10px}.sectioncard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px;display:flex;align-items:center;gap:14px;min-height:82px;transition:transform .2s,box-shadow .2s}.sectioncard:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(30,40,60,.12)}.sectionicon{width:64px;height:64px;border-radius:10px;display:grid;place-items:center;font-size:28px;flex-shrink:0}.purple{background:#f1edff;color:#8a7ce8}.orange{background:#fff1e6;color:#ff994c}.blueicon{background:#e8f4ff;color:#438fe0}.pinkicon{background:#fff0f5;color:#e56e9a}.sectionname{flex:1}.btn.dark{background:#222;color:#fff}.textback{border:0;background:none;color:#1769ff;cursor:pointer;font:inherit;padding:0}.hidden{display:none!important}.examhead{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.timer{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums;background:#fff0f0;color:#a92931;border:1px solid #ffd8d8;border-radius:9px;padding:8px 13px}
.examlayout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:14px}.questionbox,.sidebox{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}.qtop{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin-bottom:12px}.qtext{font-size:18px;font-weight:650;margin:10px 0 20px;white-space:pre-wrap}.option{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:9px;margin:9px 0;cursor:pointer}.option:has(input:checked){border-color:var(--blue);background:#f4f8ff}.option input{margin-top:4px;accent-color:var(--blue)}.qactions{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.palette{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:12px}.pal{border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);padding:8px 0;cursor:pointer;transition:transform .15s,border-color .15s,background .15s}.pal:hover{transform:translateY(-1px);border-color:var(--accent)}.pal.answered{background:color-mix(in srgb,var(--green) 13%,var(--surface));border-color:color-mix(in srgb,var(--green) 60%,var(--line));color:var(--ink)}.pal.current{outline:2px solid var(--accent);outline-offset:1px;background:color-mix(in srgb,var(--accent) 20%,var(--surface));border-color:var(--accent);color:var(--ink)}.sidebox p{font-size:12px;color:var(--muted)}.legend{font-size:11px;color:var(--muted);margin-top:12px}.resultscore{font-size:38px;font-weight:850;letter-spacing:-1px}.reviewitem{padding:14px 0;border-top:1px solid var(--line)}.correct{color:var(--green);font-weight:700}.wrong{color:var(--red);font-weight:700}.small{font-size:12px;color:var(--muted)}
@media(max-width:720px){.grid{grid-template-columns:1fr}.examlayout{grid-template-columns:1fr}.stats{gap:8px}.stat{padding:12px}.stat strong{font-size:18px}.sidebox{order:-1}.palette{grid-template-columns:repeat(8,1fr)}.qtext{font-size:16px}}

body{transition:background .25s,color .25s}.sectionicon{transition:transform .25s}.sectioncard:hover .sectionicon{transform:rotate(-5deg) scale(1.06)}
.celebrate{position:fixed;inset:0;pointer-events:none;z-index:9999;overflow:hidden}.confetti{position:absolute;top:-20px;width:9px;height:14px;border-radius:2px;animation:fall 2.6s ease-in forwards;opacity:.95}.celebrateBanner{position:fixed;z-index:10000;left:50%;top:18%;transform:translate(-50%,-20px) scale(.8);padding:20px 28px;border-radius:20px;background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:0 20px 70px #0003;text-align:center;animation:popIn .45s cubic-bezier(.2,1.5,.4,1) forwards;pointer-events:none}.celebrateBanner strong{display:block;font-size:26px}.celebrateBanner span{color:var(--muted)}@keyframes fall{to{transform:translate3d(var(--drift),110vh,0) rotate(760deg);opacity:.8}}@keyframes popIn{to{transform:translate(-50%,0) scale(1)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
header{box-shadow:0 2px 12px rgba(25,39,70,.035)}
.stat,.panel,.testcard,.sectioncard,.questionbox,.sidebox{box-shadow:var(--shadow);transition:background .2s,border-color .2s}
.testcard{transition:transform .16s,box-shadow .16s}
.testcard:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(25,39,70,.1)}
.btn{transition:filter .15s,transform .15s}
.btn:hover{filter:brightness(.97);transform:translateY(-1px)}
button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 38%,transparent);outline-offset:2px}
select{font:inherit}
.theme-control{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);font-weight:700}
.theme-control select{background:var(--control);color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:8px 10px}
body,[data-theme]{background:var(--bg);color:var(--ink)}
header,.stat,.panel,.testcard,.sectioncard,.questionbox,.sidebox{background:var(--surface);color:var(--ink);border-color:var(--line)}
.search,input:not([type="radio"]):not([type="file"]),select{background:var(--control);color:var(--ink);border-color:var(--line)}
.btn.light{background:var(--surface);color:var(--ink);border-color:var(--line)}
.btn.secondary{background:var(--soft-blue);color:var(--blue);border-color:var(--line)}
.tag{background:var(--soft-blue);color:var(--blue)}
.notice{background:var(--surface-soft);color:var(--muted);border-color:var(--line)}
.option{background:var(--surface);border-color:var(--line)}
.option:has(input:checked){border-color:var(--blue);background:var(--soft-blue)}
.pal{background:var(--control);color:var(--ink);border-color:var(--line)}
.pal.answered{background:var(--soft-green);border-color:#a8dec1;color:#176947}
.timer{background:color-mix(in srgb,var(--red) 9%,var(--surface));color:var(--red);border-color:color-mix(in srgb,var(--red) 25%,var(--line))}
hr{border-color:var(--line)}
body[data-theme="dark"]{color-scheme:dark;--ink:#e8edf5;--muted:#a2adbd;--line:#303b4b;--bg:#111722;--surface:#192230;--surface-soft:#202b3b;--control:#141d29;--soft-blue:#26395a;--soft-green:#183d32;--green:#55d6a1;--red:#ff858b;--shadow:0 8px 28px rgba(0,0,0,.16)}
body[data-theme="paper"]{color-scheme:light;--ink:#463a2a;--muted:#88775f;--line:#e3d3b7;--bg:#f2e6cd;--surface:#fbf2df;--surface-soft:#f7ebd2;--control:#fff7e8;--soft-blue:#efe1bf;--soft-green:#dce9cf;--blue:#8a642b;--green:#4e7440;--red:#a54a40;--shadow:0 8px 24px rgba(96,70,30,.07)}
@media(max-width:720px){header{padding:14px 16px}.theme-control{width:100%;justify-content:flex-end}.wrap{margin:18px auto}}

/* Tablet-first responsive refinements */
@media (min-width:721px) and (max-width:1024px){
  .wrap{max-width:100%;padding:0 22px;margin:22px auto}
  header{padding:16px 24px}
  .examlayout{grid-template-columns:minmax(0,1fr) 220px;gap:12px}
  .questionbox,.sidebox{padding:16px}
  .palette{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
  .pal{min-height:40px}
  .qactions{gap:7px}
  .qactions .btn{padding:11px 12px}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .sectioncard{padding:12px 14px}
}
@media (max-width:820px){
  .examlayout{grid-template-columns:minmax(0,1fr)}
  .sidebox{order:0}
  .palette{grid-template-columns:repeat(8,minmax(0,1fr))}
  .questionbox{padding:16px}
  .qactions .btn{min-height:44px}
  .option{padding:14px;min-height:48px}
}
@media (max-width:560px){
  .sectioncard{gap:10px;min-height:74px}
  .sectionicon{width:46px;height:46px;font-size:23px}
  .sectionname{font-size:13px;line-height:1.35}
  .sectioncard .btn{padding:9px 10px;white-space:nowrap}
  h1{font-size:22px}
  .stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .stat{padding:10px}
  .stat strong{font-size:17px}
  .qactions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .qactions span[style*="flex:1"]{display:none}
  .qactions .btn{width:100%}
  .examhead{align-items:flex-start}
  .timer{font-size:18px;padding:7px 10px}
}


/* Complete responsive redesign: fluid desktop/tablet/phone layouts */
:root{--blue:#6654e8;--ink:#242238;--muted:#77758b;--line:#e8e5f0;--bg:#f7f5ef;--surface:#fffdf8;--surface-soft:#f5f1e5;--control:#fffdf8;--soft-blue:#eeebff;--soft-green:#dcf7e9;--green:#16865b;--red:#c94358;--shadow:0 12px 34px rgba(46,36,87,.07)}
body{background:radial-gradient(ellipse at 5% 0%,rgba(221,211,255,.38),transparent 32%),var(--bg);font-size:15px;min-height:100vh}header{position:sticky;top:0;z-index:50;padding:12px clamp(14px,4vw,48px);background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);gap:12px}.brandmark,.header-tools{display:flex;align-items:center;gap:12px}.brandlogo{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,#7969f4,#a99cff);color:#fff;font-size:23px;box-shadow:0 7px 18px #7866e53d}.brand{font-size:16px}.brand small{font-size:10px;letter-spacing:1px}.header-tools{flex-wrap:wrap;justify-content:flex-end}.iconbtn,.profile-chip{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:8px 11px;font:600 12px inherit;cursor:pointer}.profile-chip{display:flex;align-items:center;gap:8px}.avatar{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(145deg,#f3b4c7,#c6baff);color:#33284e;font-weight:900}.wrap{width:min(1180px,100%);margin:clamp(16px,3vw,34px) auto;padding:0 clamp(12px,3vw,28px)}h1{font-size:clamp(23px,3vw,34px);letter-spacing:-1px;line-height:1.15}h2{letter-spacing:-.3px}.crumb{letter-spacing:.2px}.sub{max-width:700px;line-height:1.7}.sectioncards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:26px}.sectioncard{padding:18px;min-height:112px;border-radius:20px;box-shadow:0 7px 24px rgba(43,35,73,.045);position:relative;overflow:hidden}.sectioncard:after{content:"";position:absolute;width:110px;height:110px;border-radius:50%;right:-45px;top:-45px;background:currentColor;opacity:.035;pointer-events:none}.sectioncard:hover{transform:translateY(-4px);box-shadow:0 18px 35px rgba(43,35,73,.1)}.sectionicon{width:58px;height:58px;border-radius:17px}.sectionname{font-size:15px;font-weight:750;line-height:1.4}.sectioncard .btn{margin-left:auto;align-self:center;border-radius:11px;padding:11px 14px;white-space:nowrap}.btn{border-radius:11px;padding:11px 16px;background:linear-gradient(135deg,#7160ed,#5848d1);box-shadow:0 5px 12px #6654e82a}.btn.dark{background:#28253a}.btn.secondary{box-shadow:none}.panel,.stat,.testcard,.questionbox,.sidebox{border-radius:18px}.panel{padding:clamp(14px,2vw,22px)}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.testcard{padding:18px;gap:10px;min-width:0}.testcard h3{font-size:16px;line-height:1.4}.testcard .small{overflow-wrap:anywhere}.testcard .btn{align-self:stretch;margin-top:5px}.tag{border-radius:999px;padding:5px 9px;letter-spacing:.6px}.toolbar{gap:10px}.search{min-width:0}.stats{gap:14px}.stat{padding:17px}.notice{border-radius:13px;line-height:1.6}.examhead{align-items:center;padding:16px 18px;margin-bottom:16px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.exam-title-wrap{min-width:0}.exam-title-wrap h1{overflow-wrap:anywhere}.exam-tools{display:flex;align-items:center;gap:10px}.live-pill{font-size:11px;color:var(--green);font-weight:800;display:flex;align-items:center;gap:6px}.live-pill i{width:7px;height:7px;border-radius:50%;background:#22bd82;box-shadow:0 0 0 4px #22bd821b}.timer{font-size:20px;border-radius:12px;white-space:nowrap}.examlayout{grid-template-columns:minmax(0,1fr) minmax(245px,300px);gap:16px;align-items:start}.questionbox{padding:clamp(16px,2.4vw,28px);min-width:0}.qtop{align-items:center}.qtext{font-size:clamp(17px,1.8vw,21px);line-height:1.65;overflow-wrap:anywhere}.option{padding:14px 15px;line-height:1.5;border-radius:13px;transition:border .15s,background .15s,transform .15s}.option:hover{transform:translateX(2px)}.option input{width:18px;height:18px;flex:0 0 auto}.qactions{gap:9px}.qactions .btn{min-height:46px}.sidebox{position:sticky;top:88px;padding:18px;min-width:0}.palette{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.pal{min-height:42px;border-radius:10px;font-weight:750;transition:transform .15s,background .15s}.pal:hover{transform:translateY(-2px)}.pal.current{outline:3px solid var(--blue);outline-offset:1px}.palette-details summary{cursor:pointer;font-weight:750;font-size:13px;padding:10px 0}.palette-details summary::marker{color:var(--blue)}.palette-details summary span{float:right;color:var(--muted);font-weight:500}.welcome-backdrop{position:fixed;inset:0;z-index:2000;background:rgba(27,23,47,.52);backdrop-filter:blur(8px);display:grid;place-items:center;padding:18px}.welcome-backdrop.hidden{display:none!important}.welcome-card{width:min(440px,100%);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:26px;padding:clamp(22px,5vw,36px);box-shadow:0 30px 100px #17122e45;animation:welcomeIn .45s cubic-bezier(.2,1.3,.4,1)}.welcome-spark{width:54px;height:54px;border-radius:18px;background:linear-gradient(145deg,#7969f4,#b3a7ff);display:grid;place-items:center;color:white;font-size:27px;margin-bottom:20px}.eyebrow{font-size:10px;letter-spacing:1.7px;color:var(--blue);font-weight:900}.welcome-card h2{font-size:30px;margin:8px 0}.muted{color:var(--muted)}.welcome-card input{width:100%;padding:14px;border:1px solid var(--line);border-radius:12px;margin:12px 0;font:inherit}.welcome-submit{width:100%;display:flex;justify-content:space-between;align-items:center}.tiny{font-size:11px;margin-bottom:0}.resultscore{font-size:clamp(38px,7vw,56px);color:var(--blue)}.celebrateBanner{top:clamp(12%,100px,20%);width:min(420px,calc(100vw - 28px));border-radius:24px;padding:26px 20px}.celebrateBanner strong{font-size:clamp(24px,5vw,34px)}
@keyframes welcomeIn{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}
@media(min-width:721px) and (max-width:1100px){.wrap{padding:0 22px}.examlayout{grid-template-columns:minmax(0,1fr) 260px}.sidebox{top:84px}.palette{grid-template-columns:repeat(4,minmax(0,1fr))}.qactions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.action-spacer{display:none}.qactions .btn{width:100%}.sectioncard{padding:15px}}
@media(max-width:900px){.examlayout{grid-template-columns:minmax(0,1fr)}.sidebox{position:static;order:2}.palette{grid-template-columns:repeat(8,minmax(0,1fr))}.palette-details:not([open]){margin-bottom:0}.palette-details[open] .palette{max-height:240px;overflow:auto}.examhead{align-items:flex-start}.exam-tools{margin-left:auto}}
@media(max-width:600px){#exportResultsButton,#resetAttemptsButton{display:inline-flex;font-size:10px;white-space:nowrap;padding:8px 7px}#exportResultsButton:after,#resetAttemptsButton:after{content:none}.header-tools{row-gap:7px}header{padding:10px 12px}.brandlogo{width:36px;height:36px}.brand{font-size:14px}.brand small{font-size:8px;letter-spacing:.5px}.header-tools{gap:6px}.header-tools #headerCount{display:none}.iconbtn{font-size:0;padding:9px}.iconbtn:after{content:"♫";font-size:16px}.profile-chip{padding:4px 7px}.profile-chip #userNameLabel{max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar{width:26px;height:26px}.sectioncards{grid-template-columns:1fr;gap:11px;margin-top:18px}.sectioncard{min-height:86px;padding:12px;gap:10px;border-radius:16px}.sectionicon{width:46px;height:46px;border-radius:13px;font-size:23px}.sectionname{font-size:13px}.sectioncard .btn{padding:9px 10px;font-size:12px}.grid{grid-template-columns:1fr}.stats{gap:8px;margin:14px 0}.stat{padding:11px}.stat strong{font-size:18px}.stat span{font-size:10px}.toolbar .search{flex-basis:100%;width:100%}.examhead{padding:13px;border-radius:15px;gap:8px}.examhead h1{font-size:21px}.exam-tools{width:100%;justify-content:space-between}.live-pill{font-size:10px}.timer{font-size:18px;padding:7px 10px}.questionbox{padding:14px;border-radius:15px}.qtext{font-size:17px;margin-bottom:15px}.qactions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;position:sticky;bottom:8px;padding:9px;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:15px;z-index:20;box-shadow:0 8px 25px #25203b1c}.qactions .btn{width:100%;padding:10px 8px;font-size:12px;min-height:44px}.action-spacer{display:none}.palette{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.pal{min-height:40px}.sidebox{padding:14px}.palette-details[open] .palette{max-height:200px}.welcome-card h2{font-size:27px}}
@media(max-width:360px){.brand small{display:none}.sectioncard{gap:8px}.sectionname{font-size:12px}.sectioncard .btn{padding:8px}.palette{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.welcome-card,.confetti,.celebrateBanner{animation:none!important}}


/* Final responsive pass: tablet navigation and right-aligned primary actions */
.qactions{display:flex;align-items:center;gap:10px}
.qactions #prev{order:1}
.qactions #clearAnswer{order:2}
.qactions .action-spacer{order:3;flex:1}
.qactions #next{order:4;margin-left:auto}
.qactions #finish{order:5}
.confirm-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:22px}
.finish-confirm{background:linear-gradient(135deg,#ef476f,#c9184a)}
body.motion-off *,body.motion-off *::before,body.motion-off *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
body[data-theme="tokyo"]{color-scheme:dark;--ink:#c0caf5;--muted:#7986b3;--line:#303b63;--bg:#16161e;--surface:#1a1b26;--surface-soft:#202337;--control:#16161e;--soft-blue:#292e42;--soft-green:#203a3a;--blue:#7aa2f7;--green:#9ece6a;--red:#f7768e;--shadow:0 12px 32px #0004}
body[data-theme="mocha"]{color-scheme:dark;--ink:#cdd6f4;--muted:#a6adc8;--line:#45475a;--bg:#1e1e2e;--surface:#181825;--surface-soft:#242438;--control:#11111b;--soft-blue:#313244;--soft-green:#1e3a36;--blue:#cba6f7;--green:#a6e3a1;--red:#f38ba8;--shadow:0 10px 30px #11111b66}
body[data-theme="latte"]{color-scheme:light;--ink:#4c4f69;--muted:#7c7f93;--line:#ccd0da;--bg:#eff1f5;--surface:#e6e9ef;--surface-soft:#f4f4f8;--control:#fff;--soft-blue:#dce0f2;--soft-green:#dcebdc;--blue:#8839ef;--green:#40a02b;--red:#d20f39;--shadow:0 8px 24px #4c4f6914}
body[data-theme="dracula"]{color-scheme:dark;--ink:#f8f8f2;--muted:#b8b8c8;--line:#44475a;--bg:#282a36;--surface:#343746;--surface-soft:#3b3e50;--control:#242631;--soft-blue:#44475a;--soft-green:#244c43;--blue:#bd93f9;--green:#50fa7b;--red:#ff5555;--shadow:0 10px 28px #191a22aa}
body[data-theme="rose"]{color-scheme:dark;--ink:#e0def4;--muted:#908caa;--line:#403d52;--bg:#191724;--surface:#1f1d2e;--surface-soft:#26233a;--control:#191724;--soft-blue:#2a283e;--soft-green:#203b39;--blue:#c4a7e7;--green:#9ccfd8;--red:#eb6f92;--shadow:0 10px 28px #0003}
body[data-theme="cyber"]{color-scheme:dark;--ink:#f5f7ff;--muted:#a8b0ca;--line:#34385d;--bg:#0b0b18;--surface:#14142a;--surface-soft:#1b1b36;--control:#090916;--soft-blue:#24244b;--soft-green:#163b36;--blue:#00e5ff;--green:#7cff6b;--red:#ff4d9d;--shadow:0 0 28px #00e5ff18}
@media (min-width:601px) and (max-width:1100px){
 .wrap{width:100%;padding-inline:clamp(16px,3vw,32px)}
 .examlayout{grid-template-columns:minmax(0,1fr) minmax(235px,30%);gap:14px}
 .questionbox{min-width:0;padding:clamp(16px,2vw,24px)}
 .sidebox{position:sticky;top:88px;max-height:calc(100dvh - 104px);overflow:auto}
 .palette{grid-template-columns:repeat(4,minmax(0,1fr))}
 .qactions{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
 .qactions #prev{grid-column:1;grid-row:1}
 .qactions #clearAnswer{grid-column:1;grid-row:2}
 .qactions .action-spacer{display:none}
 .qactions #next{grid-column:2;grid-row:1;margin:0}
 .qactions #finish{grid-column:2;grid-row:2}
 .qactions .btn{width:100%;min-height:48px}
}
@media (max-width:820px){
 .examlayout{grid-template-columns:minmax(0,1fr)}
 .sidebox{position:static;max-height:none;order:2}
 .questionbox{order:1}
 .palette{grid-template-columns:repeat(8,minmax(0,1fr))}
 .qactions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .qactions #prev{grid-column:1;grid-row:1}
 .qactions #next{grid-column:2;grid-row:1;margin:0}
 .qactions #clearAnswer{grid-column:1;grid-row:2}
 .qactions #finish{grid-column:2;grid-row:2}
 .qactions .action-spacer{display:none}
 .qactions .btn{width:100%;min-height:48px}
 .sidebox #finishSide{display:none}
}
@media(max-width:600px){
 .header-tools{width:100%;justify-content:space-between}
 .theme-control{width:100%;justify-content:space-between}
 .theme-control select{max-width:70%;min-width:0}
 .confirm-actions{display:grid;grid-template-columns:1fr}
 .confirm-actions .btn{width:100%;min-height:48px}
 .palette{grid-template-columns:repeat(6,minmax(0,1fr))}
}


/* Engaging answer review: preserve the familiar question-and-options format */
.reviewitem{margin:16px 0;padding:clamp(16px,2.2vw,24px);border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow);transition:transform .2s,border-color .2s}
.reviewitem:hover{transform:translateY(-2px)}
.reviewtop{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.reviewnum{font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
.reviewbadge{border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;white-space:nowrap}
.reviewbadge.good{color:var(--green);background:var(--soft-green)}
.reviewbadge.bad{color:var(--red);background:color-mix(in srgb,var(--red) 13%,var(--surface))}
.reviewbadge.skip{color:var(--muted);background:var(--surface-soft)}
.reviewquestion{font-size:clamp(16px,2vw,19px);line-height:1.6;font-weight:750;margin:0 0 16px}
.reviewoptions{display:grid;gap:9px;margin:14px 0 18px}
.reviewoption{display:flex;align-items:flex-start;gap:11px;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft);line-height:1.5}
.reviewletter{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:9px;background:var(--surface);border:1px solid var(--line);font-weight:800;font-size:12px}
.reviewoption.is-correct{border:1.5px solid var(--green);background:color-mix(in srgb,var(--green) 12%,var(--surface));}
.reviewoption.is-correct .reviewletter{background:var(--green);color:#102014;border-color:var(--green)}
.reviewoption.is-wrong{border:1.5px solid var(--red);background:color-mix(in srgb,var(--red) 12%,var(--surface));}
.reviewoption.is-wrong .reviewletter{background:var(--red);color:#fff;border-color:var(--red)}
.reviewtag{display:block;font-size:11px;font-weight:850;letter-spacing:.035em;margin-top:5px}
.reviewoption.is-correct .reviewtag{color:var(--green)}
.reviewoption.is-wrong .reviewtag{color:var(--red)}
.reviewdetails{margin-top:15px;padding:14px 16px;border-radius:14px;background:var(--surface-soft);border-left:4px solid var(--blue)}
.reviewdetails p{margin:5px 0;line-height:1.6}
.reviewdetails .answerline{font-weight:750;color:var(--green)}
.reviewdetails .yourline{font-weight:700}
.reviewdetails .explainline{color:var(--muted);font-size:13px;margin-top:10px}
.reviewfilters{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 18px}
.reviewfilters button{border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);border-radius:999px;padding:8px 13px;font-weight:750;cursor:pointer}
.reviewfilters button.active{background:var(--blue);border-color:var(--blue);color:#fff}
.reviewitem[hidden]{display:none}
@media(max-width:640px){.reviewitem{padding:14px;border-radius:15px}.reviewtop{align-items:flex-start}.reviewoption{padding:11px}.reviewfilters button{flex:1}}


/* Exam-platform style results dashboard */
.result-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.result-language,.metric-label{font-size:10px;letter-spacing:.1em;font-weight:800;color:var(--muted)}
.result-tabs{display:flex;gap:0;overflow-x:auto;border-bottom:1px solid var(--line);margin:20px 0 24px;scrollbar-width:thin}
.result-tabs button{flex:0 0 auto;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);padding:12px 16px;font:inherit;font-size:12px;cursor:pointer}
.result-tabs button.active{color:var(--ink);border-bottom-color:var(--blue);font-weight:800}
.result-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.metric-card{min-width:0;border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:13px;background:var(--surface);padding:13px;display:flex;flex-direction:column;gap:7px;box-shadow:var(--shadow)}
.metric-card strong{font-size:clamp(20px,2.5vw,30px);line-height:1.1;overflow-wrap:anywhere}
.metric-card small{font-size:10px;color:var(--muted);line-height:1.4}
.metric-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:var(--surface-soft);color:var(--blue);font-weight:900}
.metric-score{border-top-color:#f0b429}.metric-score .metric-icon{color:#f0b429}.metric-rank{border-top-color:#9a7cf8}.metric-accuracy{border-top-color:#36c8dd}.metric-correct{border-top-color:#22c55e}.metric-correct .metric-icon{color:#22c55e}.metric-wrong{border-top-color:#f05260}.metric-wrong .metric-icon{color:#f05260}.metric-skip{border-top-color:#9ca3af}
.performance-panel,.sectional-panel{margin-top:16px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.section-heading h2,.sectional-panel h2{font-size:15px}
.performance-chart{height:205px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:10%;padding:20px 5% 0;border:1px solid var(--line);border-radius:12px;background:repeating-linear-gradient(to top,transparent 0,transparent 48px,var(--line) 49px,var(--line) 50px);margin-top:14px}
.chart-column{height:100%;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;gap:7px;min-width:0}
.chart-column strong{font-size:11px;color:var(--muted)}
.chart-column span{font-size:11px;color:var(--muted);padding-bottom:8px}
.chart-bar{width:min(80%,90px);height:4px;min-height:4px;border-radius:5px 5px 0 0;transition:height .5s cubic-bezier(.2,.8,.2,1)}
.green-bar{background:#22c55e}.red-bar{background:#f05260}.grey-bar{background:#9ca3af}
.summary-table-wrap{overflow-x:auto;margin-top:12px}
.summary-table{width:100%;border-collapse:collapse;font-size:11px;min-width:620px}
.summary-table th,.summary-table td{padding:12px 10px;text-align:left;border:1px solid var(--line);white-space:nowrap}
.summary-table th{color:var(--muted);font-weight:700;background:var(--surface-soft)}
.summary-table td:nth-child(2){color:var(--blue);font-weight:800}.summary-table td:nth-child(4),.summary-table td:nth-child(5){color:#22c55e}.summary-table td:nth-child(6){color:#f05260}
.result-actions{margin:18px 0 6px}
.review-workspace{display:grid;grid-template-columns:minmax(210px,31%) minmax(0,1fr);border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface);min-height:460px}
.review-rail{border-right:1px solid var(--line);min-width:0;display:flex;flex-direction:column;max-height:70vh}
.review-rail-head{padding:14px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:8px;font-size:11px}
.review-rail-head span{color:var(--muted);font-size:10px}
.review-rail-list{overflow:auto}
.review-rail-item{width:100%;text-align:left;display:flex;gap:9px;padding:13px 11px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}
.review-rail-item:hover,.review-rail-item.active{background:var(--surface-soft)}
.review-rail-item.active{box-shadow:inset 3px 0 var(--blue)}
.review-rail-num{flex:0 0 22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--surface-soft);font-size:10px;font-weight:800}
.review-rail-copy{min-width:0;flex:1}.review-rail-question{font-size:11px;font-weight:750;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.review-rail-meta{font-size:9px;color:var(--muted);margin-top:6px}
.review-rail-item .dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px;background:#9ca3af}.review-rail-item[data-status="correct"] .dot{background:#22c55e}.review-rail-item[data-status="wrong"] .dot{background:#f05260}
.review-main{min-width:0;padding:12px;display:flex;flex-direction:column}
.review-main #review{flex:1}.review-main .reviewitem{box-shadow:none;margin:0;padding:16px;border-radius:12px}.review-main .reviewfilters{margin-top:0}
.review-bottom-nav{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.review-bottom-nav span{font-size:10px;color:var(--muted)}
@media(max-width:1000px){.result-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.result-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{padding:11px}.result-tabs button{padding:12px 13px}.review-workspace{grid-template-columns:minmax(0,1fr)}.review-rail{max-height:230px;border-right:0;border-bottom:1px solid var(--line)}.review-rail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.review-rail-item{padding:10px 8px}.review-main{padding:10px}.performance-chart{height:175px}.result-actions .btn{flex:1 1 100%}}
@media(max-width:420px){.result-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.metric-card strong{font-size:22px}.review-rail-list{grid-template-columns:1fr}.review-rail{max-height:190px}.result-language{font-size:8px}}


/* SSC exam-platform interface */
body:has(#exam:not(.hidden)){padding-bottom:78px}
#exam{max-width:100%;width:100%;margin:0;padding:0 0 20px}
.exam-platform-head{position:sticky;top:0;z-index:40;display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,2fr) minmax(160px,1fr);align-items:center;gap:12px;margin:0 calc((100vw - min(1180px,100vw))/ -2) 0;padding:10px clamp(12px,2vw,24px);background:var(--surface);border-bottom:1px solid var(--line)}
.platform-brand,.platform-tools{display:flex;align-items:center;gap:10px}.platform-tools{justify-content:flex-end}.brand-mark{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#d94841;font-weight:900;font-size:11px;border:2px solid var(--line)}
.platform-icon{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft);color:var(--ink);cursor:pointer;font-size:17px}
.timer-chip{display:flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid var(--line);background:var(--surface-soft);border-radius:9px;font-size:13px;font-variant-numeric:tabular-nums}.timer-chip i{width:7px;height:7px;border-radius:50%;background:#ef4444;box-shadow:0 0 10px #ef444466}
.platform-title{text-align:center;min-width:0}.platform-title strong{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.platform-title span{display:block;font-size:10px;color:var(--muted);margin-top:3px}
.exam-section-tabs{display:flex;gap:24px;padding:0 clamp(12px,2vw,24px);border-bottom:1px solid var(--line);overflow:auto;background:var(--surface)}
.exam-section-tabs button{border:0;border-bottom:2px solid transparent;padding:13px 3px;background:transparent;color:var(--muted);white-space:nowrap;font:inherit;font-size:12px;cursor:pointer}
.exam-section-tabs button.active{color:var(--ink);border-bottom-color:var(--blue);font-weight:800}
.exam-section-tabs button span{background:var(--surface-soft);border-radius:99px;padding:2px 6px;margin-left:4px}
.exam-control-strip{display:flex;align-items:center;gap:14px;padding:12px clamp(12px,2vw,24px);border-bottom:1px solid var(--line);font-size:12px;color:var(--muted);flex-wrap:wrap}
.marks-info{margin-left:auto}.marks-info b{color:#22c55e}.marks-info .negative{color:#f05260}
.question-tools{display:flex;gap:8px}
.review-toggle,.save-current{padding:8px 11px;border-radius:9px;border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);font-size:12px;cursor:pointer}
.review-toggle{border-color:#b7791f;color:#eab308}.review-toggle.active{background:#b7791f22}
.save-current.saved{border-color:#22c55e;color:#22c55e}
#exam .examlayout{width:100%;max-width:none;margin:0;grid-template-columns:minmax(0,1fr) minmax(270px,26%);gap:0;align-items:stretch}
#exam .questionbox{border:0;border-right:1px solid var(--line);border-radius:0;padding:clamp(16px,2.2vw,28px);padding-bottom:24px;min-height:calc(100dvh - 250px);background:var(--bg)}
#exam .qtop{border:0;padding:0;margin-bottom:16px;color:var(--muted)}
#exam .qtext{font-size:clamp(17px,1.7vw,21px);line-height:1.55;border:1px solid var(--line);border-radius:14px;padding:20px;background:var(--surface);margin-bottom:14px}
#exam #options{display:grid;gap:8px}
#exam .option{border:1px solid var(--line);border-radius:12px;background:var(--bg);padding:14px 16px;min-height:48px;transition:border-color .15s,background .15s}
#exam .option:hover{border-color:var(--blue);background:var(--surface)}
#exam .option:has(input:checked){border-color:var(--blue);background:color-mix(in srgb,var(--blue) 10%,var(--surface));box-shadow:inset 3px 0 var(--blue)}
#exam .option input{accent-color:var(--blue);width:17px;height:17px}
#exam .sidebox{position:sticky;top:150px;align-self:start;margin:14px;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--surface);max-height:calc(100dvh - 170px);overflow:auto}
.sidebox-title{display:flex;align-items:center;justify-content:space-between}.sidebox-title h2{margin:0}
.answer-status-legend{display:grid;gap:9px;margin:12px 0;padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);font-size:11px;color:var(--muted)}
.answer-status-legend strong{font-size:10px;letter-spacing:.07em;margin-bottom:2px;color:var(--ink)}
.answer-status-legend span{display:flex;align-items:center;gap:8px}.legend-star{font-style:normal;color:#eab308}.legend-green,.legend-red,.legend-grey{display:inline-block;width:9px;height:9px;border-radius:50%}.legend-green{background:#22c55e}.legend-red{background:#ef4444}.legend-grey{border:1px solid #9ca3af}
#exam .palette{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
#exam .pal{min-height:36px;border-radius:9px;background:var(--bg);border:1px solid var(--line)}
#exam .pal.current{background:color-mix(in srgb,var(--blue) 24%,var(--surface));color:var(--ink);border-color:var(--blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 40%,transparent)}
#exam .pal.answered{border-color:#22c55e}
#exam .pal.marked:after{content:"★";color:#eab308;font-size:8px;position:absolute;top:1px;right:3px}
#exam .pal{position:relative}
#exam .qactions.exam-bottom-bar{position:fixed;z-index:45;bottom:0;left:0;right:0;margin:0;padding:10px clamp(8px,1.5vw,20px);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -8px 25px #00015}
#exam .qactions .action-spacer{display:none}
#exam .qactions .btn{width:100%;min-height:44px;white-space:nowrap}
#exam #next{background:#fff;color:#171717}
#exam #finish{background:#fff;color:#171717}
#exam .sidebox #finishSide{display:none}
@media(max-width:900px){
 .exam-platform-head{grid-template-columns:1fr auto}.platform-title{grid-column:1/-1;grid-row:2;text-align:left;order:3}.platform-tools{grid-column:2;grid-row:1}
 #exam .examlayout{grid-template-columns:minmax(0,1fr)}
 #exam .questionbox{border-right:0;min-height:auto;padding-bottom:24px}
 #exam .sidebox{position:static;max-height:none;margin:12px;border-radius:13px}
 #exam .palette{grid-template-columns:repeat(8,minmax(0,1fr))}
 #exam .qactions.exam-bottom-bar{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
 #exam #prev{grid-column:1;grid-row:1}#exam #clearAnswer{grid-column:2;grid-row:1}#exam #next{grid-column:3;grid-row:1}
 #exam #finish{grid-column:3;grid-row:2}#exam .qactions #finish{margin:0}
 .marks-info{margin-left:0}
}
@media(max-width:560px){
 .exam-platform-head{padding:8px;gap:6px}.platform-brand{gap:6px}.timer-chip{padding:8px;font-size:12px}.platform-tools{gap:5px}.platform-icon{width:30px;height:30px}
 .exam-control-strip{gap:8px;padding:10px}.question-tools{width:100%}.question-tools button{flex:1}
 #exam .qtext{padding:15px;font-size:17px}#exam .questionbox{padding:12px}
 #exam .palette{grid-template-columns:repeat(5,minmax(0,1fr))}
 #exam .qactions.exam-bottom-bar{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px;gap:6px}
 #exam #prev{grid-column:1;grid-row:1}#exam #next{grid-column:2;grid-row:1}#exam #clearAnswer{grid-column:1;grid-row:2}#exam #finish{grid-column:2;grid-row:2}
}


.sound-volume{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);white-space:nowrap}.sound-volume input{width:86px;accent-color:var(--blue)}.sound-volume span{min-width:38px;font-variant-numeric:tabular-nums}
@media(max-width:850px){.header-tools{flex-wrap:wrap;gap:6px}.sound-volume{order:5}.theme-control{max-width:none}}
@media(max-width:560px){.sound-volume input{width:48px}.header-tools{justify-content:flex-end}.brand small{display:none}}

.saved-result-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.saved-result-info{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.saved-result-info strong{color:var(--ink);font-size:14px}.saved-result-info span{color:var(--muted);font-size:12px;line-height:1.5}
.saved-result-actions{display:flex;gap:8px;flex-wrap:wrap}.attempt-history-details{width:100%;padding:8px 12px;border-radius:10px;background:var(--surface-soft);color:var(--muted);font-size:12px}.attempt-history-details p{margin:7px 0}


.reading-chapters{margin:18px 0 22px}.reading-chapters-head,.reading-selected-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 14px}.reading-chapters-head h2{margin:0 0 5px}.reading-chapters-head p{margin:0}.reading-chapter-grid{display:grid;grid-template-columns:1fr;gap:10px}
.reading-chapter-card{display:grid;grid-template-columns:100px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 4px 16px #00000006;transition:transform .16s,border-color .16s}.reading-chapter-card:hover{transform:translateY(-1px);border-color:var(--blue)}
.chapter-thumb{height:68px;border-radius:9px;display:grid;place-content:center;text-align:center;font-weight:900;font-size:13px;line-height:1.05;letter-spacing:-.03em;background:var(--surface-soft);color:var(--blue);border:1px solid var(--line)}
.cloze-thumb,.passage-thumb{font-style:italic}.rearrange-thumb{font-size:10px}.generic-thumb{font-size:28px}
.chapter-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.chapter-copy strong{font-size:15px;font-weight:600;color:var(--ink)}.chapter-copy>span,.chapter-count{font-size:12px;color:var(--muted)}
.chapter-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.chapter-upload{cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.reading-selected-head{margin:22px 0 10px;padding-bottom:10px;border-bottom:1px solid var(--line)}.reading-selected-head h3{margin:0;font-size:15px}
@media(max-width:640px){.reading-chapter-card{grid-template-columns:66px minmax(0,1fr);gap:10px}.chapter-thumb{height:60px;font-size:11px}.chapter-actions{grid-column:1/-1;justify-content:flex-end}.chapter-actions .btn{flex:1}.reading-chapters-head .btn{width:100%}}


.paper-card-actions{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap;margin-top:12px}
.paper-card-actions .paper-attempt{flex:1 1 100%;width:100%}
.paper-card-actions .paper-results,.paper-card-actions .paper-history{font-size:12px;padding:8px 12px}
.paper-inline-result{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);color:var(--ink);font-size:12px;line-height:1.5}
.paper-inline-result p{color:var(--muted);margin:8px 0;overflow-wrap:anywhere}
@media(min-width:700px){.paper-card-actions .paper-attempt{flex:1 1 100%}.paper-card-actions .paper-results,.paper-card-actions .paper-history{flex:1}}


/* Crinkled archival parchment: warm yellow paper, fibers, creases and ink */
body[data-theme="parchment"]{color-scheme:light;--ink:#45331b;--muted:#826b45;--line:#d4b97e;--bg:#d9bd78;--surface:#f5e4ad;--surface-soft:#ecce87;--control:#fff0bd;--soft-blue:#e7cc84;--soft-green:#d6dfaa;--blue:#80551d;--green:#526b2a;--red:#a33b2a;--shadow:0 10px 28px #68461725}
body[data-theme="parchment"]{background-color:var(--bg);background-image:radial-gradient(ellipse at 15% 20%,#fff0bd88 0 1px,transparent 2px),radial-gradient(ellipse at 75% 70%,#8e642733 0 1px,transparent 2px),repeating-linear-gradient(174deg,transparent 0 78px,rgba(111,77,23,.025) 79px,rgba(255,248,218,.14) 81px,transparent 84px 172px),linear-gradient(135deg,#d6b56d,#f0d995 40%,#d4b16a)}
body[data-theme="parchment"] .questionbox,body[data-theme="parchment"] .panel,body[data-theme="parchment"] .stat,body[data-theme="parchment"] .testcard,body[data-theme="parchment"] .sidebox,body[data-theme="parchment"] .sectioncard{background-color:var(--surface);background-image:repeating-linear-gradient(178deg,transparent 0 34px,#8a64200a 35px,#fff9d91a 36px),radial-gradient(ellipse at 12% 9%,#fff7d666,transparent 50%)}
body[data-theme="parchment"] header{background:color-mix(in srgb,#f8e8b7 94%,transparent)}
/* Anime-inspired impact flashes and energy streaks on interaction */
.energy-burst{position:fixed;z-index:9998;pointer-events:none;left:var(--x);top:var(--y);width:10px;height:10px;border-radius:50%;transform:translate(-50%,-50%);animation:energyCore .58s ease-out forwards}
.energy-burst:before,.energy-burst:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--energy);animation:energyRing .62s cubic-bezier(.1,.7,.2,1) forwards}
.energy-burst:after{inset:-12px;animation-delay:.06s}
.energy-streak{position:fixed;z-index:9998;pointer-events:none;left:var(--x);top:var(--y);width:var(--len);height:2px;transform:rotate(var(--angle));transform-origin:left center;background:linear-gradient(90deg,var(--energy),transparent);filter:drop-shadow(0 0 4px var(--energy));animation:streakSlash .42s ease-out forwards}
@keyframes energyRing{to{inset:var(--end);opacity:0;transform:scale(2.2)}}
@keyframes energyCore{to{opacity:0;transform:translate(-50%,-50%) scale(3)}}
@keyframes streakSlash{to{opacity:0;transform:rotate(calc(var(--angle) + 12deg)) scaleX(.1)}}
@media(prefers-reduced-motion:reduce){.energy-burst,.energy-streak{display:none!important}}


/* Reading Comprehension now discovers its local folder; the existing upload panels for other sections remain unchanged. */
.reading-folder-status{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:12px 0 18px}
.reading-folder-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:560px){.reading-folder-status{align-items:flex-start}.reading-folder-actions{width:100%}.reading-folder-actions .btn{flex:1}}


/* Rumik-inspired Flow theme: original ambient gradients, restrained editorial contrast,
   and touch-friendly glow. No remote assets or heavyweight video backgrounds. */
body[data-theme="rumik"]{
  color-scheme:dark;
  --ink:#f7f1f3;--muted:#b9aeba;--line:rgba(238,220,242,.14);
  --bg:#100e14;--surface:rgba(27,23,33,.91);--surface-soft:rgba(37,30,45,.92);
  --control:#17131c;--soft-blue:#32253b;--soft-green:#193b34;
  --blue:#ff967f;--green:#8ff0cb;--red:#ff7c9b;
  --shadow:0 16px 46px rgba(0,0,0,.23);
  isolation:isolate;background-color:#100e14;
  background-image:radial-gradient(ellipse at 50% -10%,rgba(139,83,125,.15),transparent 55%);
  background-attachment:fixed;
}
body[data-theme="rumik"]::before{
  content:"";position:fixed;inset:-22vmax;z-index:-1;pointer-events:none;
  background:
    radial-gradient(ellipse at 16% 30%,rgba(255,113,129,.31) 0,transparent 34%),
    radial-gradient(ellipse at 76% 20%,rgba(139,104,255,.29) 0,transparent 36%),
    radial-gradient(ellipse at 60% 76%,rgba(63,204,190,.22) 0,transparent 38%),
    radial-gradient(ellipse at 25% 85%,rgba(255,177,113,.12) 0,transparent 30%);
  background-size:155% 155%;background-position:0% 20%;filter:blur(44px);opacity:.9;
  animation:rumikFlow 32s ease-in-out infinite alternate;will-change:background-position,transform;
}
@keyframes rumikFlow{
  0%{background-position:0% 20%;transform:translate3d(-1.5%,0,0) scale(1)}
  50%{background-position:65% 80%;transform:translate3d(1%,1.5%,0) scale(1.035)}
  100%{background-position:100% 35%;transform:translate3d(-.5%,-1%,0) scale(1.015)}
}
body[data-theme="rumik"] header{
  background:rgba(17,14,22,.78);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);
  border-color:rgba(244,220,245,.14);box-shadow:0 10px 40px rgba(0,0,0,.16)
}
body[data-theme="rumik"] .brandlogo,
body[data-theme="rumik"] .welcome-spark{
  background:linear-gradient(135deg,#ff9b83,#ba8bff 58%,#77e7db);box-shadow:0 8px 26px rgba(222,124,174,.22)
}
body[data-theme="rumik"] .sectioncard,
body[data-theme="rumik"] .testcard,
body[data-theme="rumik"] .panel,
body[data-theme="rumik"] .stat,
body[data-theme="rumik"] .questionbox,
body[data-theme="rumik"] .sidebox,
body[data-theme="rumik"] .metric-card,
body[data-theme="rumik"] .review-workspace{
  background:linear-gradient(145deg,rgba(35,29,43,.94),rgba(23,20,30,.92));
  border-color:rgba(241,220,243,.14);box-shadow:0 16px 45px rgba(0,0,0,.16)
}
body[data-theme="rumik"] .sectioncard:hover,
body[data-theme="rumik"] .testcard:hover{
  border-color:rgba(255,150,127,.5);box-shadow:0 18px 48px rgba(255,130,161,.10),0 12px 30px rgba(0,0,0,.16)
}
body[data-theme="rumik"] .btn{
  color:#21151f;background:linear-gradient(120deg,#ffad91,#dca1ff 55%,#8ce9dd);
  box-shadow:0 7px 22px rgba(211,142,218,.17);border:1px solid rgba(255,255,255,.15)
}
body[data-theme="rumik"] .btn.dark{color:#fff;background:linear-gradient(135deg,#403146,#30273a);box-shadow:none}
body[data-theme="rumik"] .btn.secondary,
body[data-theme="rumik"] .btn.light,
body[data-theme="rumik"] .iconbtn,
body[data-theme="rumik"] .profile-chip,
body[data-theme="rumik"] .theme-control select,
body[data-theme="rumik"] .platform-icon,
body[data-theme="rumik"] .reviewfilters button{
  color:var(--ink);background:rgba(46,37,54,.84);border-color:rgba(241,220,243,.17)
}
body[data-theme="rumik"] .option,
body[data-theme="rumik"] #exam .option,
body[data-theme="rumik"] .qtext{background:rgba(18,15,23,.72);border-color:rgba(241,220,243,.15)}
body[data-theme="rumik"] .option:has(input:checked),
body[data-theme="rumik"] #exam .option:has(input:checked){background:rgba(255,150,127,.12);border-color:var(--blue)}
body[data-theme="rumik"] .notice,
body[data-theme="rumik"] .answer-status-legend,
body[data-theme="rumik"] .reviewdetails{background:rgba(40,32,48,.86);border-color:rgba(241,220,243,.16)}
body[data-theme="rumik"] .timer,
body[data-theme="rumik"] .timer-chip{background:rgba(37,29,43,.9);border-color:rgba(241,220,243,.16)}
body[data-theme="rumik"] .exam-platform-head,
body[data-theme="rumik"] .exam-section-tabs,
body[data-theme="rumik"] #exam .qactions.exam-bottom-bar{background:rgba(17,14,22,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-color:rgba(241,220,243,.14)}
body[data-theme="rumik"] #exam #next,
body[data-theme="rumik"] #exam #finish{background:linear-gradient(120deg,#ffad91,#dca1ff);color:#21151f}
body[data-theme="rumik"] .tag{background:rgba(255,150,127,.12);color:#ffb39f}
body[data-theme="rumik"] .reviewitem{background:rgba(26,22,32,.92);border-color:rgba(241,220,243,.14)}
body[data-theme="rumik"] .result-tabs button.active{border-bottom-color:#ff967f}
body[data-theme="rumik"] .resultscore{color:#ffb19e}
body[data-theme="rumik"] button:focus-visible,
body[data-theme="rumik"] input:focus-visible,
body[data-theme="rumik"] select:focus-visible{outline-color:rgba(255,150,127,.72)}
@media(max-width:700px){
  body[data-theme="rumik"]::before{inset:-16vmax;filter:blur(28px);opacity:.66;animation-duration:40s}
  body[data-theme="rumik"] .sectioncard,body[data-theme="rumik"] .panel,body[data-theme="rumik"] .testcard{backdrop-filter:blur(8px)}
}
@media(prefers-reduced-motion:reduce){body[data-theme="rumik"]::before{animation:none!important}}
body.motion-off[data-theme="rumik"]::before{animation:none!important}

@media(max-width:600px){.theme-control{max-width:none;width:100%}.theme-control select{flex:0 1 68%;width:68%;max-width:68%;min-width:0}.iconbtn{font-size:0;padding:9px}.iconbtn:after{font-size:16px}#soundToggle:after{content:"♫"}#motionToggle:after{content:"✦"}}


/* ── Paper, parchment and cosmic playground themes ─────────────────────
   CSS-only textures and gradients: offline-safe, light on data and assets. */
body[data-theme="paperwhite"]{
  color-scheme:light;isolation:isolate;
  --ink:#211f1a;--muted:#777166;--line:#d9d5ca;--bg:#f7f6ef;
  --surface:rgba(255,254,248,.91);--surface-soft:rgba(250,248,239,.88);--control:#fffef9;
  --soft-blue:#ece7dc;--soft-green:#e0eddc;--blue:#24221d;--green:#3e7b52;--red:#b44147;
  --shadow:0 12px 32px rgba(60,49,29,.075);
  background-color:var(--bg);
  background-image:
    radial-gradient(circle,rgba(48,45,38,.38) 1px,transparent 1.45px),
    radial-gradient(ellipse at 14% 7%,rgba(255,255,255,.96),transparent 42%),
    radial-gradient(ellipse at 85% 86%,rgba(216,208,190,.2),transparent 45%),
    repeating-linear-gradient(173deg,transparent 0 82px,rgba(105,94,72,.035) 83px,rgba(255,255,255,.5) 85px,transparent 88px),
    linear-gradient(135deg,#fbfaf4,#f1f0e8 52%,#faf9f3);
  background-size:52px 125px,100% 100%,100% 100%,100% 100%,100% 100%;
  background-position:0 0,center,center,center,center;
  background-attachment:fixed;
}
body[data-theme="paperwhite"]::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.28;
  background-image:
    repeating-linear-gradient(12deg,transparent 0 115px,rgba(114,101,75,.055) 116px,transparent 117px 230px),
    repeating-linear-gradient(178deg,transparent 0 164px,rgba(255,255,255,.65) 165px,transparent 167px 290px),
    radial-gradient(ellipse at 20% 40%,rgba(154,143,121,.09),transparent 30%),
    radial-gradient(ellipse at 78% 75%,rgba(154,143,121,.08),transparent 28%);
}
body[data-theme="paperwhite"] header{background:rgba(250,249,243,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:#d8d3c8}
body[data-theme="paperwhite"] .sectioncard,
body[data-theme="paperwhite"] .testcard,
body[data-theme="paperwhite"] .panel,
body[data-theme="paperwhite"] .stat,
body[data-theme="paperwhite"] .questionbox,
body[data-theme="paperwhite"] .sidebox,
body[data-theme="paperwhite"] .metric-card,
body[data-theme="paperwhite"] .review-workspace,
body[data-theme="paperwhite"] .reviewitem{
  background-color:rgba(255,254,248,.82);
  background-image:repeating-linear-gradient(178deg,transparent 0 53px,rgba(117,104,76,.025) 54px,transparent 56px),radial-gradient(ellipse at 8% 0%,rgba(255,255,255,.65),transparent 65%);
  border-color:rgba(143,131,104,.28);
}
body[data-theme="paperwhite"] .btn{background:linear-gradient(135deg,#292821,#514d42);color:#fff;box-shadow:0 5px 14px rgba(44,39,28,.15)}
body[data-theme="paperwhite"] .btn.secondary,body[data-theme="paperwhite"] .btn.light,body[data-theme="paperwhite"] .iconbtn,body[data-theme="paperwhite"] .profile-chip,body[data-theme="paperwhite"] .theme-control select{background:rgba(255,254,248,.9);color:var(--ink);border-color:#d5d0c4}
body[data-theme="paperwhite"] .brandlogo{background:linear-gradient(135deg,#26241e,#888170);box-shadow:0 8px 18px #60574022}
body[data-theme="paperwhite"] .option,body[data-theme="paperwhite"] #exam .option,body[data-theme="paperwhite"] .qtext{background:rgba(255,254,249,.9);border-color:#ded9cd}
body[data-theme="paperwhite"] .exam-platform-head,body[data-theme="paperwhite"] .exam-section-tabs,body[data-theme="paperwhite"] #exam .qactions.exam-bottom-bar{background:rgba(249,248,241,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
body[data-theme="paperwhite"] .tag{background:#eae5d9;color:#514c40}

/* Rework the existing yellow parchment with the screenshot's regular dot grid. */
body[data-theme="parchment"]{
  isolation:isolate;
  background-image:
    radial-gradient(circle,rgba(87,59,22,.5) 1px,transparent 1.5px),
    radial-gradient(ellipse at 15% 20%,#fff0bd88 0 1px,transparent 2px),
    radial-gradient(ellipse at 75% 70%,#8e642733 0 1px,transparent 2px),
    repeating-linear-gradient(174deg,transparent 0 78px,rgba(111,77,23,.025) 79px,rgba(255,248,218,.14) 81px,transparent 84px 172px),
    linear-gradient(135deg,#e9d59a,#f4e5b5 38%,#dfc37d 74%,#f1dfa7);
  background-size:52px 125px,100% 100%,100% 100%,100% 100%,100% 100%;
  background-attachment:fixed;
}
body[data-theme="parchment"]::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.34;background:repeating-linear-gradient(13deg,transparent 0 92px,#8e6b2c18 93px,transparent 95px 190px),repeating-linear-gradient(177deg,transparent 0 145px,#fff8d633 147px,transparent 149px 270px),radial-gradient(ellipse at 42% 48%,transparent 35%,#865f2414 100%)}
body[data-theme="parchment"] header{background:rgba(246,229,177,.91);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:#d3b974}
body[data-theme="parchment"] .brandlogo{background:linear-gradient(145deg,#9b712a,#d0aa55);color:#fff9df}
body[data-theme="parchment"] .btn{box-shadow:0 5px 13px rgba(108,76,23,.15)}
body[data-theme="parchment"] .exam-platform-head,body[data-theme="parchment"] .exam-section-tabs,body[data-theme="parchment"] #exam .qactions.exam-bottom-bar{background:rgba(246,229,177,.95);backdrop-filter:blur(10px)}

/* Cosmic theme: layered nebulae, a fine star field and occasional shooting-star motion. */
body[data-theme="space"]{
  color-scheme:dark;isolation:isolate;
  --ink:#eef1ff;--muted:#a5afd0;--line:rgba(164,177,235,.2);--bg:#070b1c;
  --surface:rgba(19,24,52,.85);--surface-soft:rgba(24,31,65,.82);--control:rgba(10,14,36,.95);
  --soft-blue:#202852;--soft-green:#173c41;--blue:#a6a9ff;--green:#80e6cc;--red:#ff829a;
  --shadow:0 16px 46px rgba(0,0,0,.28);
  background-color:#070b1c;
  background-image:
    radial-gradient(ellipse at 12% 12%,rgba(110,65,196,.45),transparent 38%),
    radial-gradient(ellipse at 87% 25%,rgba(21,126,185,.34),transparent 35%),
    radial-gradient(ellipse at 54% 100%,rgba(185,58,143,.23),transparent 38%),
    radial-gradient(circle,rgba(255,255,255,.85) .8px,transparent 1.35px),
    radial-gradient(circle,rgba(170,205,255,.66) .7px,transparent 1.25px);
  background-size:100% 100%,100% 100%,100% 100%,83px 71px,127px 107px;
  background-position:center,center,center,8px 15px,39px 49px;
  background-attachment:fixed;
}
body[data-theme="space"]::before{content:"";position:fixed;inset:-18vmax;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 22% 36%,rgba(125,71,229,.23),transparent 30%),radial-gradient(ellipse at 75% 25%,rgba(20,176,206,.19),transparent 32%),radial-gradient(ellipse at 56% 76%,rgba(223,82,168,.16),transparent 34%);filter:blur(35px);background-size:150% 150%;animation:spaceDrift 38s ease-in-out infinite alternate}
body[data-theme="space"]::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.45;background:radial-gradient(circle at 13% 35%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 67% 19%,#c4b5fd 0 1px,transparent 1.7px),radial-gradient(circle at 82% 72%,#a5f3fc 0 1px,transparent 1.7px),radial-gradient(circle at 43% 83%,#fff 0 1px,transparent 1.5px);animation:starTwinkle 5s ease-in-out infinite alternate}
@keyframes spaceDrift{0%{transform:translate3d(-1%,0,0) rotate(-2deg) scale(1)}100%{transform:translate3d(1.5%,1%,0) rotate(3deg) scale(1.06)}}
@keyframes starTwinkle{from{opacity:.22;filter:brightness(.8)}to{opacity:.62;filter:brightness(1.3)}}
body[data-theme="space"] header{background:rgba(8,11,30,.78);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-color:rgba(174,181,255,.19)}
body[data-theme="space"] .sectioncard,body[data-theme="space"] .testcard,body[data-theme="space"] .panel,body[data-theme="space"] .stat,body[data-theme="space"] .questionbox,body[data-theme="space"] .sidebox,body[data-theme="space"] .metric-card,body[data-theme="space"] .review-workspace,body[data-theme="space"] .reviewitem{background:linear-gradient(145deg,rgba(22,28,62,.91),rgba(12,17,42,.88));border-color:rgba(171,183,255,.18);box-shadow:0 14px 45px rgba(0,0,0,.22)}
body[data-theme="space"] .btn{background:linear-gradient(130deg,#9e8cff,#68d4e8);color:#10132d;box-shadow:0 6px 22px rgba(124,116,255,.2)}
body[data-theme="space"] .btn.dark{background:linear-gradient(135deg,#302d59,#20264a);color:#f7f6ff;box-shadow:none}
body[data-theme="space"] .btn.secondary,body[data-theme="space"] .btn.light,body[data-theme="space"] .iconbtn,body[data-theme="space"] .profile-chip,body[data-theme="space"] .theme-control select,body[data-theme="space"] .platform-icon,body[data-theme="space"] .reviewfilters button{background:rgba(27,34,72,.9);color:var(--ink);border-color:rgba(171,183,255,.2)}
body[data-theme="space"] .option,body[data-theme="space"] #exam .option,body[data-theme="space"] .qtext{background:rgba(8,12,34,.8);border-color:rgba(171,183,255,.19)}
body[data-theme="space"] .option:has(input:checked),body[data-theme="space"] #exam .option:has(input:checked){background:rgba(137,126,255,.16);border-color:#9e9bff;box-shadow:inset 3px 0 #9e9bff,0 0 18px rgba(117,108,255,.1)}
body[data-theme="space"] .exam-platform-head,body[data-theme="space"] .exam-section-tabs,body[data-theme="space"] #exam .qactions.exam-bottom-bar{background:rgba(8,11,30,.91);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-color:rgba(171,183,255,.18)}
body[data-theme="space"] .brandlogo,body[data-theme="space"] .welcome-spark{background:linear-gradient(135deg,#8e83ff,#64d8e8);color:#10132d}
body[data-theme="space"] .tag{background:rgba(145,132,255,.16);color:#c6c1ff}
body[data-theme="space"] .resultscore{color:#b4adff}
body[data-theme="space"] button:focus-visible,body[data-theme="space"] input:focus-visible,body[data-theme="space"] select:focus-visible{outline-color:#a6a9ff}
@media(max-width:700px){body[data-theme="space"]::before{filter:blur(26px);opacity:.72;animation-duration:48s}}
@media(prefers-reduced-motion:reduce){body[data-theme="space"]::before,body[data-theme="space"]::after{animation:none!important}}
body.motion-off[data-theme="space"]::before,body.motion-off[data-theme="space"]::after{animation:none!important}

/* Tiny secrets, delightfully optional; no blocking popups and no external assets. */
.brandlogo{cursor:pointer;user-select:none;transition:transform .2s,filter .2s}
.brandlogo:hover{transform:rotate(-8deg) scale(1.06);filter:brightness(1.08)}
.secret-toast{position:fixed;z-index:10001;left:50%;bottom:calc(22px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100vw - 28px);padding:12px 17px;border-radius:999px;background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:0 14px 40px rgba(0,0,0,.2);font-size:13px;font-weight:800;text-align:center;pointer-events:none;animation:secretIn .3s cubic-bezier(.2,1.4,.4,1) both}
@keyframes secretIn{from{opacity:0;transform:translate(-50%,14px) scale(.93)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
body[data-theme="space"] .secret-toast{box-shadow:0 0 35px rgba(130,120,255,.22),0 14px 40px #0005}
@media(prefers-reduced-motion:reduce){.secret-toast{animation:none!important}}
body.motion-off .secret-toast{animation:none!important}

/* Local-folder library: one root connection, exact hierarchy, no per-paper upload controls. */
.local-library-actions,#rootFolderInput{display:none!important}.local-library-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 22px;border-radius:18px;border-color:color-mix(in srgb,var(--blue) 25%,var(--line));background:linear-gradient(125deg,color-mix(in srgb,var(--surface) 94%,var(--blue) 6%),var(--surface));}
.local-library-copy{min-width:0;flex:1}.local-library-copy>strong{display:block;font-size:16px;margin:4px 0}.local-library-copy p{color:var(--muted);font-size:12px;line-height:1.6;margin:5px 0 0;max-width:760px}.local-library-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.local-library-actions .btn{white-space:nowrap}.local-folder-path{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:12px 14px;margin:0 0 16px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--muted);font-size:12px;overflow-wrap:anywhere}.folder-segment{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:8px;background:var(--surface-soft);color:var(--ink);font-weight:700;max-width:100%}.folder-segment.current{background:var(--soft-blue);color:var(--blue)}.folder-separator{opacity:.55;font-size:15px}.local-load-status{white-space:pre-line;overflow-wrap:anywhere}.local-load-status.error{border-color:color-mix(in srgb,var(--red) 45%,var(--line));background:color-mix(in srgb,var(--red) 7%,var(--surface));color:var(--red)}.local-load-status.success{border-color:color-mix(in srgb,var(--green) 35%,var(--line))}
@media(max-width:700px){.local-library-panel{align-items:stretch;flex-direction:column;gap:12px;padding:15px}.local-library-actions{display:grid;grid-template-columns:1fr 1fr}.local-library-actions #connectRootFolder{grid-column:1/-1}.local-library-actions .btn{width:100%;font-size:12px;padding:10px 8px}.local-folder-path{align-items:flex-start}.folder-segment{font-size:11px}}

.local-child-folder{display:flex;align-items:center;gap:12px;padding:12px 15px;margin:0 0 16px;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:var(--shadow)}.local-child-folder-icon{display:grid;place-items:center;width:43px;height:43px;flex:0 0 43px;border-radius:12px;background:var(--soft-blue);font-size:23px}.local-child-folder-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.local-child-folder-copy strong{font-size:14px}.local-child-folder-copy span{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.local-child-folder-count{background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;white-space:nowrap}
@media(max-width:480px){.local-child-folder{gap:9px;padding:10px}.local-child-folder-icon{width:36px;height:36px;flex-basis:36px;font-size:20px}.local-child-folder-count{font-size:10px;padding:5px 8px}}


/* Strict tree-style navigation: paper cards only render after opening their parent folder. */
.crumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.local-library-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 22px;border-radius:18px;border-color:color-mix(in srgb,var(--blue) 24%,var(--line));background:linear-gradient(125deg,color-mix(in srgb,var(--surface) 94%,var(--blue) 6%),var(--surface))}
.local-library-copy{min-width:0;flex:1}.local-library-copy>strong{display:block;font-size:16px;margin:4px 0}.local-library-copy p{color:var(--muted);font-size:12px;line-height:1.6;margin:5px 0 0;max-width:760px}
.embedded-library-count{font-size:11px;font-weight:800;color:var(--blue);padding:9px 12px;border:1px solid var(--line);background:var(--surface-soft);border-radius:999px;white-space:nowrap}
.local-child-folder{width:100%;text-align:left;font:inherit;cursor:pointer;transition:transform .16s,border-color .16s,box-shadow .16s}
.local-child-folder:hover{transform:translateY(-2px);border-color:var(--blue);box-shadow:0 14px 30px color-mix(in srgb,var(--blue) 10%,transparent)}
.folder-open-arrow{border:1px solid var(--line);background:var(--surface-soft);border-radius:999px;padding:8px 11px;font-size:11px;font-weight:800;white-space:nowrap;color:var(--blue)}
.paper-folder-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px 0 16px;padding:18px 20px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}
.paper-folder-heading h2{margin:5px 0 4px;font-size:20px}.paper-folder-heading p{margin:0}.sectioncards .sectionname{overflow-wrap:anywhere}
@media(max-width:560px){.local-library-panel{align-items:flex-start;flex-direction:column}.embedded-library-count{white-space:normal}.local-child-folder{align-items:flex-start;flex-wrap:wrap}.local-child-folder-copy{flex:1 1 calc(100% - 65px)}.folder-open-arrow{margin-left:48px}.paper-folder-heading{align-items:flex-start;padding:13px;flex-direction:column}}



/* Premium navigation/header refresh: spacious, layered, responsive, and still theme-aware. */
html{scroll-behavior:smooth;scroll-padding-top:124px}
body{overflow-x:clip}
.app-header{position:sticky;top:0;z-index:100;display:flex;flex-direction:column;align-items:stretch;gap:11px;width:100%;padding:13px clamp(14px,3.5vw,48px) 12px;background:linear-gradient(112deg,color-mix(in srgb,var(--surface) 94%,var(--blue) 6%),color-mix(in srgb,var(--surface) 97%,transparent));backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%);border-bottom:1px solid color-mix(in srgb,var(--line) 74%,var(--blue) 26%);box-shadow:0 10px 32px color-mix(in srgb,var(--ink) 8%,transparent);}
.app-header:after{content:"";position:absolute;bottom:-1px;left:clamp(14px,3.5vw,48px);right:clamp(14px,3.5vw,48px);height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--blue) 55%,#cf91ff 45%),color-mix(in srgb,#ffad83 45%,var(--blue) 55%),transparent);opacity:.75;pointer-events:none}
.header-primary,.header-toolbar{width:min(1480px,100%);margin-inline:auto}
.header-primary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0}
.header-primary .brandmark{gap:12px;min-width:0}
.header-primary .brandlogo{width:44px;height:44px;border-radius:15px;background:linear-gradient(145deg,#7667f7,#b7a2ff 62%,#80dfe2);box-shadow:0 8px 24px color-mix(in srgb,var(--blue) 24%,transparent),inset 0 1px 0 #ffffff99;flex:0 0 auto}
.header-primary .brand{font-size:16px;line-height:1.15;letter-spacing:-.35px}
.header-primary .brand small{font-size:9px;letter-spacing:1.15px;margin-top:5px;opacity:.7}
.header-primary-tools{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}
.header-count-wrap{display:flex;align-items:center;gap:8px;max-width:min(34vw,300px);padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface) 82%,var(--surface-soft) 18%);box-shadow:inset 0 1px 0 #ffffff12;min-width:0}
.header-count-wrap .small{font-size:11px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}
.header-status-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 14%,transparent);flex:0 0 auto}
.header-primary .profile-chip{border-radius:999px;padding:5px 12px 5px 6px;min-height:42px;box-shadow:0 4px 12px color-mix(in srgb,var(--ink) 5%,transparent);transition:transform .2s,border-color .2s,box-shadow .2s}
.header-primary .profile-chip:hover{transform:translateY(-1px);border-color:var(--blue);box-shadow:0 7px 18px color-mix(in srgb,var(--blue) 12%,transparent)}
.profile-chevron{font-size:15px;opacity:.65;padding-left:2px}
.header-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 9px;border:1px solid color-mix(in srgb,var(--line) 86%,var(--blue) 14%);border-radius:17px;background:color-mix(in srgb,var(--surface) 78%,var(--surface-soft) 22%);box-shadow:inset 0 1px 0 #ffffff12,0 5px 18px color-mix(in srgb,var(--ink) 4%,transparent)}
.header-toolbar .toolbar-group{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}
.header-toolbar .iconbtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:37px;padding:8px 12px;border-radius:11px;font:inherit;font-size:11px;font-weight:700;line-height:1.2;white-space:nowrap;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 94%,white 6%),var(--surface));border:1px solid var(--line);box-shadow:0 2px 5px color-mix(in srgb,var(--ink) 4%,transparent);transition:transform .18s,border-color .18s,box-shadow .18s,background .18s}
.header-toolbar .iconbtn:after{content:none!important;display:none!important}
.header-toolbar .iconbtn:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--blue) 60%,var(--line));box-shadow:0 7px 16px color-mix(in srgb,var(--blue) 10%,transparent)}
.header-toolbar .iconbtn:active{transform:translateY(0) scale(.98)}
.header-audio-controls{flex:1 1 430px}
.header-library-controls{flex:0 1 auto;justify-content:flex-end}
.header-toolbar .sound-volume{display:flex;align-items:center;gap:7px;white-space:nowrap;padding:5px 8px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--surface) 88%,var(--surface-soft) 12%);color:var(--muted);font-size:11px;font-weight:750}
.sound-volume .volume-label{margin-right:1px}
.header-toolbar .sound-volume input{width:clamp(72px,9vw,126px);max-width:100%;accent-color:var(--blue);cursor:pointer}
.sound-volume #soundVolumeValue{min-width:39px;color:var(--ink);font-variant-numeric:tabular-nums;text-align:right}
.volume-step{display:inline-grid;place-items:center;width:24px;height:24px;border:1px solid var(--line);border-radius:7px;background:var(--surface-soft);color:var(--ink);font-weight:900;line-height:1;cursor:pointer;transition:background .16s,border-color .16s,transform .16s}
.volume-step:hover{background:var(--soft-blue);border-color:var(--blue);transform:scale(1.04)}
.header-toolbar .theme-control{display:flex;align-items:center;gap:8px;padding:4px 6px 4px 10px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--surface) 90%,var(--surface-soft) 10%);font-size:11px;white-space:nowrap}
.header-toolbar .theme-control>span{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);font-weight:850}
.header-toolbar .theme-control select{font-size:11px;font-weight:750;max-width:250px;min-width:0;border:0;background:transparent;padding:7px 24px 7px 7px;border-radius:7px}
.page-scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:10020;pointer-events:none;background:transparent}
.page-scroll-progress span{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,#7c68f5,#ff9e9a,#72e0db,#b9a3ff);box-shadow:0 0 12px color-mix(in srgb,var(--blue) 45%,transparent);will-change:transform}
.local-folder-path{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:12px 14px;margin:0 0 18px;border:1px solid color-mix(in srgb,var(--line) 70%,var(--blue) 30%);border-radius:15px;background:linear-gradient(105deg,color-mix(in srgb,var(--surface) 92%,var(--blue) 8%),var(--surface));box-shadow:0 8px 24px color-mix(in srgb,var(--ink) 4%,transparent);}
.folder-segment{appearance:none;display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid transparent;border-radius:10px;background:color-mix(in srgb,var(--surface-soft) 88%,var(--surface) 12%);color:var(--ink);font:inherit;font-size:11px;font-weight:750;line-height:1.3;white-space:normal;overflow-wrap:anywhere;max-width:100%;text-align:left;cursor:pointer;transition:transform .18s,border-color .18s,background .18s,box-shadow .18s;}
.folder-segment:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--blue) 42%,var(--line));background:var(--soft-blue);box-shadow:0 5px 12px color-mix(in srgb,var(--blue) 10%,transparent)}
.folder-segment:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 42%,transparent);outline-offset:2px}
.folder-segment.current{background:linear-gradient(125deg,var(--soft-blue),color-mix(in srgb,var(--surface) 70%,var(--soft-blue) 30%));color:var(--blue);border-color:color-mix(in srgb,var(--blue) 28%,var(--line));box-shadow:inset 0 1px 0 #ffffff14}
.folder-separator{opacity:.55;font-size:18px;padding-inline:1px}
.premium-reveal{opacity:0;transform:translate3d(0,14px,0) scale(.995);transition:opacity .58s cubic-bezier(.2,.7,.2,1),transform .58s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
.premium-reveal.in-view{opacity:1;transform:translate3d(0,0,0) scale(1)}
.sectioncard,.testcard,.reading-chapter-card,.local-child-folder,.paper-folder-heading,.stat,.panel,.reviewitem{transition-timing-function:cubic-bezier(.2,.75,.2,1)}
.sectioncard,.testcard,.reading-chapter-card{isolation:isolate}
.directory-clickable{cursor:pointer}
.directory-clickable:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 45%,transparent);outline-offset:3px}
.sectioncard:before,.testcard:before,.reading-chapter-card:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;background:linear-gradient(115deg,transparent 10%,color-mix(in srgb,var(--blue) 9%,transparent) 46%,transparent 76%);transform:translateX(-35%);transition:opacity .28s,transform .6s cubic-bezier(.2,.75,.2,1);z-index:-1}
.sectioncard:hover:before,.testcard:hover:before,.reading-chapter-card:hover:before{opacity:1;transform:translateX(0)}
@media(max-width:1020px){.header-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.header-toolbar .toolbar-group{justify-content:space-between}.header-audio-controls,.header-library-controls{flex:1 1 auto}.header-toolbar .theme-control{margin-left:auto}.header-toolbar .theme-control select{max-width:220px}}
@media(max-width:700px){.app-header{gap:9px;padding:10px 12px 10px}.header-primary{gap:8px}.header-primary .brandmark{gap:8px}.header-primary .brandlogo{width:38px;height:38px;border-radius:13px;font-size:20px}.header-primary .brand{font-size:14px}.header-primary .brand small{font-size:8px;letter-spacing:.55px;max-width:190px;line-height:1.5}.header-primary-tools{gap:6px}.header-count-wrap{display:none}.header-primary .profile-chip{min-height:36px;padding:4px 8px 4px 4px;gap:6px}.header-primary .avatar{width:27px;height:27px}.header-toolbar{padding:8px;border-radius:15px;gap:8px}.header-toolbar .header-audio-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px}.header-toolbar #soundToggle{grid-column:1;grid-row:1}.header-toolbar #motionToggle{grid-column:2;grid-row:1}.header-toolbar .sound-volume{grid-column:1/-1;grid-row:2;width:100%;display:grid;grid-template-columns:auto 24px minmax(60px,1fr) 24px 40px;gap:7px;padding:5px 7px}.header-toolbar .sound-volume input{width:100%;min-width:0}.header-toolbar .header-library-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px}.header-toolbar .header-library-controls .theme-control{grid-column:1/-1;width:100%;margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;padding:5px 8px}.header-toolbar .theme-control select{width:100%;max-width:none;font-size:12px;padding:8px 6px}.header-toolbar .iconbtn{width:100%;min-width:0;min-height:38px;padding:8px 7px;font-size:11px}.local-folder-path{padding:10px;gap:5px}.folder-segment{font-size:10px;padding:7px 8px}.folder-separator{font-size:15px}}
@media(max-width:380px){.header-primary .brand small{display:none}.header-primary .brand{font-size:13px}.profile-chip #userNameLabel{max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-toolbar .iconbtn{font-size:10px}.header-toolbar .volume-label{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.premium-reveal{opacity:1!important;transform:none!important;transition:none!important}.page-scroll-progress span{transition:none!important}}
body.motion-off .premium-reveal{opacity:1;transform:none;transition:none!important}
body:has(#exam:not(.hidden)) .app-header{position:relative}


@media(max-width:700px){
 .header-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:7px}
 .header-toolbar .header-audio-controls{display:flex!important;grid-template-columns:none;flex-wrap:nowrap;align-items:center;gap:5px;min-width:0}
 .header-toolbar .header-audio-controls #soundToggle,.header-toolbar .header-audio-controls #motionToggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;min-width:36px;height:38px;padding:0;font-size:0;}
 .header-toolbar #soundToggle:before,.header-toolbar #motionToggle:before{font-size:18px;line-height:1}
 .header-toolbar #soundToggle:before{content:"🔊"}
 .header-toolbar #motionToggle:before{content:"✨"}
 .header-toolbar .header-audio-controls .sound-volume{display:grid;grid-template-columns:24px minmax(54px,1fr) 24px 37px;align-items:center;flex:1 1 auto;width:auto;min-width:0;grid-column:auto;grid-row:auto;gap:4px;padding:5px}
 .header-toolbar .sound-volume .volume-label{display:none}
 .header-toolbar .sound-volume input{width:100%;min-width:0}
 .header-toolbar .header-library-controls{display:grid;grid-template-columns:64px 60px minmax(0,1fr);align-items:stretch;gap:5px;width:100%}
 .header-toolbar .header-library-controls .iconbtn{width:100%;min-width:0;min-height:38px;padding:7px 5px;font-size:10px}
 .header-toolbar .header-library-controls .theme-control{display:flex!important;grid-column:auto!important;width:100%;min-width:0;margin:0;padding:3px 5px;gap:3px;align-items:center;justify-content:center}
 .header-toolbar .header-library-controls .theme-control>span{display:none}
 .header-toolbar .header-library-controls .theme-control select{width:100%;min-width:0;max-width:none;padding:6px 2px;font-size:10px}
}

.brand-home{display:flex;align-items:center;gap:12px;border:0;background:transparent;color:inherit;padding:0;text-align:left;cursor:pointer;font:inherit;border-radius:12px}.brand-home:hover .brandlogo{transform:translateY(-1px);filter:brightness(1.05)}.brand-home:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.brand-home:disabled{cursor:default;opacity:1}.mock-language-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}.mock-language-btn{border:0;border-radius:13px;padding:12px 10px;font:700 13px inherit;cursor:pointer;transition:transform .15s,filter .15s;box-shadow:0 5px 13px #5142aa20}.mock-language-btn:hover{transform:translateY(-2px);filter:brightness(1.04)}.mock-language-btn.en{background:linear-gradient(135deg,#7160ed,#5848d1);color:#fff}.mock-language-btn.hi{background:linear-gradient(135deg,#138c72,#08765f);color:#fff}.mock-language-btn:disabled{opacity:.65;cursor:wait;transform:none}@media(max-width:700px){.brand-home{gap:8px}.brand-home .brandlogo{width:38px;height:38px;border-radius:13px;font-size:20px}.brand-home .brand{font-size:14px}.brand-home .brand small{font-size:8px;letter-spacing:.55px;max-width:190px;line-height:1.5}}

/* Profile hub: all settings live under the profile chip and inherit the active theme */
.profile-hub{width:min(520px,100%);max-height:min(88vh,780px);overflow:auto;padding:clamp(18px,4vw,28px)}
.profile-avatar-editor{display:flex;align-items:center;gap:15px;padding:15px;border:1px solid var(--line);border-radius:18px;background:var(--surface-soft);margin:16px 0}
.profile-avatar-preview{width:64px;height:64px;flex:0 0 64px;display:grid;place-items:center;border-radius:22px;overflow:hidden;background:linear-gradient(145deg,var(--blue),color-mix(in srgb,var(--blue) 45%,var(--surface)));color:var(--surface);font-size:25px;font-weight:850;box-shadow:0 8px 22px color-mix(in srgb,var(--blue) 20%,transparent)}
.profile-avatar-preview img{width:100%;height:100%;object-fit:cover}.profile-avatar-tools{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.profile-avatar-tools label{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.profile-section-label{margin:18px 0 8px;font-size:10px;font-weight:900;letter-spacing:1.2px;color:var(--muted);text-transform:uppercase}.profile-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.profile-setting-action{display:flex;align-items:center;gap:10px;min-width:0;text-align:left;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);color:var(--ink);font:inherit;font-size:12px;font-weight:750;cursor:pointer;transition:transform .16s,border-color .16s,background .16s}.profile-setting-action:hover{transform:translateY(-1px);border-color:var(--blue);background:color-mix(in srgb,var(--blue) 8%,var(--surface))}.profile-setting-action .setting-emoji{font-size:20px}.profile-setting-action span:last-child{min-width:0}.profile-setting-action small{display:block;color:var(--muted);font-size:10px;font-weight:500;margin-top:3px}.profile-name-row{display:flex;gap:8px;align-items:stretch}.profile-name-row input{min-width:0;flex:1}.profile-name-row button{flex:0 0 auto}@media(max-width:400px){.profile-settings-grid{grid-template-columns:1fr}.profile-avatar-editor{align-items:flex-start}.profile-name-row{flex-direction:column}.profile-name-row button{width:100%}}
/* Theme-aware profile dialog: inherits the active appearance palette */
/* Living glass backdrop: preserve the page underneath while adding a subtle theme-colored animated atmosphere. */
.profile-dialog-backdrop{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:20px;isolation:isolate;overflow:hidden;background:color-mix(in srgb,var(--surface) 18%,color-mix(in srgb,var(--ink) 24%,transparent));backdrop-filter:blur(14px) saturate(135%);-webkit-backdrop-filter:blur(14px) saturate(135%);animation:profileFadeIn .24s ease-out}
.profile-dialog-backdrop::before{content:"";position:absolute;inset:-18%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 18% 20%,color-mix(in srgb,var(--blue) 26%,transparent),transparent 34%),radial-gradient(ellipse at 82% 25%,color-mix(in srgb,var(--surface-soft) 50%,transparent),transparent 30%),radial-gradient(ellipse at 65% 82%,color-mix(in srgb,var(--blue) 19%,transparent),transparent 38%);filter:blur(22px);opacity:.82;animation:profileGlassDrift 13s ease-in-out infinite alternate}
.profile-dialog{position:relative;z-index:1;width:min(460px,100%);padding:26px;border:1px solid var(--line);border-radius:24px;background:var(--surface);color:var(--ink);box-shadow:0 28px 90px color-mix(in srgb,var(--ink) 30%,transparent),0 0 0 1px color-mix(in srgb,var(--surface) 35%,transparent) inset;animation:profilePopIn .2s cubic-bezier(.2,.8,.2,1)}
.profile-dialog-head{display:flex;align-items:center;gap:14px;margin-bottom:10px}.profile-dialog-icon{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:16px;background:linear-gradient(135deg,var(--blue),color-mix(in srgb,var(--blue) 58%,var(--surface)));color:var(--surface);box-shadow:0 8px 22px color-mix(in srgb,var(--blue) 24%,transparent);font-size:23px}.profile-dialog h2{font-size:21px;line-height:1.2;margin:0;font-weight:850;letter-spacing:-.35px;color:var(--ink)}.profile-dialog p{margin:12px 0 20px;color:var(--muted);font-size:13.5px;line-height:1.6}.profile-dialog input{box-sizing:border-box;width:100%;min-height:49px;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--control);color:var(--ink);font:600 15px inherit;outline:none;transition:border-color .18s,box-shadow .18s,background .18s}.profile-dialog input::placeholder{color:var(--muted);opacity:.8}.profile-dialog input:focus{border-color:var(--blue);background:var(--surface);box-shadow:0 0 0 4px color-mix(in srgb,var(--blue) 22%,transparent)}.profile-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.profile-dialog-btn{min-height:42px;padding:10px 17px;border-radius:13px;border:1px solid var(--line);font:750 13px inherit;cursor:pointer;transition:transform .15s,filter .15s,background .15s}.profile-dialog-btn:hover{transform:translateY(-1px);filter:brightness(1.06)}.profile-dialog-btn.cancel{background:var(--surface-soft);color:var(--ink)}.profile-dialog-btn.confirm{border-color:var(--blue);background:var(--blue);color:var(--surface);box-shadow:0 7px 18px color-mix(in srgb,var(--blue) 20%,transparent)}.profile-dialog-error{min-height:17px;margin-top:7px;color:var(--red);font-size:12px}.profile-dialog-btn:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 48%,transparent);outline-offset:3px}@keyframes profileGlassDrift{0%{transform:translate3d(-2%,0,0) scale(1);filter:blur(22px)}50%{transform:translate3d(2%,-1.5%,0) scale(1.04);filter:blur(28px)}100%{transform:translate3d(0,2%,0) scale(1.02);filter:blur(24px)}}@keyframes profileFadeIn{from{opacity:0}to{opacity:1}}@keyframes profilePopIn{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.profile-dialog-backdrop,.profile-dialog-backdrop::before,.profile-dialog{animation:none!important}}@media(max-width:480px){.profile-dialog{padding:21px;border-radius:20px}.profile-dialog h2{font-size:19px}.profile-dialog-actions .profile-dialog-btn{flex:1}}


/* Premium theme selector + responsive polish */
.header-toolbar .theme-control{position:relative;min-width:0;max-width:100%;padding:5px 7px 5px 11px;border-radius:14px;border:1px solid color-mix(in srgb,var(--blue) 25%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 94%,var(--blue) 6%),var(--surface-soft));box-shadow:0 5px 18px color-mix(in srgb,var(--ink) 7%,transparent);transition:border-color .2s,box-shadow .2s,background .2s}
.header-toolbar .theme-control:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 17%,transparent),0 8px 22px color-mix(in srgb,var(--ink) 8%,transparent)}
.header-toolbar .theme-control>span{font-size:9px;letter-spacing:1px;color:var(--muted)}
.header-toolbar .theme-control select{appearance:none;-webkit-appearance:none;min-height:34px;max-width:100%;padding:7px 31px 7px 10px;border:1px solid transparent;border-radius:10px;background-color:var(--control);color:var(--ink);font-weight:750;font-size:12px;cursor:pointer;outline:none;background-image:linear-gradient(45deg,transparent 50%,var(--blue) 50%),linear-gradient(135deg,var(--blue) 50%,transparent 50%);background-position:calc(100% - 15px) 15px,calc(100% - 10px) 15px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;box-shadow:inset 0 1px 0 color-mix(in srgb,var(--surface) 80%,transparent);transition:background-color .18s,border-color .18s}
.header-toolbar .theme-control select:hover{border-color:color-mix(in srgb,var(--blue) 35%,var(--line));background-color:var(--surface)}
.theme-control select option{background:var(--surface);color:var(--ink);padding:10px}
/* Browser-native option menus vary by OS; keep their available colors theme-aware. */
body[data-theme="dark"] .theme-control select,body[data-theme="tokyo"] .theme-control select,body[data-theme="mocha"] .theme-control select,body[data-theme="dracula"] .theme-control select,body[data-theme="rose"] .theme-control select,body[data-theme="cyber"] .theme-control select,body[data-theme="rumik"] .theme-control select,body[data-theme="space"] .theme-control select{color-scheme:dark}
body[data-theme="paper"] .theme-control select,body[data-theme="paperwhite"] .theme-control select,body[data-theme="parchment"] .theme-control select,body[data-theme="light"] .theme-control select,body[data-theme="latte"] .theme-control select{color-scheme:light}
/* Cards and category marks feel intentional at every viewport size. */
.sectioncard{position:relative;overflow:hidden;background:linear-gradient(115deg,var(--surface),color-mix(in srgb,var(--surface-soft) 70%,var(--surface)));border-radius:18px;padding:13px;gap:15px}
.sectioncard:after{content:"";position:absolute;right:-28px;top:-34px;width:110px;height:110px;border-radius:50%;background:color-mix(in srgb,var(--blue) 7%,transparent);pointer-events:none}
.sectionicon{position:relative;z-index:1;border-radius:16px;border:1px solid color-mix(in srgb,currentColor 13%,transparent);box-shadow:inset 0 1px 0 #ffffff60,0 5px 14px #00000008}
.sectionname h3,.sectionname strong{letter-spacing:-.2px}
.testcard,.panel,.stat,.questionbox,.sidebox{border-radius:17px}
.testcard{position:relative;overflow:hidden;background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--surface-soft) 35%,var(--surface)))}
.testcard:focus-within,.testcard:hover{border-color:color-mix(in srgb,var(--blue) 35%,var(--line))}
@media(max-width:700px){.header-toolbar .header-library-controls{min-width:0}.header-toolbar .header-library-controls .theme-control{min-width:0;overflow:hidden}.header-toolbar .header-library-controls .theme-control select{min-width:0;max-width:100%;flex:1 1 auto;font-size:11px;padding:7px 23px 7px 6px;background-position:calc(100% - 11px) 14px,calc(100% - 6px) 14px}.sectioncard{gap:10px;padding:10px;border-radius:15px;min-height:72px}.sectionicon{width:50px;height:50px;flex:0 0 50px;font-size:23px;border-radius:13px}.sectionname{min-width:0}.sectionname h3{font-size:14px}.sectioncard .btn{white-space:nowrap}.testcard{padding:13px}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{min-width:0}.stat strong{font-size:clamp(15px,4vw,19px)}}
@media(max-width:390px){.header-toolbar .header-library-controls{grid-template-columns:54px 52px minmax(0,1fr)!important}.header-toolbar .header-library-controls .iconbtn{font-size:9px;padding:6px 2px}.header-toolbar .header-library-controls .theme-control select{font-size:10px}.sectioncard{align-items:flex-start}.sectioncard .btn{font-size:11px;padding:8px 9px}.stats{gap:5px}.stat{padding:9px 7px}.stat span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.sectioncard,.sectionicon,.testcard,.header-toolbar .theme-control select{transition:none!important}}

/* ============================================================================
   PREMIUM LAYER v2 — typography, "Aurora" theme, art, charts, responsiveness
   Purely presentational + additive. No test logic, scoring, timer, storage or
   embedded question data is modified.
   ============================================================================ */

/* --- Typography ------------------------------------------------------------- */
:root{
  --font-display:"Outfit","Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --font-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans Devanagari","Tiro Devanagari Hindi",Arial,sans-serif;
}
html{-webkit-text-size-adjust:100%}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body,.btn,input,select,textarea,button,.search{font-family:var(--font-body)}
h1,h2,h3,.brand,.eyebrow,.sectionname h3,.sectionname strong,.paper-folder-heading h2,
.reviewnum,.platform-title strong,.sidebox-title h2,.reading-selected-head h3,
.welcome-card h2,.profile-dialog h2,.metric-card strong,.hero-title{font-family:var(--font-display)}
h1,h2,.brand{letter-spacing:-.3px}
.eyebrow,.sectionname,.metric-label,.result-language{letter-spacing:.45px}

/* --- Aurora theme (renamed + de-cringed) ------------------------------------ */
body[data-theme="aurora"]{
  color-scheme:dark;isolation:isolate;
  --ink:#eef1fb;--muted:#a7afcd;--line:rgba(150,165,220,.20);
  --bg:#0a0d1a;--surface:rgba(20,25,44,.82);--surface-soft:rgba(28,34,58,.8);
  --control:rgba(12,16,30,.9);--soft-blue:rgba(48,62,116,.5);--soft-green:rgba(22,66,60,.5);
  --blue:#8b9dff;--green:#4fd6a6;--red:#ff7a90;
  --shadow:0 16px 44px rgba(0,0,0,.42);
  background-color:#0a0d1a;
  background-image:
    radial-gradient(ellipse at 15% 0%,rgba(96,84,200,.32),transparent 46%),
    radial-gradient(ellipse at 88% 8%,rgba(30,120,170,.26),transparent 44%),
    radial-gradient(ellipse at 55% 108%,rgba(120,60,150,.20),transparent 48%),
    linear-gradient(170deg,#0b1020,#0a0d1a 55%,#080a14);
  background-attachment:fixed;
}
/* GPU-composited drift (transform only — no repainting of the blurred layer) */
body[data-theme="aurora"]::before{
  content:"";position:fixed;inset:-25vmax;z-index:-1;pointer-events:none;
  background:
    radial-gradient(ellipse at 22% 28%,rgba(120,110,255,.20) 0,transparent 34%),
    radial-gradient(ellipse at 76% 24%,rgba(60,180,190,.16) 0,transparent 36%),
    radial-gradient(ellipse at 60% 80%,rgba(160,90,220,.14) 0,transparent 38%);
  filter:blur(30px);opacity:.85;transform:translate3d(0,0,0) scale(1);
  animation:auroraDrift 42s ease-in-out infinite alternate;will-change:transform;
}
@keyframes auroraDrift{
  0%{transform:translate3d(-2%,-1%,0) scale(1)}
  50%{transform:translate3d(1.5%,2%,0) scale(1.06)}
  100%{transform:translate3d(-1%,1%,0) scale(1.03)}
}
/* static star field + faint mandala (no animation -> zero steady-state cost) */
body[data-theme="aurora"]::after{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20512%20512%27%3E%3Cg%20fill%3D%27none%27%3E%3Ccircle%20cx%3D%27256%27%20cy%3D%27256%27%20r%3D%27250%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.5%27%20stroke-width%3D%271.6%27%2F%3E%3Ccircle%20cx%3D%27256%27%20cy%3D%27256%27%20r%3D%27238%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.32%27%20stroke-width%3D%270.9%27%2F%3E%3Ccircle%20cx%3D%27256%27%20cy%3D%27256%27%20r%3D%27150%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.4%27%20stroke-width%3D%271%27%2F%3E%3Ccircle%20cx%3D%27256%27%20cy%3D%27256%27%20r%3D%2766%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.42%27%20stroke-width%3D%271.2%27%2F%3E%3Ccircle%20cx%3D%27256%27%20cy%3D%27256%27%20r%3D%2752%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.3%27%20stroke-width%3D%270.9%27%2F%3E%3Cline%20x1%3D%27406.0%27%20y1%3D%27256.0%27%20x2%3D%27494.0%27%20y2%3D%27256.0%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27404.7%27%20y1%3D%27275.6%27%20x2%3D%27492.0%27%20y2%3D%27287.1%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27400.9%27%20y1%3D%27294.8%27%20x2%3D%27485.9%27%20y2%3D%27317.6%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27394.6%27%20y1%3D%27313.4%27%20x2%3D%27475.9%27%20y2%3D%27347.1%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27385.9%27%20y1%3D%27331.0%27%20x2%3D%27462.1%27%20y2%3D%27375.0%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27375.0%27%20y1%3D%27347.3%27%20x2%3D%27444.8%27%20y2%3D%27400.9%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27362.1%27%20y1%3D%27362.1%27%20x2%3D%27424.3%27%20y2%3D%27424.3%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27347.3%27%20y1%3D%27375.0%27%20x2%3D%27400.9%27%20y2%3D%27444.8%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27331.0%27%20y1%3D%27385.9%27%20x2%3D%27375.0%27%20y2%3D%27462.1%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27313.4%27%20y1%3D%27394.6%27%20x2%3D%27347.1%27%20y2%3D%27475.9%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27294.8%27%20y1%3D%27400.9%27%20x2%3D%27317.6%27%20y2%3D%27485.9%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27275.6%27%20y1%3D%27404.7%27%20x2%3D%27287.1%27%20y2%3D%27492.0%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27256.0%27%20y1%3D%27406.0%27%20x2%3D%27256.0%27%20y2%3D%27494.0%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27236.4%27%20y1%3D%27404.7%27%20x2%3D%27224.9%27%20y2%3D%27492.0%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27217.2%27%20y1%3D%27400.9%27%20x2%3D%27194.4%27%20y2%3D%27485.9%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27198.6%27%20y1%3D%27394.6%27%20x2%3D%27164.9%27%20y2%3D%27475.9%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27181.0%27%20y1%3D%27385.9%27%20x2%3D%27137.0%27%20y2%3D%27462.1%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27164.7%27%20y1%3D%27375.0%27%20x2%3D%27111.1%27%20y2%3D%27444.8%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27149.9%27%20y1%3D%27362.1%27%20x2%3D%2787.7%27%20y2%3D%27424.3%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27137.0%27%20y1%3D%27347.3%27%20x2%3D%2767.2%27%20y2%3D%27400.9%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27126.1%27%20y1%3D%27331.0%27%20x2%3D%2749.9%27%20y2%3D%27375.0%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27117.4%27%20y1%3D%27313.4%27%20x2%3D%2736.1%27%20y2%3D%27347.1%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27111.1%27%20y1%3D%27294.8%27%20x2%3D%2726.1%27%20y2%3D%27317.6%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27107.3%27%20y1%3D%27275.6%27%20x2%3D%2720.0%27%20y2%3D%27287.1%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27106.0%27%20y1%3D%27256.0%27%20x2%3D%2718.0%27%20y2%3D%27256.0%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27107.3%27%20y1%3D%27236.4%27%20x2%3D%2720.0%27%20y2%3D%27224.9%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27111.1%27%20y1%3D%27217.2%27%20x2%3D%2726.1%27%20y2%3D%27194.4%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27117.4%27%20y1%3D%27198.6%27%20x2%3D%2736.1%27%20y2%3D%27164.9%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27126.1%27%20y1%3D%27181.0%27%20x2%3D%2749.9%27%20y2%3D%27137.0%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27137.0%27%20y1%3D%27164.7%27%20x2%3D%2767.2%27%20y2%3D%27111.1%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27149.9%27%20y1%3D%27149.9%27%20x2%3D%2787.7%27%20y2%3D%2787.7%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27164.7%27%20y1%3D%27137.0%27%20x2%3D%27111.1%27%20y2%3D%2767.2%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27181.0%27%20y1%3D%27126.1%27%20x2%3D%27137.0%27%20y2%3D%2749.9%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27198.6%27%20y1%3D%27117.4%27%20x2%3D%27164.9%27%20y2%3D%2736.1%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27217.2%27%20y1%3D%27111.1%27%20x2%3D%27194.4%27%20y2%3D%2726.1%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27236.4%27%20y1%3D%27107.3%27%20x2%3D%27224.9%27%20y2%3D%2720.0%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27256.0%27%20y1%3D%27106.0%27%20x2%3D%27256.0%27%20y2%3D%2718.0%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27275.6%27%20y1%3D%27107.3%27%20x2%3D%27287.1%27%20y2%3D%2720.0%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27294.8%27%20y1%3D%27111.1%27%20x2%3D%27317.6%27%20y2%3D%2726.1%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27313.4%27%20y1%3D%27117.4%27%20x2%3D%27347.1%27%20y2%3D%2736.1%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27331.0%27%20y1%3D%27126.1%27%20x2%3D%27375.0%27%20y2%3D%2749.9%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27347.3%27%20y1%3D%27137.0%27%20x2%3D%27400.9%27%20y2%3D%2767.2%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27362.1%27%20y1%3D%27149.9%27%20x2%3D%27424.3%27%20y2%3D%2787.7%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27375.0%27%20y1%3D%27164.7%27%20x2%3D%27444.8%27%20y2%3D%27111.1%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27385.9%27%20y1%3D%27181.0%27%20x2%3D%27462.1%27%20y2%3D%27137.0%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27394.6%27%20y1%3D%27198.6%27%20x2%3D%27475.9%27%20y2%3D%27164.9%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27400.9%27%20y1%3D%27217.2%27%20x2%3D%27485.9%27%20y2%3D%27194.4%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Cline%20x1%3D%27404.7%27%20y1%3D%27236.4%27%20x2%3D%27492.0%27%20y2%3D%27224.9%27%20stroke%3D%27%25238b9dff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27%2F%3E%3Ccircle%20cx%3D%27406.0%27%20cy%3D%27256.0%27%20r%3D%272.6%27%20fill%3D%27%25238b9dff%27%20fill-opacity%3D%27.42%27%2F%3E%3Ccircle%20cx%3D%27400.9%27%20cy%3D%27294.8%27%20r%3D%272.6%27%20fill%3D%27%25238b9dff%27%20fill-opacity%3D%27.42%27%2F%3E%3Ccircle%20cx%3D%27385.9%27%20cy%3D%27331.0%27%20r%3D%272.6%27%20fill%3D%27%25238b9dff%27%20fill-opacity%3D%27.42%27%2F%3E%3Ccircle%20cx%3D%27362.1%27%20cy%3D%27362.1%27%20r%3D%272.6%27%20fill%3D%27%25238b9dff%27%20fill-opacity%3D%27.42%27%2F%3E%3Ccircle%20cx%3D%27331.0%27%20cy%3D%27385.9%27%20r%3D%272.6%27%20fill%3D%27%25238b9dff%27%20fill-opacity%3D%27.42%27%2F%3E%3Ccircle%20cx%3D%27294.8%27%20cy%3D%27400.9%27%20r%3D%272.6%27%20fill%3D%27%25238b9dff%27%20fill-opacity%3D%27.42%27%2F%3E%3Ccircle%20cx%3D%27256.0%27%20cy%3D%27406.0%27%20r%3D%272.6%27%20fill%3D%27%25238b9dff%27%20fill-opacity%3D%27.42%27%2F%3E%3Ccircle%20cx%3D%27217.2%27%20cy%3D%27400.9%27%20r%3D%272.6%27%20fill%3D%27%25238b9dff%27%20fill-opacity%3D%27.42%27%2F%3E%3Ccircle%20cx%3D%27181.0%27%20cy%3D%27385.9%27%20r%3D%272.6%27%20fill%3D%27%25238b9dff%27%20fill-opacity%3D%27.42%27%2F%3E%3Ccircle%20cx%3D%27149.9%27%20cy%3D%27362.1%27%20r%3D%272.6%27%20fill%3D%27%25238b9dff%27%20fill-opacity%3D%27.42%27%2F%3E%3Ccircle%20cx%3D%27126.1%27%20cy%3D%27331.0%27%20r%3D%272.6%27%20fill%3D%27%25238b9dff%27%20fill-opacity%3D%27.42%27%2F%3E%3Ccircle%20cx%3D%27111.1%27%20cy%3D%27294.8%27%20r%3D%272.6%27%20fill%3D%27%25238b9dff%27%20fill-opacity%3D%27.42%27%2F%3E%3Ccircle%20cx%3D%27106.0%27%20cy%3D%27256.0%27%20r%3D%272.6%27%20fill%3D%27%25238b9dff%27%20fill-opacity%3D%27.42%27%2F%3E%3Ccircle%20cx%3D%27111.1%27%20cy%3D%27217.2%27%20r%3D%272.6%27%20fill%3D%27%25238b9dff%27%20fill-opacity%3D%27.42%27%2F%3E%3Ccircle%20cx%3D%27126.1%27%20cy%3D%27181.0%27%20r%3D%272.6%27%20fill%3D%27%25238b9dff%27%20fill-opacity%3D%27.42%27%2F%3E%3Ccircle%20cx%3D%27149.9%27%20cy%3D%27149.9%27%20r%3D%272.6%27%20fill%3D%27%25238b9dff%27%20fill-opacity%3D%27.42%27%2F%3E%3Ccircle%20cx%3D%27181.0%27%20cy%3D%27126.1%27%20r%3D%272.6%27%20fill%3D%27%25238b9dff%27%20fill-opacity%3D%27.42%27%2F%3E%3Ccircle%20cx%3D%27217.2%27%20cy%3D%27111.1%27%20r%3D%272.6%27%20fill%3D%27%25238b9dff%27%20fill-opacity%3D%27.42%27%2F%3E%3Ccircle%20cx%3D%27256.0%27%20cy%3D%27106.0%27%20r%3D%272.6%27%20fill%3D%27%25238b9dff%27%20fill-opacity%3D%27.42%27%2F%3E%3Ccircle%20cx%3D%27294.8%27%20cy%3D%27111.1%27%20r%3D%272.6%27%20fill%3D%27%25238b9dff%27%20fill-opacity%3D%27.42%27%2F%3E%3Ccircle%20cx%3D%27331.0%27%20cy%3D%27126.1%27%20r%3D%272.6%27%20fill%3D%27%25238b9dff%27%20fill-opacity%3D%27.42%27%2F%3E%3Ccircle%20cx%3D%27362.1%27%20cy%3D%27149.9%27%20r%3D%272.6%27%20fill%3D%27%25238b9dff%27%20fill-opacity%3D%27.42%27%2F%3E%3Ccircle%20cx%3D%27385.9%27%20cy%3D%27181.0%27%20r%3D%272.6%27%20fill%3D%27%25238b9dff%27%20fill-opacity%3D%27.42%27%2F%3E%3Ccircle%20cx%3D%27400.9%27%20cy%3D%27217.2%27%20r%3D%272.6%27%20fill%3D%27%25238b9dff%27%20fill-opacity%3D%27.42%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"),
    radial-gradient(circle,rgba(255,255,255,.8) .8px,transparent 1.35px),
    radial-gradient(circle,rgba(180,200,255,.55) .7px,transparent 1.25px);
  background-repeat:no-repeat,repeat,repeat;
  background-position:calc(100% + 40px) -80px,12px 16px,44px 50px;
  background-size:min(720px,90vw) min(720px,90vw),90px 78px,138px 118px;
  opacity:.32;
}
body[data-theme="aurora"] .app-header{
  background:linear-gradient(112deg,rgba(16,20,38,.82),rgba(26,32,58,.7) 60%,rgba(12,16,32,.84));
  backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);
  border-color:rgba(150,165,220,.18);
  box-shadow:0 10px 34px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.05);
}
body[data-theme="aurora"] .app-header:after{
  background:linear-gradient(90deg,transparent,rgba(139,157,255,.7),rgba(127,224,200,.55),rgba(197,139,255,.5),transparent);
}
body[data-theme="aurora"] .header-primary .brandlogo{
  background:linear-gradient(145deg,#8b9dff,#7fe0c8 55%,#c58bff);
  color:#0d1128;box-shadow:0 8px 24px rgba(139,157,255,.26),inset 0 1px 0 rgba(255,255,255,.5);
}
body[data-theme="aurora"] .header-count-wrap,
body[data-theme="aurora"] .header-toolbar,
body[data-theme="aurora"] .header-toolbar .iconbtn,
body[data-theme="aurora"] .header-toolbar .sound-volume,
body[data-theme="aurora"] .header-toolbar .theme-control{background:rgba(34,40,68,.72);border-color:rgba(150,165,220,.2)}
body[data-theme="aurora"] .header-status-dot{background:var(--blue);box-shadow:0 0 0 4px rgba(139,157,255,.16)}
body[data-theme="aurora"] .profile-chip{background:rgba(38,44,74,.8)}
body[data-theme="aurora"] .sectioncard,
body[data-theme="aurora"] .testcard,
body[data-theme="aurora"] .panel,
body[data-theme="aurora"] .stat,
body[data-theme="aurora"] .questionbox,
body[data-theme="aurora"] .sidebox,
body[data-theme="aurora"] .metric-card,
body[data-theme="aurora"] .review-workspace,
body[data-theme="aurora"] .reviewitem,
body[data-theme="aurora"] .paper-folder-heading,
body[data-theme="aurora"] .reading-chapter-card,
body[data-theme="aurora"] .local-child-folder,
body[data-theme="aurora"] .local-library-panel{
  background:linear-gradient(145deg,rgba(28,34,58,.9),rgba(16,21,40,.88));
  border-color:rgba(150,165,220,.18);box-shadow:0 16px 44px rgba(0,0,0,.36);
}
body[data-theme="aurora"] .sectioncard:hover,
body[data-theme="aurora"] .testcard:hover,
body[data-theme="aurora"] .reading-chapter-card:hover,
body[data-theme="aurora"] .local-child-folder:hover{
  border-color:rgba(139,157,255,.5);box-shadow:0 18px 48px rgba(139,157,255,.14),0 12px 30px rgba(0,0,0,.36);
}
body[data-theme="aurora"] .sectioncard:after{background:rgba(139,157,255,.09)}
body[data-theme="aurora"] .sectioncard:before,
body[data-theme="aurora"] .testcard:before,
body[data-theme="aurora"] .reading-chapter-card:before{
  background:linear-gradient(115deg,transparent 10%,rgba(139,157,255,.14) 45%,rgba(127,224,200,.12) 60%,transparent 90%);
}
body[data-theme="aurora"] .btn{background:linear-gradient(120deg,#8b9dff,#7fe0c8);color:#0d1128;border:1px solid rgba(255,255,255,.16);box-shadow:0 8px 22px rgba(139,157,255,.22)}
body[data-theme="aurora"] .btn.dark{background:linear-gradient(135deg,#2c3563,#1b2144);color:#eef1fb;box-shadow:none}
body[data-theme="aurora"] .btn.secondary,
body[data-theme="aurora"] .btn.light,
body[data-theme="aurora"] .iconbtn,
body[data-theme="aurora"] .theme-control select,
body[data-theme="aurora"] .platform-icon,
body[data-theme="aurora"] .reviewfilters button,
body[data-theme="aurora"] .review-toggle,
body[data-theme="aurora"] .save-current{color:var(--ink);background:rgba(38,44,74,.8);border-color:rgba(150,165,220,.2)}
body[data-theme="aurora"] .finish-confirm{background:linear-gradient(135deg,#ff6f91,#c9184a)}
body[data-theme="aurora"] .option,
body[data-theme="aurora"] #exam .option,
body[data-theme="aurora"] .qtext{background:rgba(14,18,34,.72);border-color:rgba(150,165,220,.18)}
body[data-theme="aurora"] .option:hover,
body[data-theme="aurora"] #exam .option:hover{background:rgba(24,30,52,.8);border-color:rgba(139,157,255,.45)}
body[data-theme="aurora"] .option:has(input:checked),
body[data-theme="aurora"] #exam .option:has(input:checked){
  background:linear-gradient(120deg,rgba(139,157,255,.15),rgba(127,224,200,.12));
  border-color:var(--blue);box-shadow:inset 3px 0 var(--blue),0 0 20px rgba(139,157,255,.12);
}
body[data-theme="aurora"] .notice,
body[data-theme="aurora"] .answer-status-legend,
body[data-theme="aurora"] .reviewdetails,
body[data-theme="aurora"] .paper-inline-result,
body[data-theme="aurora"] .attempt-history-details{background:rgba(32,38,66,.82);border-color:rgba(150,165,220,.18)}
body[data-theme="aurora"] .timer,
body[data-theme="aurora"] .timer-chip{background:rgba(26,32,56,.9);border-color:rgba(150,165,220,.18)}
body[data-theme="aurora"] .exam-platform-head,
body[data-theme="aurora"] .exam-section-tabs,
body[data-theme="aurora"] #exam .qactions.exam-bottom-bar{
  background:rgba(10,13,26,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:rgba(150,165,220,.16);
}
body[data-theme="aurora"] #exam #next,
body[data-theme="aurora"] #exam #finish{background:linear-gradient(120deg,#8b9dff,#7fe0c8);color:#0d1128}
body[data-theme="aurora"] #exam .pal{background:rgba(14,18,34,.7);border-color:rgba(150,165,220,.2)}
body[data-theme="aurora"] #exam .pal.current{background:linear-gradient(120deg,rgba(139,157,255,.3),rgba(127,224,200,.24));color:#fff;border-color:var(--blue);box-shadow:0 0 0 2px rgba(139,157,255,.4)}
body[data-theme="aurora"] .tag{background:rgba(139,157,255,.14);color:#b9c4ff}
body[data-theme="aurora"] .resultscore{color:#b9c4ff}
body[data-theme="aurora"] .embedded-library-count{color:#b9c4ff;background:rgba(139,157,255,.1)}
body[data-theme="aurora"] button:focus-visible,
body[data-theme="aurora"] input:focus-visible,
body[data-theme="aurora"] select:focus-visible{outline-color:rgba(139,157,255,.7)}
body[data-theme="aurora"] ::selection{background:rgba(139,157,255,.32);color:#fff}
@media(prefers-reduced-motion:reduce){body[data-theme="aurora"]::before{animation:none!important}}
body.motion-off[data-theme="aurora"]::before{animation:none!important}

/* --- Home hero banner ------------------------------------------------------- */
.home-hero{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,44%);align-items:center;gap:18px;
  margin:6px 0 24px;padding:20px 22px;border:1px solid var(--line);border-radius:22px;
  background:linear-gradient(120deg,color-mix(in srgb,var(--surface) 88%,var(--surface-soft)),var(--surface));
  box-shadow:var(--shadow);overflow:hidden;position:relative;
}
.home-hero-copy{min-width:0}
.home-hero .eyebrow{margin:0 0 6px}
.hero-title{margin:0 0 8px;font-size:clamp(20px,2.4vw,27px);font-weight:700;letter-spacing:-.4px}
.home-hero-sub{margin:0;color:var(--muted);font-size:13.5px;line-height:1.6;max-width:52ch}
.home-hero-art{border-radius:16px;overflow:hidden;line-height:0;box-shadow:0 12px 30px rgba(0,0,0,.28)}
.home-hero-art svg{width:100%;height:auto;display:block}
@media(max-width:700px){.home-hero{grid-template-columns:1fr;gap:14px;padding:16px}.home-hero-art{order:-1}}

/* --- Section-card SVG icons ------------------------------------------------- */
.sectioncard .sectionicon{font-size:0;background-repeat:no-repeat;background-position:center;background-size:60%}
.sectioncard:nth-of-type(1) .sectionicon{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%236a4bd8%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%205.5A2.5%202.5%200%200%201%206.5%203H19v14H6.5A2.5%202.5%200%200%200%204%2019.5z%27%2F%3E%3Cpath%20d%3D%27M4%2019.5A2.5%202.5%200%200%201%206.5%2017H19%27%2F%3E%3Cpath%20d%3D%27M9%207.5h6%27%2F%3E%3C%2Fsvg%3E")}
.sectioncard:nth-of-type(2) .sectionicon{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%232f7d6b%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%203h8l4%204v14H6z%27%2F%3E%3Cpath%20d%3D%27M14%203v4h4%27%2F%3E%3Cpath%20d%3D%27M9%2012h6M9%2016h6%27%2F%3E%3C%2Fsvg%3E")}
.sectioncard:nth-of-type(3) .sectionicon{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23c26a1e%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279%27%2F%3E%3Cpath%20d%3D%27M3%2012h18%27%2F%3E%3Cpath%20d%3D%27M12%203c2.7%203%202.7%2015%200%2018M12%203c-2.7%203-2.7%2015%200%2018%27%2F%3E%3C%2Fsvg%3E")}
.sectioncard:nth-of-type(4) .sectionicon{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%232a6bbf%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%206C10%204.6%207.3%204%204%204v13c3.3%200%206%20.6%208%202%202-1.4%204.7-2%208-2V4c-3.3%200-6%20.6-8%202z%27%2F%3E%3Cpath%20d%3D%27M12%206v13%27%2F%3E%3C%2Fsvg%3E")}
.sectioncard:nth-of-type(5) .sectionicon{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23b4457a%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M8%204h8v4a4%204%200%200%201-8%200z%27%2F%3E%3Cpath%20d%3D%27M8%205H5v1.5A3.5%203.5%200%200%200%208.5%2010M16%205h3v1.5A3.5%203.5%200%200%201%2015.5%2010%27%2F%3E%3Cpath%20d%3D%27M12%2012v4M9%2020h6M10%2020l.5-4h3l.5%204%27%2F%3E%3C%2Fsvg%3E")}

/* --- Progress graphs (results screen) --------------------------------------- */
.progress-panel{opacity:1!important;transform:none!important}
.progress-panel .section-heading{align-items:flex-end}
.progress-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(190px,1fr);gap:18px;align-items:center;margin-top:14px}
.progress-chart-wrap{min-width:0;position:relative}
.progress-chart{width:100%;height:auto;display:block}
.progress-chart .grid-line{stroke:var(--line);stroke-width:1}
.progress-chart .axis-line{stroke:var(--line);stroke-width:1.2}
.progress-chart .axis-text{fill:var(--muted);font-size:11px;font-family:var(--font-body)}
.progress-chart .area{fill:url(#progArea)}
.progress-chart .line{fill:none;stroke:var(--blue);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.progress-chart .dot{fill:var(--surface);stroke:var(--blue);stroke-width:2.4}
.progress-chart .ga-top{stop-color:var(--blue);stop-opacity:.34}
.progress-chart .ga-bot{stop-color:var(--blue);stop-opacity:0}
.progress-empty{color:var(--muted);font-size:13px;padding:34px 8px;text-align:center;line-height:1.6}
.progress-side{display:flex;flex-direction:column;align-items:center;gap:14px;min-width:0}
.accuracy-ring{position:relative;width:158px;height:158px;flex:0 0 auto}
.accuracy-ring svg{width:100%;height:100%;transform:rotate(-90deg);display:block}
.accuracy-ring .track{fill:none;stroke:var(--line);stroke-width:11}
.accuracy-ring .bar{fill:none;stroke:url(#ringGrad);stroke-width:11;stroke-linecap:round;transition:stroke-dashoffset 1.1s cubic-bezier(.2,.8,.2,1)}
.accuracy-ring .rg-a{stop-color:var(--green)}
.accuracy-ring .rg-b{stop-color:var(--blue)}
.ring-val{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:2px}
.ring-val strong{font-family:var(--font-display);font-size:30px;line-height:1}
.ring-val span{font-size:10px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}
.progress-chips{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}
.progress-chip{border:1px solid var(--line);border-radius:12px;padding:10px 8px;background:var(--surface-soft);text-align:center}
.progress-chip strong{display:block;font-family:var(--font-display);font-size:17px;line-height:1.2}
.progress-chip span{font-size:9px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
.progress-chip.good strong{color:var(--green)}
.progress-chip.bad strong{color:var(--red)}
@media(max-width:820px){.progress-grid{grid-template-columns:1fr}.accuracy-ring{width:140px;height:140px}}
/* richer existing distribution bars */
.performance-chart .chart-bar{border-radius:7px 7px 0 0}
.green-bar{background:linear-gradient(180deg,#4fe0a0,#22c55e)}
.red-bar{background:linear-gradient(180deg,#ff8595,#f05260)}
.grey-bar{background:linear-gradient(180deg,#aab2c8,#9ca3af)}

/* --- Question & option presentation (every test) ---------------------------- */
#exam .qtext{white-space:normal;line-height:1.78;font-size:clamp(16px,1.6vw,19.5px);letter-spacing:.002em;padding:22px 24px;margin-bottom:16px}
#exam .qtext p{margin:0 0 .85em}
#exam .qtext p:last-child{margin-bottom:0}
#exam .qtext:empty{display:none}
#exam .qtop{margin-bottom:18px}
#exam #options{display:grid;gap:12px;margin-top:22px}
#exam .option{display:flex;align-items:flex-start;gap:13px;padding:16px 18px;border-radius:14px;line-height:1.62;min-height:54px}
#exam .option>input{margin-top:3px;flex:0 0 auto}
#exam .option>span{flex:1;min-width:0;overflow-wrap:anywhere}
#exam .option b{display:inline-grid;place-items:center;min-width:26px;height:26px;margin-right:9px;border-radius:8px;background:var(--surface-soft);border:1px solid var(--line);color:var(--blue);font-weight:800;font-size:12px;vertical-align:middle}
#exam .option:has(input:checked) b{background:var(--blue);color:#0d1128;border-color:var(--blue)}
.reviewquestion{white-space:normal;line-height:1.75}
.reviewquestion p{margin:0 0 .8em}
.reviewquestion p:last-child{margin-bottom:0}
.reviewoptions{gap:11px}
.reviewoption{padding:14px 16px;line-height:1.6}
@media(max-width:560px){
  #exam .qtext{padding:16px;font-size:16.5px}
  #exam .option{padding:14px;gap:10px}
  #exam #options{gap:10px;margin-top:16px}
}

/* --- Tablet + test responsiveness fixes ------------------------------------- */
body:has(#exam:not(.hidden)){padding-bottom:100px}
@media(min-width:821px) and (max-width:1024px){
  #exam .examlayout{grid-template-columns:minmax(0,1fr) minmax(250px,33%)}
  #exam .sidebox{position:sticky;top:132px;max-height:calc(100dvh - 230px);margin:12px}
  #exam .palette{grid-template-columns:repeat(5,minmax(0,1fr))}
  #exam .qtext{font-size:18px}
  #exam .qactions.exam-bottom-bar{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
}
@media(max-width:820px){
  #exam .sidebox{order:2;position:static;max-height:none;margin:12px}
  #exam .questionbox{padding-bottom:30px}
  #exam .palette{grid-template-columns:repeat(8,minmax(0,1fr))}
}
@media(min-width:561px) and (max-width:820px){
  #exam .qactions.exam-bottom-bar{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
  #exam #prev,#exam #clearAnswer,#exam #next,#exam #finish{grid-column:auto;grid-row:auto;margin:0}
}
@media(max-width:560px){body:has(#exam:not(.hidden)){padding-bottom:140px}}
@media(max-width:1024px){
  body[data-theme="aurora"]::before{filter:blur(22px);opacity:.7}
  body[data-theme="aurora"] .app-header{backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
}

/* Admin panel (password-gated) — additive, theme-aware */
.admin-backdrop{position:fixed;inset:0;z-index:100050;display:grid;place-items:center;padding:18px;background:rgba(6,8,16,.74);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);overflow:auto}
.admin-backdrop.hidden{display:none}
.admin-panel{width:min(780px,100%);max-height:90vh;overflow:auto;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 90px rgba(0,0,0,.5);padding:22px}
.admin-head{display:flex;align-items:center;gap:14px;margin-bottom:6px}
.admin-lock{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:22px;background:linear-gradient(135deg,var(--blue),#7fe0c8);color:#0d1128;flex:0 0 auto}
.admin-head h2{margin:0;font-size:19px}
.admin-head p{margin:2px 0 0}
.admin-close{margin-left:auto;border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);border-radius:10px;width:36px;height:36px;font-size:16px;cursor:pointer}
.admin-login{display:grid;gap:10px;margin-top:14px;max-width:360px}
.admin-input{padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--control);color:var(--ink);font:inherit}
.admin-btn{border:0;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer;background:var(--blue);color:#0d1128;font:inherit;font-weight:700}
.admin-btn.ghost{background:var(--surface-soft);color:var(--ink);border:1px solid var(--line)}
.admin-btn.danger{background:color-mix(in srgb,var(--red) 16%,var(--surface));color:var(--red);border:1px solid color-mix(in srgb,var(--red) 35%,var(--line))}
.admin-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 6px}
.admin-error{font-size:12px;min-height:16px;margin:2px 0 8px}
.admin-cats{display:grid;gap:12px}
.admin-cat{border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);padding:12px}
.admin-cat-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.admin-cat-head strong{font-size:14px}
.admin-cat-head .small{color:var(--muted);font-size:11px}
.admin-spacer{margin-left:auto}
.admin-paper-list{margin-top:10px;display:grid;gap:6px}
.admin-paper{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:12px}
.admin-paper>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:52%}
.admin-badge{font-size:10px;font-weight:800;letter-spacing:.05em;padding:3px 7px;border-radius:999px;background:color-mix(in srgb,var(--blue) 16%,var(--surface));color:var(--blue)}
.admin-note{font-size:12px;color:var(--muted);line-height:1.6;margin-top:14px;border-top:1px solid var(--line);padding-top:12px}

/* admin-added category cards must always be visible (skip scroll-reveal) */
.sectioncard[data-cat]{opacity:1!important;transform:none!important}

/* sub-category blocks inside the admin panel */
.admin-sub{border:1px dashed var(--line);border-radius:12px;padding:10px;margin-top:10px;background:color-mix(in srgb,var(--surface) 55%,transparent)}
.admin-sub-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.admin-sub-name{font-weight:700;font-size:13px}
.admin-sub .admin-btn{padding:7px 10px;font-size:12px}

/* --- polish pass --- */
.stats .stat{position:relative;overflow:hidden;border-radius:16px}
.stats .stat::before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--blue),transparent);opacity:.7}
.stats .stat strong{font-family:var(--font-display);letter-spacing:-.5px}
.stats .stat span{font-weight:700;letter-spacing:.07em}
.testcard,.paper-folder-heading,.sectioncard{border-radius:18px}
@media(max-width:1024px){body[data-theme="aurora"]::before{filter:blur(18px);opacity:.72}}
@media(max-width:600px){body[data-theme="aurora"]::before{filter:blur(14px);opacity:.6}}

/* --- relaxed admin look (calmer, bigger) --- */
.admin-panel{width:min(900px,100%);padding:26px 30px;border-radius:22px;font-size:14.5px;--admin-accent:#6f7fd0;--admin-accent-2:#5b6ac0;background:color-mix(in srgb,var(--surface) 92%,#0a0d18)}
.admin-head h2{font-size:21px;letter-spacing:-.3px}
.admin-head p{font-size:13px}
.admin-lock{background:linear-gradient(135deg,#6f7fd0,#93a2e6);color:#fff;border-radius:16px;box-shadow:0 8px 22px rgba(111,127,208,.3)}
.admin-close{border-radius:11px;width:38px;height:38px}
.admin-login{max-width:400px;gap:12px}
.admin-input{padding:12px 14px;border-radius:12px;font-size:14px}
.admin-panel .admin-btn{background:var(--admin-accent);color:#fff;border-radius:12px;padding:11px 16px;font-size:13.5px;font-weight:700;box-shadow:none}
.admin-panel .admin-btn:hover{background:var(--admin-accent-2)}
.admin-panel .admin-btn.ghost{background:color-mix(in srgb,var(--surface) 72%,transparent);color:var(--ink);border:1px solid var(--line)}
.admin-panel .admin-btn.ghost:hover{background:color-mix(in srgb,var(--surface) 55%,transparent)}
.admin-panel .admin-btn.danger{background:color-mix(in srgb,var(--red) 13%,var(--surface));color:var(--red);border:1px solid color-mix(in srgb,var(--red) 30%,var(--line))}
.admin-toolbar{gap:9px;margin:16px 0 8px}
.admin-cats{gap:14px}
.admin-cat{border-radius:16px;padding:15px 16px;background:color-mix(in srgb,var(--surface) 60%,transparent)}
.admin-cat-head strong{font-size:15px}
.admin-sub{border-radius:14px;padding:13px;margin-top:12px}
.admin-sub-name{font-size:14px}
.admin-sub .admin-btn{padding:8px 12px;font-size:12.5px}
.admin-paper{padding:10px 12px;border-radius:11px;font-size:12.5px}
.admin-note{font-size:12.5px;line-height:1.65}
@media(max-width:600px){.admin-panel{padding:18px 16px;border-radius:18px}.admin-head h2{font-size:18px}}

/* inline add forms in the admin panel */
.admin-inline{display:flex;gap:8px;margin:0 0 12px;padding:10px;border:1px dashed var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 60%,transparent)}
.admin-inline .admin-input{flex:1;min-width:0}

/* ---- full-width admin page ---- */
.admin-page{position:fixed;inset:0;z-index:100050;background:var(--bg);color:var(--ink);display:flex;flex-direction:column;overflow:hidden}
.admin-page.hidden{display:none}
.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px clamp(14px,3vw,32px);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);flex-wrap:wrap}
.admin-brand{display:flex;align-items:center;gap:12px}
.admin-logo{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:20px;background:linear-gradient(135deg,#6f7fd0,#93a2e6);color:#fff}
.admin-brand strong{display:block;font-family:var(--font-display);font-size:17px}
.admin-brand .small{color:var(--muted);font-size:11.5px}
.admin-topactions{display:flex;gap:8px;flex-wrap:wrap}
.admin-login-wrap{flex:1;display:grid;place-items:center;padding:24px}
.admin-login{display:grid;gap:12px;width:min(380px,100%)}
.admin-workspace{flex:1;min-height:0;display:grid;grid-template-columns:330px minmax(0,1fr)}
.admin-workspace.hidden{display:none}
.admin-tree{border-right:1px solid var(--line);overflow:auto;padding:16px}
.admin-main{overflow:auto;padding:20px clamp(16px,3vw,32px)}
@media(max-width:860px){.admin-workspace{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.admin-tree{border-right:0;border-bottom:1px solid var(--line);max-height:44vh}}
.admin-tree-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.admin-tree-head span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:800}
.admin-catrow{border:1px solid var(--line);border-radius:14px;padding:10px;margin-bottom:10px;background:color-mix(in srgb,var(--surface) 60%,transparent)}
.admin-catrow-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.admin-catrow-head strong{font-size:13.5px}
.admin-subrows{display:grid;gap:6px}
.admin-subrow{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);color:var(--ink);padding:9px 11px;font:inherit;font-size:12.5px;cursor:pointer}
.admin-subrow:hover{border-color:color-mix(in srgb,var(--blue) 45%,var(--line))}
.admin-subrow.active{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 14%,var(--surface))}
.admin-subrow-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-catrow-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.admin-mini{border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);border-radius:9px;padding:6px 10px;font:inherit;font-size:11.5px;font-weight:700;cursor:pointer}
.admin-mini:hover{border-color:var(--blue)}
.admin-mini.danger{color:var(--red);border-color:color-mix(in srgb,var(--red) 30%,var(--line))}
.admin-main-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.admin-main-head h2{margin:0 0 4px;font-size:20px}
.admin-main-actions{display:flex;gap:8px;flex-wrap:wrap}
.admin-paperlist{display:grid;gap:8px}
.admin-paperrow{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.admin-paper-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:56%;font-weight:600}
.admin-empty{color:var(--muted);font-size:13.5px;padding:40px 10px;text-align:center}
.admin-toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:100100;max-width:min(560px,92vw);padding:12px 16px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:13px;box-shadow:0 14px 40px rgba(0,0,0,.4)}
.admin-toast.hidden{display:none}

/* ============ EXAM + RESULTS polish ============ */

/* Exam: kill the huge empty question box, tighten everything */
#exam .questionbox{min-height:0}
#exam .qtext{font-size:clamp(16px,1.5vw,18.5px);line-height:1.7;padding:18px 20px;margin-bottom:14px}
#exam #options{gap:10px;margin-top:16px}
#exam .option{padding:14px 16px;min-height:48px;border-radius:12px}
#exam .qtop{margin-bottom:14px}
#exam .qactions.exam-bottom-bar{padding:10px clamp(10px,2vw,22px)}
#exam .qactions .btn{min-height:46px;border-radius:11px;font-weight:700}
#exam .qactions #prev,#exam .qactions #clearAnswer{background:var(--surface-soft);color:var(--ink);border:1px solid var(--line)}
#exam .qactions #prev:disabled{opacity:.4}
#exam .pal{min-height:34px}
#exam .sidebox{padding:14px}
.exam-control-strip{padding:10px clamp(12px,2vw,24px)}

/* Results: consistent cards, tighter, less empty space */
.result-stat-grid{gap:10px}
.metric-card{min-height:118px;justify-content:flex-start;padding:14px}
.metric-card strong{font-size:clamp(19px,2.1vw,25px);line-height:1.1}
.metric-card small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:26px}
#resultOverview .panel{margin-top:14px;padding:16px}
.progress-grid{margin-top:10px}
.progress-chart{max-height:210px}
.performance-chart{height:160px}
.sectional-panel{margin-top:12px}
.result-actions{margin-top:14px;gap:10px}
.result-actions .btn{min-height:44px}
.result-tabs{margin:16px 0 18px}
#results h1{margin-bottom:4px}
#results .sub{margin-bottom:14px}

/* Explanation: readable, paragraph-formatted, generous */
.reviewdetails{padding:16px 18px;border-radius:14px}
.reviewdetails .yourline,.reviewdetails .answerline{font-size:14px;margin:6px 0}
.explainline{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-size:15px;line-height:1.75;color:var(--ink)}
.explainline .explain-label{display:block;font-family:var(--font-display);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.explainline p{margin:0 0 .7em}
.explainline p:last-child{margin-bottom:0}
.reviewquestion{font-size:clamp(16px,1.9vw,18.5px);line-height:1.7}
.reviewoption{padding:13px 15px}

/* ---- explanation: structured like the JSON (headings, bullets, paragraphs) ---- */
.explainline h4.explain-h{margin:16px 0 7px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.explainline h4.explain-h:first-child{margin-top:4px}
.explainline .explain-list{margin:8px 0 12px;padding-left:20px;display:grid;gap:5px}
.explainline .explain-list li{line-height:1.7}
.explainline p{margin:0 0 .65em;line-height:1.75}
.explainline p:last-child{margin-bottom:0}

/* ---- growth: weekly activity + section mastery ---- */
.study-grid2{display:grid;grid-template-columns:1.15fr 1fr;gap:14px}
@media(max-width:820px){.study-grid2{grid-template-columns:1fr}}
.study-week,.study-mastery{border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:14px 16px;box-shadow:var(--shadow)}
.study-week-head,.study-mastery-head{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:var(--muted);margin-bottom:12px;font-weight:700;letter-spacing:.04em}
.study-week-bars{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;align-items:end;height:96px}
.study-daybar{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:7px;height:100%}
.study-daybar i{width:100%;max-width:26px;min-height:4px;border-radius:6px 6px 0 0;background:linear-gradient(180deg,var(--blue),color-mix(in srgb,var(--blue) 35%,transparent));transition:height .6s cubic-bezier(.2,.8,.2,1)}
.study-daybar span{font-size:10px;color:var(--muted)}
.study-mastery-row{display:grid;grid-template-columns:104px minmax(0,1fr) 42px;align-items:center;gap:10px;margin-top:9px;font-size:12px}
.study-mastery-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-weight:600}
.study-mastery-bar{height:8px;border-radius:999px;background:var(--surface-soft);overflow:hidden;border:1px solid var(--line)}
.study-mastery-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--green))}
.study-mastery-row b{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}
@media(prefers-reduced-motion:reduce){.study-daybar i{transition:none}}

/* rich explanation straight from the source HTML */
.explainline .explain-rich{font-size:15px;line-height:1.75}
.explainline .explain-rich p,.explainline .explain-rich div{margin:0 0 .65em}
.explainline .explain-rich p:last-child{margin-bottom:0}
.explainline .explain-rich strong,.explainline .explain-rich b{color:var(--ink);font-weight:800}
.explainline .explain-rich ul,.explainline .explain-rich ol{margin:8px 0 12px;padding-left:22px;display:grid;gap:5px}
.explainline .explain-rich li{line-height:1.7}
.explainline .explain-rich h1,.explainline .explain-rich h2,.explainline .explain-rich h3,.explainline .explain-rich h4{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:16px 0 7px}
.explainline .explain-rich br{line-height:1.7}

/* ---- explanation: prominent, high-contrast, unmissable ---- */
.explainline{color:var(--ink);font-size:15.5px;margin-top:16px;background:linear-gradient(180deg,color-mix(in srgb,var(--blue) 13%,var(--surface)),var(--surface));border:1px solid color-mix(in srgb,var(--blue) 36%,var(--line));border-left:5px solid var(--blue);border-radius:14px;padding:16px 18px 15px;box-shadow:0 10px 26px color-mix(in srgb,var(--blue) 13%,transparent)}
.explainline .explain-label{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,var(--blue),#7c3aed);padding:6px 14px;border-radius:999px;margin-bottom:12px;box-shadow:0 4px 14px color-mix(in srgb,var(--blue) 45%,transparent)}
.explainline .explain-label::before{content:"";width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.35)}
.explainline p,.explainline li{font-size:15.5px;line-height:1.8;color:var(--ink);font-weight:500}
.explainline .explain-h{font-size:13px;font-weight:900;letter-spacing:.07em;color:var(--blue);text-transform:uppercase;margin:16px 0 8px}
.explainline strong,.explainline b{font-weight:900;color:var(--ink)}
.explainline .explain-list li::marker{color:var(--blue);font-weight:900}
.explainline .explain-rich{font-size:15.5px}

/* ---- per-paper language switch on bilingual cards ---- */
.lang-switch{display:inline-flex;gap:4px;margin:10px 0 2px;padding:3px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--line)}
.lang-switch button{border:0;background:transparent;color:var(--muted);font-size:12px;font-weight:700;padding:5px 12px;border-radius:999px;cursor:pointer;transition:background .18s,color .18s}
.lang-switch button:hover{color:var(--ink)}
.lang-switch button.active{background:linear-gradient(135deg,var(--blue),color-mix(in srgb,var(--blue) 60%,#7c3aed));color:#fff;box-shadow:0 2px 8px color-mix(in srgb,var(--blue) 35%,transparent)}

/* ============================================================================
   Premium themes + self-growth "study dashboard" (additive)
   ============================================================================ */

/* --- Midnight: deep navy + electric cyan ------------------------------------ */
body[data-theme="midnight"]{
  color-scheme:dark;isolation:isolate;
  --ink:#e9f2ff;--muted:#8fa3c6;--line:rgba(120,165,225,.20);
  --bg:#05080f;--surface:rgba(14,20,34,.86);--surface-soft:rgba(20,28,46,.84);
  --control:rgba(8,12,22,.92);--soft-blue:rgba(30,52,96,.5);--soft-green:rgba(18,60,58,.5);
  --blue:#4fd1ff;--green:#4fe0a8;--red:#ff7a90;--shadow:0 16px 46px rgba(0,0,0,.5);
  background-color:#05080f;
  background-image:
    radial-gradient(ellipse at 18% 0%,rgba(24,96,160,.38),transparent 46%),
    radial-gradient(ellipse at 86% 8%,rgba(40,60,150,.32),transparent 44%),
    linear-gradient(170deg,#070c18,#05080f 60%,#03050b);
  background-attachment:fixed;
}
body[data-theme="midnight"] .app-header{background:linear-gradient(112deg,rgba(9,14,26,.85),rgba(16,24,42,.72));backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);border-color:rgba(120,165,225,.18)}
body[data-theme="midnight"] .app-header:after{background:linear-gradient(90deg,transparent,rgba(79,209,255,.7),rgba(120,160,255,.5),transparent)}
body[data-theme="midnight"] .header-primary .brandlogo{background:linear-gradient(145deg,#4fd1ff,#6f8bff 60%,#7fe0c8);color:#04121e}
body[data-theme="midnight"] .sectioncard,
body[data-theme="midnight"] .testcard,
body[data-theme="midnight"] .panel,
body[data-theme="midnight"] .stat,
body[data-theme="midnight"] .questionbox,
body[data-theme="midnight"] .sidebox,
body[data-theme="midnight"] .metric-card,
body[data-theme="midnight"] .reviewitem,
body[data-theme="midnight"] .review-workspace,
body[data-theme="midnight"] .paper-folder-heading,
body[data-theme="midnight"] .reading-chapter-card{background:linear-gradient(145deg,rgba(18,26,44,.9),rgba(10,15,28,.88));border-color:rgba(120,165,225,.18)}
body[data-theme="midnight"] .btn{background:linear-gradient(120deg,#4fd1ff,#6f8bff);color:#04121e}
body[data-theme="midnight"] .option:has(input:checked),
body[data-theme="midnight"] #exam .option:has(input:checked){background:linear-gradient(120deg,rgba(79,209,255,.16),rgba(111,139,255,.12));border-color:var(--blue)}
body[data-theme="midnight"] .qtext,
body[data-theme="midnight"] .option,
body[data-theme="midnight"] #exam .option{background:rgba(8,12,22,.72)}
body[data-theme="midnight"] .exam-platform-head,
body[data-theme="midnight"] .exam-section-tabs,
body[data-theme="midnight"] #exam .qactions.exam-bottom-bar{background:rgba(5,8,15,.92)}

/* --- Sunrise: warm plum + amber/coral -------------------------------------- */
body[data-theme="sunrise"]{
  color-scheme:dark;isolation:isolate;
  --ink:#fff2e9;--muted:#c4a89a;--line:rgba(235,180,150,.20);
  --bg:#170f14;--surface:rgba(38,26,30,.86);--surface-soft:rgba(50,34,38,.84);
  --control:rgba(20,13,17,.92);--soft-blue:rgba(96,52,60,.5);--soft-green:rgba(30,66,58,.5);
  --blue:#ff9d6c;--green:#7fe0b0;--red:#ff6f8b;--shadow:0 16px 46px rgba(0,0,0,.46);
  background-color:#170f14;
  background-image:
    radial-gradient(ellipse at 15% 0%,rgba(200,90,60,.34),transparent 46%),
    radial-gradient(ellipse at 88% 10%,rgba(150,60,120,.30),transparent 44%),
    linear-gradient(170deg,#1d131a,#170f14 60%,#100a0e);
  background-attachment:fixed;
}
body[data-theme="sunrise"] .app-header{background:linear-gradient(112deg,rgba(30,20,26,.85),rgba(44,28,34,.72));backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);border-color:rgba(235,180,150,.18)}
body[data-theme="sunrise"] .app-header:after{background:linear-gradient(90deg,transparent,rgba(255,157,108,.75),rgba(255,120,160,.5),transparent)}
body[data-theme="sunrise"] .header-primary .brandlogo{background:linear-gradient(145deg,#ffb27f,#ff9d6c 45%,#ff7fa8);color:#2a1018}
body[data-theme="sunrise"] .sectioncard,
body[data-theme="sunrise"] .testcard,
body[data-theme="sunrise"] .panel,
body[data-theme="sunrise"] .stat,
body[data-theme="sunrise"] .questionbox,
body[data-theme="sunrise"] .sidebox,
body[data-theme="sunrise"] .metric-card,
body[data-theme="sunrise"] .reviewitem,
body[data-theme="sunrise"] .review-workspace,
body[data-theme="sunrise"] .paper-folder-heading,
body[data-theme="sunrise"] .reading-chapter-card{background:linear-gradient(145deg,rgba(44,30,34,.9),rgba(26,17,21,.88));border-color:rgba(235,180,150,.18)}
body[data-theme="sunrise"] .btn{background:linear-gradient(120deg,#ffb27f,#ff7fa8);color:#2a1018}
body[data-theme="sunrise"] .option:has(input:checked),
body[data-theme="sunrise"] #exam .option:has(input:checked){background:linear-gradient(120deg,rgba(255,157,108,.16),rgba(255,127,168,.12));border-color:var(--blue)}
body[data-theme="sunrise"] .qtext,
body[data-theme="sunrise"] .option,
body[data-theme="sunrise"] #exam .option{background:rgba(20,13,17,.72)}
body[data-theme="sunrise"] .exam-platform-head,
body[data-theme="sunrise"] .exam-section-tabs,
body[data-theme="sunrise"] #exam .qactions.exam-bottom-bar{background:rgba(23,15,20,.92)}

/* --- Emerald: deep green + mint/gold --------------------------------------- */
body[data-theme="emerald"]{
  color-scheme:dark;isolation:isolate;
  --ink:#eafff4;--muted:#9cc4b2;--line:rgba(130,215,175,.20);
  --bg:#06120e;--surface:rgba(14,30,24,.86);--surface-soft:rgba(20,40,32,.84);
  --control:rgba(8,18,14,.92);--soft-blue:rgba(24,70,60,.5);--soft-green:rgba(24,70,56,.55);
  --blue:#5fe0b0;--green:#c9e06a;--red:#ff7a90;--shadow:0 16px 46px rgba(0,0,0,.46);
  background-color:#06120e;
  background-image:
    radial-gradient(ellipse at 16% 0%,rgba(20,120,90,.36),transparent 46%),
    radial-gradient(ellipse at 86% 10%,rgba(60,110,50,.28),transparent 44%),
    linear-gradient(170deg,#08160f,#06120e 60%,#040c09);
  background-attachment:fixed;
}
body[data-theme="emerald"] .app-header{background:linear-gradient(112deg,rgba(8,20,15,.85),rgba(16,34,26,.72));backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);border-color:rgba(130,215,175,.18)}
body[data-theme="emerald"] .app-header:after{background:linear-gradient(90deg,transparent,rgba(95,224,176,.75),rgba(201,224,106,.5),transparent)}
body[data-theme="emerald"] .header-primary .brandlogo{background:linear-gradient(145deg,#5fe0b0,#a8e07f 55%,#c9e06a);color:#052016}
body[data-theme="emerald"] .sectioncard,
body[data-theme="emerald"] .testcard,
body[data-theme="emerald"] .panel,
body[data-theme="emerald"] .stat,
body[data-theme="emerald"] .questionbox,
body[data-theme="emerald"] .sidebox,
body[data-theme="emerald"] .metric-card,
body[data-theme="emerald"] .reviewitem,
body[data-theme="emerald"] .review-workspace,
body[data-theme="emerald"] .paper-folder-heading,
body[data-theme="emerald"] .reading-chapter-card{background:linear-gradient(145deg,rgba(18,38,30,.9),rgba(9,22,17,.88));border-color:rgba(130,215,175,.18)}
body[data-theme="emerald"] .btn{background:linear-gradient(120deg,#5fe0b0,#c9e06a);color:#052016}
body[data-theme="emerald"] .option:has(input:checked),
body[data-theme="emerald"] #exam .option:has(input:checked){background:linear-gradient(120deg,rgba(95,224,176,.16),rgba(201,224,106,.12));border-color:var(--blue)}
body[data-theme="emerald"] .qtext,
body[data-theme="emerald"] .option,
body[data-theme="emerald"] #exam .option{background:rgba(8,18,14,.72)}
body[data-theme="emerald"] .exam-platform-head,
body[data-theme="emerald"] .exam-section-tabs,
body[data-theme="emerald"] #exam .qactions.exam-bottom-bar{background:rgba(6,18,14,.92)}

/* --- Study dashboard -------------------------------------------------------- */
.study-panel{margin:0 0 24px;display:grid;gap:14px}
.study-dash{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media(max-width:820px){.study-dash{grid-template-columns:repeat(2,minmax(0,1fr))}}
.study-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--surface-soft) 60%,var(--surface)));padding:14px 16px;box-shadow:var(--shadow)}
.study-card::before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--blue),transparent);opacity:.75}
.study-card .ic{font-size:15px;opacity:.9}
.study-card strong{display:block;font-family:var(--font-display);font-size:24px;line-height:1.15;margin:4px 0 2px}
.study-card .lbl{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
.study-level{border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:14px 16px;box-shadow:var(--shadow)}
.study-level-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:12px;color:var(--muted)}
.study-level-head b{color:var(--ink);font-family:var(--font-display);font-size:15px}
.study-xp{height:10px;border-radius:999px;background:var(--surface-soft);overflow:hidden;margin-top:10px;border:1px solid var(--line)}
.study-xp i{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--green));transition:width .8s cubic-bezier(.2,.8,.2,1)}
.study-badges{display:flex;flex-wrap:wrap;gap:8px}
.study-badge{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:7px 12px;background:var(--surface-soft);font-size:12px;font-weight:700;color:var(--muted);opacity:.62}
.study-badge.on{opacity:1;color:var(--ink);border-color:color-mix(in srgb,var(--blue) 45%,var(--line));background:color-mix(in srgb,var(--blue) 12%,var(--surface))}
.study-badge .dot{width:8px;height:8px;border-radius:50%;background:var(--muted);flex:0 0 auto}
.study-badge.on .dot{background:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 22%,transparent)}
.study-quote{border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:12px;background:var(--surface-soft);padding:12px 16px;color:var(--muted);font-size:13px;line-height:1.6;font-style:italic}
.study-quote b{color:var(--ink);font-style:normal}
@media(prefers-reduced-motion:reduce){.study-xp i{transition:none}}




/* Native select popups use the active palette where the browser permits it. */
#themeMode{color-scheme:light dark;background-color:var(--control);color:var(--ink);accent-color:var(--blue)}
#themeMode option,#themeMode optgroup{background-color:var(--surface);color:var(--ink)}
#themeMode option:checked{background:var(--blue);color:var(--surface)}
.profile-appearance-slot{margin:8px 0 16px;padding:12px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface-soft) 72%,var(--surface));}
.profile-appearance-slot .theme-control{display:grid;width:100%;grid-template-columns:1fr;gap:8px;align-items:stretch;color:var(--ink);font-size:12px}
.profile-appearance-slot .theme-control>span{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
.profile-appearance-slot .theme-control select{width:100%;max-width:none;min-width:0;min-height:42px;padding:10px 36px 10px 12px;border:1px solid var(--line);border-radius:11px;background-color:var(--control);color:var(--ink);font:inherit;font-weight:750;accent-color:var(--blue);color-scheme:light dark}
.profile-appearance-slot .theme-control select option{background:var(--surface);color:var(--ink)}
@media(max-width:420px){.profile-dialog.profile-hub{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);overflow-y:auto;padding:16px}.profile-appearance-slot{padding:9px}}



.header-toolbar{display:none!important}
.profile-audio-slot{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin:8px 0 16px;padding:12px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface-soft) 72%,var(--surface))}
.profile-audio-slot .header-audio-controls{display:grid;grid-template-columns:1fr;gap:10px;width:100%;min-width:0}
.profile-audio-slot .iconbtn{width:100%;min-height:42px;border:1px solid var(--line);border-radius:12px;background:var(--control);color:var(--ink);font:inherit;font-size:13px;font-weight:750}
.profile-audio-slot .sound-volume{display:grid;grid-template-columns:auto 32px minmax(0,1fr) 32px auto;align-items:center;gap:8px;width:100%;min-width:0;box-sizing:border-box;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--control);color:var(--ink)}
.profile-audio-slot .sound-volume input{width:100%;min-width:0;accent-color:var(--blue)}
.profile-audio-slot .volume-step{min-height:30px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--ink)}
.profile-appearance-slot .theme-control{display:grid!important;grid-template-columns:1fr!important;width:100%;white-space:normal!important}
.profile-appearance-slot .theme-control select{appearance:auto;-webkit-appearance:auto;color-scheme:normal;box-sizing:border-box;width:100%;min-height:46px;border:1px solid var(--line);border-radius:12px;background:var(--control);color:var(--ink);padding:10px 12px;font-size:13px;font-weight:750}
.profile-appearance-slot .theme-control select option{background:var(--surface);color:var(--ink)}
@media(max-width:480px){.profile-audio-slot{padding:9px}.profile-audio-slot .sound-volume{grid-template-columns:auto 28px minmax(0,1fr) 28px auto;gap:5px;padding:8px;font-size:11px}.profile-audio-slot .sound-volume #soundVolumeValue{min-width:32px;font-size:11px}}

/* =====================================================================
   2026 REFRESH — curated professional themes, folder navigation, perf
   Appended last so these rules win. Defines --accent (previously used but
   never declared) and replaces the always-on blurred header for the
   curated themes with a crisp, cheap surface.
   ===================================================================== */
:root{--accent:#3b5bfd}

/* ---- Light (default) — clean, professional, strong indigo accent ---- */
body[data-theme="light"]{
  color-scheme:light;
  --bg:#f4f6fb;--surface:#ffffff;--surface-soft:#eef2f9;--control:#ffffff;
  --ink:#141a26;--muted:#5a6576;--line:#e2e8f1;
  --soft-blue:#e9eeff;--soft-green:#e2f5ea;
  --blue:#3b5bfd;--accent:#3b5bfd;--green:#0f9d58;--red:#e5484d;
  --shadow:0 1px 2px rgba(16,24,40,.05),0 10px 28px rgba(16,24,40,.06);
}
/* ---- Dark — deep, calm ---- */
body[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0e1320;--surface:#161d2c;--surface-soft:#1d2637;--control:#111827;
  --ink:#eaeff8;--muted:#9aa6b8;--line:#28324a;
  --soft-blue:#22304f;--soft-green:#173a30;
  --blue:#7c93ff;--accent:#7c93ff;--green:#45d19a;--red:#ff7b83;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 14px 34px rgba(0,0,0,.34);
}
/* ---- Warm Paper — easy on the eyes for long sessions ---- */
body[data-theme="paper"]{
  color-scheme:light;
  --bg:#f4ecd9;--surface:#fdf7e8;--surface-soft:#f6edd8;--control:#fffaf0;
  --ink:#43371f;--muted:#8a7757;--line:#e6d7b6;
  --soft-blue:#efe2c2;--soft-green:#dfe9cf;
  --blue:#9a6a1e;--accent:#9a6a1e;--green:#4d7a3c;--red:#a8493c;
  --shadow:0 1px 2px rgba(96,70,30,.06),0 10px 26px rgba(96,70,30,.08);
}
/* ---- Slate — modern neutral with teal accent ---- */
body[data-theme="slate"]{
  color-scheme:dark;
  --bg:#14181d;--surface:#1c222a;--surface-soft:#232b34;--control:#171d24;
  --ink:#e8edf2;--muted:#98a4b0;--line:#2c353f;
  --soft-blue:#22303a;--soft-green:#173630;
  --blue:#3fd0c9;--accent:#3fd0c9;--green:#4fd6a1;--red:#ff7a8a;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 14px 32px rgba(0,0,0,.32);
}

/* crisp, cheap header for the curated themes (no full-width live blur) */
body[data-theme="light"] .app-header,
body[data-theme="dark"] .app-header,
body[data-theme="paper"] .app-header,
body[data-theme="slate"] .app-header{
  backdrop-filter:none;-webkit-backdrop-filter:none;
  background:color-mix(in srgb,var(--surface) 94%,transparent);
  border-bottom:1px solid var(--line);
  box-shadow:0 1px 0 rgba(16,24,40,.03),0 6px 18px color-mix(in srgb,var(--ink) 6%,transparent);
}
body[data-theme="light"]{background:var(--bg)}

/* ---- Folder navigation grid (home series + sub-folders) ---- */
.folder-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;margin:6px 0 26px;
}
.folder-card{
  display:flex;align-items:center;gap:16px;
  padding:18px 20px;border:1px solid var(--line);border-radius:18px;
  background:var(--surface);box-shadow:var(--shadow);cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
  text-align:left;
}
.folder-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--blue) 45%,var(--line));box-shadow:0 14px 34px color-mix(in srgb,var(--blue) 14%,transparent)}
.folder-card:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 45%,transparent);outline-offset:2px}
.folder-card-icon{
  flex:0 0 auto;display:grid;place-items:center;width:52px;height:52px;border-radius:15px;
  font-size:22px;color:#fff;background:linear-gradient(140deg,var(--blue),color-mix(in srgb,var(--blue) 55%,#8b5cf6));
  box-shadow:0 8px 18px color-mix(in srgb,var(--blue) 26%,transparent);
}
.folder-card-sm .folder-card-icon{width:44px;height:44px;font-size:19px;background:var(--surface-soft);color:var(--blue);box-shadow:none;border:1px solid var(--line)}
.folder-card-body{flex:1;min-width:0}
.folder-card-body h3{margin:0 0 4px;font-size:16px;font-weight:750;letter-spacing:-.2px;overflow-wrap:anywhere}
.folder-card-body p{margin:0;font-size:12.5px;color:var(--muted)}
.folder-card-go{
  flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:750;
  color:var(--blue);white-space:nowrap;
}
.folder-card:hover .folder-card-go b{transform:translateX(2px)}
.folder-card-go b{transition:transform .18s ease}

/* ---- "Show more papers" pager ---- */
.load-more{
  grid-column:1/-1;justify-self:center;margin:6px auto 4px;
  padding:12px 22px;border-radius:12px;font-weight:750;
}

/* ---- Slightly calmer reveal + hover for the curated themes ---- */
@media (prefers-reduced-motion: no-preference){
  body[data-theme="light"] .premium-reveal.in-view,
  body[data-theme="dark"] .premium-reveal.in-view{opacity:1}
}

@media (max-width:820px){
  .folder-grid{grid-template-columns:1fr;gap:11px}
  .folder-card{padding:15px 16px;border-radius:15px}
  .folder-card-icon{width:46px;height:46px;font-size:20px}
}
/* =====================================================================
   ROUND 2 — professional header, settings drawer, study hub, 16 themes,
   loading skeletons. Appended last so it wins over earlier rules.
   ===================================================================== */

/* ---------- 1. THEMES (full token sets + --accent) ---------- */
body[data-theme="light"]{color-scheme:light;--bg:#f4f6fb;--surface:#ffffff;--surface-soft:#eef2f9;--control:#ffffff;--ink:#141a26;--muted:#5a6576;--line:#e2e8f1;--soft-blue:#e9eeff;--soft-green:#e2f5ea;--blue:#3b5bfd;--accent:#3b5bfd;--green:#0f9d58;--red:#e5484d;--shadow:0 1px 2px rgba(16,24,40,.05),0 10px 28px rgba(16,24,40,.06)}
body[data-theme="dark"]{color-scheme:dark;--bg:#0e1320;--surface:#161d2c;--surface-soft:#1d2637;--control:#111827;--ink:#eaeff8;--muted:#9aa6b8;--line:#28324a;--soft-blue:#22304f;--soft-green:#173a30;--blue:#7c93ff;--accent:#7c93ff;--green:#45d19a;--red:#ff7b83;--shadow:0 1px 2px rgba(0,0,0,.3),0 14px 34px rgba(0,0,0,.34)}
body[data-theme="paper"]{color-scheme:light;--bg:#f4ecd9;--surface:#fdf7e8;--surface-soft:#f6edd8;--control:#fffaf0;--ink:#43371f;--muted:#8a7757;--line:#e6d7b6;--soft-blue:#efe2c2;--soft-green:#dfe9cf;--blue:#9a6a1e;--accent:#9a6a1e;--green:#4d7a3c;--red:#a8493c;--shadow:0 1px 2px rgba(96,70,30,.06),0 10px 26px rgba(96,70,30,.08)}
body[data-theme="parchment"]{color-scheme:light;--bg:#e8d7ad;--surface:#f7ecc9;--surface-soft:#efdfb4;--control:#fdf6dc;--ink:#45331b;--muted:#826b45;--line:#d4b97e;--soft-blue:#e7cc84;--soft-green:#d6dfaa;--blue:#7a5417;--accent:#7a5417;--green:#526b2a;--red:#a33b2a;--shadow:0 2px 4px rgba(104,70,23,.08),0 12px 28px rgba(104,70,23,.12)}
body[data-theme="paperwhite"]{color-scheme:light;--bg:#f6f5ef;--surface:#fffefa;--surface-soft:#f1efe6;--control:#fffef9;--ink:#24221d;--muted:#6f6a5e;--line:#e2ded1;--soft-blue:#e9e6f7;--soft-green:#e0eddc;--blue:#4f5bd5;--accent:#4f5bd5;--green:#3e7b52;--red:#b44147;--shadow:0 1px 2px rgba(40,36,26,.05),0 10px 24px rgba(40,36,26,.07)}
body[data-theme="slate"]{color-scheme:dark;--bg:#14181d;--surface:#1c222a;--surface-soft:#232b34;--control:#171d24;--ink:#e8edf2;--muted:#98a4b0;--line:#2c353f;--soft-blue:#22303a;--soft-green:#173630;--blue:#3fd0c9;--accent:#3fd0c9;--green:#4fd6a1;--red:#ff7a8a;--shadow:0 1px 2px rgba(0,0,0,.3),0 14px 32px rgba(0,0,0,.32)}
body[data-theme="midnight"]{color-scheme:dark;--bg:#05080f;--surface:#0e1422;--surface-soft:#141c2e;--control:#0a0f1c;--ink:#e9f2ff;--muted:#8fa3c6;--line:#22304a;--soft-blue:#1b2a44;--soft-green:#14332c;--blue:#4fd1ff;--accent:#4fd1ff;--green:#4fe0a8;--red:#ff7a90;--shadow:0 2px 4px rgba(0,0,0,.4),0 16px 40px rgba(0,0,0,.45)}
body[data-theme="aurora"]{color-scheme:dark;--bg:#0b1020;--surface:#141b2f;--surface-soft:#1b2438;--control:#0d1322;--ink:#eef1fb;--muted:#a7b0cd;--line:#26314c;--soft-blue:#22315a;--soft-green:#163b3a;--blue:#8b9dff;--accent:#8b9dff;--green:#4fd6a6;--red:#ff7a90;--shadow:0 2px 4px rgba(0,0,0,.34),0 16px 38px rgba(0,0,0,.4)}
body[data-theme="emerald"]{color-scheme:dark;--bg:#06120e;--surface:#0e1e18;--surface-soft:#14271f;--control:#081712;--ink:#eafff4;--muted:#9cc4b2;--line:#1d3a2f;--soft-blue:#16332e;--soft-green:#1b3a2c;--blue:#5fe0b0;--accent:#5fe0b0;--green:#c9e06a;--red:#ff7a90;--shadow:0 2px 4px rgba(0,0,0,.36),0 16px 38px rgba(0,0,0,.42)}
body[data-theme="sunrise"]{color-scheme:dark;--bg:#170f14;--surface:#261a1e;--surface-soft:#321f24;--control:#1d1216;--ink:#fff2e9;--muted:#c4a89a;--line:#3d2a2c;--soft-blue:#33232a;--soft-green:#23342a;--blue:#ff9d6c;--accent:#ff9d6c;--green:#7fe0b0;--red:#ff6f8b;--shadow:0 2px 4px rgba(0,0,0,.36),0 16px 38px rgba(0,0,0,.42)}
body[data-theme="tokyo"]{color-scheme:dark;--bg:#16161e;--surface:#1a1b26;--surface-soft:#202337;--control:#16161e;--ink:#c0caf5;--muted:#7986b3;--line:#2a2f4a;--soft-blue:#292e42;--soft-green:#203a3a;--blue:#7aa2f7;--accent:#7aa2f7;--green:#9ece6a;--red:#f7768e;--shadow:0 2px 4px rgba(0,0,0,.34),0 14px 34px rgba(0,0,0,.4)}
body[data-theme="mocha"]{color-scheme:dark;--bg:#1e1e2e;--surface:#181825;--surface-soft:#242438;--control:#11111b;--ink:#cdd6f4;--muted:#a6adc8;--line:#313244;--soft-blue:#313244;--soft-green:#1e3a36;--blue:#cba6f7;--accent:#cba6f7;--green:#a6e3a1;--red:#f38ba8;--shadow:0 2px 4px rgba(0,0,0,.34),0 14px 34px rgba(0,0,0,.4)}
body[data-theme="latte"]{color-scheme:light;--bg:#eff1f5;--surface:#ffffff;--surface-soft:#e6e9ef;--control:#ffffff;--ink:#4c4f69;--muted:#7c7f93;--line:#dce0e8;--soft-blue:#dce0f2;--soft-green:#dcebdc;--blue:#8839ef;--accent:#8839ef;--green:#40a02b;--red:#d20f39;--shadow:0 1px 2px rgba(76,79,105,.06),0 10px 26px rgba(76,79,105,.1)}
body[data-theme="dracula"]{color-scheme:dark;--bg:#282a36;--surface:#343746;--surface-soft:#3b3e50;--control:#242631;--ink:#f8f8f2;--muted:#b8b8c8;--line:#44475a;--soft-blue:#44475a;--soft-green:#244c43;--blue:#bd93f9;--accent:#bd93f9;--green:#50fa7b;--red:#ff5555;--shadow:0 2px 4px rgba(0,0,0,.32),0 14px 34px rgba(0,0,0,.38)}
body[data-theme="rose"]{color-scheme:dark;--bg:#191724;--surface:#1f1d2e;--surface-soft:#26233a;--control:#191724;--ink:#e0def4;--muted:#908caa;--line:#403d52;--soft-blue:#2a283e;--soft-green:#203b39;--blue:#c4a7e7;--accent:#c4a7e7;--green:#9ccfd8;--red:#eb6f92;--shadow:0 2px 4px rgba(0,0,0,.34),0 14px 34px rgba(0,0,0,.4)}
body[data-theme="cyber"]{color-scheme:dark;--bg:#0b0b18;--surface:#14142a;--surface-soft:#1b1b36;--control:#090916;--ink:#f5f7ff;--muted:#a8b0ca;--line:#34385d;--soft-blue:#24244b;--soft-green:#163b36;--blue:#22d3ee;--accent:#22d3ee;--green:#7cff6b;--red:#ff4d9d;--shadow:0 0 0 1px rgba(34,211,238,.12),0 16px 40px rgba(0,0,0,.5)}

/* crisp header for every theme + kill the animated full-screen blur layers */
.app-header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:color-mix(in srgb,var(--surface) 95%,transparent)!important;border-bottom:1px solid var(--line)!important;box-shadow:0 1px 0 rgba(0,0,0,.02),0 8px 22px color-mix(in srgb,var(--ink) 7%,transparent)!important}
body[data-theme="aurora"]::before,body[data-theme="space"]::before{animation:none!important;opacity:.5}
body[data-theme="rumik"]{background-attachment:scroll!important}

/* ---------- 2. HEADER ---------- */
.header-primary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0}
.brandmark{display:flex;align-items:center;gap:13px;border:0;background:transparent;color:inherit;padding:6px 8px 6px 6px;border-radius:14px;cursor:pointer;font:inherit;text-align:left;min-width:0;transition:background .18s}
.brandmark:hover{background:color-mix(in srgb,var(--surface-soft) 70%,transparent)}
.brandmark:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}
.brandlogo{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;flex:0 0 auto;font-size:19px;color:#fff;background:linear-gradient(140deg,var(--accent),color-mix(in srgb,var(--accent) 52%,#8b5cf6));box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 30%,transparent)}
.brand-copy{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.brand-copy .brand{font-size:16px;font-weight:800;letter-spacing:-.3px}
.brand-sub{font-size:11px;color:var(--muted);font-weight:600;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.header-primary-tools{display:flex;align-items:center;gap:10px;min-width:0}
.header-stat{display:flex;align-items:center;gap:9px;padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface-soft) 60%,var(--surface));font-size:12px;font-weight:700;color:var(--muted);white-space:nowrap;max-width:min(38vw,340px);overflow:hidden;text-overflow:ellipsis}
.header-status-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 16%,transparent);flex:0 0 auto}
.account-btn{display:flex;align-items:center;gap:10px;padding:7px 12px 7px 7px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);cursor:pointer;font:inherit;transition:border-color .18s,box-shadow .18s,transform .18s;min-width:0}
.account-btn:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 12%,transparent);transform:translateY(-1px)}
.account-btn:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}
.avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;overflow:hidden;flex:0 0 auto;background:linear-gradient(140deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#8b5cf6));color:#fff;font-weight:800;font-size:14px}
.avatar img{width:100%;height:100%;object-fit:cover}
.account-copy{display:flex;flex-direction:column;line-height:1.15;min-width:0;text-align:left}
.account-copy strong{font-size:13px;font-weight:750;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-copy span{font-size:10.5px;color:var(--muted);font-weight:600}
.account-chevron{color:var(--muted);font-size:14px;line-height:1}
.toolbar-label{font-size:12px;font-weight:700;color:var(--muted)}
.header-toolbar .theme-control select{max-width:230px}

/* ---------- 3. SETTINGS DRAWER ---------- */
.settings-backdrop{position:fixed;inset:0;z-index:5000;display:flex;justify-content:flex-end;background:color-mix(in srgb,var(--ink) 42%,transparent);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:settingsFade .2s ease}
@keyframes settingsFade{from{opacity:0}to{opacity:1}}
@keyframes settingsSlide{from{transform:translateX(24px);opacity:.4}to{transform:none;opacity:1}}
.settings-drawer{width:min(430px,100%);height:100%;display:flex;flex-direction:column;background:var(--surface);color:var(--ink);border-left:1px solid var(--line);box-shadow:-24px 0 60px rgba(0,0,0,.22);animation:settingsSlide .26s cubic-bezier(.2,.8,.2,1)}
.settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 22px 16px;border-bottom:1px solid var(--line)}
.settings-eyebrow{margin:0 0 3px;font-size:10.5px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--accent)}
.settings-head h2{margin:0;font-size:20px;letter-spacing:-.4px}
.settings-close{width:36px;height:36px;border-radius:11px;border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);font-size:15px;cursor:pointer;flex:0 0 auto;transition:background .16s,border-color .16s}
.settings-close:hover{background:color-mix(in srgb,var(--red) 12%,var(--surface));border-color:color-mix(in srgb,var(--red) 40%,var(--line))}
.settings-body{flex:1;overflow:auto;padding:6px 22px 26px}
.settings-block{padding:16px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
.settings-block:last-child{border-bottom:0}
.settings-block h3{margin:0 0 12px;font-size:12px;font-weight:800;letter-spacing:.9px;text-transform:uppercase;color:var(--muted)}
.settings-profile{display:flex;gap:14px;align-items:flex-start}
.settings-avatar{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;flex:0 0 auto;overflow:hidden;background:linear-gradient(140deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#8b5cf6));color:#fff;font-size:22px;font-weight:800}
.settings-avatar img{width:100%;height:100%;object-fit:cover}
.settings-profile-main{flex:1;min-width:0}
.settings-name-row{display:flex;gap:8px}
.settings-name-row input{flex:1;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--control);color:var(--ink);font:inherit;font-size:13px}
.settings-profile-actions{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.settings-hint{margin:9px 0 0;font-size:11.5px;color:var(--muted)}
.settings-btn{border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);border-radius:10px;padding:9px 14px;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;transition:background .16s,border-color .16s,transform .16s}
.settings-btn:hover{transform:translateY(-1px)}
.settings-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.settings-btn.ghost:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--soft-blue)}
.settings-btn.danger{color:var(--red);border-color:color-mix(in srgb,var(--red) 38%,var(--line))}
.settings-btn.danger:hover{background:color-mix(in srgb,var(--red) 12%,var(--surface))}
.settings-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0}
.settings-row strong{display:block;font-size:13.5px;font-weight:700}
.settings-sub{display:block;font-size:11.5px;color:var(--muted);margin-top:2px}
.settings-toggle{border:1px solid var(--line);background:var(--surface-soft);color:var(--muted);border-radius:999px;padding:6px 16px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;min-width:62px;transition:all .16s}
.settings-toggle.on{background:color-mix(in srgb,var(--green) 16%,var(--surface));border-color:color-mix(in srgb,var(--green) 50%,var(--line));color:var(--green)}
.settings-row input[type=range]{width:130px;accent-color:var(--accent)}
.settings-themes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.theme-swatch{display:flex;flex-direction:column;gap:7px;align-items:stretch;border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;padding:8px;cursor:pointer;font:inherit;color:var(--ink);transition:border-color .16s,transform .16s}
.theme-swatch:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.theme-swatch.active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent)}
.theme-swatch-chip{display:flex;gap:4px;height:26px}
.theme-swatch-chip i{flex:1;border-radius:6px;display:block}
.theme-swatch-name{font-size:10.5px;font-weight:700;text-align:left;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sw-bg{background:var(--sw-bg)}.sw-surf{background:var(--sw-surf)}.sw-acc{background:var(--sw-acc)}
.theme-swatch[data-theme="light"]{--sw-bg:#f4f6fb;--sw-surf:#fff;--sw-acc:#3b5bfd}
.theme-swatch[data-theme="dark"]{--sw-bg:#0e1320;--sw-surf:#161d2c;--sw-acc:#7c93ff}
.theme-swatch[data-theme="paper"]{--sw-bg:#f4ecd9;--sw-surf:#fdf7e8;--sw-acc:#9a6a1e}
.theme-swatch[data-theme="parchment"]{--sw-bg:#e8d7ad;--sw-surf:#f7ecc9;--sw-acc:#7a5417}
.theme-swatch[data-theme="paperwhite"]{--sw-bg:#f6f5ef;--sw-surf:#fffefa;--sw-acc:#4f5bd5}
.theme-swatch[data-theme="slate"]{--sw-bg:#14181d;--sw-surf:#1c222a;--sw-acc:#3fd0c9}
.theme-swatch[data-theme="midnight"]{--sw-bg:#05080f;--sw-surf:#0e1422;--sw-acc:#4fd1ff}
.theme-swatch[data-theme="aurora"]{--sw-bg:#0b1020;--sw-surf:#141b2f;--sw-acc:#8b9dff}
.theme-swatch[data-theme="emerald"]{--sw-bg:#06120e;--sw-surf:#0e1e18;--sw-acc:#5fe0b0}
.theme-swatch[data-theme="sunrise"]{--sw-bg:#170f14;--sw-surf:#261a1e;--sw-acc:#ff9d6c}
.theme-swatch[data-theme="tokyo"]{--sw-bg:#16161e;--sw-surf:#1a1b26;--sw-acc:#7aa2f7}
.theme-swatch[data-theme="mocha"]{--sw-bg:#1e1e2e;--sw-surf:#181825;--sw-acc:#cba6f7}
.theme-swatch[data-theme="latte"]{--sw-bg:#eff1f5;--sw-surf:#fff;--sw-acc:#8839ef}
.theme-swatch[data-theme="dracula"]{--sw-bg:#282a36;--sw-surf:#343746;--sw-acc:#bd93f9}
.theme-swatch[data-theme="rose"]{--sw-bg:#191724;--sw-surf:#1f1d2e;--sw-acc:#c4a7e7}
.theme-swatch[data-theme="cyber"]{--sw-bg:#0b0b18;--sw-surf:#14142a;--sw-acc:#22d3ee}
.settings-note{margin:14px 0 0;font-size:11.5px;color:var(--muted)}
.settings-subpanel{margin:16px 22px 0;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}
.settings-subpanel h4{margin:0 0 10px;font-size:12px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted)}
.settings-profile-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.settings-profile-item{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:10px 12px;font:inherit;font-size:13px;font-weight:650;cursor:pointer;text-align:left}
.settings-profile-item.active{border-color:var(--accent)}
.settings-profile-item em{margin-left:auto;font-style:normal;font-size:10.5px;color:var(--accent);font-weight:800}
.settings-profile-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);flex:0 0 auto}

/* ---------- 4. STUDY HUB ---------- */
.hub-panel{display:flex;flex-direction:column;gap:14px;margin:22px 0 6px}
.hub-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap}
.hub-eyebrow{margin:0 0 2px;font-size:10.5px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--accent)}
.hub-head h2{margin:0;font-size:22px;letter-spacing:-.5px}
.hub-level{display:flex;align-items:center;gap:10px}
.hub-level-badge{background:color-mix(in srgb,var(--accent) 15%,var(--surface));color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:999px;padding:5px 12px;font-size:12px;font-weight:800}
.hub-xp{width:120px;height:8px;border-radius:999px;background:var(--surface-soft);overflow:hidden;border:1px solid var(--line)}
.hub-xp i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#8b5cf6));border-radius:999px;transition:width .5s ease}
.hub-xp-text{font-size:12px;font-weight:700;color:var(--muted)}
.hub-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.hub-stat{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:15px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:3px}
.hub-stat-ic{font-size:14px;color:var(--accent)}
.hub-stat strong{font-size:24px;letter-spacing:-.6px;line-height:1.1}
.hub-stat span{font-size:11.5px;color:var(--muted);font-weight:600}
.hub-row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.hub-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px 20px;box-shadow:var(--shadow);min-width:0}
.hub-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}
.hub-card h3{margin:0 0 4px;font-size:16px;letter-spacing:-.2px}
.hub-card-head h3{margin:0}
.hub-card-eyebrow{margin:0 0 6px;font-size:10.5px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--accent)}
.hub-sub{font-size:11.5px;color:var(--muted);margin:0}
.hub-continue{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.hub-btn{border:0;border-radius:11px;padding:11px 18px;font:inherit;font-size:13px;font-weight:750;cursor:pointer;margin-top:6px}
.hub-btn.primary{background:var(--accent);color:#fff;box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 26%,transparent)}
.hub-btn.primary:hover{transform:translateY(-1px)}
.hub-goal{display:flex;align-items:center;gap:18px}
.hub-ring{--p:0;width:92px;height:92px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--accent) calc(var(--p)*1%),var(--surface-soft) 0);box-shadow:inset 0 0 0 1px var(--line)}
.hub-ring::before{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--surface)}
.hub-ring strong{position:relative;font-size:22px;letter-spacing:-.5px}
.hub-ring span{position:relative;font-size:10.5px;color:var(--muted);font-weight:700;margin-top:-30px}
.hub-series-row{padding:8px 0}
.hub-series-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px}
.hub-series-name{border:0;background:none;color:var(--ink);font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;text-align:left;padding:0}
.hub-series-name:hover{color:var(--accent)}
.hub-bar{height:9px;border-radius:999px;background:var(--surface-soft);overflow:hidden;border:1px solid var(--line)}
.hub-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#8b5cf6));border-radius:999px;transition:width .5s ease}
.hub-focus-row,.hub-recent-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid color-mix(in srgb,var(--line) 65%,transparent)}
.hub-focus-row:first-of-type,.hub-recent-row:first-of-type{border-top:0}
.hub-focus-name{border:0;background:none;color:var(--ink);font:inherit;font-size:13px;font-weight:700;cursor:pointer;padding:0;text-align:left;display:block}
.hub-focus-name:hover{color:var(--accent)}
.hub-recent-row strong{display:block;font-size:13px;font-weight:650;overflow-wrap:anywhere}
.hub-pill{font-size:12px;font-weight:800;border-radius:999px;padding:4px 11px;white-space:nowrap}
.hub-pill.good{background:color-mix(in srgb,var(--green) 15%,var(--surface));color:var(--green)}
.hub-pill.warn{background:color-mix(in srgb,var(--red) 14%,var(--surface));color:var(--red)}
.hub-week-bars{display:flex;align-items:flex-end;gap:10px;height:104px;padding-top:6px}
.hub-day{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}
.hub-day i{width:100%;max-width:34px;background:linear-gradient(180deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#8b5cf6));border-radius:7px 7px 3px 3px;min-height:4px;transition:height .5s ease}
.hub-day span{font-size:10.5px;color:var(--muted);font-weight:700}

/* ---------- 5. LOADING SKELETONS ---------- */
.skeleton{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:18px;height:92px}
.skeleton::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--ink) 7%,transparent),transparent);animation:shimmer 1.3s infinite}
@keyframes shimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.skeleton-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:6px 0 26px}

/* ---------- 6. RESPONSIVE ---------- */
@media (max-width:1080px){.hub-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:820px){
  .hub-row2{grid-template-columns:1fr}
  .hub-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .header-primary{flex-wrap:wrap;gap:10px}
  .header-stat{max-width:none;flex:1 1 auto;order:3;justify-content:center}
  .account-copy span{display:none}
  .settings-themes{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
  .brand-sub{display:none}
  .account-copy strong{max-width:92px}
  .header-toolbar .theme-control select{max-width:100%}
  .hub-stat strong{font-size:20px}
  .hub-head h2{font-size:19px}
  .hub-level{width:100%}
  .hub-xp{flex:1}
  .skeleton-grid{grid-template-columns:1fr}
}

/* themed page wash (replaces the hardcoded light-purple gradient) */
body{background:radial-gradient(ellipse at 8% -12%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 46%),var(--bg)!important}
/* =====================================================================
   ROUND 3 — exam-wise library + hunter-rank system UI
   ===================================================================== */

/* ---------- home section heading ---------- */
.home-exams,.game-panel{display:flex;flex-direction:column;gap:14px;margin:26px 0 6px}
.home-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:2px}
.home-section-head h2{margin:0;font-size:22px;letter-spacing:-.5px}
.home-section-head .hub-sub{max-width:60ch}

/* ---------- exam grid ---------- */
.exam-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.exam-card{display:flex;flex-direction:column;gap:12px;padding:18px 20px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow);cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;text-align:left}
.exam-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:0 14px 34px color-mix(in srgb,var(--accent) 14%,transparent)}
.exam-card:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}
.exam-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.exam-badge{font-size:13px;font-weight:850;letter-spacing:.6px;color:#fff;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#8b5cf6));border-radius:10px;padding:6px 12px}
.exam-years{font-size:11.5px;font-weight:700;color:var(--muted)}
.exam-card-years{display:flex;flex-wrap:wrap;gap:7px}
.exam-year-chip{font-size:11.5px;font-weight:750;color:var(--ink);background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;padding:4px 11px}
.exam-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);border-top:1px solid color-mix(in srgb,var(--line) 65%,transparent);padding-top:11px}
.exam-card:hover .exam-card-go b{transform:translateX(2px)}

/* ---------- system / rank panel ---------- */
.sys-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:20px 22px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 12%,var(--surface)),var(--surface) 60%);box-shadow:var(--shadow)}
.sys-rank{display:flex;align-items:center;gap:16px;min-width:0}
.sys-rank-badge{width:62px;height:62px;flex:0 0 auto;display:grid;place-items:center;border-radius:18px;font-size:27px;font-weight:900;letter-spacing:-1px;color:#fff;background:linear-gradient(140deg,var(--accent),color-mix(in srgb,var(--accent) 50%,#8b5cf6));box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 34%,transparent)}
.sys-rank-badge[data-rank="S"]{background:linear-gradient(140deg,#ffd166,#ff8f3c)}
.sys-rank-badge[data-rank="A"]{background:linear-gradient(140deg,#ff7ab6,#a06bff)}
.sys-rank-badge[data-rank="B"]{background:linear-gradient(140deg,#5eead4,#3b82f6)}
.sys-rank-copy{min-width:0}
.sys-rank-copy h3{margin:0 0 3px;font-size:20px;letter-spacing:-.4px}
.sys-xp{flex:1;min-width:190px}
.sys-xp-head{display:flex;justify-content:space-between;font-size:11.5px;font-weight:750;color:var(--muted);margin-bottom:7px}

/* ---------- daily quests ---------- */
.quest-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-top:1px solid color-mix(in srgb,var(--line) 65%,transparent)}
.quest-row:first-of-type{border-top:0}
.quest-main{display:flex;align-items:center;gap:12px;min-width:0;flex:1}
.quest-check{width:22px;height:22px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;border:1.5px solid var(--line);font-size:12px;font-weight:900;color:transparent}
.quest-row.done .quest-check{background:color-mix(in srgb,var(--green) 20%,var(--surface));border-color:color-mix(in srgb,var(--green) 55%,var(--line));color:var(--green)}
.quest-main>div{min-width:0;flex:1}
.quest-main strong{display:block;font-size:13px;font-weight:700;margin-bottom:6px}
.quest-bar{height:7px;border-radius:999px;background:var(--surface-soft);overflow:hidden;border:1px solid var(--line)}
.quest-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#8b5cf6));border-radius:999px;transition:width .5s ease}
.quest-xp{font-size:12px;font-weight:800;color:var(--accent);white-space:nowrap}
.quest-row.done .quest-xp{color:var(--green)}

/* ---------- achievements ---------- */
.ach-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.ach{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft);opacity:.55;transition:opacity .2s,border-color .2s,transform .2s}
.ach.on{opacity:1;border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--surface))}
.ach.on:hover{transform:translateY(-1px)}
.ach-dot{width:10px;height:10px;flex:0 0 auto;border-radius:50%;background:var(--line)}
.ach.on .ach-dot{background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent)}
.ach strong{display:block;font-size:12.5px;font-weight:750}
.ach span{display:block;font-size:11px;color:var(--muted)}

/* ---------- header rank chip ---------- */
.rank-chip{display:flex;align-items:center;gap:9px;padding:6px 13px 6px 6px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--ink);cursor:pointer;font:inherit;transition:transform .18s,box-shadow .18s;min-width:0}
.rank-chip:hover{transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 16%,transparent)}
.rank-chip:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}
.rank-chip-letter{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;font-size:14px;font-weight:900;color:#fff;background:linear-gradient(140deg,var(--accent),color-mix(in srgb,var(--accent) 50%,#8b5cf6))}
.rank-chip[data-rank="S"] .rank-chip-letter{background:linear-gradient(140deg,#ffd166,#ff8f3c)}
.rank-chip[data-rank="A"] .rank-chip-letter{background:linear-gradient(140deg,#ff7ab6,#a06bff)}
.rank-chip[data-rank="B"] .rank-chip-letter{background:linear-gradient(140deg,#5eead4,#3b82f6)}
.rank-chip-copy{display:flex;flex-direction:column;line-height:1.15;min-width:0;text-align:left}
.rank-chip-copy strong{font-size:12.5px;font-weight:800;white-space:nowrap}
.rank-chip-copy span{font-size:10.5px;color:var(--muted);font-weight:700}

/* ---------- level-up toast ---------- */
.game-toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,18px);z-index:6000;display:flex;align-items:center;gap:12px;padding:13px 18px;border-radius:15px;background:var(--surface);color:var(--ink);border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));box-shadow:0 18px 44px rgba(0,0,0,.28);opacity:0;transition:opacity .3s ease,transform .3s ease;pointer-events:none}
.game-toast.show{opacity:1;transform:translate(-50%,0)}
.game-toast-ic{font-size:20px}
.game-toast strong{display:block;font-size:13.5px;font-weight:800}
.game-toast span{display:block;font-size:11.5px;color:var(--muted)}

/* ---------- responsive ---------- */
@media (max-width:820px){
  .exam-grid{grid-template-columns:1fr}
  .ach-grid{grid-template-columns:1fr}
  .sys-panel{padding:16px}
  .sys-rank-badge{width:52px;height:52px;font-size:23px}
  .rank-chip-copy{display:none}
  .rank-chip{padding:5px}
}

/* =====================================================================
   ROUND 4 — results-chart fix + revision queue + focus timer
   ===================================================================== */
/* the bar columns used to be 208px tall inside a 159px chart and spilled
   into the panel below; give each bar its own fixed track instead */
.performance-chart{height:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:8%;padding:16px 6% 12px;border:1px solid var(--line);border-radius:12px;background:none;margin-top:14px}
.chart-column{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px;min-width:0;height:auto}
.chart-bar-track{width:100%;height:150px;display:flex;align-items:flex-end;justify-content:center;border-radius:8px;background:repeating-linear-gradient(to top,transparent 0,transparent 29px,var(--line) 30px)}
.chart-bar{width:min(78%,90px);height:4px;min-height:4px;border-radius:7px 7px 0 0;transition:height .5s cubic-bezier(.2,.8,.2,1)}
.chart-column strong{font-size:11px;color:var(--muted)}
.chart-column span{font-size:11px;color:var(--muted);padding-bottom:0}

/* revision queue */
.rev-card .rev-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.rev-count strong{font-size:26px;letter-spacing:-.6px;line-height:1.1}
.rev-count span{display:block;font-size:12px;color:var(--muted);font-weight:600}
.rev-topics{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}
.rev-chip{font-size:11.5px;font-weight:700;color:var(--ink);background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;padding:4px 11px}
.rev-note{margin:0;font-size:11.5px;color:var(--muted)}
.rev-empty{display:flex;flex-direction:column;gap:4px}

/* focus timer */
.focus-card{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.focus-left{display:flex;align-items:center;gap:18px;min-width:0}
.focus-ring{--p:0;width:96px;height:96px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--accent) calc(var(--p)*1%),var(--surface-soft) 0);box-shadow:inset 0 0 0 1px var(--line)}
.focus-ring::before{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--surface)}
.focus-ring strong{position:relative;font-size:21px;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.focus-ring span{position:relative;font-size:10.5px;color:var(--muted);font-weight:700;margin-top:-30px}
.focus-meta h3{margin:0 0 3px;font-size:17px}
.focus-actions{display:flex;gap:10px;align-items:center}
@media (max-width:600px){.focus-card{flex-direction:column;align-items:stretch}.focus-left{justify-content:center}.focus-actions{justify-content:center}}
