:root{--bg:#0f1220;--bg-2:#161a2e;--panel:#1b2138;--panel-2:#222949;--border:#2c3457;--text:#e7eaf6;--muted:#9aa3c7;--primary:#6c8cff;--primary-2:#5a78ef;--accent:#43d6a0;--warn:#f0b429;--danger:#ef6a6a;--good:#43d6a0;--ok:#f0b429;--low:#ef6a6a;--radius:14px;--shadow:0 10px 30px rgba(0,0,0,.35);--maxw:1120px}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:radial-gradient(1200px 600px at 80% -10%,#20264a 0,var(--bg) 55%) fixed;color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.muted{color:var(--muted)}.spacer{flex:1 1}.row{display:flex;align-items:center}.gap{gap:10px}.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(15,18,32,.7);border-bottom:1px solid var(--border)}.site-header .inner{gap:16px;height:60px}.brand,.site-header .inner{display:flex;align-items:center}.brand{gap:10px;font-weight:800;letter-spacing:.2px}.brand .logo{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--primary),var(--accent));display:grid;place-items:center;font-size:15px;color:#0b0e1a;font-weight:900}.nav-links{display:flex;gap:6px;margin-left:auto}.nav-links a{padding:8px 12px;border-radius:10px;color:var(--muted);font-weight:600}.nav-links a:hover{color:var(--text);background:var(--panel)}.site-footer{color:var(--muted);text-align:center;padding:40px 0;font-size:13px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:11px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);font-weight:700;cursor:pointer;transition:transform .05s ease,background .15s ease,border-color .15s ease;font-size:14px}.btn:hover{background:#2a3257}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:linear-gradient(135deg,var(--primary),var(--primary-2));border-color:transparent;color:#0b0e1a}.btn.primary:hover{filter:brightness(1.05)}.btn.ghost{background:transparent}.btn.block{width:100%}.link-back{color:var(--muted);font-weight:600}.link-back:hover{color:var(--text)}.hero{padding:56px 0 24px}.hero h1{font-size:clamp(28px,4vw,44px);margin:0 0 10px;line-height:1.1}.hero p{color:var(--muted);font-size:18px;max-width:640px}.hero .cta{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin:30px 0}.stat{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.stat .n{font-size:28px;font-weight:800}.stat .l{color:var(--muted);font-size:13px}.features{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;margin:10px 0 40px}.feature{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.feature h3{margin:6px 0;font-size:16px}.feature p{color:var(--muted);font-size:14px;margin:0}.page-head{padding:28px 0 6px}.page-head h1{margin:0 0 4px;font-size:28px}.page-head p{color:var(--muted);margin:0}.tests-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:16px;gap:16px;margin:22px 0 60px}.test-card{background:linear-gradient(180deg,var(--panel),var(--bg-2));border:1px solid var(--border);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow)}.test-card h3{margin:0;font-size:18px}.test-card .tc-meta{color:var(--muted);font-size:13px}.test-card .tc-status{font-size:13px;font-weight:700}.test-card .tc-status.done{color:var(--accent)}.test-card .tc-status.progress{color:var(--warn)}.weight-bar{display:flex;height:8px;border-radius:6px;overflow:hidden;border:1px solid var(--border)}.weight-seg{height:100%}.tc-actions{display:flex;gap:8px;margin-top:auto}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:22px;margin:24px 0}.panel.error{border-color:var(--danger)}.qcard{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.qcard-head{justify-content:space-between;gap:12px;margin-bottom:12px}.qcard-head,.qmeta{display:flex;align-items:center}.qmeta{gap:8px;flex-wrap:wrap}.qnum,.tag{font-weight:800}.tag{font-size:11px;text-transform:uppercase;letter-spacing:.4px;padding:3px 8px;border-radius:999px;border:1px solid var(--border);color:var(--muted)}.tag-easy{color:#7fe3b2;border-color:#2c5a47;background:#15311f55}.tag-medium{color:#f4cd6b;border-color:#5a4d24;background:#34290f55}.tag-hard{color:#f39191;border-color:#5a2c2c;background:#34141455}.tag-domain{color:#9fb4ff}.flag-btn{background:transparent;border:1px solid var(--border);border-radius:10px;color:var(--muted);padding:6px 10px;cursor:pointer;font-weight:700}.flag-btn.on{color:var(--warn);border-color:var(--warn)}.qstem{font-size:17px;margin:6px 0 16px}.options{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.option{width:100%;text-align:left;display:flex;gap:12px;align-items:flex-start;padding:13px 14px;border-radius:12px;border:1px solid var(--border);background:var(--bg-2);color:var(--text);cursor:pointer;transition:border-color .12s,background .12s;font-size:15px}.option:hover:not(:disabled){border-color:var(--primary)}.option:disabled{cursor:default}.option .bullet{flex:none;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;border:1px solid var(--border);font-weight:800;font-size:13px;color:var(--muted)}.option .bullet.check.on{background:var(--primary);color:#0b0e1a;border-color:transparent}.option.selected{border-color:var(--primary);background:#1d264d}.option.selected .bullet{background:var(--primary);color:#0b0e1a;border-color:transparent}.option.correct{border-color:var(--good);background:#143324}.option.correct .bullet{background:var(--good);color:#07271a;border-color:transparent}.option.wrong{border-color:var(--danger);background:#341a1a}.option.wrong .bullet{background:var(--danger);color:#2a0d0d;border-color:transparent}.otext{padding-top:2px}.hint{color:var(--muted);font-size:13px;list-style:none}.matching{display:flex;flex-direction:column;gap:10px}.match-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.match-prompt{flex:1 1 240px}.match-select{flex:1 1 240px;padding:10px;color:var(--text)}.match-legend,.match-select{border-radius:10px;background:var(--bg-2);border:1px solid var(--border)}.match-legend{margin:10px 0 0;padding:12px;list-style:none;display:grid;grid-gap:4px;gap:4px;font-size:14px;color:var(--muted)}.sequence .seq-list{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:8px}.seq-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-2)}.seq-pos{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:var(--primary);color:#0b0e1a;font-weight:800}.seq-text{flex:1 1}.seq-controls{display:flex;gap:6px}.seq-controls button{width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);cursor:pointer}.seq-controls button:disabled{opacity:.4;cursor:not-allowed}.explain{margin-top:16px;padding:14px 16px;border-radius:12px;background:var(--bg-2);border:1px solid var(--border);font-size:14.5px}.explain-correct{color:var(--good)}.explain-wrong{margin:8px 0 0;padding-left:18px;color:var(--muted)}.explain-wrong li{margin:3px 0}.source{font-size:12.5px;margin-top:10px}.runner{display:grid;grid-template-columns:1fr 280px;grid-gap:18px;gap:18px;padding:18px 0 60px;align-items:start}.runner-main{display:flex;flex-direction:column;gap:16px}.runner-bar{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:10px 14px}.timer{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:800;color:var(--text);background:var(--bg-2);border:1px solid var(--border);padding:6px 10px;border-radius:10px}.runner-controls{display:flex;justify-content:space-between;gap:12px}.runner-side{position:-webkit-sticky;position:sticky;top:76px;display:flex;flex-direction:column;gap:12px}.navigator{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:14px}.nav-legend{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted);margin-bottom:10px}.nav-legend span{display:inline-flex;align-items:center;gap:5px}.dot{width:10px;height:10px;border-radius:50%;border:1px solid var(--border);display:inline-block}.dot.answered{background:var(--primary);border-color:transparent}.dot.flagged{background:var(--warn);border-color:transparent}.nav-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:6px;gap:6px}.nav-cell{aspect-ratio:1;border-radius:8px;border:1px solid var(--border);background:var(--bg-2);color:var(--muted);font-weight:700;font-size:12px;cursor:pointer}.nav-cell.answered{color:var(--text);border-color:var(--primary)}.nav-cell.flagged{box-shadow:inset 0 0 0 2px var(--warn)}.nav-cell.current{background:var(--primary);color:#0b0e1a;border-color:transparent}.modal-backdrop{position:fixed;inset:0;background:rgba(5,7,15,.6);display:grid;place-items:center;z-index:50;padding:20px}.modal{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:22px;max-width:440px;width:100%;box-shadow:var(--shadow)}.modal h3{margin:0 0 8px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.results{padding:18px 0 60px;display:flex;flex-direction:column;gap:20px}.results-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.results-head h2{margin:6px 0 0}.score-summary{display:flex;align-items:center;gap:24px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:22px}.score-summary.pass{border-color:#2c5a47}.score-summary.fail{border-color:#5a2c2c}.score-ring{width:130px;height:130px;border-radius:50%;display:grid;place-items:center;flex:none;background:conic-gradient(var(--primary) calc(var(--p, 0) * 1%),var(--border) 0);position:relative}.score-ring:after{content:"";position:absolute;inset:10px;border-radius:50%;background:var(--panel)}.score-pct,.score-sub{position:relative;z-index:1;text-align:center}.score-pct{font-size:34px;font-weight:900}.score-sub{color:var(--muted);font-size:13px}.verdict{font-size:20px;font-weight:900;letter-spacing:.5px;margin:0 0 4px}.verdict.pass{color:var(--good)}.verdict.fail{color:var(--danger)}.domain-breakdown{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.domain-breakdown h3{margin:0 0 12px}.dtable{width:100%;border-collapse:collapse;font-size:14px}.dtable th{text-align:left;color:var(--muted);font-weight:700;padding:6px 8px;font-size:12px;text-transform:uppercase;letter-spacing:.4px}.dtable td,.dtable th{border-bottom:1px solid var(--border)}.dtable td{padding:9px 8px}.dnum{color:#9fb4ff;font-weight:800}.bar-cell{width:28%}.bar{display:block;height:10px;border-radius:6px;background:var(--bg-2);border:1px solid var(--border);overflow:hidden}.bar-fill{display:block;height:100%;border-radius:6px}.bar-fill.good{background:var(--good)}.bar-fill.ok{background:var(--ok)}.bar-fill.low{background:var(--low)}.review{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.review-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.review-head h3{margin:0}.review-filters{display:flex;gap:8px;flex-wrap:wrap}.chip{padding:7px 12px;border-radius:999px;border:1px solid var(--border);background:var(--bg-2);color:var(--muted);font-weight:700;cursor:pointer;font-size:13px}.chip.on{background:var(--primary);color:#0b0e1a;border-color:transparent}.review-list{display:flex;flex-direction:column;gap:16px;margin-top:16px}.review-item{border-radius:var(--radius)}.review-item .review-status{font-weight:800;margin-bottom:8px}.review-item.ok .review-status{color:var(--good)}.review-item.bad .review-status{color:var(--danger)}.empty{padding:14px 0}@media (max-width:880px){.runner{grid-template-columns:1fr}.runner-side{position:static;order:-1}.stat-grid{grid-template-columns:repeat(2,1fr)}.features{grid-template-columns:1fr}.score-summary{flex-direction:column;text-align:center}}