:root{--bg:#f3f4fa;--card:#fff;--line:#ececf3;--ink:#1e1b3a;--muted:#8b8ba3;--brand:#6b4ef6;--brand-tint:#eeeafe;--warn-bg:#fff6e8;--warn:#9a5b00;--c-answered:#1e9e63;--c-notanswered:#e5484d;--c-notvisited:#d4d4de;--c-marked:#6b4ef6}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--ink)}body{-webkit-font-smoothing:antialiased;font:15px/1.4 system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,Noto Sans Devanagari,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}small{color:var(--muted);font-size:12px;display:block}b{font-weight:700}.app{max-width:480px;min-height:100dvh;margin:0 auto}.screen{flex-direction:column;gap:10px;padding:16px 16px 88px;display:flex}.screen.center{text-align:center;justify-content:center;min-height:100dvh;padding-bottom:32px}.title{text-align:center;font-size:20px}.title.left{text-align:left}.muted{color:var(--muted);font-size:13px}.logo{font-size:36px}.stack{text-align:left;flex-direction:column;gap:10px;margin-top:12px;display:flex}.grow{flex:1;min-width:0}.card{background:var(--card);border:1px solid var(--line);text-align:left;border-radius:14px;width:100%;padding:14px;display:block}.item{align-items:center;gap:12px;display:flex}.ico{background:#f1f1f6;border-radius:10px;flex:none;place-items:center;width:40px;height:40px;font-size:18px;display:grid}.kv{justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.kv small{flex:none}.kv b{text-align:right;font-size:13px}.kv a{color:var(--brand)}.choice{background:var(--card);border:1.5px solid var(--line);cursor:pointer;border-radius:14px;align-items:center;gap:12px;padding:14px;display:flex}.choice input{width:20px;height:20px;accent-color:var(--brand);order:3;margin-left:auto}.choice:has(input:checked){background:var(--brand-tint);border-color:var(--brand)}.btn{background:var(--brand);color:#fff;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 16px;font-weight:700;display:flex}.btn.big{padding:15px;box-shadow:0 8px 20px #6b4ef64d}.btn.ghost{background:var(--card);color:var(--brand);border:1px solid var(--line)}.btn .g{color:#4285f4;background:#fff;border-radius:50%;place-items:center;width:22px;height:22px;font-weight:900;display:grid}.hello{justify-content:space-between;align-items:center;display:flex}.avatar{background:var(--brand-tint);width:38px;height:38px;color:var(--brand);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.strip{color:#fff;background:var(--c);background:linear-gradient(120deg, var(--c), color-mix(in srgb, var(--c) 75%, #fff));border-radius:14px;padding:14px 6px;display:flex}.strip div{text-align:center;flex:1}.strip div+div{border-left:1px solid #ffffff4d}.strip b{font-size:20px;display:block}.strip small{color:#ffffffd9}.toggle{background:var(--card);border:1px solid var(--line);border-radius:99px;padding:4px;display:flex}.toggle button{color:var(--muted);border-radius:99px;flex:1;padding:8px;font-weight:700}.toggle button[aria-pressed=true]{background:var(--brand);color:#fff}.subjectbar{border-radius:12px;justify-content:space-between;padding:10px 14px;font-size:14px;display:flex}.subjectbar a{font-weight:700}.sechead{justify-content:space-between;align-items:baseline;margin-top:8px;display:flex}.sechead small{color:var(--brand);font-weight:700}.pill{color:var(--muted);white-space:nowrap;background:#f1f1f6;border-radius:99px;flex:none;padding:4px 10px;font-size:11px;font-weight:700}.pill.soon{color:#b86a00;background:#fff0db}.pill.resume{background:var(--brand-tint);color:var(--brand)}.pill.done{color:#1e9e63;background:#e3f6ec}.continue{border-color:var(--brand);justify-items:start;gap:4px;display:grid}.jrf{gap:6px;margin-top:8px;display:grid}.row2{gap:8px;margin-top:4px;display:flex}.wa{background:#25d366}.tg{background:#229ed9}.bottomnav{background:var(--card);border-top:1px solid var(--line);width:100%;max-width:480px;padding:6px 0 calc(6px + env(safe-area-inset-bottom));display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottomnav a{color:var(--muted);flex:1;justify-items:center;font-size:11px;font-weight:700;display:grid}.bottomnav a span{filter:grayscale();opacity:.6;font-size:18px}.bottomnav a.on{color:var(--brand)}.bottomnav a.on span{filter:none;opacity:1}.backlink{font-size:14px;font-weight:700}.hero{color:#fff;background:linear-gradient(135deg,#2e2a6b,#4b34c9);border-radius:16px;margin-bottom:4px;padding:18px}.hero small{color:#ffffffb3;letter-spacing:.06em;font-size:11px}.hero h1{margin:4px 0 12px;font-size:20px}.nums{gap:18px;display:flex}.nums b{font-size:18px;display:block}.nums small{color:#fffc}.legend{flex-wrap:wrap;gap:8px 14px;margin-top:8px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:flex}.legend i{border-radius:4px;width:14px;height:14px;display:inline-block}.legend .answered{background:var(--c-answered)}.legend .notanswered{background:var(--c-notanswered)}.legend .notvisited{background:var(--c-notvisited)}.legend .marked{background:var(--c-marked)}.legend .answeredmarked{background:var(--c-marked);box-shadow:inset 0 0 0 3px var(--c-answered)}.note{background:var(--warn-bg);color:var(--warn);border:1px solid #f7e2bf;border-radius:12px;padding:10px 12px;font-size:12px}.error{color:#c9252d;font-size:13px}.ok{color:#1e9e63;font-size:13px;font-weight:700}.testhead{z-index:5;background:var(--bg);justify-content:space-between;align-items:center;padding:4px 0;display:flex;position:sticky;top:0}.testhead .qcount{font-size:14px;font-weight:700}.testhead .timer{font-variant-numeric:tabular-nums;color:var(--brand);align-items:center;gap:4px;font-weight:700;display:flex}.testhead .timer.low{color:#c9252d}.testhead .submitlink{color:var(--brand);font-size:13px;font-weight:700}.unittag{color:var(--brand);margin-bottom:4px;font-size:12px;font-weight:700}.qtext{margin-bottom:4px;font-size:15px}.passage{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:13px}.passage summary{color:var(--brand);cursor:pointer;font-weight:700}.passage p{white-space:pre-wrap;color:var(--ink);margin-top:8px}.listblock{background:var(--brand-tint);border-radius:12px;gap:8px;padding:10px 12px;font-size:13px;display:grid}.listblock .cols{gap:12px;display:flex}.listblock .col{flex:1;gap:4px;display:grid}.listblock .col b{font-size:12px}.opt{background:var(--card);border:1.5px solid var(--line);cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:13px 14px;font-size:14px;display:flex}.opt input{width:20px;height:20px;accent-color:var(--brand);flex:none;order:-1}.opt:has(input:checked){background:var(--brand-tint);border-color:var(--brand)}.testbar{background:var(--card);border-top:1px solid var(--line);width:100%;max-width:480px;padding:8px 16px calc(8px + env(safe-area-inset-bottom));gap:8px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.testbar .links{justify-content:space-between;font-size:13px;font-weight:700;display:flex}.testbar .links button{color:var(--brand)}.testbar .row2 button,.testbar .row2 a{flex:1}.sheet-backdrop{z-index:10;background:#0006;position:fixed;inset:0}.sheet{background:var(--card);z-index:11;border-radius:18px 18px 0 0;gap:12px;width:100%;max-width:480px;max-height:82vh;padding:16px;display:grid;position:fixed;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%)}.sheethandle{background:var(--line);border-radius:99px;width:40px;height:4px;margin:0 auto}.pgrid{grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:8px;display:grid}.pnum{aspect-ratio:1;color:var(--ink);background:var(--c-notvisited);border-radius:8px;place-items:center;font-size:12px;font-weight:700;display:grid}.pnum.answered{background:var(--c-answered);color:#fff}.pnum.notanswered{background:var(--c-notanswered);color:#fff}.pnum.marked{background:var(--c-marked);color:#fff}.pnum.answeredmarked{background:var(--c-marked);color:#fff;box-shadow:inset 0 0 0 3px var(--c-answered)}.pnum.current{outline:2px solid var(--ink);outline-offset:2px}.counts{flex-wrap:wrap;gap:8px 14px;font-size:12px;display:flex}.counts span{align-items:center;gap:6px;display:flex}.counts i{border-radius:4px;width:12px;height:12px;display:inline-block}.field{gap:6px;display:grid}.field input{border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px;font-size:16px}.field input:focus{outline:2px solid var(--brand);border-color:#0000}.prose h2{margin-top:10px;font-size:16px}.prose p{font-size:14px}.c{text-align:center}
