:root{--bg:#000;--panel:#050505;--panel-2:#0d0d0d;--line:rgba(255,255,255,0.16);--text:#fff;--muted:rgba(255,255,255,0.58);--accent:#fff;--win:#22c55e;--loss:#ef4444;--radius:12px;--maxw:560px;font-synthesis:none;-webkit-text-size-adjust:100%}*{box-sizing:border-box}body,html{margin:0;max-width:100%;overflow-x:clip;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}.brand,.choice,.icon-btn,button{touch-action:manipulation}.barcode,.brand,.choice,.icon-btn,button{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.barcode{-webkit-user-drag:none;pointer-events:none}#app{min-height:100dvh;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.dev-preview-picker{position:fixed;top:12px;left:12px;z-index:100;display:grid;grid-gap:4px;gap:4px;width:min(300px,calc(100vw - 24px));padding:8px;border-radius:10px;color:rgba(255,255,255,.64);background:rgba(5,5,5,.92);box-shadow:0 0 0 1px rgba(255,255,255,.1),0 10px 30px rgba(0,0,0,.45);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.dev-preview-picker span{padding-inline:3px;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.dev-preview-picker select{min-height:40px;width:100%;border:0;border-radius:6px;padding:0 30px 0 10px;color:#fff;background:#111;box-shadow:0 0 0 1px rgba(255,255,255,.12);font:inherit;font-size:.76rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dev-preview-picker select:focus-visible{outline:2px solid rgba(255,255,255,.82);outline-offset:2px}.topbar{display:flex;align-items:center;justify-content:center;padding:14px 18px;max-width:var(--maxw);width:100%;margin:0 auto}.brand{font-weight:800;letter-spacing:-.02em;font-size:1.25rem}.brand .dot{color:var(--muted);font-weight:600}.icon-btn{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--panel);color:var(--text);font-size:1rem;cursor:pointer;transition:background .15s ease,transform .1s ease}@media (hover:hover){.icon-btn:hover{background:var(--panel-2)}}.icon-btn:active{transform:scale(.94)}.stage{flex:1 1;width:100%;max-width:var(--maxw);margin:0 auto;padding:22px 18px 40px;display:flex;flex-direction:column;gap:18px}.prompt{margin:0;text-align:center;color:var(--muted);font-size:.95rem}.barcode-wrap{position:relative;width:min(100vw,142.857dvh);margin:0;align-self:center;border-radius:0;overflow:hidden;border:1px solid var(--line);background:#000;box-shadow:0 10px 30px -12px rgba(0,0,0,.8);transform-origin:center}.barcode-wrap.is-interactive{cursor:crosshair;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.barcode-wrap.is-interactive:focus-visible{outline:2px solid rgba(255,255,255,.82);outline-offset:3px}.barcode{display:block;width:100%;height:auto;max-height:60dvh;aspect-ratio:50/21;object-fit:contain;image-rendering:auto}.barcode-cursor{position:absolute;inset-block:0;z-index:3;width:1px;background:rgba(255,255,255,.95);box-shadow:0 0 0 1px rgba(0,0,0,.55),0 0 12px rgba(255,255,255,.5);pointer-events:none;transform:translateX(-.5px)}.frame-preview-hint{display:none}.frame-preview{position:fixed;z-index:80;width:min(560px,calc(100vw - 24px));aspect-ratio:16/9;overflow:hidden;pointer-events:none;border-radius:10px;background:#000;box-shadow:0 0 0 1px rgba(255,255,255,.1),0 18px 54px rgba(0,0,0,.72);opacity:0;transform:translateX(-50%) scale(.98);transition-property:opacity,transform;transition-duration:.12s;transition-timing-function:cubic-bezier(.2,0,0,1)}.frame-preview.is-visible{opacity:1;transform:translateX(-50%) scale(1)}.frame-preview-image,.frame-preview-sprite{position:absolute;inset:0;width:100%;height:100%}.frame-preview-sprite{background-color:#000;background-repeat:no-repeat}.frame-preview-image{display:block;object-fit:contain;background:#000;opacity:0;outline:1px solid rgba(255,255,255,.1);outline-offset:-1px;transition-property:opacity;transition-duration:.1s;transition-timing-function:cubic-bezier(.2,0,0,1)}.frame-preview-image.is-current{opacity:1}.frame-preview-count{position:absolute;right:8px;bottom:8px;z-index:3;padding:4px 7px;border-radius:6px;background:rgba(0,0,0,.68);color:rgba(255,255,255,.86);font-size:.68rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.03em;line-height:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@keyframes pop{0%{transform:scale(.97);opacity:0}to{transform:scale(1);opacity:1}}.message{margin:0;text-align:center;color:var(--muted);font-size:.9rem;min-height:1.1em}.message.flash{color:var(--accent);font-weight:600}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}button.ghost,button.primary{flex:1 1;padding:13px 16px;font-size:.98rem;font-weight:700;border-radius:10px;cursor:pointer;border:1px solid transparent;transition:transform .1s ease,background .15s ease,opacity .15s ease}button.primary{background:#fff;color:#000}@media (hover:hover){button.primary:hover{background:rgba(255,255,255,.88)}}button.ghost{background:transparent;border-color:var(--line);color:var(--text)}@media (hover:hover){button.ghost:hover{background:var(--panel)}}button:active{transform:scale(.98)}button:disabled{opacity:.4;cursor:default}.gauntlet[hidden]{display:none}.gauntlet{display:flex;flex-direction:column;gap:12px}.gauntlet-hud{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px}.g-score{display:flex;align-items:baseline;gap:8px;min-width:0}.g-score-num{font-size:1.5rem;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1}.g-score-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.g-lives{display:flex;align-items:center;gap:7px;flex:0 0 auto}.g-pip{width:11px;height:11px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px -1px color-mix(in srgb,var(--accent) 70%,transparent);transition:background .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.g-pip.spent{background:transparent;border:1px solid var(--line);box-shadow:none;opacity:.55;transform:scale(.85)}.g-lives.danger .g-pip:not(.spent){background:var(--loss);box-shadow:0 0 12px -1px color-mix(in srgb,var(--loss) 80%,transparent);animation:pipDanger 1.1s ease-in-out infinite}@keyframes pipDanger{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.g-score-num.drop{animation:scoreDrop .5s ease-out}@keyframes scoreDrop{0%{transform:translateY(-6px) scale(1.25);color:var(--loss)}to{transform:translateY(0) scale(1)}}.choices{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px}.choices.locked{pointer-events:none}.choice{display:flex;align-items:center;justify-content:center;text-align:center;min-height:76px;padding:14px 16px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease,color .15s ease,box-shadow .15s ease}@media (hover:hover){.choice:hover:not(:disabled){background:var(--panel-2);border-color:color-mix(in srgb,var(--accent) 40%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent)}}.choice:active:not(:disabled){transform:scale(.97)}.choice:disabled{cursor:default}.choice-title{font-weight:700;font-size:.98rem;line-height:1.25}.choice.pending{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:var(--panel-2);animation:choicePending .9s ease-in-out infinite}@keyframes choicePending{0%,to{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent)}50%{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 60%,transparent),0 0 20px -6px color-mix(in srgb,var(--accent) 55%,transparent)}}.choice.correct{border-color:var(--win);color:var(--win);background:color-mix(in srgb,var(--win) 14%,var(--panel));box-shadow:0 0 0 1px var(--win),0 0 30px -8px color-mix(in srgb,var(--win) 70%,transparent);opacity:1;animation:choiceLand .5s cubic-bezier(.18,1.5,.3,1) both}.choice.wrong{border-color:var(--loss);color:var(--loss);background:color-mix(in srgb,var(--loss) 14%,var(--panel));opacity:1}@keyframes choiceLand{0%{transform:scale(1.06)}60%{transform:scale(.98)}to{transform:scale(1)}}.choice.wrong-hit{animation:wrongHit .45s cubic-bezier(.36,.07,.19,.97) both}@keyframes wrongHit{0%{transform:translateX(0);box-shadow:0 0 0 0 color-mix(in srgb,var(--loss) 60%,transparent)}10%{box-shadow:0 0 22px -2px color-mix(in srgb,var(--loss) 70%,transparent)}20%{transform:translateX(-7px)}36%{transform:translateX(6px)}52%{transform:translateX(-5px)}68%{transform:translateX(3px)}84%{transform:translateX(-1px)}to{transform:translateX(0);box-shadow:0 0 0 0 transparent}}.g-result{display:flex;flex-direction:column;align-items:center;gap:4px}.g-stars{font-size:1.5rem;letter-spacing:.16em;color:var(--win)}.g-result.loss .g-stars{color:var(--loss)}.g-result.win .g-stars{animation:starsPop .7s cubic-bezier(.18,1.5,.3,1) .15s both}@keyframes starsPop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.12);opacity:1}to{transform:scale(1)}}.g-grade{font-weight:800;font-size:1.05rem;letter-spacing:.01em}.g-points{font-size:.85rem;color:var(--muted)}.g-points b{color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.choose-hint{grid-column:1/-1;margin:0;text-align:center;color:var(--muted);font-size:.9rem;padding:20px 0}.choose-retry{margin-left:8px;padding:6px 12px;font-size:.85rem;font-weight:700;border-radius:8px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);cursor:pointer}@media (hover:hover){.choose-retry:hover{background:var(--panel)}}.end{display:flex;flex-direction:column;gap:16px;align-items:center;text-align:center;animation:pop .25s ease}.verdict{font-size:1.3rem;font-weight:800}.verdict.win{color:var(--win)}.verdict.loss{color:var(--loss)}.answer{display:flex;flex-direction:column;gap:4px}.answer-title{font-size:1.4rem;font-weight:800;letter-spacing:-.02em}.answer-credit{color:var(--muted);font-size:.9rem}.share{width:100%;max-width:260px}.share-feedback{margin:0;color:var(--win);font-size:.85rem;min-height:1em}.no-puzzle{text-align:center;margin:auto;color:var(--muted)}.no-puzzle h1{color:var(--text)}.site-footer{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:clamp(5px,1.5vw,10px);width:100%;max-width:100%;min-width:0;min-height:44px;padding:9px 12px calc(9px + env(safe-area-inset-bottom));box-shadow:inset 0 1px rgba(255,255,255,.1);color:var(--muted);font-size:clamp(.56rem,1.8vw,.68rem);line-height:1}.footer-links,.tmdb-attribution{display:flex;align-items:center;gap:clamp(4px,1vw,7px)}.creator-credit,.footer-links,.tmdb-attribution{white-space:nowrap}.footer-separator{opacity:.45}.site-footer a{color:inherit;text-decoration:none;transition:color .15s ease,opacity .15s ease}.site-footer a:hover{color:var(--text)}.tmdb-attribution a{display:inline-flex;opacity:.72}.tmdb-attribution a:hover{opacity:1}.tmdb-logo{display:block;width:clamp(52px,14vw,76px);height:auto}.creator-credit{margin:0}.archive-shell,.seo-intro{width:min(100% - 36px,880px);margin:0 auto}.seo-intro{padding:72px 0 84px;border-top:1px solid var(--line);line-height:1.65}.seo-kicker{margin:0 0 10px;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.archive-header h1,.seo-intro h2{margin:0;font-size:clamp(1.8rem,5vw,3rem);letter-spacing:-.045em;line-height:1.05}.archive-explainer p,.archive-figure figcaption,.archive-header>p:not(.seo-kicker),.seo-grid p,.seo-intro>p:not(.seo-kicker){color:var(--muted)}.seo-intro>p:not(.seo-kicker){max-width:680px;margin:20px 0 0}.seo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:42px;gap:42px;margin-top:42px}.archive-explainer h2,.seo-grid h3{margin:0 0 8px;font-size:1rem}.seo-grid p{margin:0 0 12px}.archive-back,.archive-pagination a,.text-link{color:var(--text);text-decoration:none;text-underline-offset:3px}.archive-back:hover,.archive-pagination a:hover,.text-link:hover{text-decoration:underline}.archive-shell{min-height:calc(100dvh - 44px);padding:48px 0 84px}.archive-back{display:inline-block;margin-bottom:56px;color:var(--muted);font-size:.86rem}.archive-header{max-width:680px;margin-bottom:48px}.archive-header h1 span{color:var(--muted);font-weight:500}.archive-header>p:not(.seo-kicker){margin:18px 0 0;line-height:1.6}.archive-list{display:grid;grid-gap:18px;gap:18px;margin:0;padding:0;list-style:none}.archive-card{display:block;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--text);text-decoration:none;transition:border-color .15s ease,transform .15s ease}.archive-card:hover{border-color:rgba(255,255,255,.35);transform:translateY(-2px)}.archive-card img,.archive-figure img{display:block;width:100%;object-fit:fill;background:var(--panel-2)}.archive-card img{height:112px}.archive-card-copy{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px}.archive-card-copy>span{display:flex;align-items:baseline;gap:8px}.archive-card-copy small,.archive-card-copy time{color:var(--muted);font-size:.75rem}.archive-empty{color:var(--muted)}.archive-figure{margin:0}.archive-figure img{height:clamp(180px,28vw,300px);border:1px solid var(--line)}.archive-figure figcaption{margin-top:12px;font-size:.78rem;line-height:1.5}.archive-explainer{max-width:680px;margin:56px 0;line-height:1.65}.archive-pagination{display:flex;justify-content:space-between;gap:24px;padding-top:24px;border-top:1px solid var(--line);font-size:.88rem}.archive-pagination a:last-child{text-align:right}@media (max-width:600px){.topbar{padding:10px 14px}.brand{font-size:1.1rem}.stage{gap:10px;padding:12px 12px 18px}.prompt{font-size:.8rem;line-height:1.35}.message{min-height:1em;font-size:.8rem}.gauntlet,.gauntlet-hud{gap:8px}.g-score-num{font-size:1.25rem}.g-score-label{font-size:.62rem}.g-lives{gap:5px}.g-pip{width:9px;height:9px}.choices{gap:7px}.choice{min-height:clamp(54px,8dvh,64px);padding:8px 10px}.choice-title{font-size:.84rem;line-height:1.18}.site-footer{column-gap:10px;row-gap:7px;padding-inline:10px}.site-footer>.footer-separator,.tmdb-attribution span{display:none}.seo-grid{grid-template-columns:1fr;gap:26px}.seo-intro{padding-block:52px 64px}.archive-shell{padding-top:28px}.archive-back{margin-bottom:38px}.archive-card img{height:86px}.archive-card-copy{align-items:flex-start;gap:5px}.archive-card-copy,.archive-pagination{flex-direction:column}.archive-pagination span:empty{display:none}.archive-pagination a:last-child{text-align:left}}@media (max-width:380px){.site-footer{padding-inline:8px}.tmdb-attribution span{display:none}}@media (min-width:700px){.stage:has(.gauntlet:not([hidden])){gap:8px;padding-block:12px 18px}.stage:has(.gauntlet:not([hidden])) .gauntlet{gap:8px}.stage:has(.gauntlet:not([hidden])) .choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stage:has(.gauntlet:not([hidden])) .choice{min-height:56px;padding-block:8px}}.legal{width:100%;max-width:var(--maxw);margin:0 auto;padding:28px 18px 64px;line-height:1.6;color:var(--text)}.legal-back{display:inline-block;margin-bottom:22px;color:var(--muted);font-size:.9rem;text-decoration:none}.legal-back:hover{color:var(--text)}.legal h1{font-size:1.8rem;letter-spacing:-.02em;margin:0 0 20px}.legal h2{font-size:1.05rem;margin:28px 0 8px}.legal li,.legal p{color:var(--muted)}.legal ul{padding-left:20px;margin:8px 0}.legal li{margin:4px 0}.legal a{color:var(--text);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}.legal-note{margin-top:24px;font-size:.85rem;opacity:.8}.dialog{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:var(--radius);max-width:420px;width:calc(100% - 36px);padding:24px;line-height:1.5}.dialog:focus{outline:none}.dialog::-webkit-backdrop{background:rgba(0,0,0,.6)}.dialog::backdrop{background:rgba(0,0,0,.6)}.dialog h2{margin-top:0}.dialog button{margin-top:8px;width:100%}:root{--fx-wrong:#ef4444;--fx-right:#22c55e}.barcode-wrap.deny{will-change:transform,filter;animation:barcodeDeny .5s cubic-bezier(.36,.07,.19,.97) both}@keyframes barcodeDeny{0%{transform:translateX(0);filter:none}10%{transform:translateX(-12px);filter:brightness(.7) contrast(1.2)}30%{transform:translateX(10px);filter:brightness(.8)}50%{transform:translateX(-7px)}70%{transform:translateX(5px);filter:brightness(.9)}85%{transform:translateX(-2px)}to{transform:translateX(0);filter:none}}.barcode-wrap.deny:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;box-shadow:inset 0 0 0 2px var(--fx-wrong),inset 0 0 40px -6px color-mix(in srgb,var(--fx-wrong) 60%,transparent);animation:denyGlow .5s ease-out both}@keyframes denyGlow{0%{opacity:1}to{opacity:0}}.fx-layer{position:fixed;inset:0;pointer-events:none;z-index:70;transform:translateZ(0);contain:layout paint}.fx-vignette{box-shadow:inset 0 0 120px -20px var(--fx-wrong),inset 0 0 0 3px color-mix(in srgb,var(--fx-wrong) 40%,transparent);animation:fxVignette .5s ease-out forwards}@keyframes fxVignette{0%{opacity:0}18%{opacity:.9}to{opacity:0}}.message.knock{color:var(--fx-wrong);animation:knock .45s ease-out both}@keyframes knock{0%{transform:scale(1)}30%{transform:scale(1.12)}to{transform:scale(1)}}.end:not([hidden]){animation:endRise .6s cubic-bezier(.16,1,.3,1) both}@keyframes endRise{0%{transform:translateY(18px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.verdict.win{animation:verdictWin .7s cubic-bezier(.18,1.5,.3,1) .1s both}@keyframes verdictWin{0%{transform:scale(.4);opacity:0;letter-spacing:.2em}60%{transform:scale(1.08);opacity:1}to{transform:scale(1);letter-spacing:normal}}@media (prefers-reduced-motion:reduce){*{animation:none!important}.frame-preview,.frame-preview-image{transition:none}}@media (pointer:coarse){.icon-btn{width:42px;height:42px}.barcode-wrap.is-interactive{touch-action:none}.barcode-wrap.is-interactive .frame-preview-hint{position:absolute;left:50%;bottom:8px;z-index:4;display:block;padding:6px 9px;border-radius:7px;background:rgba(0,0,0,.72);color:rgba(255,255,255,.82);font-size:.68rem;font-weight:650;letter-spacing:.01em;line-height:1;white-space:nowrap;pointer-events:none;transform:translateX(-50%);transition-property:opacity,transform;transition-duration:.12s;transition-timing-function:cubic-bezier(.2,0,0,1)}.barcode-wrap.is-pressing .frame-preview-hint{transform:translateX(-50%) scale(.96)}.barcode-wrap.has-previewed .frame-preview-hint{opacity:0;transform:translateX(-50%) translateY(4px)}}@media (max-width:900px) and (max-height:500px) and (orientation:landscape){.topbar{display:none}.stage{gap:6px;padding-block:8px 12px}.message,.prompt{display:none}.gauntlet{gap:6px}.choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.choice{min-height:48px;padding-block:6px}}