:root{--bg:#050407;--ink:#f4eadd;--dim:#9a8e85;--red:#ff4247;--osd:#f2f2f2;--pix:"Press Start 2P", monospace;--mono:"IBM Plex Mono", monospace;--vcr:"VT323", "IBM Plex Mono", monospace}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--mono);-webkit-font-smoothing:antialiased;margin:0}body{overflow:hidden}body.text-mode{overflow:auto}#scene{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.hud{pointer-events:none;z-index:5;opacity:0;transition:opacity .6s;position:fixed;inset:0}.hud.on{opacity:1}.osd{font-family:var(--vcr);color:var(--osd);letter-spacing:.04em;text-shadow:2px 0 #ff283cb3,-2px 0 #28c8ff8c,0 0 10px #ffffff59;pointer-events:auto;align-items:center;gap:.9em;font-size:clamp(22px,2.3vw,34px);line-height:1;display:flex;position:absolute}.osd-tl{top:max(24px, env(safe-area-inset-top));left:32px}.osd{transition:opacity .4s}.hud.desk .osd{opacity:0;pointer-events:none}.hud.desk #hint{opacity:.7;pointer-events:auto;bottom:max(10px, env(safe-area-inset-bottom));font-size:clamp(13px,1.1vw,17px)}.osd-tr{top:max(24px, env(safe-area-inset-top));right:32px}.osd-bl{bottom:max(26px, env(safe-area-inset-bottom));left:32px}.osd-bc{bottom:max(26px, env(safe-area-inset-bottom));opacity:.8;white-space:nowrap;font-size:clamp(18px,1.6vw,24px);left:50%;transform:translate(-50%)}.osd-btn{transition:color .15s,opacity .15s}.osd-btn.cyr{font-family:var(--mono);letter-spacing:.06em;font-size:.7em;font-weight:500}.osd-btn:hover,.osd-btn:focus-visible{color:var(--red);opacity:1;outline:none}.osd-music{color:#ffb347;opacity:.9;font-size:.7em}.osd-music:empty{display:none}#osd-mode.blink{animation:1s steps(2,start) infinite blink}@keyframes blink{to{visibility:hidden}}.tooltip{z-index:6;pointer-events:none;font-family:var(--vcr);color:var(--osd);border-left:4px solid var(--red);opacity:0;white-space:nowrap;background:#0a080cb8;padding:7px 12px 6px;font-size:26px;line-height:1;transition:opacity .12s;position:fixed;top:0;left:0;transform:translate(18px,14px)}.tooltip.on{opacity:1}.tooltip small{color:var(--dim);margin-top:3px;font-size:18px;display:block}.toast{z-index:6;font-family:var(--vcr);color:#ffb347;text-shadow:2px 0 #ff283c99,-2px 0 #28c8ff73,0 0 14px #ffb34780;white-space:nowrap;pointer-events:none;opacity:0;font-size:clamp(26px,3.4vw,46px);transition:opacity .25s,transform .25s;position:fixed;top:18%;left:50%;transform:translate(-50%,-8px)}.toast.on{opacity:1;transform:translate(-50%)}.subtitle{left:50%;bottom:max(92px, calc(env(safe-area-inset-bottom) + 80px));z-index:6;max-width:min(760px,100vw - 32px);font:500 clamp(14px, 1.3vw, 17px) / 1.45 var(--mono);color:#f1ebe0;text-align:center;pointer-events:none;opacity:0;background:#08060ab8;padding:8px 14px;transition:opacity .25s,transform .25s;position:fixed;transform:translate(-50%,6px)}.subtitle.on{opacity:1;transform:translate(-50%)}.subtitle.morse .rest{opacity:.3}.subtitle.morse{white-space:pre-line;font:700 clamp(20px, 2vw, 28px) / 1.5 var(--mono);letter-spacing:.08em;color:#fff6e0;text-shadow:0 0 8px #ffdc968c;background:#08060ad9}.inventory{z-index:6;pointer-events:none;position:fixed;inset:0}.inventory[hidden],.inventory.away{display:none}.pocket-title,.pocket-label{font-family:var(--vcr);white-space:nowrap;color:var(--osd);text-shadow:2px 0 #ff283cb3,-2px 0 #28c8ff8c,0 0 10px #ffffff4d;line-height:1;position:absolute}.pocket-title{letter-spacing:.12em;opacity:.55;font-size:18px}.pocket-label{opacity:0;font-size:22px;transition:opacity .15s,transform .15s;transform:translate(6px)}.pocket-label.show{opacity:1;transform:none}.pocket-label.on{color:#ffb347}.start{z-index:10;cursor:pointer;background:#030204;place-items:center;transition:opacity .9s,visibility .9s;display:grid;position:fixed;inset:0}.start.gone{opacity:0;visibility:hidden;pointer-events:none}.start:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#ffffff08 0 1px,#0000 1px 3px);position:absolute;inset:0}.start-inner{z-index:1;isolation:isolate;text-align:center;flex-direction:column;align-items:center;gap:18px;padding:24px;display:flex;position:relative}.start-inner img{filter:drop-shadow(0 0 18px #ff42478c);width:88px;height:88px}.start-title{font:400 clamp(40px, 7vw, 72px) / 1 var(--pix);letter-spacing:.02em;margin:0 -.02em 0 0;position:relative}.start-title span{color:var(--red);position:absolute;left:100%}.start-bar{font:400 22px/1 var(--mono);color:var(--dim);letter-spacing:.05em;margin:0;padding-left:.05em}.start-btn{font:400 clamp(16px, 2vw, 22px) / 1.4 var(--pix);color:var(--red);margin-top:10px;padding:10px 18px}.start-btn:not(:disabled){animation:1.1s steps(2,start) infinite blink}.start-btn:disabled{color:var(--dim);cursor:wait}.start-btn:focus-visible{outline:2px solid var(--red);outline-offset:4px}.start-note{font:400 13px/1.4 var(--mono);color:#6d635c;letter-spacing:.12em;margin:0;padding-left:.12em}.start-link{font:400 14px/1 var(--mono);color:var(--dim);text-underline-offset:4px;margin-top:18px;text-decoration:underline}.start-link:hover,.start-link:focus-visible{color:var(--ink);outline:none}.text-version{z-index:20;color:var(--ink);background:#0b090c;position:fixed;inset:0;overflow:auto}.text-version[hidden]{display:none}.tv-inner{max-width:820px;font:400 17px/1.65 var(--mono);margin:0 auto;padding:40px 20px 80px}.tv-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:40px;display:flex}.tv-bar button{font:500 14px/1 var(--mono);letter-spacing:.08em;color:var(--dim);border:1px solid #3a3136;padding:10px 14px}.tv-bar button:hover,.tv-bar button:focus-visible{color:var(--ink);border-color:var(--red);outline:none}.tv-inner h1{font:400 clamp(36px, 7vw, 60px) / 1 var(--pix);margin:0 0 8px}.tv-inner h1 span{color:var(--red)}.tv-inner h2{font:400 22px/1.3 var(--pix);border-bottom:2px solid var(--red);margin:56px 0 18px;padding-bottom:8px}.tv-inner h3{font:400 18px/1.4 var(--pix);margin:0 0 8px}.tv-inner .kicker{color:var(--red);letter-spacing:.14em;margin:0 0 4px;font-size:13px}.tv-inner .muted{color:var(--dim)}.tv-inner article{grid-template-columns:240px 1fr;align-items:start;gap:18px;margin:0 0 36px;display:grid}.tv-inner article img{aspect-ratio:4/3;object-fit:cover;border:2px solid #2a2226;width:100%}.tv-inner ul{margin:10px 0;padding-left:20px}.tv-inner a{color:var(--red)}.tv-inner .tags{flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.tv-inner .tags li{letter-spacing:.08em;border:1px solid #4a3f45;padding:4px 10px;font-size:13px}@media (max-width:640px){.tv-inner article{grid-template-columns:1fr}.osd-tl,.osd-bl{left:16px}.osd-tr{right:16px}.osd-bc{font-size:18px;bottom:64px}.osd-music{display:none}}@media (prefers-reduced-motion:reduce){.start-btn:not(:disabled),#osd-mode.blink{animation:none}}body.recording #osd-mode,body.recording #timecode{color:#ff3b3b;text-shadow:0 0 8px #ff3b3b99}body.ending #hint,body.ending #osd-music,body.ending #tooltip,body.ending #inventory,body.ending .goal{visibility:hidden;transition:opacity .8s,visibility 0s .8s;opacity:0!important}body.ending #scene{pointer-events:none}.endcard{z-index:30;opacity:0;font-family:var(--mono);pointer-events:auto;background:#030206f7;place-items:safe center;padding:40px 0;transition:opacity 2s;display:grid;position:fixed;inset:0;overflow-y:auto}.endcard.on{opacity:1}.endcard-box{text-align:left;width:min(940px,100vw - 32px);color:var(--ink)}.endcard-box>*{opacity:0;transform:translateY(10px)}.endcard.on .endcard-box>*{animation:1.1s forwards endcard-in;animation-delay:calc(1s + var(--d,0s))}@keyframes endcard-in{to{opacity:1;transform:none}}.endcard-head{font:400 clamp(10px, 1.1vw, 13px) / 1.4 var(--pix);letter-spacing:.04em;color:var(--osd);border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:clamp(28px,5vh,56px);padding-bottom:14px;display:flex}.endcard-tape{color:var(--dim)}.endcard-stat{color:var(--red)}.endcard-text{margin-bottom:clamp(36px,7vh,72px)}.endcard-text p{max-width:34ch;font:400 clamp(15px, 2.1vw, 26px) / 1.65 var(--pix);text-wrap:balance;margin:0 0 .9em}.endcard-text p:last-child{color:#fff;margin-bottom:0}.endcard-text em{color:var(--red);font-style:normal}.endcard-sources h2{font:400 12px/1 var(--pix);letter-spacing:.08em;color:var(--dim);text-transform:uppercase;margin:0 0 14px}.endcard-sources ol{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.endcard-sources a{height:100%;color:var(--ink);background:#ffffff06;border:1px solid #ffffff1f;flex-direction:column;gap:6px;padding:16px 16px 14px;text-decoration:none;transition:border-color .2s,background .2s;display:flex}.endcard-sources a:hover,.endcard-sources a:focus-visible{border-color:var(--red);background:#ff42470f;outline:none}.endcard-n{font:400 22px/1 var(--vcr);color:var(--red)}.endcard-tag{font:600 12px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#bfe2ff}.endcard-what{font:400 14px/1.45 var(--mono);color:#cfc6ba}.endcard-title{font:500 14px/1.4 var(--mono);color:#fff;margin-top:auto;padding-top:6px}.endcard-meta{font:400 12px/1.3 var(--mono);color:var(--dim)}.endcard-photos{font:400 12px/1.6 var(--mono);color:var(--dim);margin-top:20px}.endcard-photos summary{cursor:pointer;width:-moz-fit-content;width:fit-content;font:400 12px/1 var(--pix);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;list-style:none;display:flex}.endcard-photos summary:hover,.endcard-photos summary:focus-visible{color:var(--ink);outline:none}.endcard-photos summary::-webkit-details-marker{display:none}.endcard-photos summary:before{content:"";border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:6px solid;transition:transform .2s}.endcard-photos[open] summary:before{transform:rotate(90deg)}.endcard-photos p{margin:12px 0 8px}.endcard-photos ul{columns:2 320px;column-gap:24px;margin:0;padding:0;list-style:none}.endcard-photos li{break-inside:avoid;margin-bottom:4px}.endcard-photos a{color:#cfc6ba;-webkit-text-decoration:underline #fff3;text-decoration:underline #fff3}.endcard-photos a:hover,.endcard-photos a:focus-visible{color:var(--red);outline:none}.endcard-foot{border-top:1px solid #ffffff1f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:clamp(28px,5vh,48px);padding-top:18px;display:flex}.endcard-credits{font:400 13px/1.5 var(--mono);color:var(--dim)}.endcard-close{font:400 13px/1 var(--pix);color:#f2f2f2;border:1px solid #ffffff4d;padding:12px 18px}.endcard-close:hover,.endcard-close:focus-visible{color:#ff4247;border-color:#ff4247;outline:none}@media (prefers-reduced-motion:reduce){.endcard .endcard-box>*{opacity:1;animation:none;transform:none}}.notice{transition:opacity .7s}.notice.on .endcard-box>*{animation-delay:calc(.3s + var(--d,0s))}.notice-box{width:min(760px,100vw - 32px)}.notice-text{margin-bottom:clamp(22px,4vh,40px)}.notice-text p{max-width:42ch;font-size:clamp(14px,1.7vw,20px)}.notice-text p.notice-touch{color:var(--osd)}.notice-ps{max-width:60ch;font:400 13px/1.6 var(--mono);color:var(--dim);margin:0 0 clamp(28px,5vh,48px)}.goal{top:calc(max(24px, env(safe-area-inset-top)) + clamp(34px, 3.4vw, 50px));max-width:min(46vw,520px);font-family:var(--vcr);color:var(--osd);text-shadow:2px 0 #ff283c99,-2px 0 #28c8ff73,0 0 8px #ffffff4d;opacity:0;pointer-events:none;line-height:1.05;transition:opacity .45s,transform .45s,top .4s,left .4s;position:absolute;left:32px;transform:translate(-14px)}.goal.on{opacity:1;transform:none}.hud.desk .goal{top:max(18px, env(safe-area-inset-top));left:24px}.goal-label{letter-spacing:.14em;color:var(--dim);margin-bottom:4px;font-size:clamp(13px,1.1vw,17px);display:block}.goal-text{font-size:clamp(19px,1.7vw,26px);display:inline-block;position:relative}.goal.fresh .goal-label{color:var(--red);animation:.5s steps(2,start) 3 goal-flash}.goal.fresh .goal-text:after{content:"_";animation:.8s steps(2,start) infinite blink}@keyframes goal-flash{to{visibility:hidden}}.goal-text:before{content:"";background:currentColor;width:0;height:2px;transition:width .5s;position:absolute;top:55%;left:0}.goal.done .goal-text{color:var(--dim)}.goal.done .goal-text:before{width:100%}.goal.gone{opacity:0;transform:translate(-14px)}.goal.emmy .goal-text,.goal.emmy .goal-label{color:var(--red)}.goal.glitch .goal-text{animation:90ms steps(2,end) infinite goal-glitch}@keyframes goal-glitch{0%{clip-path:inset(0 0 45%);transform:translate(2px,-1px)}50%{clip-path:inset(40% 0 0);transform:translate(-3px,1px)}to{clip-path:none;transform:none}}@media (prefers-reduced-motion:reduce){.goal.glitch .goal-text{animation:none}}.lamp-flash{z-index:4;pointer-events:none;mix-blend-mode:screen;opacity:1;transition:opacity .55s cubic-bezier(.2,.6,.3,1);position:fixed;inset:0}.lamp-flash.out{opacity:0}@media (prefers-reduced-motion:reduce){.lamp-flash{transition-duration:.9s}}
