:root{--paper: #f1ead8;--paper-deep: #e8dfc6;--ink: #181513;--ink-soft: #3a342d;--accent: #d8412a;--accent-deep: #a52d1a;--mustard: #e4a82c;--teal: #2d5e5a;--line: #181513;--shadow: 6px 6px 0 var(--ink);--shadow-sm: 4px 4px 0 var(--ink)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100vh;background:var(--paper);color:var(--ink);font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}button:disabled{cursor:default}.app-root{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:stretch;padding:28px 24px 80px;max-width:880px;margin:0 auto;z-index:1}.backdrop-stripes{position:fixed;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(135deg,transparent 0 22px,rgba(24,21,19,.035) 22px 23px);pointer-events:none;z-index:0}.backdrop-noise{position:fixed;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(24,21,19,.06) 1px,transparent 1px);background-size:4px 4px;pointer-events:none;mix-blend-mode:multiply;z-index:0}.topbar{text-align:center;margin-bottom:36px;padding-top:8px}.brand{display:inline-flex;align-items:center;gap:14px;font-family:Archivo Black,Helvetica Neue,sans-serif;letter-spacing:.04em;font-size:22px;color:var(--ink);padding:4px 8px;transition:transform .1s ease}.brand:hover{transform:translateY(-1px)}.brand:hover .brand-text{color:var(--accent)}.brand:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.brand-text{transition:color .15s ease}.brand-mark{color:var(--accent);font-size:20px}.brand-sub{margin-top:6px;font-family:JetBrains Mono,Courier New,monospace;font-size:11px;letter-spacing:.32em;color:var(--ink-soft)}.footbar{position:fixed;bottom:12px;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:10px;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.28em;color:var(--ink-soft);opacity:.7;pointer-events:none}.footbar-sep{opacity:.6}.footlink{pointer-events:auto;font-family:inherit;font-size:inherit;letter-spacing:inherit;color:var(--ink-soft);text-decoration:underline;text-underline-offset:3px;padding:2px 4px;transition:color .15s ease}.footlink:hover{color:var(--accent)}.footlink:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width: 600px){.footbar{letter-spacing:.16em;gap:6px}}.btn-primary{display:inline-flex;align-items:center;gap:14px;background:var(--accent);color:#fff8ee;font-family:Archivo Black,sans-serif;font-size:18px;letter-spacing:.06em;padding:18px 28px;border:3px solid var(--ink);box-shadow:var(--shadow);transition:transform .08s ease,box-shadow .08s ease}.btn-primary:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--ink)}.btn-primary:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}.btn-primary.small{font-size:14px;padding:12px 20px;box-shadow:var(--shadow-sm)}.btn-arrow{font-size:22px;line-height:1}.screen{animation:fadein .35s ease}@keyframes fadein{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.stamp{display:flex;flex-direction:column;align-items:center;margin:16px 0 32px;text-align:center}.stamp-pre{font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.36em;color:var(--ink-soft)}.stamp-mid{font-family:Archivo Black,sans-serif;font-size:clamp(40px,7vw,60px);margin-top:6px;letter-spacing:-.01em;line-height:1}.stamp-line{display:block;width:240px;height:3px;background:var(--ink);margin:10px 0}.stamp-big{font-family:Archivo Black,sans-serif;font-size:clamp(56px,11vw,96px);line-height:.95;letter-spacing:-.02em}.stamp-big em{color:var(--accent);font-style:italic;display:inline-block;transform:rotate(-3deg)}.scoring-note{margin-top:22px;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.22em;color:var(--ink-soft);text-transform:uppercase;text-align:center}.scoring-note span{font-weight:600;color:var(--ink);margin-right:6px}.lede{max-width:560px;margin:0 auto 32px;text-align:center;font-size:16px;line-height:1.55;color:var(--ink-soft);text-wrap:pretty}.start{display:flex;flex-direction:column;align-items:center;position:relative}.start-nav,.about-nav{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.nav-link{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);text-decoration:none;padding:6px 10px;border:2px solid var(--ink);background:var(--paper);transition:transform .1s ease}.nav-link:hover{background:var(--ink);color:var(--paper);transform:translate(-2px,-2px)}.rules{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:36px;width:100%;max-width:520px}.rule{background:var(--paper-deep);border:2px solid var(--ink);padding:14px 12px;text-align:center;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);display:flex;flex-direction:column;gap:4px}.rule-num{font-family:Archivo Black,sans-serif;font-size:24px;color:var(--ink)}.play-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.18em}.meta-pill{background:var(--paper-deep);border:2px solid var(--ink);padding:8px 14px;display:inline-flex;align-items:center;gap:8px}.meta-pill strong{font-family:Archivo Black,sans-serif;font-size:14px;letter-spacing:.04em}.meta-pill.score{background:var(--ink);color:var(--paper);border-color:var(--ink)}.progress{height:8px;background:var(--paper-deep);border:2px solid var(--ink);margin-bottom:28px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);transition:width .4s ease}.qcard{background:#fffaf0;border:3px solid var(--ink);box-shadow:var(--shadow);padding:28px 28px 28px 84px;position:relative;margin-bottom:28px}.qcard-tag{position:absolute;top:22px;left:22px;font-family:Archivo Black,sans-serif;font-size:44px;color:var(--accent);line-height:.9}.qcard-episode{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px;padding-bottom:8px;border-bottom:2px solid var(--ink)}.qcard-episode em{font-family:Archivo Black,sans-serif;font-style:italic;font-size:13px;letter-spacing:.02em;color:var(--accent);text-transform:none;margin-left:4px}.qcard-episode-withheld{display:inline-flex;align-items:center;gap:8px;margin-left:4px;font-size:10px;letter-spacing:.16em;color:var(--ink-soft);opacity:.85}.redaction{display:inline-block;width:72px;height:11px;background:var(--ink);transform:rotate(-.6deg)}.qcard-text{margin:0;font-size:22px;line-height:1.35;font-weight:500;text-wrap:pretty;letter-spacing:-.005em}.options{display:grid;gap:12px}.option{display:flex;align-items:center;gap:16px;text-align:left;background:#fffaf0;border:2.5px solid var(--ink);padding:16px 20px;font-size:16px;font-weight:500;color:var(--ink);box-shadow:var(--shadow-sm);transition:transform .08s ease,box-shadow .08s ease,background .2s ease;position:relative}.option:not(:disabled):hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink);background:#fff}.option:not(:disabled):active{transform:translate(1px,1px);box-shadow:3px 3px 0 var(--ink)}.option-letter{font-family:Archivo Black,sans-serif;background:var(--ink);color:var(--paper);width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.option-text{flex:1;text-wrap:pretty}.option-mark{font-family:Archivo Black,sans-serif;font-size:22px;color:var(--ink)}.option.correct{background:#d6e9c8;border-color:var(--ink)}.option.correct .option-letter{background:#2d5e2d}.option.wrong{background:#f6c8b9;border-color:var(--ink)}.option.wrong .option-letter{background:var(--accent-deep)}.option.dim{opacity:.5}.option:disabled{cursor:default}.action-row{margin-top:24px;display:flex;flex-direction:column;align-items:flex-start;gap:14px}.btn-hint{background:transparent;border:2px dashed var(--ink);font-family:Archivo Black,sans-serif;font-size:13px;letter-spacing:.1em;padding:12px 18px;color:var(--ink);transition:background .15s ease}.btn-hint:not(:disabled):hover{background:var(--mustard)}.btn-hint.used{background:var(--paper-deep);border-style:solid;color:var(--ink-soft)}.hint-bubble{background:var(--mustard);border:2.5px solid var(--ink);padding:14px 18px;display:inline-flex;flex-wrap:wrap;gap:10px;align-items:baseline;box-shadow:var(--shadow-sm);position:relative;animation:pop .25s ease}.hint-bubble:before{content:"";position:absolute;left:30px;top:-10px;width:14px;height:14px;background:var(--mustard);border-left:2.5px solid var(--ink);border-top:2.5px solid var(--ink);transform:rotate(45deg)}.hint-label{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft)}.hint-value{font-family:Archivo Black,sans-serif;font-size:16px;font-style:italic}@keyframes pop{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.reveal{margin-top:28px;background:#fffaf0;border:3px solid var(--ink);box-shadow:var(--shadow);padding:24px 28px;display:flex;flex-direction:column;gap:16px;animation:pop .3s ease}.reveal.good{background:#e6efd6}.reveal.bad{background:#f9d9cc}.reveal-verdict{font-family:Archivo Black,sans-serif;font-size:30px;letter-spacing:.02em;color:var(--ink)}.reveal.good .reveal-verdict{color:#2d5e2d}.reveal.bad .reveal-verdict{color:var(--accent-deep)}.reveal-body{display:grid;gap:8px;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:14px 0}.reveal-row{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:baseline}.reveal-label{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft)}.reveal-value{font-size:16px;font-weight:600;text-wrap:pretty}.end{display:flex;justify-content:center}.end-card{background:#fffaf0;border:3px solid var(--ink);box-shadow:var(--shadow);padding:36px 36px 32px;width:100%;max-width:620px;text-align:center}.end-tag{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.32em;color:var(--ink-soft);margin-bottom:12px}.end-score{display:inline-flex;align-items:baseline;gap:8px;font-family:Archivo Black,sans-serif}.end-num{font-size:100px;line-height:1;color:var(--accent)}.end-out{font-size:28px;color:var(--ink-soft)}.end-pct{margin-top:4px;font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.3em;color:var(--ink-soft)}.end-title{margin:26px 0 8px;font-family:Archivo Black,sans-serif;font-size:32px;letter-spacing:-.005em;text-wrap:balance}.end-blurb{margin:0 auto 28px;max-width:420px;color:var(--ink-soft);text-wrap:pretty}.end-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:32px}.end-stat{background:var(--paper-deep);border:2px solid var(--ink);padding:18px 12px}.end-stat-num{font-family:Archivo Black,sans-serif;font-size:36px;color:var(--ink)}.end-stat-label{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin-top:4px}.about{display:flex;flex-direction:column;align-items:center}.about-card{background:#fffaf0;border:3px solid var(--ink);box-shadow:var(--shadow);padding:32px 32px 28px;width:100%;max-width:620px}.about-h{margin:28px 0 10px;font-family:Archivo Black,sans-serif;font-size:20px;letter-spacing:.01em}.about-h:first-child{margin-top:0}.about-card p{margin:0 0 12px;font-size:16px;line-height:1.6;color:var(--ink-soft);text-wrap:pretty}.about-card a{color:var(--accent-deep);font-weight:600;text-underline-offset:3px}.about-fine{font-size:13px!important;line-height:1.5!important;opacity:.8}.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0 4px}.about-stat{background:var(--paper-deep);border:2px solid var(--ink);padding:14px 10px;text-align:center}.about-stat-num{font-family:Archivo Black,sans-serif;font-size:28px;color:var(--ink);line-height:1.1}.about-stat-label{font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-top:4px}.dedication{width:100%;max-width:620px;margin:28px 0 32px;padding:26px 24px 22px;background:var(--mustard);border:3px solid var(--ink);box-shadow:var(--shadow);text-align:center;display:flex;flex-direction:column;align-items:center}.dedication-tag{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-soft)}.dedication-text{margin:12px 0 0;font-family:Archivo Black,sans-serif;font-style:italic;font-size:clamp(22px,4vw,30px);line-height:1.25;color:var(--ink);text-wrap:balance}.dedication-sub{margin:8px 0 0;font-size:clamp(15px,2.2vw,17px);font-style:italic;line-height:1.35;color:var(--ink);opacity:.75;text-wrap:balance}.dedication-rule{display:block;width:64px;height:3px;background:var(--ink);margin-top:16px}.settings{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:520px;margin:0 auto 24px}.setting{display:flex;flex-direction:column;gap:6px;background:var(--paper-deep);border:2px solid var(--ink);padding:12px 14px}.setting-label{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft)}.setting select{font-family:Archivo Black,sans-serif;font-size:16px;letter-spacing:.02em;background:transparent;border:none;padding:0;color:var(--ink);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none}.loading,.error-card{text-align:center;margin:48px auto;max-width:520px;font-family:JetBrains Mono,monospace;letter-spacing:.18em;text-transform:uppercase}.error-card{background:#f6c8b9;border:3px solid var(--ink);box-shadow:var(--shadow);padding:24px;font-family:Inter,sans-serif;letter-spacing:normal;text-transform:none}.error-card h3{margin:0 0 8px;font-family:Archivo Black,sans-serif;letter-spacing:.02em}@media (max-width: 600px){.app-root{padding:20px 16px 80px}.qcard{padding:24px 20px 24px 64px}.qcard-tag{font-size:32px;top:18px;left:16px}.qcard-text{font-size:18px}.reveal-row{grid-template-columns:80px 1fr}.end-num{font-size:72px}.end-title{font-size:24px}.rules,.settings{grid-template-columns:1fr}.about-card{padding:24px 20px 20px}.about-stats{grid-template-columns:1fr}}
