:root{color-scheme:dark;--cream:#f0dfbd;--muted:#c4b292;--amber:#e5b363;--panel:#211c16;--line:#8e74465c;--room-scale:1}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{font:16px/1.5 Arial,sans-serif;background:#251c13;color:var(--cream)}button,a,input{touch-action:manipulation}button,input{font:inherit}button{cursor:pointer;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid #ffe0a3;outline-offset:4px}button:disabled{opacity:.4;cursor:default}button{border:1px solid var(--line);background:#2a231a;border-radius:6px;padding:10px 14px;min-height:44px}button:hover{background:#443623}a{color:inherit}.room{position:fixed;inset:0;overflow:hidden;background:#22180f}.world{position:absolute;width:1672px;height:941px;transform-origin:0 0;will-change:transform}.room-image,.clean-patch{position:absolute;width:100%;height:100%;inset:0;user-select:none;pointer-events:none}.clean-patch{clip-path:inset(12.5% 66.7% 33.8% 20.9%)}.glass-blank{position:absolute;left:35.65%;top:21.15%;width:33.65%;height:35.4%;border-radius:7%/10%;background:#080d11}
.screen{position:absolute;overflow:hidden;background:#080d11;border-radius:7%/10%;box-shadow:inset 0 0 20px #0008;isolation:isolate}.screen canvas{display:block;width:100%;height:100%;outline-offset:-4px;image-rendering:pixelated}.game-welcome{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:8px;background:radial-gradient(ellipse,#0b1c29cc,#050b1599);font-family:'Courier New',monospace}.tiny,.game-key{font-size:11px;letter-spacing:.17em;color:#aac0ba}.game-welcome h2{font-size:clamp(24px,3vw,44px);line-height:1.03;letter-spacing:.05em;color:#e9dab4;text-shadow:2px 2px #934c38;margin:3px 0}.game-welcome p{font-size:13px;line-height:1.5;color:#b4c2c7;margin:2px 0}.game-welcome button{font:bold 13px 'Courier New',monospace;background:#dec18b;color:#201b14;border-color:#f1deb4;border-radius:2px;padding:10px 21px;margin-top:5px}.game-key{font-size:9px;margin-top:5px}#youtube-wrap,#youtube-player,#youtube-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.channel-flash{position:absolute;left:8%;top:9%;font:20px 'Courier New',monospace;color:#e4ffc2;pointer-events:none;text-shadow:0 2px 2px #000;opacity:0}.channel-flash.show{opacity:1}
.stack-area{position:absolute;left:21.5%;bottom:34.3%;width:11.4%;z-index:2}.stack{display:flex;flex-direction:column;justify-content:flex-end;gap:0;max-height:460px;overflow:auto;scrollbar-width:thin;scrollbar-color:#c2a477 transparent;padding:5px 0 0;transform-origin:bottom right;transition:transform .18s}.stack-area:hover .stack,.stack-area:focus-within .stack{transform:scale(1.3)}.tape{display:block;flex:none;position:relative;width:100%;height:32px;text-decoration:none;filter:drop-shadow(0 3px 2px #000b);transition:translate .15s;isolation:isolate}.tape:before{content:"";position:absolute;inset:0;background:url('assets/vhs-spine.png') center 49%/105% auto no-repeat;z-index:-1}.tape:hover,.tape:focus-visible{translate:-6px -1px;z-index:2}.spine{position:absolute;left:14%;right:12%;top:22%;bottom:21%;display:flex;align-items:center;border-left:3px solid var(--accent);padding-left:5px;color:#211c14;font:bold 11px/1.05 'Courier New',monospace}.spine strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:inherit}.spine small{display:block;font:7px/1.2 'Courier New',monospace;letter-spacing:.03em;text-transform:uppercase;margin-top:1px}.stack-label{position:absolute;left:-5px;bottom:calc(100% + 14px);white-space:nowrap;background:#2a2118e8;border-color:#d9b77d80;color:#f0d8ac;font:12px 'Courier New',monospace;padding:8px 10px;min-height:34px;box-shadow:0 2px 10px #0005}
.physical-dial{position:absolute;padding:0;border:0;background:none;border-radius:50%;width:3.8%;height:6.5%;min-height:0;transition:box-shadow .15s}.physical-dial:hover{background:#e8c38517;box-shadow:0 0 0 2px #f4c67b80,0 0 20px #e8ba7155}.channel-dial{left:72%;top:20.5%}.volume-dial{left:72%;top:29.3%}.dial-hint{position:absolute;top:-24px;left:-3px;background:#241d14df;font:bold 13px 'Courier New',monospace;white-space:nowrap;padding:4px 7px;border-radius:3px}
.top-hints{position:fixed;left:22px;top:20px;display:flex;gap:9px;z-index:6}.top-hints button{font-size:13px;background:#1c1812bd;backdrop-filter:blur(8px);border-color:#d3b37d55;box-shadow:0 3px 20px #0003}.top-hints button span{margin-right:7px}.top-hints #project-count{margin:0 0 0 5px;color:#eac789}.remote{position:fixed;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(570px,calc(100% - 32px));padding:12px 15px 9px;background:linear-gradient(120deg,#29251fee,#13120fee);backdrop-filter:blur(16px);border:1px solid #ad8c545f;border-top-color:#c9a56c9c;border-radius:13px;box-shadow:0 10px 35px #0009,0 1px 1px #eed9b22c inset;z-index:8}.readout{display:flex;align-items:center;gap:10px;min-height:31px;margin-bottom:8px;padding:0 3px;font:12px 'Courier New',monospace}.led{width:5px;height:5px;border-radius:50%;background:#e9b86d;box-shadow:0 0 8px #e9b86d}.program{color:#ded9b6;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1}.readout>button{font:11px 'Courier New',monospace;background:transparent;border:0;min-height:30px;padding:3px 5px;color:#ccba93}.remote-buttons{display:flex;align-items:center;gap:8px}.remote-buttons button{flex:1;background:linear-gradient(#47413a,#292621);border:1px solid #8e7c5c77;border-radius:5px;font:12px 'Courier New',monospace;box-shadow:0 2px 2px #0008;white-space:nowrap;padding:10px}.remote-buttons button:hover{background:#554634}.remote-buttons #previous,.remote-buttons #next{color:#f4ddb4}.remote-buttons #help-button{flex:0;width:38px}.remote-divider{height:24px;width:1px;background:#cbb68b30}.tv-status{font:11px/1.4 Arial,sans-serif;color:#cbbd9e;margin:8px 0 0;text-align:center;min-height:15px}.video-tools{display:flex;align-items:center;gap:8px;margin-top:10px;font:10px 'Courier New',monospace}.video-tools input{flex:1;min-width:35px;height:18px;accent-color:#d7b474}.video-tools output{white-space:nowrap;color:#d8c9a9}.video-tools a{font-size:10px;white-space:nowrap;text-underline-offset:3px}
.tape-tooltip{position:fixed;left:24px;bottom:190px;width:min(320px,calc(100vw - 48px));background:#e7d5af;color:#282218;padding:19px 22px;box-shadow:0 8px 30px #0007;z-index:7;border:1px solid #fff1c9}.tape-tooltip>span{font:10px 'Courier New',monospace;text-transform:uppercase;letter-spacing:.1em}.tape-tooltip strong{display:block;font:23px/1.2 Georgia,serif;margin:10px 0}.tape-tooltip p{font-size:13px;line-height:1.45;margin:8px 0 13px}.touch-controls{position:fixed;left:50%;transform:translateX(-50%);top:calc(50% + 80px);display:flex;gap:8px;z-index:7}.touch-controls button{min-width:62px;background:#282722e8;border-color:#c7b08080;font:13px 'Courier New',monospace;user-select:none}
dialog{color:var(--cream);background:linear-gradient(135deg,#35271b,#17150f);border:1px solid #bd9a606b;border-radius:12px;box-shadow:0 24px 100px #000b;max-height:calc(100dvh - 44px);padding:25px;width:min(520px,calc(100% - 32px));overflow:auto}dialog::backdrop{background:#09090688;backdrop-filter:blur(5px)}dialog header{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:22px}dialog h2{font:normal 30px/1.1 Georgia,serif;margin:7px 0 0}.eyebrow{font:10px 'Courier New',monospace;letter-spacing:.14em;color:#c7ae80}.close{border:0;background:transparent;font:25px Arial,sans-serif;padding:3px 9px;min-width:44px;flex:none}dialog p{font-size:14px;color:#dac6a5}.drawer{margin:16px 16px 16px auto;height:calc(100dvh - 32px);max-height:none;width:min(460px,calc(100vw - 24px))}.search-label{font-size:13px}.drawer input{display:block;width:100%;padding:12px 13px;margin:8px 0 20px;border:1px solid #d5c09466;background:#0e100eb3;color:var(--cream);border-radius:5px;min-height:44px}#collection-list{display:grid;gap:11px}.collection-card{display:block;text-decoration:none;border:1px solid #ad977044;background:#0f100c33;border-left:4px solid var(--accent);border-radius:5px;padding:16px}.collection-card:hover{background:#8a6e392b}.collection-card small{font:11px 'Courier New',monospace;color:#c5b591}.collection-card strong{font:22px/1.2 Georgia,serif;display:block;margin:9px 0}.collection-card p{margin:0;font-size:13px}.collection-card span{display:block;margin-top:12px;font-size:12px;color:#e1c48c}.channel-choice{display:flex;align-items:center;gap:20px;text-align:left;width:100%;margin:9px 0;padding:16px;border-color:#a68c5c44;background:#14140e66}.channel-choice[aria-current=true]{border-color:#d5ba82;background:#8a683f44}.channel-choice b{font:13px 'Courier New',monospace;color:#cbaa71}.channel-choice span{font-size:16px}.dialog-note{margin:20px 0 0!important;font-size:12px!important;color:#b6a68b!important}.help p{font-size:15px;line-height:1.6}.found .primary-link{display:block;padding:14px;background:#dbc194;color:#211d16;text-decoration:none;border-radius:5px;text-align:center;margin:20px 0 10px}.found #keep-playing{width:100%}.no-js{position:fixed;inset:40% 10% auto;background:#211c16;padding:30px;z-index:20}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}[hidden]{display:none!important}
body.mobile .screen{border:7px solid #3b352c;outline:1px solid #ac8e60;border-radius:22px;box-shadow:0 16px 60px #000a,0 0 0 6px #1d1711c9}body.mobile .room:after{content:"";position:fixed;inset:0;background:#100c0840;pointer-events:none;z-index:0}body.mobile .screen,body.mobile .touch-controls{z-index:4}body.mobile .stack-area,body.mobile .physical-dial{visibility:hidden}body.mobile .top-hints{left:12px;right:12px;top:max(12px,env(safe-area-inset-top));justify-content:space-between}body.mobile .top-hints button{font-size:12px}body.mobile .remote{padding:10px 12px 8px;width:calc(100% - 24px);bottom:max(12px,env(safe-area-inset-bottom))}body.mobile .remote-buttons{gap:5px}body.mobile .remote-buttons button{padding:9px 7px;font-size:11px}body.mobile .game-welcome{gap:6px}body.mobile .game-welcome h2{font-size:29px}body.mobile .game-welcome p{font-size:12px}body.mobile .game-key{display:none}body.mobile .video-tools label{display:none}body.mobile .video-tools{gap:6px}body.mobile .readout{font-size:11px}body.mobile .tv-status{font-size:11px}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}.stack-area:hover .stack,.stack-area:focus-within .stack{transform:none}.tape:hover,.tape:focus-visible{translate:none}}


.stack{overflow-x:hidden}

/* Photographic ABS housing; every control remains real, accessible HTML. */
.remote,body.mobile .remote{width:min(660px,calc(100% - 20px));height:244px;padding:0;border:0;border-radius:0;background:none;backdrop-filter:none;box-shadow:none;bottom:max(0px,env(safe-area-inset-bottom));filter:drop-shadow(0 12px 12px #0008)}
.remote-shell{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;user-select:none}
.remote .readout{position:absolute;left:14%;right:14%;top:22%;height:15%;min-height:0;margin:0;padding:0 9px;gap:8px;font:bold 12px 'Courier New',monospace;color:#b9cd99}
.remote .program{color:#d6dcc9}.remote .readout>button{font:bold 10px Arial,sans-serif;color:#e9e3d4;padding:0 2px;min-height:36px}
.remote .led{background:#adce76;box-shadow:0 0 7px #bbd895;flex:none}.remote #channel-number{white-space:nowrap}
.remote .remote-buttons{position:absolute;left:14%;right:14%;top:44%;height:22%;gap:12px}
.remote .remote-buttons button{height:100%;min-height:44px;padding:6px 4px;border:1px solid #676761;border-bottom:3px solid #121311;border-radius:9px 9px 12px 12px;font:bold 11px Arial,sans-serif;letter-spacing:.04em;color:#f0edde;background:linear-gradient(165deg,#62645d,#3b3d38 65%,#30312e);box-shadow:0 3px 3px #000a,inset 0 1px 1px #babdb066;text-shadow:0 1px #000}
.remote .remote-buttons button:hover{filter:brightness(1.2)}.remote .remote-buttons button:active{transform:translateY(2px);box-shadow:inset 0 2px 4px #0008}
.remote .remote-buttons #play-pause{background:linear-gradient(155deg,#a75041,#713126);border-color:#b07969 #502a23 #2e1915}
.remote .remote-buttons #help-button{width:36px;flex:none}.remote-divider{display:none}
.remote .video-tools{position:absolute;left:14%;right:14%;top:73%;height:7%;margin:0;gap:6px;font-size:9px}.remote .video-tools label{display:none}.remote .video-tools input{height:24px;accent-color:#d3c7a5}.remote .video-tools a{font-size:9px}.remote .video-tools output{font-size:9px}
.remote .tv-status{position:absolute;left:12%;right:12%;top:86%;margin:0;font:10px/1.3 Arial,sans-serif;color:#f0e3c9;text-shadow:0 1px 3px #000;background:#181915bb;border-radius:3px;padding:3px 5px;min-height:0}
body.mobile .remote{height:214px;width:calc(100% - 8px)}body.mobile .remote .readout{left:13%;right:13%;font-size:10px;padding:0 3px;gap:5px}body.mobile .remote .remote-buttons{left:13%;right:13%;gap:6px}body.mobile .remote .remote-buttons button{font-size:10px;padding:4px 2px}body.mobile .remote .remote-buttons #help-button{width:29px}body.mobile .remote .video-tools{left:13%;right:13%}body.mobile .remote .tv-status{font-size:10px;left:10%;right:10%}
@media(max-height:550px) and (min-width:760px){.remote{width:520px;height:190px}.remote .remote-buttons{top:42%;height:25%}.remote .tv-status{font-size:9px}}

a.channel-choice{text-decoration:none;border:1px solid #a68c5c44;border-radius:6px;color:var(--cream);font:inherit}

body.compact .remote{width:45%;height:218px;left:auto;right:6px;transform:none;bottom:12px}body.compact .game-welcome h2{font-size:24px}body.compact .game-welcome p{font-size:11px}body.compact .touch-controls button{min-height:40px;padding:6px 12px}
