@font-face{font-family:Syne Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/syne-mono-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Syne Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/syne-mono-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #000;--panel: #0b0b0b;--ink: #f5f5f5;--ink-muted: #b8b8b8;--accent: #ffcf5c;--ambient-red-hot: #d40000;--ambient-red: #b80000;--ambient-red-deep: #8a0000;--scene-arrow-twinkle-duration: 2.7s;--danger-stripe-a: #2e2e2e;--danger-stripe-b: #171717;--focus: #fff;--scrollbar-track: #000;--scrollbar-thumb: #3a3a3a;--blur: .4px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--scene-gap: 1rem;--scene-enlarge-height: 2.75rem;--scene-enlarge-gap: var(--space-2);--font-body: "Syne Mono", monospace;--font-mono: "Syne Mono", monospace}*,*:before,*:after{box-sizing:border-box}html{background:var(--bg);color:var(--ink);color-scheme:dark;font-family:var(--font-body);font-synthesis:none;line-height:1.45;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-gutter:stable}html.is-swiping{overflow:hidden}html::-webkit-scrollbar{height:.75rem;width:.75rem}html::-webkit-scrollbar-track{background:var(--scrollbar-track)}html::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb)}html::-webkit-scrollbar-corner{background:var(--scrollbar-track)}body{background:var(--bg);margin:0;min-height:100vh}h1,h2,h3,p,ul,fieldset,figure{margin:0}h1,h2,h3,strong,b,button{font-weight:400}ul{padding:0;list-style:none}button,input,fieldset{font:inherit}button{all:unset;box-sizing:border-box;cursor:pointer;font:inherit}fieldset{all:unset;box-sizing:border-box;font:inherit;min-width:0}#app{margin:0 auto;max-width:72rem;padding:var(--space-4)}.screen{display:grid;gap:var(--space-3)}.screen-host{filter:blur(var(--blur));position:relative;z-index:2}.swipe-host{filter:blur(var(--blur));inset:0;overflow:hidden;pointer-events:none;position:fixed;z-index:1}.overlay-host{inset:0;pointer-events:none;position:fixed;z-index:20}.audio-toggle-host{inset-block-start:var(--space-4);inset-inline-end:var(--space-4);pointer-events:none;position:fixed;z-index:21}.audio-toggle{align-items:center;color:var(--accent);cursor:pointer;display:grid;font-size:1.5rem;height:3rem;justify-items:center;pointer-events:auto;width:3rem}.audio-toggle-icon{height:1em;width:1em}.audio-toggle .audio-toggle-slash,.audio-toggle.is-muted .audio-toggle-wave{display:none}.audio-toggle.is-muted .audio-toggle-slash{display:inline}.screen-heading{font-size:clamp(1.4rem,2.5vw,2rem);letter-spacing:.04em;text-transform:uppercase}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.screen-heading:focus-visible,.screen-heading:focus{outline:2px solid var(--focus);outline-offset:4px}.scenario-meta{color:var(--ink-muted);font-family:var(--font-mono);font-size:.9rem}.hazard-notice{color:var(--ink-muted);letter-spacing:.04em;padding:var(--space-3) 0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.error-screen{padding:var(--space-5) 0}.scene-scroller{background:transparent;column-gap:var(--scene-rail-gap);display:grid;grid-template-columns:var(--scene-rail-width) calc(var(--scene-height) * 3 / 4);justify-content:center;max-width:100%;overflow:visible;position:relative}.scene-window{grid-column:2;grid-row:1;height:calc(var(--scene-height) + var(--scene-gap));max-width:100%;position:relative;width:calc(var(--scene-height) * 3 / 4)}.intro-screen{min-height:calc(100vh - 2 * var(--space-4));min-height:calc(100dvh - 2 * var(--space-4));place-content:center;justify-items:center;padding-block:var(--space-6);position:relative;text-align:center}.intro-screen .screen-heading{font-size:clamp(2.75rem,10.5vw,8.5rem);letter-spacing:.02em;line-height:1.02;max-width:18ch;text-transform:uppercase}.intro-screen .scenario-meta{font-size:1rem;letter-spacing:.12em;text-transform:uppercase}.intro-screen .hazard-notice{bottom:var(--space-4);font-size:.9rem;inset-inline:0;letter-spacing:.04em;padding:0;position:absolute}.title-host{inset:0;pointer-events:none;position:fixed;z-index:10}.title-screen{background:var(--bg);display:grid;inset:0;min-height:100vh;min-height:100dvh;place-items:center;position:fixed}.title-logos{display:grid;place-items:center;width:min(74vw,42rem)}.title-logo{display:block;grid-area:1 / 1;height:auto;opacity:0;width:100%}.title-logo--sponsor{animation:title-logo-fade-in var(--title-sponsor-fade-in) ease-in forwards,title-logo-fade-out var(--title-sponsor-fade-out) ease-out calc(var(--title-sponsor-fade-in) + var(--title-sponsor-hold)) forwards;filter:blur(.5px);width:min(52%,22rem)}.title-logo--wordmark{animation:title-logo-fade-in var(--title-fade-in) ease-in calc(var(--title-sponsor-fade-in) + var(--title-sponsor-hold) + var(--title-sponsor-fade-out) + var(--title-sponsor-gap)) forwards,title-logo-fade-out var(--title-fade-out) ease-out calc(var(--title-sponsor-fade-in) + var(--title-sponsor-hold) + var(--title-sponsor-fade-out) + var(--title-sponsor-gap) + var(--title-fade-in) + var(--title-hold)) forwards}.title-screen.is-leaving .title-logo{animation:none;opacity:0}.title-screen.is-leaving{animation:title-slide-up var(--title-slide) cubic-bezier(.4,0,.2,1) forwards;inset:0;pointer-events:none;position:fixed;z-index:10}@keyframes title-logo-fade-in{0%{opacity:0}to{opacity:1}}@keyframes title-logo-fade-out{0%{opacity:1}to{opacity:0}}@keyframes title-logo-cut-out{0%{opacity:1}to{opacity:0}}@keyframes title-logo-cut-in{0%{opacity:0}to{opacity:1}}@keyframes title-slide-up{0%{transform:translateY(0)}to{transform:translateY(-100%)}}.ambient-field{inset:0;opacity:0;overflow:hidden;pointer-events:none;position:fixed;visibility:hidden;z-index:0}.ambient-field.is-active{opacity:1;visibility:visible}.ambient-red{background:radial-gradient(130% 110% at 28% 50%,var(--ambient-red-hot) 0%,var(--ambient-red-hot) 12%,var(--ambient-red) 45%,var(--ambient-red-deep) 100%);inset:0;opacity:var(--ambient-progress);position:absolute}.screen.is-swiping-in{animation:swipe-up-in var(--swipe-duration) cubic-bezier(.4,0,.2,1) both;background:var(--bg);inset-inline:0;position:absolute;top:0;z-index:5}.screen.is-leaving{background:var(--bg);pointer-events:none}@keyframes swipe-up-in{0%{transform:translateY(100vh);transform:translateY(100dvh)}to{transform:translateY(0)}}.scene-viewport{background:transparent;height:calc(var(--scene-height) + var(--scene-gap));margin-inline:auto;max-width:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;position:relative;scrollbar-width:none;width:calc(var(--scene-height) * 3 / 4)}.scene-viewport::-webkit-scrollbar{display:none}.scene-viewport:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.scene-arrows{align-items:center;display:flex;flex-direction:column;gap:var(--space-2);grid-column:1;grid-row:1;justify-content:center}.scene-arrow{align-items:center;animation:scene-arrow-twinkle var(--scene-arrow-twinkle-duration) ease-in-out infinite;color:var(--ink);cursor:pointer;display:inline-flex;font-size:2.75rem;justify-content:center;line-height:1;min-height:3.5rem;min-width:3.5rem;opacity:1;padding:0;text-align:center}.scene-arrow--next{animation-delay:calc(var(--scene-arrow-twinkle-duration) / -2)}@keyframes scene-arrow-twinkle{0%{text-shadow:0 0 0 transparent;transform:scale(1)}50%{text-shadow:0 0 .5em rgb(255 255 255 / .9);transform:scale(1.1)}to{text-shadow:0 0 0 transparent;transform:scale(1)}}.scene-arrow:hover,.scene-arrow:focus-visible{animation:none;opacity:1;text-shadow:none;transform:none}.scene-arrow:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.scene-arrow:disabled{animation:none;cursor:default;opacity:.2;text-shadow:none;transform:none}.scene-track{display:grid;gap:var(--scene-gap);padding-block:calc(var(--scene-gap) / 2)}.scene-frame{-webkit-mask-composite:source-in;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 7%,#000 93%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 7%,#000 93%,transparent 100%);align-content:center;aspect-ratio:3 / 4;background:transparent;display:grid;justify-items:center;mask-composite:intersect;mask-image:linear-gradient(to right,transparent 0,#000 7%,#000 93%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 7%,#000 93%,transparent 100%);overflow:hidden;width:100%}.scene-image{display:block;height:100%;object-fit:contain;width:100%}.scene-frame--placeholder{padding:var(--space-4);background-image:repeating-linear-gradient(45deg,var(--danger-stripe-a) 0,var(--danger-stripe-a) 1.25rem,var(--danger-stripe-b) 1.25rem,var(--danger-stripe-b) 2.5rem);color:var(--ink);text-shadow:0 1px 2px rgb(0 0 0 / .85)}.placeholder-badge{background:var(--ink);color:var(--bg);font-family:var(--font-mono);font-size:1rem;font-weight:400;letter-spacing:.18em;padding:var(--space-1) var(--space-3)}.placeholder-caption{background:#000000e6;display:grid;gap:var(--space-1);max-width:36rem;padding:var(--space-3)}.placeholder-meta{color:var(--ink-muted);font-family:var(--font-mono);font-size:.85rem}.placeholder-id{font-family:var(--font-mono);font-size:.9rem;font-weight:400}.placeholder-alt,.placeholder-brief{font-size:.92rem}.hazard-panel,.hazard-list{display:grid;gap:var(--space-2)}.detection-screen{container-type:inline-size;--panel-min: 24rem;grid-template-areas:"scene head" "scene panel";grid-template-columns:minmax(0,1.3fr) minmax(var(--panel-min),1fr);grid-template-rows:auto 1fr;min-height:calc(100vh - 2 * var(--space-4));min-height:calc(100dvh - 2 * var(--space-4))}.scene-stage{--scene-height: min( calc( 100dvh - 2 * var(--space-4) - var(--scene-gap) - var(--scene-enlarge-height) - var(--scene-enlarge-gap) ), 46rem );--scene-rail-width: 4rem;--scene-rail-gap: .5rem;align-self:center;display:grid;grid-template-columns:var(--scene-rail-width) calc(var(--scene-height) * 3 / 4);grid-template-rows:auto auto;grid-area:scene;column-gap:var(--scene-rail-gap);justify-content:center;justify-self:stretch;min-width:0;row-gap:var(--scene-enlarge-gap)}.scene-stage>.scene-scroller{align-self:center;grid-column:1 / -1;grid-row:1;justify-self:stretch}.scene-scroll-hint{color:var(--ink);font-family:var(--font-mono);font-size:.7rem;line-height:1.2;max-width:100%;overflow-wrap:anywhere;text-align:center}.scene-enlarge{color:var(--ink);font-size:.9rem;grid-column:2;grid-row:2;justify-self:center;letter-spacing:.08em;padding:var(--space-2) 0;text-transform:uppercase}.scene-enlarge:hover{text-decoration:underline;text-underline-offset:.2em}.scene-enlarge:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.detection-head{align-content:start;display:grid;gap:var(--space-2);grid-area:head}@media(max-width:78rem){.detection-head{padding-inline-end:calc(3rem + var(--space-3))}}.detection-heading{color:var(--ink);font-family:var(--font-mono);font-size:.9rem;font-weight:400;letter-spacing:.08em;line-height:1.45;overflow-wrap:anywhere;text-transform:none}.detection-heading:focus,.detection-heading:focus-visible{outline:none}.detection-screen>.scene-stage{--scene-height: min( calc( 100dvh - 2 * var(--space-4) - var(--scene-gap) - var(--scene-enlarge-height) - var(--scene-enlarge-gap) ), calc( ( min( (100cqw - var(--space-3)) * 1.3 / 2.3, (100cqw - var(--space-3) - var(--panel-min)) ) - var(--scene-rail-width) - var(--scene-rail-gap) ) * 4 / 3 ) )}.detection-screen>.scene-stage>.scene-scroller{align-self:center;justify-self:stretch}.detection-screen>.hazard-panel{align-self:start;grid-area:panel}.instruction-screen{margin-inline:auto;max-width:46rem;min-height:calc(100vh - 2 * var(--space-4));min-height:calc(100dvh - 2 * var(--space-4));padding-block:var(--space-6);padding-block-start:calc(var(--space-4) + 3rem);padding-inline-end:calc(3rem + var(--space-3));place-content:center}.instruction-slide-window{align-content:center;display:grid;min-height:clamp(15rem,42vh,26rem);width:100%}.instruction-slide{display:grid;gap:var(--space-3);width:100%}.instruction-heading{font-size:clamp(1.8rem,4.5vw,3.25rem);letter-spacing:.03em;line-height:1.1;text-transform:uppercase}.instruction-tagline{color:var(--ink);font-size:clamp(1rem,2.2vw,1.35rem);letter-spacing:.12em;text-transform:uppercase}.instruction-body{color:var(--ink-muted);display:grid;font-size:clamp(1rem,1.6vw,1.15rem);gap:var(--space-3);max-width:44rem}.instruction-controls{align-items:center;display:flex;gap:var(--space-5);justify-content:center;width:100%}.instruction-arrow{align-items:center;color:var(--ink);cursor:pointer;display:inline-flex;flex-direction:column;font-size:2.75rem;height:3.5rem;justify-content:center;line-height:1;min-height:3.5rem;min-width:3.5rem;padding:0;width:3.5rem}.instruction-arrow-caption{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;line-height:1;text-transform:uppercase}.instruction-chevron{display:block;height:1em;width:1em}.instruction-arrow:disabled{color:var(--ink-muted);cursor:default}.instruction-arrow:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.instruction-step-count{color:var(--ink-muted);font-family:var(--font-mono);font-size:.9rem;letter-spacing:.12em}.instruction-slide.is-entering-from-below{animation:instruction-enter-from-below .22s ease-out}.instruction-slide.is-entering-from-above{animation:instruction-enter-from-above .22s ease-out}@keyframes instruction-enter-from-below{0%{opacity:0;transform:translateY(2.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes instruction-enter-from-above{0%{opacity:0;transform:translateY(-2.5rem)}to{opacity:1;transform:translateY(0)}}@media(max-width:54rem){.detection-screen{grid-template-areas:"head" "scene" "panel";grid-template-columns:minmax(0,1fr);grid-template-rows:auto}.scene-stage{width:100%}.scene-window,.scene-viewport{width:min(100%,calc(var(--scene-height) * 3 / 4))}.scene-stage,.detection-screen>.scene-stage{--scene-height: min( calc((100cqw - var(--scene-rail-width) - var(--scene-rail-gap)) * 4 / 3), calc( 100dvh - 2 * var(--space-4) - var(--scene-gap) - var(--scene-enlarge-height) - var(--scene-enlarge-gap) ), 46rem );justify-self:stretch;width:100%}.detection-screen>.scene-stage>.scene-scroller{justify-self:stretch;width:100%}.instruction-screen{max-width:100%;padding-inline-end:calc(3rem + var(--space-2))}.instruction-heading{font-size:clamp(1.6rem,7vw,2.5rem)}.instruction-controls{gap:var(--space-4)}}.hazard-button:hover:not(:disabled),.submit-controls:hover,.try-again:hover{text-decoration:underline;text-underline-offset:.2em}.hazard-button{color:var(--ink);font-size:1.2rem;letter-spacing:.03em;min-height:2.75rem;padding:var(--space-3) var(--space-4);text-align:left;width:100%}.hazard-button:focus-visible,.submit-controls:focus-visible,.try-again:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.control-checkbox-input:focus-visible+.control-glyph{outline:3px solid var(--focus);outline-offset:2px}.hazard-button:disabled{color:var(--ink);cursor:default}.attempted-marker{color:var(--ink);font-family:var(--font-mono);font-size:.78rem;letter-spacing:.08em;margin-left:var(--space-2);text-transform:uppercase}.hourglass{display:flex;justify-content:flex-end;padding:var(--space-2) 0}.hourglass-svg{display:block;height:4.5rem;width:auto}.hourglass-glass{fill:none;stroke:var(--ink-muted);stroke-linejoin:round;stroke-width:2}.hourglass-sand{fill:var(--accent)}.timer{align-items:baseline;display:flex;gap:var(--space-3);justify-content:flex-end;padding:var(--space-2) 0}.timer-value{color:var(--accent);font-family:var(--font-mono);font-size:1.6rem;font-variant-numeric:tabular-nums}.timer-digits{display:inline-flex;line-height:1;vertical-align:baseline}.timer-roller{display:inline-block;height:1em;line-height:1;overflow:hidden;width:1ch}.timer-roller-track{display:block;transition:transform .18s ease-out}.timer-roller-track.is-instant{transition:none}.timer-digit{display:block;height:1em;line-height:1;text-align:center}.timer-colon{display:inline-block;line-height:1}.selected-hazard{padding:var(--space-2) 0}.control-list{display:grid;gap:var(--space-2);padding:var(--space-3) 0}.control-list legend{color:var(--ink-muted);font-family:var(--font-mono);font-size:.85rem;letter-spacing:.06em;padding:0;text-transform:uppercase}.control-note{color:var(--ink-muted);font-size:.9rem;padding:0}.control-checkbox{align-items:center;display:flex;gap:var(--space-3);padding:var(--space-1) 0;position:relative}.control-checkbox-input{appearance:none;height:1px;margin:0;opacity:0;position:absolute;width:1px}.control-glyph{color:var(--ink-muted);display:inline-block;line-height:1.2rem;text-align:center;width:1.2rem}.control-glyph:before{content:"–"}.control-checkbox-input:checked+.control-glyph{color:var(--ink)}.control-checkbox-input:checked+.control-glyph:before{content:"×"}.control-checkbox-input:checked~.control-label{color:var(--ink);text-decoration:underline;text-underline-offset:.25em}.submit-controls{color:var(--ink);font-weight:400;justify-self:start;letter-spacing:.08em;padding:var(--space-3) 0;text-transform:uppercase}.try-again{color:var(--accent);font-weight:400;justify-self:start;letter-spacing:.08em;padding:var(--space-3) 0;text-transform:uppercase}.image-dialog{all:unset;background:#000000f0;box-sizing:border-box;display:grid;gap:var(--space-3);grid-template-rows:auto 1fr;inset:0;justify-items:center;padding:var(--space-4);pointer-events:auto;position:fixed}.image-dialog:not([open]){display:none}.image-dialog-close{color:var(--ink);font-size:1.05rem;justify-self:end;letter-spacing:.08em;padding:var(--space-2) 0;text-transform:uppercase}.image-dialog-close:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.image-dialog-image{align-self:center;display:block;max-height:calc(100dvh - 8rem);max-width:calc(100vw - 8rem);object-fit:contain}.image-dialog-alt{align-self:center;max-width:48rem;text-align:center}@media(prefers-reduced-motion:reduce){.title-logo--sponsor,.reduced-motion .title-logo--sponsor{animation:title-logo-cut-out calc(var(--title-sponsor-fade-in) + var(--title-sponsor-hold) + var(--title-sponsor-fade-out)) steps(1,end) forwards;opacity:1}.title-logo--wordmark,.reduced-motion .title-logo--wordmark{animation:title-logo-cut-in var(--title-cut-duration) steps(1,end) calc(var(--title-sponsor-fade-in) + var(--title-sponsor-hold) + var(--title-sponsor-fade-out) + var(--title-sponsor-gap)) forwards,title-logo-cut-out var(--title-cut-duration) steps(1,end) calc(var(--title-sponsor-fade-in) + var(--title-sponsor-hold) + var(--title-sponsor-fade-out) + var(--title-sponsor-gap) + var(--title-fade-in) + var(--title-hold) + var(--title-fade-out)) forwards;opacity:0}.title-screen.is-leaving,.reduced-motion .title-screen.is-leaving{animation:none;display:none}.scene-frame[data-frame-copy=duplicate],.reduced-motion .scene-frame[data-frame-copy=duplicate]{display:none}.timer-roller-track,.reduced-motion .timer-roller-track{transition:none}.scene-arrow,.reduced-motion .scene-arrow{animation:none;text-shadow:none;transform:none}.instruction-slide,.reduced-motion .instruction-slide,.instruction-slide.is-entering-from-below,.reduced-motion .instruction-slide.is-entering-from-below,.instruction-slide.is-entering-from-above,.reduced-motion .instruction-slide.is-entering-from-above,.screen.is-swiping-in,.reduced-motion .screen.is-swiping-in{animation:none}}.debrief-screen{gap:var(--space-4);padding-inline-end:5rem}.debrief-score{color:var(--accent);font-family:var(--font-mono);font-size:1.35rem}.debrief-scenario{display:grid;gap:var(--space-2);padding:var(--space-3) 0}.debrief-title{font-size:1.05rem;letter-spacing:.03em;text-transform:uppercase}.debrief-lines{display:grid;gap:var(--space-1)}.debrief-line{align-items:baseline;display:flex;gap:var(--space-3)}.debrief-line strong{font-family:var(--font-mono);min-width:6rem}.debrief-outcome{color:var(--ink-muted)}.debrief-line.is-mitigated{color:var(--accent)}.debrief-line.is-mitigated .debrief-outcome{color:inherit}.debrief-arrows{align-items:center;display:flex;flex-direction:column;gap:var(--space-2);pointer-events:auto;position:fixed;right:max(var(--space-4),calc((100% - 72rem) / 2 + var(--space-4)));top:50%;transform:translateY(-50%)}.debrief-arrow{align-items:center;color:var(--ink);cursor:pointer;display:inline-flex;font-size:2.75rem;justify-content:center;line-height:1;min-height:3.5rem;min-width:3.5rem;padding:0;text-align:center}.debrief-arrow:focus-visible{outline:3px solid var(--focus);outline-offset:2px}@media(max-width:54rem){.debrief-screen{padding-inline-end:5.5rem}}
