:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-background:#0d1713;--color-surface:#14261f;--color-surface-strong:#1b3329;--color-text:#f4f1df;--color-muted:#c8d1c9;--color-accent:#ffcf5a;--color-accent-ink:#1d1705;--color-border:#567462;--color-error:#ffb4a8;--font-body:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:ui-monospace, "Cascadia Mono", "Segoe UI Mono", monospace;--space-1:.5rem;--space-2:.75rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--radius:.75rem;--content-width:64rem}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}.js .static-fallback{display:none}html{background:var(--color-background);color:var(--color-text);font-family:var(--font-body);line-height:1.6}body{overscroll-behavior:none;background:linear-gradient(145deg, #ffcf5a14, transparent 24rem), var(--color-background);min-block-size:100vh;margin:0}h1,h2,h3,p{margin-block-start:0}h1,h2,h3{overflow-wrap:anywhere;line-height:1.15}h1{font-family:var(--font-display);letter-spacing:-.06em;margin-block-end:var(--space-1);font-size:clamp(2rem,12vw,4.5rem)}h2{font-size:clamp(1.25rem,5vw,1.75rem)}h3{font-size:1.1rem}p{max-inline-size:68ch}a{color:var(--color-accent);text-underline-offset:.2em}a:hover{text-decoration-thickness:.16em}button{border:2px solid var(--color-accent);background:var(--color-accent);min-block-size:2.75rem;color:var(--color-accent-ink);font:inherit;cursor:pointer;border-radius:.45rem;padding:.65rem 1rem;font-weight:750}button:hover{filter:brightness(1.08)}button:disabled{border-color:var(--color-border);background:var(--color-border);color:var(--color-background);cursor:not-allowed;filter:none}fieldset{min-inline-size:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);margin:0}legend{padding-inline:var(--space-1);color:var(--color-accent);font-family:var(--font-display);font-weight:700}:focus-visible{outline:.2rem solid var(--color-accent);outline-offset:.25rem}::selection{background:var(--color-accent);color:var(--color-accent-ink)}.sr-only{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.app-root{flex-direction:column;min-block-size:100dvh;display:flex}.game-shell{flex-direction:column;flex:auto;min-block-size:0;display:flex}.hud{align-items:center;gap:var(--space-2);padding:calc(env(safe-area-inset-top,0px) + var(--space-1)) var(--space-2) var(--space-1);border-block-end:1px solid var(--color-border);background:var(--color-surface);display:flex}.hud-actions{gap:var(--space-1);margin-inline-start:auto;display:flex}.hud-actions button{min-block-size:2.75rem;padding:.35rem .7rem;font-size:.9rem}.hud-skip{border-color:var(--color-border);color:var(--color-text);background:0 0}.hud .legend-banner{font-size:clamp(.6rem,2.4vw,.72rem)}.legend-banner{inline-size:fit-content;color:var(--color-accent);font-family:var(--font-display);letter-spacing:.05em;border:2px solid;margin-block-end:0;padding:.25rem .55rem;font-size:.85rem;font-weight:800}.stage{background:linear-gradient(#0a0f26 0%,#10203f 45%,#1c3350 78%,#132731 100%);flex-direction:column;flex:auto;min-block-size:0;display:flex;position:relative;overflow:hidden auto}.scope-notice{padding:var(--space-2);border-inline-start:.25rem solid var(--color-accent);background:var(--color-background)}.scope-notice--floating{margin:var(--space-2);font-size:.92rem}.arcade-host{gap:var(--space-1);min-block-size:0;padding:var(--space-2);flex-direction:column;flex:auto;display:flex}.arcade-viewport{border:3px solid var(--color-accent);touch-action:none;background:#0a0f26;border-radius:.35rem;inline-size:min(100%,177.778dvh - 30.2222rem);margin-inline:auto;position:relative;overflow:hidden;box-shadow:0 .5rem #08120e}.arcade-canvas{block-size:auto;inline-size:100%;image-rendering:pixelated;display:block}.arcade-narrative{inline-size:min(100%,40rem);padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);background:#0d1713d1;border-radius:.4rem;margin:0 auto;font-size:.95rem}.arcade-status{min-block-size:1.4em;font-family:var(--font-display);color:var(--color-muted);margin:0 auto;font-size:.85rem;font-weight:750}.arcade-controls{justify-content:space-between;align-items:stretch;gap:var(--space-3);margin-block-start:auto;padding-block-end:env(safe-area-inset-bottom,0px);display:flex}.arcade-move-cluster{gap:var(--space-2);flex:auto;display:flex}.arcade-control{touch-action:none;-webkit-user-select:none;user-select:none;min-block-size:4rem;box-shadow:0 .3rem 0 var(--color-border);border-width:3px;padding-inline:.5rem;font-size:1.4rem;line-height:1}.arcade-control:active{box-shadow:0 .15rem 0 var(--color-border);translate:0 .15rem}.arcade-control--left,.arcade-control--right{flex:1 1 0;max-inline-size:8rem}.arcade-control--jump{flex:none;min-inline-size:6.5rem}.arcade-instructions{color:var(--color-muted);text-align:center;margin:0 auto;font-size:.85rem}@media (hover:none) and (pointer:coarse){.arcade-instructions{display:none}}@media (orientation:landscape) and (height<=30rem){.hud{padding-block:.2rem}.hud-actions button{min-block-size:2.25rem;padding:.2rem .6rem;font-size:.8rem}.arcade-host{padding:var(--space-1);position:relative}.arcade-viewport{inline-size:min(100%,177.778dvh - 9.77778rem)}.arcade-narrative{z-index:5;inline-size:min(80%,30rem);font-size:.85rem;position:absolute;inset-block-start:var(--space-2);inset-inline-start:50%;translate:-50%}.arcade-status,.arcade-instructions{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.arcade-controls{z-index:5;inset-inline:var(--space-3);pointer-events:none;margin:0;position:absolute;inset-block-end:var(--space-3)}.arcade-controls button{pointer-events:auto;opacity:.82}.arcade-move-cluster{flex:none}.arcade-control{min-block-size:3.5rem}.arcade-control--left,.arcade-control--right{inline-size:5.5rem}.arcade-control--jump{min-inline-size:5.5rem}}.overlay-card{max-block-size:100%;inline-size:min(100%,36rem);padding:var(--space-3) var(--space-3) calc(env(safe-area-inset-bottom,0px) + var(--space-3));border:3px solid var(--color-accent);image-rendering:pixelated;background:linear-gradient(#ffcf5a0f,#0000 3rem),#0d1713f0;border-block-end:none;margin:auto auto 0;overflow-y:auto;box-shadow:0 0 0 3px #08120e,0 -.5rem 2rem #0000008c}.overlay-card h2{font-family:var(--font-display);letter-spacing:.04em;color:var(--color-accent);text-transform:uppercase;font-size:1.1rem}.overlay-card .dialogue{border:2px solid var(--color-border);background:#0a0f26d9;border-radius:0}.role-select{inline-size:min(100%,36rem);padding:var(--space-3);margin:auto}.role-select h2{font-family:var(--font-display);color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em;font-size:clamp(1.2rem,5vw,1.6rem)}.role-select__cards{gap:var(--space-2);display:grid}.role-card{inline-size:100%;padding:var(--space-2) var(--space-3);border:3px solid var(--color-border);color:var(--color-text);text-align:start;background:#0d1713eb;border-radius:.4rem;justify-items:start;gap:.3rem;display:grid;box-shadow:0 .3rem #08120e}.role-card:hover,.role-card:focus-visible{border-color:var(--color-accent);filter:none}.role-card strong{font-family:var(--font-display);color:var(--color-accent)}.role-card span{color:var(--color-muted);font-size:.92rem}.score-card{border:2px solid var(--color-border);block-size:auto;inline-size:min(100%,18rem);image-rendering:pixelated;margin-inline:auto}.teaser{gap:var(--space-1);padding:var(--space-3);border:3px dashed var(--color-accent);background:#0a0f26e0;display:grid}.teaser__label{background:var(--color-accent);inline-size:fit-content;color:var(--color-accent-ink);font-family:var(--font-display);letter-spacing:.14em;margin:0;padding:.2rem .5rem;font-size:.72rem;font-weight:800;animation:1.6s steps(2,jump-none) infinite teaser-pulse}.teaser h3{color:var(--color-accent);font-family:var(--font-display);margin:0}.teaser p:not(.teaser__label){margin:0}@keyframes teaser-pulse{50%{opacity:.55}}.score-panel{gap:var(--space-1);padding:var(--space-2) var(--space-3);border:2px dashed var(--color-accent);background:#0a0f26d9;justify-items:start;display:grid}.score-panel p{font-family:var(--font-display);margin:0}.score-panel__value{color:var(--color-accent);font-size:1.3rem;font-weight:800}.game-screen{gap:var(--space-2);display:grid}.game-screen>button,.game-screen>.choice-list{justify-self:start}.game-screen h2:focus{outline:none}.quiet-copy{color:var(--color-muted);font-size:.92rem}.menu-overlay{z-index:20;gap:var(--space-2);padding:calc(env(safe-area-inset-top,0px) + var(--space-2)) var(--space-3) calc(env(safe-area-inset-bottom,0px) + var(--space-3));background:var(--color-background);flex-direction:column;display:flex;position:absolute;inset:0;overflow-y:auto}.game-shell{position:relative}.menu-bar{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.menu-bar h2{font-family:var(--font-display)}.menu-bar h2:focus{outline:none}.menu-section{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.menu-section summary{min-block-size:2.75rem;padding:var(--space-1) var(--space-3);color:var(--color-accent);font-family:var(--font-display);cursor:pointer;align-items:center;font-weight:700;display:flex}.menu-section>:not(summary){margin:var(--space-1) var(--space-3) var(--space-3)}.menu-settings{gap:var(--space-2);display:grid}.menu-settings fieldset{border-radius:.5rem}.menu-clear{border-color:var(--color-error);inline-size:fit-content;color:var(--color-error);background:0 0;justify-self:start}.radio-cards{gap:var(--space-2);display:grid}.radio-card{gap:var(--space-2);padding:var(--space-2);border:2px solid var(--color-border);background:var(--color-background);cursor:pointer;border-radius:.5rem;grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.radio-card:has(input:checked){border-color:var(--color-accent);background:#ffcf5a14}.radio-card input{block-size:1.35rem;inline-size:1.35rem;accent-color:var(--color-accent);margin:.25rem 0 0}.radio-card__copy{gap:.2rem;display:grid}.radio-card__body{color:var(--color-muted);display:none}.radio-card:has(input:checked) .radio-card__body{display:block}.toggle-options{gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.toggle-option{align-items:center;gap:var(--space-1);cursor:pointer;min-block-size:2.75rem;display:inline-flex}.toggle-option input{block-size:1.35rem;inline-size:1.35rem;accent-color:var(--color-accent);margin:0}.scene-frame{aspect-ratio:16/9;border:2px solid var(--color-border);background:#111d2c;border-radius:.4rem;inline-size:min(100%,40rem);position:relative;overflow:hidden}.scene-frame img{object-fit:cover;block-size:100%;inline-size:100%;image-rendering:pixelated;display:block}.action-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.action-list button{text-align:start;inline-size:100%}.dialogue{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-background)}.dialogue>:last-child{margin-block-end:0}.choice-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.surprise-dialog{gap:var(--space-3);padding:var(--space-4);border:3px solid var(--color-accent);border-radius:var(--radius);background:var(--color-background);justify-items:start;display:grid;box-shadow:0 1rem 3rem #00000073}.surprise-sprite{block-size:auto;inline-size:min(100%,20rem);image-rendering:pixelated;animation:.9s ease-out both tail-pass}@keyframes tail-pass{0%{opacity:0;transform:translate(-2rem)}to{opacity:1;transform:translate(0)}}.noscript-shell{inline-size:min(100% - 2rem,44rem);padding-block:var(--space-4);margin-inline:auto}.eyebrow{color:var(--color-accent);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;margin-block-end:var(--space-2);font-size:.875rem;font-weight:700}.subtitle{color:var(--color-muted);margin-block-end:var(--space-4);font-size:clamp(1.125rem,4vw,1.5rem)}.bootstrap-error{margin:var(--space-3);padding:var(--space-3);border:2px solid var(--color-error);border-radius:var(--radius);background:var(--color-background)}.bootstrap-error h2{color:var(--color-error)}@media (width>=48rem){.radio-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.radio-card__body{display:block}.menu-overlay{padding-inline:max(var(--space-3), calc((100vw - 44rem) / 2))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
