:root{--paper:#eef1f4;--paper-2:#e4e8ed;--ink:#16202c;--ink-soft:#3a4654;--line:#c3ccd6;--line-strong:#9aa7b4;--steel:#1f4e79;--steel-bright:#2f6fb0;--amber:#c47a1b;--amber-soft:#e6a94a;--green:#2e7d55;--green-soft:#54a97d;--red:#b23b3b;--red-soft:#d46a6a;--surface:#fff;--radius:3px;--mono:"DM Mono","SFMono-Regular",ui-monospace,Menlo,Consolas,monospace;--sans:"Archivo","Inter",-apple-system,system-ui,sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--paper:#131a22;--paper-2:#0e141b;--ink:#e7edf3;--ink-soft:#a9b6c4;--line:#2a3642;--line-strong:#3d4b59;--surface:#1a222c;--steel:#5a9bd8;--steel-bright:#79b2e6;--amber:#e0a855;--green:#5bbd8c;--red:#e07a7a}}:root[data-theme=dark]{--paper:#131a22;--paper-2:#0e141b;--ink:#e7edf3;--ink-soft:#a9b6c4;--line:#2a3642;--line-strong:#3d4b59;--surface:#1a222c;--steel:#5a9bd8;--steel-bright:#79b2e6;--amber:#e0a855;--green:#5bbd8c;--red:#e07a7a}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-padding-top:env(safe-area-inset-top,0px)}body{font-family:var(--sans);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-position:-1px -1px;background-size:28px 28px;line-height:1.5}#root{min-height:100vh}.wrap{max-width:1080px;margin:0 auto;padding:0 20px}header.topbar{top:env(safe-area-inset-top,0px);z-index:40;background:var(--ink);color:#eef1f4;border-bottom:2px solid var(--steel);position:sticky}.topbar .wrap{align-items:center;gap:16px;height:60px;display:flex}.brand{letter-spacing:.02em;align-items:baseline;gap:10px;font-size:20px;font-weight:800;display:flex}.brand .mark{font-family:var(--mono);color:var(--steel-bright);border:1.5px solid var(--steel-bright);border-radius:2px;padding:1px 7px;font-size:15px;font-weight:600}.brand small{color:#9fb3c6;letter-spacing:.04em;font-size:12.5px;font-weight:500}.topbar nav{flex-wrap:wrap;gap:4px;margin-left:auto;display:flex}.topbar nav button{font-family:var(--sans);color:#c7d3df;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;padding:7px 13px;font-size:13.5px;font-weight:600}.topbar nav button:hover{color:#fff;background:#22303e}.topbar nav button.active{background:var(--steel);color:#fff}.theme-tgl{color:#c7d3df;cursor:pointer;background:0 0;border:1px solid #3a4b5c;border-radius:2px;width:34px;height:30px;margin-left:4px}main{padding:28px 0 80px}.view{animation:.25s fade;display:none}.view.active{display:block}@keyframes fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.view.active{animation:none}}h1.page{letter-spacing:-.01em;margin:0 0 4px;font-size:27px;font-weight:800}.sub{color:var(--ink-soft);max-width:70ch;margin:0 0 24px;font-size:15px}.card{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);margin-bottom:18px;padding:20px}.card h2{align-items:center;gap:9px;margin:0 0 14px;font-size:17px;font-weight:700;display:flex}.card h2 .tick{background:var(--steel);border-radius:1px;width:4px;height:17px}.hero{grid-template-columns:1.3fr 1fr;gap:18px;margin-bottom:22px;display:grid}@media (width<=760px){.hero{grid-template-columns:1fr}}.hero-left{background:var(--ink);color:#eef1f4;border-radius:var(--radius);border:1px solid #2a3642;padding:26px;position:relative;overflow:hidden}.hero-left .big{font-size:48px;font-weight:800;line-height:1;font-family:var(--mono);color:var(--steel-bright)}.hero-left p{color:#aebccb;max-width:42ch;margin:10px 0 0;font-size:14.5px}.hero-left .meta{flex-wrap:wrap;gap:22px;margin-top:20px;display:flex}.hero-left .meta div{color:#8ea2b5;font-size:12.5px}.hero-left .meta b{color:#eef1f4;font-size:20px;font-family:var(--mono);font-weight:600;display:block}.modes{gap:12px;display:grid}.mode-btn{text-align:left;background:var(--surface);border:1px solid var(--line-strong);border-left:3px solid var(--steel);border-radius:var(--radius);cursor:pointer;font-family:var(--sans);padding:15px 17px;transition:border-color .15s,transform .15s}.mode-btn:hover{border-left-color:var(--steel-bright);transform:translate(2px)}.mode-btn .t{justify-content:space-between;align-items:center;font-size:15px;font-weight:700;display:flex}.mode-btn .d{color:var(--ink-soft);margin-top:3px;font-size:13px}.mode-btn .len{font-family:var(--mono);color:var(--steel);background:var(--paper-2);border-radius:2px;padding:2px 8px;font-size:12px}.domain-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.domain-chip{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:11px 13px;font-size:13.5px;font-weight:600;display:flex}.domain-chip:hover{border-color:var(--steel)}.domain-chip.sel{background:var(--steel);color:#fff;border-color:var(--steel)}.domain-chip .w{font-family:var(--mono);opacity:.7;font-size:11px}.domain-chip .cnt{font-family:var(--mono);background:var(--paper-2);color:var(--ink-soft);border-radius:2px;padding:1px 6px;font-size:11px}.domain-chip.sel .cnt{color:#fff;background:#fff3}.exam-head{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:18px;display:flex}.progress-wrap{flex:1;min-width:200px}.progress-track{background:var(--paper-2);border:1px solid var(--line);border-radius:4px;height:7px;overflow:hidden}.progress-fill{background:var(--steel);width:0%;height:100%;transition:width .3s}.progress-label{font-family:var(--mono);color:var(--ink-soft);justify-content:space-between;margin-top:5px;font-size:12px;display:flex}.timer{font-family:var(--mono);color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);padding:6px 12px;font-size:19px;font-weight:600}.timer.warn{color:var(--amber);border-color:var(--amber)}.timer.crit{color:var(--red);border-color:var(--red)}.q-card{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);padding:26px}.q-tags{flex-wrap:wrap;gap:7px;margin-bottom:16px;display:flex}.tag{font-family:var(--mono);background:var(--paper-2);color:var(--ink-soft);border:1px solid var(--line);border-radius:2px;padding:2px 9px;font-size:11px}.tag.domain{background:var(--steel);color:#fff;border-color:var(--steel)}.tag.diff-1{color:var(--green)}.tag.diff-2{color:var(--steel-bright)}.tag.diff-3{color:var(--amber)}.q-stem{margin-bottom:22px;font-size:18px;font-weight:600;line-height:1.5}.q-stem .num{font-family:var(--mono);color:var(--steel);margin-right:8px;font-size:15px;font-weight:600}.opts{gap:10px;display:grid}.opt{background:var(--surface);border:1.5px solid var(--line-strong);border-radius:var(--radius);cursor:pointer;text-align:left;font-size:15px;font-family:var(--sans);color:var(--ink);align-items:flex-start;gap:13px;padding:14px 16px;transition:border-color .12s,background .12s;display:flex}.opt:hover{border-color:var(--steel)}.opt .letter{font-family:var(--mono);color:var(--steel);border:1.5px solid var(--line-strong);border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:600;display:flex}.opt.sel{border-color:var(--steel);background:color-mix(in srgb,var(--steel) 8%,var(--surface))}.opt.sel .letter{background:var(--steel);color:#fff;border-color:var(--steel)}.opt.correct{border-color:var(--green);background:color-mix(in srgb,var(--green) 10%,var(--surface))}.opt.correct .letter{background:var(--green);color:#fff;border-color:var(--green)}.opt.wrong{border-color:var(--red);background:color-mix(in srgb,var(--red) 10%,var(--surface))}.opt.wrong .letter{background:var(--red);color:#fff;border-color:var(--red)}.opt[disabled]{cursor:default}.rationale{border-left:3px solid var(--steel);background:var(--paper-2);border-radius:0 var(--radius) var(--radius) 0;margin-top:18px;padding:14px 16px;font-size:14.5px;display:none}.rationale.show{display:block}.rationale .lab{font-family:var(--mono);color:var(--steel);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px;font-size:11px;font-weight:600}.rationale .formula{font-family:var(--mono);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:2px;margin-top:8px;padding:6px 10px;font-size:13px;display:inline-block}.exam-nav{flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px;display:flex}.btn{font-family:var(--sans);border-radius:var(--radius);cursor:pointer;border:1.5px solid var(--steel);background:var(--steel);color:#fff;padding:11px 20px;font-size:14px;font-weight:700}.btn:hover{background:var(--steel-bright);border-color:var(--steel-bright)}.btn.ghost{color:var(--steel);background:0 0}.btn.ghost:hover{background:var(--paper-2)}.btn.ghost.dim{color:var(--ink-soft);border-color:var(--line-strong)}.btn:disabled{opacity:.4;cursor:default}.btn.wide{margin-left:auto}.flag-btn{border:1.5px solid var(--line-strong);color:var(--ink-soft);border-radius:var(--radius);cursor:pointer;background:0 0;padding:9px 14px;font-size:13px;font-weight:600}.flag-btn.on{color:var(--amber);border-color:var(--amber);background:color-mix(in srgb,var(--amber) 10%,transparent)}.qnav{flex-wrap:wrap;gap:5px;margin-top:20px;display:flex}.qdot{border:1px solid var(--line-strong);background:var(--surface);width:30px;height:30px;font-family:var(--mono);cursor:pointer;color:var(--ink-soft);border-radius:2px;font-size:11px}.qdot.answered{background:var(--steel);color:#fff;border-color:var(--steel)}.qdot.flagged{border-color:var(--amber);border-width:2px}.qdot.current{outline:2px solid var(--ink);outline-offset:1px}.score-hero{background:var(--ink);color:#eef1f4;border-radius:var(--radius);grid-template-columns:auto 1fr;align-items:center;gap:28px;margin-bottom:20px;padding:28px;display:grid}@media (width<=620px){.score-hero{text-align:center;grid-template-columns:1fr}}.gauge{width:170px;height:170px;margin:0 auto;position:relative}.gauge svg{transform:rotate(-90deg)}.gauge .score-txt{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.gauge .score-txt .pct{font-family:var(--mono);font-size:40px;font-weight:600;line-height:1}.gauge .score-txt .lab{color:#9fb3c6;letter-spacing:.05em;margin-top:3px;font-size:12px}.verdict{font-size:14px}.verdict .big{align-items:center;gap:10px;margin-bottom:6px;font-size:26px;font-weight:800;display:flex}.badge{font-family:var(--mono);border-radius:2px;padding:3px 11px;font-size:12px;font-weight:600}.badge.pass{background:var(--green);color:#fff}.badge.fail{background:var(--red);color:#fff}.badge.border{background:var(--amber);color:#1a1a1a}.verdict p{color:#aebccb;max-width:46ch;margin:6px 0 0;font-size:14px}.readiness-row{flex-wrap:wrap;gap:24px;margin-top:16px;display:flex}.readiness-row .stat b{font-family:var(--mono);color:#eef1f4;font-size:22px;font-weight:600;display:block}.readiness-row .stat span{color:#9fb3c6;font-size:12px}.metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:20px;display:grid}.metric{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);padding:16px}.metric .v{font-family:var(--mono);font-size:26px;font-weight:600;line-height:1}.metric .l{color:var(--ink-soft);margin-top:5px;font-size:12.5px}.metric.good .v{color:var(--green)}.metric.warn .v{color:var(--amber)}.metric.bad .v{color:var(--red)}.dbar{margin-bottom:13px}.dbar .top{justify-content:space-between;align-items:baseline;margin-bottom:5px;font-size:14px;display:flex}.dbar .top .name{font-weight:600}.dbar .top .val{font-family:var(--mono);font-size:13px}.dbar .track{background:var(--paper-2);border:1px solid var(--line);border-radius:2px;height:22px;position:relative;overflow:hidden}.dbar .fill{border-radius:1px;align-items:center;height:100%;transition:width .5s;display:flex}.dbar .fill.good{background:var(--green-soft)}.dbar .fill.warn{background:var(--amber-soft)}.dbar .fill.bad{background:var(--red-soft)}.dbar .passline{background:var(--ink);opacity:.5;z-index:2;width:2px;position:absolute;top:-3px;bottom:-3px;left:72%}.dbar .passline:after{content:"72%";font-family:var(--mono);color:var(--ink-soft);font-size:9px;position:absolute;top:-15px;left:-10px}.weak-domain{border:1px solid var(--line-strong);border-radius:var(--radius);margin-bottom:18px;overflow:hidden}.weak-domain .wd-head{background:var(--paper-2);border-bottom:1px solid var(--line-strong);justify-content:space-between;align-items:center;padding:11px 15px;display:flex}.weak-domain .wd-head .n{font-size:14.5px;font-weight:700}.weak-domain .wd-head .s{font-family:var(--mono);font-size:12px}.subtopic{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:9px 15px;display:flex}.subtopic:last-child{border-bottom:none}.subtopic .st-name{flex:1;font-size:13.5px}.subtopic .st-track{background:var(--paper-2);border:1px solid var(--line);border-radius:2px;flex-shrink:0;width:120px;height:10px;overflow:hidden}.subtopic .st-fill{height:100%}.subtopic .st-fill.good{background:var(--green)}.subtopic .st-fill.warn{background:var(--amber)}.subtopic .st-fill.bad{background:var(--red)}.subtopic .st-pct{font-family:var(--mono);text-align:right;flex-shrink:0;width:62px;font-size:12px}.subtopic .st-pct .frac{color:var(--ink-soft);font-size:10.5px}.pill{font-family:var(--mono);border-radius:2px;margin:2px;padding:2px 9px;font-size:11px;display:inline-block}.pill.bad{background:color-mix(in srgb,var(--red) 15%,transparent);color:var(--red);border:1px solid var(--red)}.pill.good{background:color-mix(in srgb,var(--green) 15%,transparent);color:var(--green);border:1px solid var(--green)}.study-list{margin:0;padding:0;list-style:none}.study-list li{border-bottom:1px solid var(--line);gap:12px;padding:11px 0;font-size:14px;display:flex}.study-list li:last-child{border-bottom:none}.study-list li .ref{color:var(--ink-soft);font-size:13px}.study-list li .dn{flex-shrink:0;min-width:140px;font-weight:700}.trend-empty{color:var(--ink-soft);font-size:14px;font-style:italic}table.missed{border-collapse:collapse;width:100%;font-size:13.5px}table.missed th,table.missed td{text-align:left;border-bottom:1px solid var(--line);padding:9px 10px}table.missed th{font-family:var(--mono);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;font-size:11px}table.missed td.formula{font-family:var(--mono);color:var(--steel);font-size:12px}table.missed .mini{color:var(--ink-soft);font-size:12px}.rev-item{border:1px solid var(--line-strong);border-radius:var(--radius);margin-bottom:9px;overflow:hidden}.rev-item summary{cursor:pointer;background:var(--surface);align-items:center;gap:11px;padding:13px 16px;font-size:14px;list-style:none;display:flex}.rev-item summary::-webkit-details-marker{display:none}.rev-item summary .ic{font-family:var(--mono);border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;font-weight:700;display:flex}.rev-item summary .ic.ok{background:var(--green);color:#fff}.rev-item summary .ic.no{background:var(--red);color:#fff}.rev-item summary .ic.sk{background:var(--line-strong);color:#fff}.rev-item summary .qt{flex:1}.rev-item .body{padding:0 16px 16px 49px;font-size:14px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.filter-sel{font-family:var(--sans);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink);padding:8px 12px;font-size:13px}.empty-state{text-align:center;color:var(--ink-soft);padding:60px 20px}.empty-state .ico{font-family:var(--mono);color:var(--line-strong);margin-bottom:12px;font-size:40px}footer{border-top:1px solid var(--line-strong);color:var(--ink-soft);margin-top:40px;padding:22px 0;font-size:12.5px}footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.toast{background:var(--ink);color:#fff;border-radius:var(--radius);z-index:100;opacity:0;pointer-events:none;border:1px solid var(--steel);padding:12px 22px;font-size:14px;transition:opacity .25s,transform .25s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}@media (width<=620px){.q-stem{font-size:16px}.opt{font-size:14px}h1.page{font-size:22px}.hero-left .big{font-size:38px}.btn.wide{width:100%;margin-left:0}.exam-nav{flex-direction:column;align-items:stretch}}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--ink);color:#cdd9e5;width:236px;height:100vh;padding-top:env(safe-area-inset-top,0px);border-right:2px solid var(--steel);z-index:30;flex-direction:column;flex-shrink:0;display:flex;position:sticky;top:0}.sidebar .logo{letter-spacing:.02em;border-bottom:1px solid #22303e;align-items:baseline;gap:9px;padding:20px 20px 18px;font-size:19px;font-weight:800;display:flex}.sidebar .logo .mark{font-family:var(--mono);color:var(--steel-bright);border:1.5px solid var(--steel-bright);border-radius:2px;padding:1px 7px;font-size:14px;font-weight:600}.sidebar .logo small{color:#8ea2b5;letter-spacing:.03em;margin-top:2px;font-size:11px;font-weight:500;display:block}.sidebar nav{flex-direction:column;flex:1;gap:2px;padding:12px 10px;display:flex;overflow-y:auto}.sidebar nav a{color:#aebccb;border-radius:3px;align-items:center;gap:11px;padding:10px 13px;font-size:14px;font-weight:600;text-decoration:none;transition:background .12s,color .12s;display:flex}.sidebar nav a:hover{color:#fff;background:#1c2834}.sidebar nav a.active{background:var(--steel);color:#fff}.sidebar nav a .ic{text-align:center;width:18px;font-family:var(--mono);opacity:.9;font-size:13px}.sidebar .side-foot{color:#7e92a5;border-top:1px solid #22303e;padding:14px 18px;font-size:11px}.sidebar .theme-btn{color:#aebccb;cursor:pointer;width:100%;font-family:var(--sans);background:0 0;border:1px solid #3a4b5c;border-radius:3px;margin-top:8px;padding:8px;font-size:12px;font-weight:600}.sidebar .theme-btn:hover{color:#fff;background:#1c2834}.app-main{min-width:0;padding-bottom:env(safe-area-inset-bottom,0px);flex:1}.page-pad{max-width:1040px;margin:0 auto;padding:30px 28px 80px}.mobile-bar{z-index:35;background:var(--ink);color:#fff;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top,0px));border-bottom:2px solid var(--steel);align-items:center;gap:12px;display:none;position:sticky;top:0}.mobile-bar .burger{color:#fff;cursor:pointer;background:0 0;border:1px solid #3a4b5c;border-radius:3px;width:38px;height:34px;font-size:17px}.mobile-bar .logo{align-items:center;gap:8px;font-size:16px;font-weight:800;display:flex}.mobile-bar .logo .mark{font-family:var(--mono);color:var(--steel-bright);border:1.5px solid var(--steel-bright);border-radius:2px;padding:0 6px;font-size:13px}.scrim{z-index:29;background:#00000080;display:none;position:fixed;inset:0}@media (width<=860px){.app-shell{flex-direction:column}.sidebar{width:260px;height:100vh;transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.mobile-bar{display:flex}.scrim.show{display:block}.page-pad{padding:22px 18px 70px}}.ph{margin-bottom:24px}.ph h1{letter-spacing:-.01em;margin:0 0 5px;font-size:28px;font-weight:800}.ph p{color:var(--ink-soft);max-width:72ch;margin:0;font-size:15px}@media (width<=620px){.ph h1{font-size:23px}}.feature-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:8px;display:grid}.feature{color:inherit;background:var(--surface);border:1px solid var(--line-strong);border-left:3px solid var(--steel);border-radius:var(--radius);padding:18px;text-decoration:none;transition:transform .14s,border-color .14s;display:block}.feature:hover{border-left-color:var(--steel-bright);transform:translateY(-2px)}.feature .fi{font-family:var(--mono);color:var(--steel);margin-bottom:10px;font-size:19px}.feature h3{margin:0 0 4px;font-size:16px;font-weight:700}.feature p{color:var(--ink-soft);margin:0;font-size:13px}.domain-study-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.study-card{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);padding:18px}.study-card h3{justify-content:space-between;align-items:center;margin:0 0 3px;font-size:16px;font-weight:700;display:flex}.study-card .wt{font-family:var(--mono);color:var(--steel);background:var(--paper-2);border-radius:2px;padding:2px 8px;font-size:11px}.study-card .meta{color:var(--ink-soft);margin:0 0 12px;font-size:12.5px}.study-card .st-mini{font-family:var(--mono);color:var(--ink-soft);margin-bottom:4px;font-size:11px}.study-card .acts{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.chip-btn{cursor:pointer;border:1.5px solid var(--steel);color:var(--steel);font-size:12.5px;font-weight:600;font-family:var(--sans);background:0 0;border-radius:3px;padding:6px 12px;text-decoration:none;display:inline-block}.chip-btn:hover,.chip-btn.solid{background:var(--steel);color:#fff}.chip-btn.solid:hover{background:var(--steel-bright);border-color:var(--steel-bright)}.subtopic-list{margin:0;padding:0;list-style:none}.subtopic-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:7px 0;font-size:13.5px;display:flex}.subtopic-list li:last-child{border-bottom:none}.subtopic-list .perf{font-family:var(--mono);font-size:12px}.flash-stage{max-width:620px;margin:0 auto}.flashcard{perspective:1600px;cursor:pointer;height:340px;margin-bottom:20px}.flash-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .5s;position:relative}.flashcard.flipped .flash-inner{transform:rotateY(180deg)}.flash-face{backface-visibility:hidden;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface);flex-direction:column;padding:28px;display:flex;position:absolute;inset:0}.flash-face.back{background:var(--paper-2);transform:rotateY(180deg)}.flash-face .tags{flex-wrap:wrap;gap:7px;margin-bottom:14px;display:flex}.flash-face .prompt{flex:1;align-items:center;font-size:18px;font-weight:600;line-height:1.5;display:flex}.flash-face .ans{font-size:16px}.flash-face .ans .lab{font-family:var(--mono);color:var(--steel);text-transform:uppercase;letter-spacing:.06em;margin-bottom:7px;font-size:11px;font-weight:600}.flash-face .ans .correct-ans{color:var(--green);margin-bottom:10px;font-size:17px;font-weight:700}.flash-face .hint{font-family:var(--mono);color:var(--ink-soft);margin-top:auto;padding-top:12px;font-size:11px}.flash-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.flash-meta{text-align:center;font-family:var(--mono);color:var(--ink-soft);margin-bottom:14px;font-size:13px}.flash-prog{background:var(--paper-2);border:1px solid var(--line);border-radius:4px;height:6px;margin-bottom:18px;overflow:hidden}.flash-prog .f{background:var(--steel);height:100%}.dash-grid{grid-template-columns:1.1fr .9fr;gap:18px;margin-bottom:18px;display:grid}@media (width<=800px){.dash-grid{grid-template-columns:1fr}}.statline{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-bottom:20px;display:grid}.metric .v.sm{font-size:22px}.qs-list{gap:10px;display:grid}.cta-row{flex-wrap:wrap;gap:10px;margin-top:6px;display:flex}.lbtn{font-family:var(--sans);border-radius:var(--radius);cursor:pointer;border:1.5px solid var(--steel);background:var(--steel);color:#fff;padding:11px 20px;font-size:14px;font-weight:700;text-decoration:none;display:inline-block}.lbtn:hover{background:var(--steel-bright);border-color:var(--steel-bright)}.lbtn.ghost{color:var(--steel);background:0 0}.lbtn.ghost:hover{background:var(--paper-2)}.spin{border:3px solid var(--line);border-top-color:var(--steel);border-radius:50%;width:28px;height:28px;margin:40px auto;animation:.7s linear infinite rot}@keyframes rot{to{transform:rotate(360deg)}}.rec-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.rec-col{min-width:0}.rec-h{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--steel);border-bottom:1px solid var(--line);margin-bottom:9px;padding-bottom:6px;font-size:11px;font-weight:600}.rec-item{border-bottom:1px solid var(--line);color:var(--ink);padding:6px 0;font-size:13px}.rec-item:last-child{border-bottom:none}.rec-item.mono{font-family:var(--mono);color:var(--ink-soft);font-size:12px}.rec-empty{color:var(--ink-soft);padding:6px 0;font-size:13px;font-style:italic}
