:root{--bg:#0b111b;--surface:#121b28;--surface-2:#182435;--text:#edf3fa;--muted:#9cacbf;--border:#29384c;--accent:#ffad22;--accent-2:#ffd27d;--green:#45d483;--red:#ff6b73;--blue:#6db7ff;--radius:14px;--shadow:0 18px 50px rgba(0,0,0,.24);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 15% -10%,#1d3654 0,transparent 32rem),var(--bg);color:var(--text);line-height:1.55}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;background:#fff;color:#000;padding:.75rem;z-index:100}.site-header{height:72px;padding:0 max(1rem,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:rgba(11,17,27,.86);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20}.brand{display:flex;gap:.75rem;align-items:center;color:var(--text);font-weight:750}.brand:hover{text-decoration:none}.brand-mark{background:var(--accent);color:#181000;padding:.3rem .5rem;border-radius:6px;font-size:.75rem}.site-header nav{display:flex;gap:1rem}.site-header nav a{color:var(--muted);font-size:.92rem}.container{width:min(1240px,calc(100% - 2rem));margin:0 auto;padding:2rem 0 4rem}.site-footer{border-top:1px solid var(--border);color:var(--muted);padding:1.5rem max(1rem,calc((100vw - 1240px)/2));display:flex;justify-content:space-between;font-size:.85rem}.hero,.result-hero{padding:3rem;border:1px solid var(--border);border-radius:calc(var(--radius)*1.4);background:linear-gradient(125deg,rgba(255,173,34,.11),rgba(109,183,255,.07));box-shadow:var(--shadow);display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:1.5rem}.hero h1,.page-heading h1,.result-hero h1{font-size:clamp(2rem,4vw,3.6rem);line-height:1.05;margin:.5rem 0 1rem;letter-spacing:-.04em}.hero p,.page-heading p{max-width:70ch;color:var(--muted);font-size:1.05rem}.hero-actions,.inline-actions,.form-actions,.question-navigation{display:flex;gap:.75rem;flex-wrap:wrap}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.73rem;font-weight:800;color:var(--accent-2)}.button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid var(--border);border-radius:9px;padding:.72rem 1rem;background:var(--surface-2);color:var(--text);cursor:pointer;font-weight:700}.button:hover{text-decoration:none;border-color:#4b607b}.button.primary{background:var(--accent);color:#211600;border-color:var(--accent)}.button.success{background:#1d7446;border-color:#29975f}.button.danger{background:#7c2930;border-color:#a73a44}.button.small{padding:.45rem .7rem;font-size:.85rem}.panel{background:rgba(18,27,40,.94);border:1px solid var(--border);border-radius:var(--radius);padding:1.35rem;margin-bottom:1.25rem;box-shadow:0 8px 30px rgba(0,0,0,.12)}.panel h2{margin-top:0}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.section-heading{display:flex;align-items:start;justify-content:space-between;gap:1rem}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.25rem 0}.metric{background:var(--surface);border:1px solid var(--border);padding:1rem;border-radius:var(--radius);display:flex;flex-direction:column;gap:.2rem}.metric span,.metric small{color:var(--muted)}.metric strong{font-size:1.8rem}.compact-grid{margin:.75rem 0}.bank-row,.attempt-row,.audit-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--border);color:var(--text)}.bank-row:last-child,.attempt-row:last-child,.audit-row:last-child{border:0}.bank-row small,.attempt-row small,.audit-row small{display:block;color:var(--muted)}.badge{display:inline-block;border:1px solid var(--border);border-radius:999px;padding:.18rem .55rem;font-size:.75rem;color:var(--muted);white-space:nowrap}.badge.success{color:var(--green);border-color:#285f46}.badge.warning{color:var(--accent-2);border-color:#755c2d}.notice{border:1px solid var(--border);border-left-width:4px;border-radius:10px;padding:1rem 1.1rem;margin:1rem 0;display:flex;justify-content:space-between;gap:1rem;align-items:center}.notice.warning{border-left-color:var(--accent)}.notice.danger{border-left-color:var(--red)}.notice.success{border-left-color:var(--green)}.notice.info{border-left-color:var(--blue)}.notice.compact{font-size:.9rem;padding:.7rem}.pre-line{white-space:pre-line}.page-heading{margin-bottom:2rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field,.stacked-form{display:flex;flex-direction:column;gap:.4rem}.field.wide,.form-actions.wide{grid-column:1/-1}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:8px;background:#0d1521;color:var(--text);padding:.7rem}input[type=checkbox],input[type=radio]{width:auto}ul[id$=_banks],ul[id$=_domains]{list-style:none;padding:0;margin:.3rem 0;display:grid;grid-template-columns:repeat(2,1fr);gap:.3rem}ul[id$=_banks] label,ul[id$=_domains] label{display:flex;gap:.5rem;align-items:start}.field small{color:var(--muted)}.field-error{color:var(--red)}.coverage-grid,.domain-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;margin:1rem 0}.coverage-card{border:1px solid var(--border);border-radius:10px;padding:.8rem;display:flex;flex-direction:column}.coverage-card strong{font-size:1.6rem}.coverage-card small{color:var(--muted)}.attempt-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:1.25rem;align-items:start}.attempt-sidebar{position:sticky;top:94px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.attempt-meta{display:flex;justify-content:space-between;color:var(--muted)}.timer{font-size:1.8rem;font-variant-numeric:tabular-nums;font-weight:800;margin:.75rem 0;color:var(--accent-2)}.timer.urgent{color:var(--red)}.question-palette{display:grid;grid-template-columns:repeat(5,1fr);gap:.35rem}.question-palette a{aspect-ratio:1;display:grid;place-items:center;border:1px solid var(--border);border-radius:6px;color:var(--muted);font-size:.8rem}.question-palette a.answered{border-color:#347151;color:var(--green)}.question-palette a.current{background:var(--accent);color:#201600;border-color:var(--accent)}.question-palette a.flagged{box-shadow:inset 0 -3px var(--red)}.sidebar-actions{margin-top:1rem}.question-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(1rem,3vw,2rem);min-width:0}.question-topline{display:flex;gap:.65rem;color:var(--muted);font-size:.8rem;margin-bottom:1rem}.markdown img{display:block;max-width:100%;height:auto;border-radius:8px;margin:1rem auto;background:#fff}.markdown pre,.markdown code{font-family:"SFMono-Regular",Consolas,monospace}.markdown pre{overflow:auto;background:#08101a;padding:1rem;border-radius:8px}.markdown p:first-child{margin-top:0}.prompt{font-size:1.04rem}.choices{border:0;padding:0;margin:1.5rem 0;display:flex;flex-direction:column;gap:.75rem}.choice{display:grid;grid-template-columns:auto auto 1fr;gap:.75rem;align-items:start;border:1px solid var(--border);border-radius:11px;padding:1rem;background:#0f1825;cursor:pointer}.choice:hover{border-color:#4b607b}.choice.correct{border-color:#2e8759;background:rgba(69,212,131,.07)}.choice.incorrect{border-color:#98434a;background:rgba(255,107,115,.07)}.choice-letter{width:1.7rem;height:1.7rem;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);font-size:.8rem;font-weight:800}.choice-rationale{grid-column:2/-1;color:var(--muted);font-size:.92rem;border-top:1px solid var(--border);padding-top:.65rem}.code-editor{font-family:"SFMono-Regular",Consolas,monospace;margin:.5rem 0 1rem}.feedback{margin:1.5rem 0;border:1px solid var(--border);border-left:4px solid var(--blue);border-radius:10px;padding:1.2rem}.feedback-correct{border-left-color:var(--green)}.feedback-incorrect{border-left-color:var(--red)}.feedback-pending{border-left-color:var(--accent)}.question-navigation{justify-content:space-between;margin-top:1.5rem}.result-hero{display:block;text-align:center}.result-hero h1{font-size:5rem;color:var(--accent)}.result-item{border-top:1px solid var(--border);padding:.9rem 0}.result-item summary{cursor:pointer;display:flex;justify-content:space-between;gap:1rem}.result-item.is-correct summary strong{color:var(--green)}.result-item.is-incorrect summary strong{color:var(--red)}.review-only .choice{cursor:default}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.8rem;border-bottom:1px solid var(--border)}th{color:var(--muted);font-size:.8rem;text-transform:uppercase}.pagination{display:flex;justify-content:center;gap:1rem;align-items:center;margin:1.5rem}.audit-choice{border:1px solid var(--border);border-radius:10px;padding:1rem;display:grid;gap:.75rem}.correct-picker{color:var(--green)}.file-list{color:var(--muted)}progress{width:100%;accent-color:var(--accent)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.empty{color:var(--muted)}
@media(max-width:900px){.site-header{height:auto;align-items:flex-start;padding:1rem;gap:1rem}.site-header nav{flex-wrap:wrap;justify-content:flex-end}.hero{align-items:start;flex-direction:column}.metric-grid{grid-template-columns:repeat(2,1fr)}.two-columns{grid-template-columns:1fr}.coverage-grid{grid-template-columns:repeat(3,1fr)}.attempt-layout{grid-template-columns:1fr}.attempt-sidebar{position:static}.question-palette{grid-template-columns:repeat(10,1fr)}}
@media(max-width:600px){.site-header{display:block}.site-header nav{margin-top:.8rem;justify-content:start}.container{width:min(100% - 1rem,1240px);padding-top:1rem}.hero,.question-card,.panel{padding:1rem}.metric-grid,.form-grid{grid-template-columns:1fr}.coverage-grid{grid-template-columns:repeat(2,1fr)}.attempt-sidebar{overflow:auto}.question-palette{min-width:500px}.choice{grid-template-columns:auto auto 1fr}.site-footer{display:block}.result-hero h1{font-size:3.5rem}}
.attempt-finish{display:flex;justify-content:flex-end;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border)}
