:root{--ink: #0B1220;--panel: #121B2E;--panel-line: #24304A;--text: #E7EBF3;--text-muted: #8C97B2;--brass: #C9A165;--brass-dim: #8A7148;--good: #5FB88F;--good-dim: #3E7A5D;--bad: #E2725B;--bad-dim: #A34F3D}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ink);color:var(--text);font-family:Inter,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.grid-field{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;opacity:.5;pointer-events:none;background-image:linear-gradient(var(--panel-line) 1px,transparent 1px),linear-gradient(90deg,var(--panel-line) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 0%,black 0%,transparent 70%);mask-image:radial-gradient(ellipse 70% 60% at 50% 0%,black 0%,transparent 70%)}.wrap{position:relative;z-index:1;max-width:780px;margin:0 auto;padding:0 24px}header{display:flex;align-items:center;justify-content:space-between;padding:32px 0}.back-link{font-family:IBM Plex Mono,monospace;font-size:13px;color:var(--text-muted);text-decoration:none;letter-spacing:.04em;transition:color .2s ease}.back-link:hover,.back-link:focus-visible{color:var(--brass)}main{padding:48px 0 80px}.status-pill{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--brass);border:1px solid var(--brass-dim);border-radius:100px;padding:4px 10px;display:inline-block}h1{font-family:Fraunces,serif;font-weight:500;font-size:clamp(1.9rem,4.6vw,2.6rem);line-height:1.14;letter-spacing:-.01em}h2{font-family:Fraunces,serif;font-weight:500;font-size:1.3rem;line-height:1.3}.lede{margin-top:16px;font-size:1.05rem;color:var(--text-muted);max-width:54ch}.section-label{font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:16px}.panel{background:var(--panel);border:1px solid var(--panel-line);border-radius:6px;padding:28px;position:relative;overflow:hidden}.panel:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:var(--brass-dim)}.field{margin-top:20px}.field:first-child{margin-top:0}label{display:block;font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}input[type=text],input[type=email],select{width:100%;background:var(--ink);border:1px solid var(--panel-line);border-radius:4px;padding:12px 14px;color:var(--text);font-family:Inter,sans-serif;font-size:1rem;transition:border-color .15s ease}input[type=text]:focus,input[type=email]:focus,select:focus{outline:none;border-color:var(--brass)}.hint{margin-top:6px;font-size:.82rem;color:var(--text-muted)}.error-banner{background:#e2725b1a;border:1px solid var(--bad-dim);color:var(--bad);border-radius:6px;padding:14px 16px;font-size:.92rem;margin-top:20px}.btn{font-family:Inter,sans-serif;font-weight:600;font-size:.95rem;background:var(--brass);color:var(--ink);border:none;border-radius:4px;padding:13px 24px;cursor:pointer;transition:opacity .15s ease}.btn:hover:not(:disabled){opacity:.85}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-outline{background:transparent;border:1px solid var(--panel-line);color:var(--text)}.btn-outline:hover:not(:disabled){border-color:var(--brass-dim);color:var(--brass);opacity:1}.btn-row{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.radio-group{display:flex;gap:10px;flex-wrap:wrap}.radio-chip{font-family:IBM Plex Mono,monospace;font-size:.9rem;background:var(--ink);border:1px solid var(--panel-line);border-radius:4px;padding:10px 18px;cursor:pointer;color:var(--text);transition:border-color .15s ease,color .15s ease}.radio-chip.selected{border-color:var(--brass);color:var(--brass);background:#c9a16514}.progress-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.progress-track{height:4px;background:var(--panel-line);border-radius:2px;overflow:hidden;margin-bottom:32px}.progress-fill{height:100%;background:var(--brass);transition:width .25s ease}.skill-tag{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px}.question-text{font-family:Fraunces,serif;font-weight:500;font-size:1.3rem;line-height:1.4;margin-bottom:24px}.option{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--ink);border:1px solid var(--panel-line);border-radius:6px;padding:14px 16px;color:var(--text);font-family:Inter,sans-serif;font-size:.98rem;cursor:pointer;margin-bottom:10px;transition:border-color .15s ease,background .15s ease}.option:hover{border-color:var(--brass-dim)}.option.selected{border-color:var(--brass);background:#c9a16514}.option-letter{font-family:IBM Plex Mono,monospace;font-size:.82rem;color:var(--text-muted);border:1px solid var(--panel-line);border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.option.selected .option-letter{border-color:var(--brass);color:var(--brass)}.option.result-correct{border-color:var(--good);background:#5fb88f14}.option.result-correct .option-letter{border-color:var(--good);color:var(--good)}.option.result-incorrect{border-color:var(--bad);background:#e2725b14}.option.result-incorrect .option-letter{border-color:var(--bad);color:var(--bad)}.score-panel{text-align:center;padding:40px 28px}.score-number{font-family:Fraunces,serif;font-weight:500;font-size:3.2rem;color:var(--brass);line-height:1}.score-fraction{margin-top:10px;font-family:IBM Plex Mono,monospace;color:var(--text-muted);font-size:.95rem}.breakdown-list{display:grid;gap:16px;margin-top:32px}.breakdown-card{background:var(--panel);border:1px solid var(--panel-line);border-radius:6px;padding:22px}.breakdown-header{display:flex;align-items:center;gap:10px;margin-bottom:14px}.result-badge{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;border-radius:100px;padding:3px 10px;white-space:nowrap}.result-badge.correct{color:var(--good);border:1px solid var(--good-dim)}.result-badge.incorrect{color:var(--bad);border:1px solid var(--bad-dim)}.explanation{margin-top:16px;padding-top:16px;border-top:1px solid var(--panel-line);color:var(--text-muted);font-size:.92rem}.explanation strong{color:var(--text)}.spinner-text{font-family:IBM Plex Mono,monospace;font-size:.9rem;color:var(--text-muted)}footer{padding:40px 0 56px;font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--text-muted);border-top:1px solid var(--panel-line)}
