*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:#f4f6fb;color:#1c2430;line-height:1.55}
header{background:#1d4ed8;color:#fff;position:sticky;top:0;z-index:10}
.top{display:flex;justify-content:space-between;align-items:center;max-width:760px;margin:0 auto;padding:12px 16px}
.brand{font-weight:800;font-size:19px}
.who{font-size:13px;opacity:.9}
nav{max-width:760px;margin:0 auto;padding:0 12px 10px;display:flex;gap:6px;flex-wrap:wrap}
nav button{background:rgba(255,255,255,.16);border:0;color:#fff;padding:7px 12px;border-radius:20px;cursor:pointer;font-size:14px}
nav button:hover{background:rgba(255,255,255,.3)}
main{max-width:760px;margin:0 auto;padding:16px}
h2{font-size:20px;margin:8px 0 10px}
.muted{color:#5b6577;font-size:14px}
.card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;margin:10px 0}
.subj-tabs{display:flex;gap:8px;margin:10px 0}
.subj-tabs button{padding:8px 18px;border-radius:20px;border:1px solid #cbd5e1;background:#fff;cursor:pointer;font-size:15px}
.subj-tabs button.on{background:#1d4ed8;color:#fff;border-color:#1d4ed8}
.ch-row{display:flex;justify-content:space-between;gap:10px;align-items:center;cursor:pointer}
.ch-row:hover .ch-t{color:#1d4ed8}
.ch-t{font-weight:600}
.ch-p{font-size:13px;color:#5b6577;white-space:nowrap}
.qcard{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;margin:12px 0}
.qcard .qq{font-weight:600;margin-bottom:10px}
.opt{display:block;width:100%;text-align:left;background:#f8fafc;border:1px solid #cbd5e1;border-radius:9px;padding:9px 12px;margin:6px 0;cursor:pointer;font-size:15px}
.opt:hover{border-color:#1d4ed8}
.opt:disabled{opacity:.75;cursor:default}
input[type=text],input[type=password],select{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:9px;font-size:15px;margin:6px 0}
button.primary{background:#1d4ed8;color:#fff;border:0;padding:11px 20px;border-radius:10px;cursor:pointer;font-size:15px;font-weight:600}
button.primary:disabled{opacity:.6}
button.back{background:none;border:0;color:#1d4ed8;cursor:pointer;padding:4px 0;font-size:14px}
.ok{color:#15803d;font-weight:700}.bad{color:#dc2626;font-weight:700}
.exp{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:9px;padding:10px 12px;margin-top:10px;font-size:14px}
.exp.bad2{background:#fef2f2;border-color:#fecaca}
.timer{font-size:20px;font-weight:800;color:#dc2626;margin:8px 0}
.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:10px 0}
.stat{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px;text-align:center}
.stat b{font-size:22px;display:block}
.stat span{font-size:13px;color:#5b6577}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{border-bottom:1px solid #e2e8f0;padding:8px 6px;text-align:left}
.band{display:inline-block;background:#dbeafe;color:#1e40af;border-radius:20px;padding:3px 12px;font-weight:700;font-size:14px}
.err{color:#dc2626;font-size:14px}
