:root{--fj-paper: #f5f0e6;--fj-card: #e4dac8;--fj-ink: #182c3d;--fj-ink-soft: #3d5163;--fj-sage: #54766b;--fj-sage-text: #3b5b50;--fj-amber: #d18a52;--fj-amber-text: #8a4d1d;--fj-on-accent: #182c3d;--pp-bg: var(--fj-paper);--pp-surface: var(--fj-card);--pp-ink: var(--fj-ink);--pp-accent: var(--fj-amber)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--fj-paper: #111e2a;--fj-card: #1c3042;--fj-ink: #f5f0e6;--fj-ink-soft: #c9c2b2;--fj-sage: #7fa597;--fj-sage-text: #9bc2b3;--fj-amber: #e0a06a;--fj-amber-text: #e0a06a;--fj-on-accent: #111e2a}}:root[data-theme=dark]{color-scheme:dark;--fj-paper: #111e2a;--fj-card: #1c3042;--fj-ink: #f5f0e6;--fj-ink-soft: #c9c2b2;--fj-sage: #7fa597;--fj-sage-text: #9bc2b3;--fj-amber: #e0a06a;--fj-amber-text: #e0a06a;--fj-on-accent: #111e2a}:root[data-theme=light]{color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body{margin:0}body{background:var(--fj-paper);color:var(--fj-ink);font-family:IBM Plex Mono,ui-monospace,monospace;line-height:1.5;min-height:100vh}h1,h2,h3{font-family:Space Grotesk,system-ui,sans-serif;margin:0 0 .5rem}:focus-visible{outline:2px solid var(--fj-amber-text);outline-offset:2px}.app{max-width:960px;margin:0 auto;padding:1rem}.app-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem}.app-header h1{font-size:1.25rem;margin:0}.stack{display:grid;gap:1rem}.muted{color:var(--fj-ink-soft)}.pp-button{font:inherit;color:var(--fj-ink);background:var(--fj-card);border:2px solid var(--fj-ink);border-radius:4px;padding:.5rem 1rem;box-shadow:2px 2px 0 var(--fj-ink);cursor:pointer;transition:transform 80ms linear,box-shadow 80ms linear}.pp-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:2px 3px 0 var(--fj-ink)}.pp-button:active:not(:disabled){transform:translateY(2px);box-shadow:none}.pp-button:disabled{border-style:dashed;box-shadow:none;cursor:not-allowed;opacity:.7}.pp-button--primary{background:var(--fj-amber);color:var(--fj-on-accent)}.pp-button--sage{background:var(--fj-sage-text);color:var(--fj-paper)}.pp-window{background:var(--fj-paper);border:2px solid var(--fj-ink);border-radius:10px;box-shadow:4px 4px 0 var(--fj-ink)}.pp-window__title{background:var(--fj-card);border-bottom:2px solid var(--fj-ink);border-radius:8px 8px 0 0;padding:.5rem 1rem;font-weight:600}.pp-window__body{padding:1rem}.field{display:grid;gap:.25rem}.field select{font:inherit;color:var(--fj-ink);background:var(--fj-paper);border:2px solid var(--fj-ink);border-radius:4px;padding:.5rem}.field select:disabled{border-style:dashed;opacity:.7}.app-header .field{grid-auto-flow:column;align-items:center;gap:.5rem}.app-header .field select{padding:.3rem .5rem}.app-header__controls{display:flex;align-items:center;gap:.75rem}.theme-toggle{display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;padding:0;color:var(--fj-ink);background:var(--fj-card);border:1px solid var(--fj-ink-soft);border-radius:50%;cursor:pointer}.theme-toggle:focus-visible{outline:2px solid var(--fj-amber-text);outline-offset:2px}.app--game{max-width:none;padding:0;height:100dvh;overflow:hidden}.app--game main{height:100%}.game{--slide-from: translateX(100%);--shift: 16px;position:relative;height:100%;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;background:#0b141c;color:#fff;-webkit-user-select:none;user-select:none}@media (max-width: 719px){.game{--slide-from: translateY(100%);grid-template-columns:1fr;grid-template-rows:1fr 1fr}.pane--current .pane__content{padding-top:4.25rem;padding-bottom:3rem}.pane--current .attribution{bottom:2.6rem}.pane--challenger .pane__content{padding-top:2.75rem;padding-bottom:2rem}.reveal-hint{display:none}}.pane{position:relative;min-height:0;overflow:hidden;display:grid;place-items:center;animation:pane-in .6s cubic-bezier(.2,.8,.2,1) backwards}.pane--challenger{animation-delay:80ms}.pane__photo,.pane__placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:block;background:#1c3042}.pane__placeholder{display:grid;place-items:center;color:#c9c2b2}.pane__photo img{width:100%;height:100%;object-fit:cover;display:block;animation:drift 14s ease-out forwards}.pane__shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,rgb(5 12 18 / .55),transparent 28%),linear-gradient(to top,#050c12e0,#050c1259 55%,#050c1233)}.pane__content{position:relative;z-index:1;width:100%;max-height:100%;padding:3.5rem 1.25rem 3rem;display:grid;justify-items:center;gap:.35rem;text-align:center;text-shadow:0 2px 12px rgb(0 0 0 / .65)}.pane__meta{font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:#e4dac8}.pane__name{margin:0;max-width:24ch;font-size:clamp(1.3rem,3.6vw,2.9rem);line-height:1.1;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pane__label{font-size:clamp(.8rem,1.6vw,1rem);color:#e4dac8}.pane__value{margin-top:.4rem;min-height:1.2em;font-family:Space Grotesk,system-ui,sans-serif;font-size:clamp(2rem,6.2vw,4.75rem);font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.pane__value--hidden{opacity:.85}.pane__value--rolling{color:#ffd166;animation:tick .12s steps(2) infinite}.pane__value--ok{color:#9bf0c4;animation:pop .52s cubic-bezier(.2,1.6,.4,1)}.pane__value--bad{color:#ff8d86;animation:pop .52s cubic-bezier(.2,1.6,.4,1)}.pane .attribution{position:absolute;left:0;right:0;bottom:.4rem;margin:0;padding:0 .75rem;font-size:.68rem;color:#e4dac8;opacity:.85;text-shadow:0 1px 4px rgb(0 0 0 / .9)}.answers{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:.6rem;text-shadow:none}.answer-btn{display:inline-flex;align-items:center;gap:.55rem;min-height:3.25rem;min-width:9.5rem;justify-content:center;padding:.7rem 1.2rem;font-weight:700;font-size:clamp(.95rem,1.8vw,1.15rem);color:#fff;border-color:#fff;box-shadow:0 4px #0000008c}.answer-btn.pp-button--sage{background:#2f6d58}.answer-btn.pp-button--primary{background:#b5651d;color:#fff}.answer-btn:hover:not(:disabled){transform:translateY(-2px) scale(1.03);box-shadow:0 6px #0000008c}.answer-btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #0000008c}.answer-btn:focus-visible{outline-color:#ffd166;outline-offset:3px}.versus{position:absolute;left:50%;top:50%;z-index:4;translate:-50% -50%;display:grid;place-items:center;width:clamp(3rem,7vw,4.5rem);aspect-ratio:1;border-radius:50%;border:3px solid #fff;background:#182c3d;color:#fff;font-family:Space Grotesk,system-ui,sans-serif;font-size:clamp(1rem,2.4vw,1.5rem);font-weight:700;box-shadow:0 6px 24px #00000080;animation:badge-pop .48s cubic-bezier(.2,1.6,.4,1)}.versus--ok{background:#2f8f64}.versus--bad{background:#c0392b}.game--suspense .versus{animation:heartbeat .75s ease-in-out infinite}.hud{position:absolute;inset:0 0 auto 0;z-index:5;display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.75rem;pointer-events:none}.hud>*{pointer-events:auto}.hud__exit{font:inherit;font-size:.9rem;color:#fff;background:#0a121ab3;border:2px solid rgb(255 255 255 / .85);border-radius:999px;padding:.45rem .9rem;min-height:2.5rem;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.hud__exit:hover{background:#0a121ae6}.hud__exit:focus-visible{outline-color:#ffd166}.hud__score{position:absolute;left:50%;translate:-50% 0;display:grid;justify-items:center;padding:.3rem 1.1rem;min-width:7.5rem;background:#0a121abf;border:2px solid rgb(255 255 255 / .85);border-radius:14px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);line-height:1.15}.hud__label,.hud__best{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:#e4dac8}.hud__points{font-family:Space Grotesk,system-ui,sans-serif;font-size:1.7rem;animation:bump .42s cubic-bezier(.2,1.8,.4,1)}.verdict{position:absolute;right:.75rem;top:.75rem;z-index:5;display:grid;justify-items:center;padding:.4rem 1.4rem;border-radius:999px;border:3px solid #fff;font-family:Space Grotesk,system-ui,sans-serif;font-size:clamp(1rem,2.4vw,1.5rem);font-weight:700;white-space:nowrap;box-shadow:0 8px 28px #00000080;animation:verdict-in .52s cubic-bezier(.2,1.5,.4,1)}.verdict small{font-size:.75rem;font-weight:600;letter-spacing:.04em}.verdict--ok{background:#2f8f64}.verdict--bad{background:#c0392b}.reveal-hint{position:absolute;left:0;right:0;bottom:1.9rem;z-index:5;margin:0;text-align:center;font-size:.8rem;color:#e4dac8;text-shadow:0 1px 4px rgb(0 0 0 / .9);animation:blink 1.4s ease-in-out infinite;pointer-events:none}.drumroll{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;background:radial-gradient(ellipse at center,transparent 35%,rgb(0 0 0 / .8));animation:heartbeat-fade .75s ease-in-out infinite}.game--suspense .pane--challenger .pane__photo img{animation:anticipate 1.5s ease-in forwards}.game--suspense .pane--challenger .pane__content{animation:tremble 90ms linear infinite}.game--ok:after,.game--bad:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:none;animation:flash .9s ease-out forwards}.game--ok:after{background:radial-gradient(circle at 75% 50%,rgb(70 220 150 / .65),transparent 70%)}.game--bad:after{background:radial-gradient(circle,transparent 25%,rgb(220 40 30 / .7))}.game--shake{animation:shake .7s cubic-bezier(.36,.07,.19,.97) both}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100dvh;z-index:50;pointer-events:none}@media (max-height: 560px){.pane__content{padding-top:3rem;padding-bottom:2rem;gap:.15rem}.pane__value{font-size:clamp(1.6rem,5vw,2.6rem)}.answer-btn{min-height:2.6rem}}@keyframes pane-in{0%{transform:var(--slide-from)}}@keyframes drift{0%{transform:scale(1)}to{transform:scale(1.1)}}@keyframes anticipate{0%{transform:scale(1.04)}to{transform:scale(1.22)}}@keyframes tremble{0%{transform:translate(1px)}50%{transform:translate(-1px,1px)}to{transform:translateY(-1px)}}@keyframes tick{50%{opacity:.8}}@keyframes pop{0%{transform:scale(.6);opacity:0}}@keyframes badge-pop{0%{transform:scale(.2) rotate(-90deg);opacity:0}}@keyframes heartbeat{0%,to{transform:scale(1)}20%{transform:scale(1.25)}40%{transform:scale(1)}60%{transform:scale(1.15)}}@keyframes heartbeat-fade{0%,to{opacity:.35}20%{opacity:1}60%{opacity:.75}}@keyframes bump{0%{transform:scale(.5);color:#ffd166}}@keyframes verdict-in{0%{transform:translateY(-1.5rem) scale(.6);opacity:0}}@keyframes blink{50%{opacity:.45}}@keyframes flash{0%{opacity:1}to{opacity:0}}@keyframes shake{10%,90%{transform:translate3d(-3px,0,0)}20%,80%{transform:translate3d(7px,2px,0) rotate(.3deg)}30%,50%,70%{transform:translate3d(-14px,-3px,0) rotate(-.5deg)}40%,60%{transform:translate3d(14px,3px,0) rotate(.5deg)}}.pane .attribution a{color:inherit}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.loading{display:grid;justify-items:center;gap:.5rem;margin-top:20vh}.loading__plane{font-size:2.5rem;animation:fly 1.2s ease-in-out infinite alternate}.select{display:grid;gap:.7rem;max-width:44rem;margin:0 auto}.select__intro p{margin:0 0 .25rem}.select__tagline{font-size:clamp(1rem,2.4vw,1.2rem);font-weight:600}.select__how{font-size:.85rem}.select__row{display:grid;gap:.7rem;grid-template-columns:1fr}@media (min-width: 720px){.select__row{grid-template-columns:1fr 1fr}}.select__restored{font-size:.85rem;color:var(--fj-sage-text)}.select__group{margin:0;padding:0;border:0;min-width:0}.select__group legend{padding:0;margin-bottom:.4rem;font-weight:700}.select__step{display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;margin-right:.25rem;border-radius:50%;background:var(--fj-ink);color:var(--fj-paper);font-size:.8rem}.choices{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.choices--two{grid-template-columns:1fr 1fr}.choices--two .choice{grid-auto-flow:column;justify-content:center;gap:.6rem}.choices--three{grid-template-columns:repeat(3,1fr)}@media (max-width: 519px){.choices--three{grid-template-columns:1fr}.choices--three .choice{grid-auto-flow:column;justify-content:space-between}}.choice{position:relative;display:grid;align-content:center;justify-items:center;gap:.15rem;min-height:2.9rem;padding:.4rem .75rem;text-align:center;background:var(--fj-paper);border:2px solid var(--fj-ink);border-radius:10px;box-shadow:2px 2px 0 var(--fj-ink);cursor:pointer;transition:transform .12s ease,background-color .12s ease,box-shadow .12s ease}.choice:hover:not(.choice--off){transform:translateY(-2px);box-shadow:2px 4px 0 var(--fj-ink)}.choice input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;margin:0;cursor:inherit}.choice:has(input:focus-visible){outline:3px solid var(--fj-amber-text);outline-offset:3px}.choice--on{background:var(--fj-amber);color:var(--fj-on-accent);box-shadow:0 0 0 transparent;transform:translate(2px,2px)}.choice__check{position:absolute;top:.2rem;right:.45rem;font-weight:700}.choice--off{border-style:dashed;box-shadow:none;opacity:.6;cursor:not-allowed}.choice__icon{font-size:1.6rem;line-height:1}.choice__title{font-weight:700}.choice__hint{font-size:.78rem;color:inherit;opacity:.8}.select__start{position:sticky;bottom:.5rem;min-height:3.25rem;font-size:1.15rem;font-weight:700}.select__start:not(:disabled){animation:nudge 2.4s ease-in-out infinite}.over{display:grid;place-items:center;min-height:calc(100dvh - 7rem)}.over__card{width:min(28rem,100%);text-align:center;animation:card-in .5s cubic-bezier(.2,1.3,.4,1)}.over__record{margin:0;font-family:Space Grotesk,system-ui,sans-serif;font-size:1.4rem;font-weight:700;color:var(--fj-amber-text);animation:bump .7s cubic-bezier(.2,1.8,.4,1)}.over__score{display:grid;margin:0}.over__score strong{font-family:Space Grotesk,system-ui,sans-serif;font-size:clamp(3.5rem,14vw,6rem);line-height:1}.over__best{margin:0}.over__actions{display:grid;gap:.6rem}.over__actions .pp-button{min-height:3rem;font-weight:600}.over__replay{font-size:1.1rem}@keyframes fly{0%{transform:translate(-2rem) rotate(-8deg)}to{transform:translate(2rem) rotate(8deg)}}@keyframes nudge{0%,88%,to{transform:none}94%{transform:scale(1.03)}}@keyframes card-in{0%{transform:translateY(2rem) scale(.9);opacity:0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
