*,::before,::after{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#f5f3ee;--ink:#1a1a2e;--card:#fff;--muted:#6b6a74;--border:#e2e0d8;--green:#16a34a;--orange:#ea580c;--red:#dc2626;--accent:#2563eb}
html,body{background:var(--bg);color:var(--ink);font-family:'Golos Text',system-ui,sans-serif;min-height:100dvh;-webkit-tap-highlight-color:transparent}
.w{max-width:540px;margin:0 auto;padding:0 16px}
.scr{display:none}.scr.on{display:block}

/* ── HEADER ── */
.hdr{padding:calc(16px + env(safe-area-inset-top,0)) 0 12px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border);margin-bottom:20px}
.hdr-back{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--border);background:var(--card);display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;flex-shrink:0}
.hdr-title{font-family:'Unbounded',system-ui,sans-serif;font-size:13px;font-weight:800}
.hdr-sub{font-size:11px;color:var(--muted);margin-top:1px}

/* ── SUBJECT GRID ── */
.subj-intro{text-align:center;padding:16px 0 20px}
.subj-intro h1{font-family:'Unbounded',system-ui,sans-serif;font-size:22px;font-weight:900;line-height:1.1;margin-bottom:8px}
.subj-intro p{font-size:12.5px;color:var(--muted);line-height:1.45}
.subj-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px}
.scard{background:var(--card);border:1.5px solid var(--border);border-radius:14px;padding:14px;cursor:pointer;text-align:left;transition:transform .12s,border-color .15s,background .15s;-webkit-tap-highlight-color:transparent}
.scard:active{transform:scale(.97)}
.scard:hover{border-color:var(--c)}
.scard-ic{font-size:24px;margin-bottom:8px}
.scard-nm{font-family:'Unbounded',system-ui,sans-serif;font-size:12px;font-weight:800;color:var(--c);margin-bottom:3px}
.scard-cl{font-size:10px;color:var(--muted)}
.scard-desc{font-size:10.5px;color:var(--muted);margin-top:4px;line-height:1.35}

/* ── QUIZ ── */
.qhdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.grade-pill{background:var(--c,#2563eb);color:#fff;font-family:'Unbounded',system-ui,sans-serif;font-size:10px;font-weight:800;padding:4px 10px;border-radius:20px}
.qprog{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted)}
.qbar{height:4px;background:var(--border);border-radius:2px;overflow:hidden;margin-bottom:16px}
.qbar-fill{height:100%;background:var(--c,#2563eb);border-radius:2px;transition:width .4s}
.qcard{background:var(--card);border-radius:16px;padding:20px;border:1.5px solid var(--border);margin-bottom:14px}
.qtopic{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.qtxt{font-size:15px;font-weight:600;line-height:1.6}
.opts{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.opt{padding:13px 16px;border-radius:11px;border:1.5px solid var(--border);background:var(--card);font-size:14px;font-weight:600;cursor:pointer;text-align:left;transition:border-color .1s,background .1s;-webkit-tap-highlight-color:transparent}
.opt:hover{border-color:var(--accent);background:#f0f5ff}
.opt:active{transform:scale(.98)}
.opt.ok{border-color:var(--green);background:#f0fdf4;color:var(--green)}
.opt.no{border-color:var(--red);background:#fef2f2;color:var(--red)}
.opt.dim{opacity:.45}
.hint-box{background:#fefce8;border-radius:10px;padding:12px 14px;font-size:12px;color:#854d0e;line-height:1.5;margin-bottom:10px;display:none}
.hint-box.show{display:block}
.next-btn{width:100%;padding:13px;border:none;border-radius:11px;background:var(--ink);color:#fff;font-family:'Golos Text',sans-serif;font-size:15px;font-weight:700;cursor:pointer;display:none}
.next-btn.show{display:block}
.skip-btn{width:100%;padding:11px;border:1.5px dashed var(--border);border-radius:11px;background:transparent;color:var(--muted);font-family:'Golos Text',sans-serif;font-size:14px;font-weight:700;cursor:pointer;display:block;margin-top:8px}
.skip-btn:hover{border-color:var(--c);color:var(--c)}

/* ── ADAPTIVE INDICATOR ── */
.adapt-strip{display:flex;gap:4px;margin-bottom:14px;align-items:center}
.adapt-dot{width:20px;height:6px;border-radius:3px;background:var(--border);transition:background .3s,transform .2s}
.adapt-dot.done-ok{background:var(--green)}
.adapt-dot.done-no{background:var(--red)}
.adapt-dot.current{background:var(--c,#2563eb);transform:scaleY(1.5)}
.adapt-label{font-size:10px;color:var(--muted);margin-left:4px;font-family:'JetBrains Mono',monospace}

/* ── RESULTS ── */
.res-hero{text-align:center;padding:24px 0 20px}
.res-emoji{font-size:48px;margin-bottom:8px}
.res-title{font-family:'Unbounded',system-ui,sans-serif;font-size:20px;font-weight:900;margin-bottom:6px}
.res-sub{font-size:13px;color:var(--muted);line-height:1.5}
.grade-map{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}
.grow{display:flex;align-items:center;gap:10px}
.gnum{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;width:50px;color:var(--muted);flex-shrink:0}
.gbar-wrap{flex:1;height:20px;background:var(--border);border-radius:5px;overflow:hidden}
.gbar{height:100%;border-radius:5px;transition:width .8s ease;display:flex;align-items:center;padding-left:6px}
.gbar-label{font-size:10px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden}
.gscore{font-family:'JetBrains Mono',monospace;font-size:10px;width:34px;text-align:right;flex-shrink:0}
.not-tested{opacity:.35}
.ins-block{background:var(--card);border-radius:14px;padding:16px;border:1.5px solid var(--border);margin-bottom:10px}
.ins-block h3{font-family:'Unbounded',system-ui,sans-serif;font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}
.ins-row{display:flex;gap:10px;margin-bottom:8px;font-size:13px;line-height:1.5}
.share-btn{width:100%;padding:13px;border:none;border-radius:11px;background:var(--ink);color:#fff;font-family:'Golos Text',sans-serif;font-size:14px;font-weight:700;cursor:pointer;margin-bottom:8px}
.again-btn{width:100%;padding:11px;border:1.5px solid var(--border);border-radius:11px;background:var(--card);font-family:'Golos Text',sans-serif;font-size:14px;font-weight:600;cursor:pointer;color:var(--ink)}

.quick-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 18px}
.quick-link{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:12px;border:1.5px solid var(--border);border-radius:12px;background:var(--card);color:var(--ink);text-decoration:none;font-size:12px;font-weight:700;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}
.quick-link:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,0,0,.05)}
.quick-link:active{transform:scale(.99)}
@media (max-width:480px){.hdr{margin-bottom:16px}.subj-intro{padding:12px 0 16px}.subj-intro h1{font-size:20px}.quick-links{grid-template-columns:1fr}}

@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.fu{animation:fadeUp .3s ease both}
@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#141420;--card:#1e1e2e;--text:#e8e6e0;--muted:#9a9aae;--border:#2e2e3e}html,body{background:#141420!important;color:#e8e6e0!important}header{background:#0e0e1a!important}.scard{background:var(--card)!important;border-color:var(--border)!important;color:var(--text)!important}.opt{background:var(--card)!important;border-color:var(--border)!important;color:var(--text)!important}.hint-box{background:#2e2010!important;color:#fbbf24!important}.next-btn{background:var(--card)!important;border-color:var(--border)!important;color:var(--text)!important}input{background:#1a1a2a!important;color:#e8e6e0!important;border-color:#3a3a4e!important}}