@font-face{font-family:Fraunces;src:url(/fonts/Fraunces.woff2) format("woff2");font-weight:300 900;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/Inter.woff2) format("woff2");font-weight:400 700;font-display:swap}@font-face{font-family:Sora;src:url(/fonts/Sora.woff2) format("woff2");font-weight:400 700;font-display:swap}:root{--ink: #151111;--ink-2: #2a2220;--ink-3: #4a3f3c;--ink-deep: #0f0c0c;--cream: #fffaee;--cream-2: #f6efdd;--cream-3: #e8dfc9;--cream-muted: #b9ad93;--red: #e93535;--red-dark: #c4201f;--red-deep: #8f1715;--red-hover: #ff5a5a;--green: #2f7a4b;--green-soft: #e3efe6;--font-display: "Fraunces", Georgia, "Times New Roman", serif;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;--font-accent: "Sora", "Inter", system-ui, sans-serif;--radius: 5px;--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.5rem;--s-6: 2rem;--s-7: 3rem;--s-8: 4rem;--max: 46rem}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100dvh;background:var(--ink);color:var(--cream);font-family:var(--font-sans);font-size:1rem;line-height:1.55;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column}h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:1.1;margin:0;letter-spacing:-.01em}p{margin:0}a{color:inherit}button{font:inherit;cursor:pointer}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;background:#0000000f;padding:.05em .35em;border-radius:3px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.top{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:var(--s-5) var(--s-5);max-width:var(--max);width:100%;margin:0 auto}.wordmark{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--cream);text-decoration:none;letter-spacing:-.01em}.wordmark span{color:var(--red)}.top-meta{font-family:var(--font-accent);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cream-muted)}.foot{margin-top:auto;padding:var(--s-5);text-align:center;font-size:.8rem;color:var(--cream-muted)}main{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--s-5) var(--s-7);flex:1}.progress{display:grid;gap:var(--s-2);margin-bottom:var(--s-5)}.progress[hidden]{display:none}.progress-row{display:flex;justify-content:space-between;font-family:var(--font-accent);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cream-muted)}.progress-bar{height:3px;background:var(--ink-2);border-radius:2px;overflow:hidden}.progress-bar i{display:block;height:100%;width:0;background:var(--red);transition:width .4s cubic-bezier(.2,.7,.2,1)}.card{background:var(--cream);color:var(--ink);border-radius:var(--radius);padding:var(--s-6);box-shadow:0 30px 60px -30px #0009}@media(max-width:480px){.card{padding:var(--s-5)}}.step[hidden]{display:none}.step-num{font-family:var(--font-accent);font-size:.75rem;letter-spacing:.12em;color:var(--red);margin-bottom:var(--s-3);display:flex;gap:var(--s-3);align-items:baseline}.step-num .mod{color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;font-size:.68rem}.step-num .timer{margin-left:auto;font-variant-numeric:tabular-nums;font-size:.85rem;color:var(--ink);padding:.15rem .5rem;border:1px solid var(--cream-3);border-radius:3px;background:var(--cream-2)}.step-num .timer.is-low{color:#fff;background:var(--red);border-color:var(--red);animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{opacity:.6}}.hint.is-warn{color:var(--red-deep);font-weight:600}.intro h1{font-size:clamp(1.8rem,4.5vw,2.6rem);max-width:16ch}.intro .lede{margin-top:var(--s-4);font-size:1.05rem;color:var(--ink-3);max-width:52ch}.sources{list-style:none;padding:0;margin:var(--s-4) 0 0;display:grid;gap:var(--s-2)}.sources li{display:grid;grid-template-columns:auto 1fr;gap:var(--s-3);align-items:baseline;padding:var(--s-3) var(--s-4);border:1px solid var(--cream-3);border-radius:var(--radius);background:var(--cream-2)}.sources .n{font-family:var(--font-accent);font-size:.75rem;color:var(--red);letter-spacing:.1em}.sources b{display:block;font-weight:600}.sources a{font-size:.85rem;color:var(--ink-3);word-break:break-all}.rules{margin-top:var(--s-4);display:flex;flex-wrap:wrap;gap:var(--s-3) var(--s-5);font-size:.9rem;color:var(--ink-3)}.q-text{font-size:clamp(1.3rem,3vw,1.7rem);font-weight:500;line-height:1.25}.choices{list-style:none;margin:var(--s-5) 0 0;padding:0;display:grid;gap:var(--s-3)}.choice{width:100%;display:grid;grid-template-columns:1.6rem 1fr;gap:var(--s-3);align-items:start;text-align:left;padding:var(--s-4);background:var(--cream);border:1.5px solid var(--cream-3);border-radius:var(--radius);color:var(--ink);line-height:1.4;transition:border-color .15s,background .15s,transform .15s}.choice:hover:not(:disabled){border-color:var(--ink)}.choice:focus-visible{outline:2px solid var(--red);outline-offset:2px}.choice .key{font-family:var(--font-accent);font-size:.75rem;color:var(--ink-3);border:1px solid var(--cream-3);border-radius:3px;width:1.6rem;height:1.6rem;display:grid;place-items:center;margin-top:.05rem}.choice[aria-pressed=true]{border-color:var(--ink);background:var(--cream-2)}.choice[aria-pressed=true] .key{background:var(--ink);color:var(--cream);border-color:var(--ink)}.choice:disabled{cursor:default}.choice.is-correct{border-color:var(--green);background:var(--green-soft)}.choice.is-correct .key{background:var(--green);border-color:var(--green);color:#fff}.choice.is-wrong{border-color:var(--red);background:#fbe9e9}.choice.is-wrong .key{background:var(--red);border-color:var(--red);color:#fff}.choice.is-dim{opacity:.55}.feedback{margin-top:var(--s-5);padding:var(--s-4) var(--s-5);border-left:3px solid var(--ink);background:var(--cream-2);border-radius:0 var(--radius) var(--radius) 0}.feedback[hidden]{display:none}.feedback.ok{border-color:var(--green)}.feedback.bad{border-color:var(--red)}.feedback b{font-family:var(--font-display);font-size:1.15rem;font-weight:600;display:block;margin-bottom:var(--s-1)}.feedback.ok b{color:var(--green)}.feedback.bad b{color:var(--red-deep)}.feedback p{color:var(--ink-2)}.actions{margin-top:var(--s-5);display:flex;gap:var(--s-3);align-items:center;justify-content:space-between;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:var(--s-2);padding:.8rem 1.4rem;border-radius:var(--radius);border:1.5px solid var(--ink);background:var(--ink);color:var(--cream);font-family:var(--font-accent);font-size:.85rem;font-weight:600;letter-spacing:.02em;text-decoration:none;transition:background .15s,border-color .15s,transform .1s}.btn:hover:not(:disabled){background:var(--ink-deep)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.red{background:var(--red);border-color:var(--red)}.btn.red:hover:not(:disabled){background:var(--red-dark);border-color:var(--red-dark)}.btn.ghost{background:transparent;color:var(--ink)}.btn.ghost:hover:not(:disabled){background:var(--cream-2)}.hint{font-size:.85rem;color:var(--ink-3)}.field{display:grid;gap:var(--s-2);margin-top:var(--s-4)}.field label{font-family:var(--font-accent);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.field input{font:inherit;padding:.8rem 1rem;border:1.5px solid var(--cream-3);border-radius:var(--radius);background:#fff;color:var(--ink)}.field input:focus{outline:none;border-color:var(--ink)}.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0;overflow:hidden}.err{margin-top:var(--s-3);color:var(--red-deep);font-size:.9rem}.err[hidden]{display:none}.summary{margin-top:var(--s-4);font-size:.95rem;color:var(--ink-3)}.score{font-size:clamp(3rem,10vw,5.5rem);font-weight:500;line-height:1;letter-spacing:-.02em}.score span{color:var(--red)}.score small{font-size:.4em;color:var(--ink-3);letter-spacing:0}.modules{list-style:none;padding:0;margin:var(--s-5) 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:var(--s-3)}.modules li{padding:var(--s-4);border:1px solid var(--cream-3);border-radius:var(--radius);background:var(--cream-2)}.modules .lbl{font-family:var(--font-accent);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.modules .val{font-family:var(--font-display);font-size:1.8rem;margin-top:var(--s-1)}.modules .val small{font-size:.55em;color:var(--ink-3)}.verdict{margin-top:var(--s-5);font-size:1.05rem;color:var(--ink-2);max-width:52ch}.step{animation:rise .35s cubic-bezier(.2,.7,.2,1) both}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.step,.step-num .timer.is-low{animation:none}.progress-bar i{transition:none}}
