*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:#0b0b0f;color:#f5edda;font-family:Consolas,'Courier New',monospace;display:grid;place-items:center}main{width:min(96vw,calc((100dvh - 100px)*4/3),1000px)}.cabinet{border:1px solid #34343b;background:#050506;padding:10px;box-shadow:0 20px 70px #000}header,footer{display:flex;align-items:center;justify-content:space-between;gap:8px}header{height:32px;font-size:12px;letter-spacing:2px}nav{display:flex;gap:12px}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}nav button{font-size:10px;padding:6px;letter-spacing:1px}button:focus-visible{outline:2px solid #ffc861;outline-offset:1px}.red{color:#ff3746}#game{width:100%;aspect-ratio:4/3;background:#090a10;position:relative;overflow:hidden;border:3px solid #e5dfcf;container-type:inline-size}.scene{height:60%;position:relative;overflow:hidden;background:#090b19}canvas,#art{width:100%;height:100%;object-fit:contain;image-rendering:pixelated;display:block}#art{position:absolute;inset:0}#art[hidden],[hidden]{display:none!important}.panel{height:40%;border-top:3px solid #e5dfcf;padding:2cqw 3cqw;position:relative;background:#07080c}.eyebrow{display:flex;justify-content:space-between;font-size:1.4cqw;color:#ffbf57;letter-spacing:.2cqw;margin-bottom:1.1cqw}#dialogue{font-size:1.85cqw;line-height:1.4;white-space:pre-line;min-height:6cqw}#choices{display:grid;gap:.45cqw;margin-top:1cqw}#choices button{text-align:left;position:relative;padding:.4cqw 0 .4cqw 3cqw;font-size:1.85cqw;line-height:1.3;min-height:2.8cqw}#choices button.selected{color:#ffca66}#choices button.selected:before{content:'▶';position:absolute;left:0;color:#ff3d4c;animation:blink .85s steps(2,end) infinite}#hint{position:absolute;bottom:1cqw;right:2cqw;font-size:1.2cqw;color:#777b91}#title,#end{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:linear-gradient(#070817bb,#07081730)}#title small{font-size:1.4cqw;letter-spacing:.4cqw;color:#ffc86b}h1{font-size:8.8cqw;line-height:.94;letter-spacing:-.6cqw;margin:2cqw 0;color:#fff7e5;text-shadow:4px 4px #c8243f,8px 8px #080b1a}h1 span{font-size:13cqw}#title p,#end p{font-size:1.3cqw;letter-spacing:.18cqw}#badge{position:absolute;bottom:1.5cqw;left:2cqw;font-size:1.2cqw;background:#080a13dd;padding:.7cqw 1cqw;color:#ddd}footer{font-size:8px;letter-spacing:.5px;min-height:27px;color:#8e8d96}.note{font-size:10px;color:#777784;text-align:center;margin:10px 0 0}.crt:after{content:'';pointer-events:none;position:absolute;inset:0;background:repeating-linear-gradient(transparent 0px,transparent 3px,#0002 4px);z-index:10}#game.transition .scene{animation:reveal .3s steps(5)}#game.shake .scene{animation:shake .25s steps(3)}@keyframes blink{50%{opacity:0}}@keyframes reveal{from{opacity:0}to{opacity:1}}@keyframes shake{25%{transform:translateX(4px)}75%{transform:translateX(-4px)}}@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important}}@media(max-width:600px){main{width:min(98vw,calc((100dvh - 85px)*4/3))}.cabinet{padding:5px}footer span:last-child{display:none}header{letter-spacing:0}nav{gap:2px}.note{font-size:8px}#choices button{padding-top:.65cqw;padding-bottom:.65cqw}}

/* Full-resolution approved screens with live controls covering printed dialogue. */
#game{border:0;background:#000}.scene{height:100%;background:#000}#canvas,#title,#end,#badge{display:none!important}#art{object-fit:fill}.panel{position:absolute;left:3.3%;right:3.3%;top:73%;height:25%;padding:1cqw 2.8cqw;background:#000;border:3px solid #e5dfcf}.eyebrow{font-size:1.05cqw;margin-bottom:.5cqw}#dialogue{font-size:1.65cqw;line-height:1.25;min-height:0}#choices{gap:.15cqw;margin-top:.6cqw}#choices button{font-size:1.65cqw;line-height:1.2;min-height:2.4cqw;padding:.25cqw 0 .25cqw 2.8cqw}#hint{font-size:.85cqw;bottom:.35cqw;right:1cqw}#game[data-scene="home"] .panel{top:70.4%;left:37.8%;right:37%;height:17.6%;padding:1.2cqw 1cqw;border:0}#game[data-scene="home"] .eyebrow{font-size:1.5cqw;letter-spacing:0;justify-content:center;margin-bottom:.9cqw}#game[data-scene="home"] #dialogue,#game[data-scene="home"] #hint{display:none}#game[data-scene="home"] #choices button{font-size:2.25cqw;font-weight:bold;min-height:3.7cqw;padding-left:5cqw}#game[data-scene="home"] #choices button:before{left:1.5cqw}#game[data-scene="end"] .panel{display:none}#game[data-scene="intro"] .panel{top:81.5%;height:17%;padding:.8cqw 2cqw}#game[data-scene="intro"] .eyebrow{display:none}#game[data-scene="intro"] #dialogue{font-size:1.5cqw}.note{color:#9a919d}@media(max-width:600px){.panel{border-width:2px}#choices button{padding-top:.25cqw;padding-bottom:.25cqw}}
@media(max-width:600px){#game:not([data-scene="home"]):not([data-scene="intro"]):not([data-scene="end"]) .panel{top:70%;height:28%}#game:not([data-scene="home"]):not([data-scene="intro"]) #dialogue{font-size:2cqw}#game:not([data-scene="home"]):not([data-scene="intro"]) #choices button{font-size:2cqw;min-height:2.8cqw}.eyebrow{font-size:1.3cqw}}
#game[data-scene="intro"] .panel{left:1.5%;right:1.5%;top:79.8%;height:18.5%}
