/* The original client stays in the document. These overrides own presentation only. */
:root{--room-bone:#e9e2d6;--room-rose:#f6b9a4;--room-ink:#0e0a09}
.room-pending body{background:#080605}
.room-pending .stage,.room-pending #connectbtn,.room-pending #machinebal,.room-pending #sky{visibility:hidden}
body.room-active{overflow:hidden;background:#080605}
.room-active #sky{display:none}
.room-active [hidden]{display:none!important}
#long-room{position:fixed;inset:0;z-index:2;isolation:isolate;color:var(--room-bone);font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}
#room-canvas,#room-film,#room-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;touch-action:none}
#room-poster{background:#3c2625 url('./arrival.webp') center/cover no-repeat}
#room-canvas{transition:filter 1.8s}
#room-veil{position:absolute;inset:0;background:#080605;z-index:4;pointer-events:none;opacity:1;transition:opacity 2.5s ease}
#long-room.revealed #room-veil{opacity:0}
#room-atmosphere{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 48%,transparent 30%,#170a0644 85%,#08040388 115%);z-index:1}
#room-top{position:absolute;top:max(22px,env(safe-area-inset-top));left:28px;right:28px;z-index:7;display:flex;align-items:center;justify-content:space-between;gap:20px}
#room-mark{font-size:10px;letter-spacing:.23em;color:#e9e2d6ae;text-shadow:0 2px 10px #000;white-space:nowrap}
#room-topnav{display:flex;gap:10px;align-items:center}
.room-btn{font:10px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--room-bone);border:1px solid #e9e2d642;background:#100b09b8;padding:11px 14px;min-height:44px;box-shadow:none;border-radius:2px;backdrop-filter:blur(8px);text-shadow:none;transition:background .2s,border-color .2s;touch-action:manipulation}
.room-btn:hover{background:#45302acc;border-color:#f6b9a4a0}
.room-btn:active{transform:none;border-color:var(--room-rose)}
.room-btn:focus-visible,#room-screen :focus-visible{outline:2px solid #ffe1b5;outline-offset:4px}
.room-btn.quiet{border-color:transparent;background:#100b0980;backdrop-filter:blur(4px)}
#room-controls{position:absolute;left:0;right:0;bottom:max(34px,env(safe-area-inset-bottom));z-index:5;display:flex;flex-direction:column;align-items:center;gap:14px;transition:opacity .8s}
#room-walk{padding:14px 30px;min-width:145px;background:#100b0970;border-color:#e9e2d662;font-size:11px;letter-spacing:.28em}
#room-keyhint{font-size:9px;color:#f1e1d4c7;letter-spacing:.13em;text-align:center;text-shadow:0 1px 8px #000}
#room-walktoggle{font-size:9px;letter-spacing:.1em;padding:8px 12px;background:#100b0955}
#room-controls.walked:not(:focus-within){opacity:0}
#room-controls.walked:hover{opacity:1}
#room-bottom{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));left:28px;right:28px;z-index:6;display:flex;justify-content:space-between;align-items:center;gap:12px;pointer-events:none}
#room-bottom>*{pointer-events:auto}
#room-sound{font-size:9px;min-width:105px}
#room-caption{max-width:360px;text-align:right;color:#ead5c8;font:italic 17px/1.45 Georgia,serif;text-shadow:0 2px 10px #000;transition:opacity 1s;pointer-events:none}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#room-screen{position:fixed;z-index:4;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#986438 #170f08;background:#100e08;color:#ffe0a3;opacity:0;visibility:hidden;border-radius:8px;outline:none;box-shadow:inset 0 0 30px #0008,0 0 20px #f5a62322;isolation:isolate}
#room-screen.screen-on{opacity:1;visibility:visible;transition:opacity .5s ease}
#room-glass{position:fixed;pointer-events:none;z-index:5;border-radius:8px;background:linear-gradient(115deg,#f6b9a40a,transparent 38%,transparent 74%,#f6b9a405),repeating-linear-gradient(0deg,#00000010 0px 1px,transparent 1px 4px);box-shadow:inset 0 0 30px #0005;opacity:0;visibility:hidden}
#room-glass.screen-on{opacity:1;visibility:visible}
#room-screen:focus-visible{outline:2px solid var(--room-rose);outline-offset:4px}
#room-screen .stage{padding:14px 18px 20px;max-width:900px;margin:0 auto;visibility:visible}
#room-screen .cabinet{background:transparent;border:0;box-shadow:none;padding:0}
#room-screen{--ph:#ffd390;--ph-dim:#c49b68;--ph-faint:#674c2c;--amber:#ffcf80;--amber-dim:#ba9053;--crt:#100e08;--crt-edge:#100e08;--cab:#332216;--cab-hi:#6a4c2f;--cab-lo:#1c140c;--red:#ff9c8d;--red-dim:#e6a39a;font-size:20px}
#room-screen .marquee{border:0;border-bottom:1px solid #765330;padding:0 0 13px;background:transparent;text-align:left}
#room-screen .marquee h1{font-size:21px;letter-spacing:.12em;text-shadow:0 0 12px #f5a62344}
#room-screen .marquee .sub{font-family:var(--tt);font-size:15px;letter-spacing:.07em;margin-top:5px;color:#c49b68}
#room-screen .simtag{position:static;float:right;transform:none;box-shadow:none;background:#ffc784;color:#211308;font:10px/1.3 ui-monospace,monospace;padding:5px 7px;margin-left:10px;letter-spacing:.05em}
#room-screen .simtag.live{background:#bdd3a0;color:#182017}
#room-screen .tabs{gap:0;margin-top:8px}
#room-screen .tab{border:0;border-bottom:1px solid #705231;background:transparent;font-size:9px;min-height:42px;padding:14px 4px}
#room-screen .tab.on{border-bottom-color:#ffd390;background:#ffd39009;text-shadow:none}
#room-screen .crt{border:0;box-shadow:none;padding:12px 0 7px;min-height:0;background:transparent;overflow:visible}
#room-screen .crt::before,#room-screen .crt::after{display:none}
#room-screen .readout{font-family:var(--tt);font-size:16px;letter-spacing:.03em;gap:2px}
#room-screen .msg{font-family:var(--tt);font-size:23px;line-height:1.1;min-height:49px;margin:10px 0 4px;text-shadow:0 0 6px #f5a62325}
#room-screen .cardrow{min-height:100px;margin:5px 0 6px}
#room-screen .card{width:66px;height:92px;border-width:2px;background:#161108;box-shadow:0 0 15px #f5a62312}
#room-screen .card .pip{font-size:23px}
#room-screen .card .rk,#room-screen .card .rk2{font-size:10px;left:5px;top:5px}
#room-screen .card .rk2{left:auto;top:auto;right:5px;bottom:5px}
#room-screen .hist:empty{display:none}
#room-screen .mini{font-size:8px;padding:3px 5px;background:#17120b}
#room-screen .hist{min-height:20px}
#room-screen .ladder{padding:4px 0;gap:4px}
#room-screen .rung{font-size:9px;padding:5px 7px;background:#19130b}
#room-screen .rung .lbl{font-size:7px}
#room-screen .proof{font-size:14px;margin:0;padding:0;text-align:right;white-space:nowrap;border:none}
#room-screen .deck{padding:8px 0 0;border:0;background:transparent}
#room-screen .deckrow{gap:6px;margin-bottom:7px}
#room-screen button{font-size:10px;padding:10px 12px;min-height:44px;border-width:1px;box-shadow:none;text-shadow:none;line-height:1.4;background:#302014}
#room-screen button:hover:not(:disabled){background:#4a301b}
#room-screen button.big{font-size:11px;padding:12px 14px;min-width:142px;flex:1}
#room-screen button sub{font-family:var(--tt);font-size:15px;margin-top:4px;line-height:1;letter-spacing:.03em}
#room-screen button.chip{font-size:9px;flex:1;padding:10px 4px;white-space:nowrap}
#room-screen button.chip.on{color:#ffe0a3;background:#6b421d;border-color:#c18e4a}
#room-screen button:disabled{opacity:.55}
#room-screen .ledbar{margin-top:8px;border:0;border-top:1px solid #624222;background:transparent;padding:10px 0;gap:10px}
#room-screen .led{font-size:11px;text-shadow:none}
#room-screen .led small{font-size:7px;margin-bottom:5px}
#room-screen .ledbar .tiny{font-size:8px;padding:9px 7px;min-height:36px}
#room-screen .logbox{font-size:18px;max-height:126px;border:0;border-top:1px solid #513c24;background:transparent;padding:8px 0 0;margin-top:4px;line-height:1.3}
#room-screen .foot{color:#c49b68;font-family:var(--tt);font-size:15px;line-height:1.4;letter-spacing:.02em;margin-top:14px}
#room-bottomrow{display:flex;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid #513c24;margin-top:2px}
#room-bottomrow .room-details{flex:1;min-width:0}
#room-screen .room-details summary{font-family:var(--tt);font-size:18px;color:#d8b47c;padding:10px 0;cursor:pointer;min-height:44px}
@keyframes crt-wake{from{clip-path:inset(49.5% 0);opacity:.4}60%{clip-path:inset(0);opacity:.85}to{clip-path:inset(0);opacity:1}}
@media(prefers-reduced-motion:no-preference){#room-screen.screen-on{animation:crt-wake .65s ease-out both}}
#room-screen .marquee h1{font-size:21px}
#room-screen .connect{font-size:8px;padding:6px 9px;text-shadow:none;box-shadow:none}
#room-screen .connect sub{font-size:7px}
#room-screen .machinebal{border:1px solid #715435;background:#21180d;box-shadow:none;font-size:9px;padding:6px 9px}
#room-screen .machinebal small{font-size:7px}
#room-screen .lootshelf{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
#room-screen .lootitem{background:#21180d;font-size:20px;line-height:1.3}
#room-screen .lootitem .dim{font-size:17px;color:#c49b68}
#long-room.seated #room-canvas{filter:blur(1.2px)}
#long-room.seated #room-poster{background-image:url('./seated.webp')}
#long-room.seated #room-controls{display:none}
.room-flat #room-screen{left:50%!important;top:80px!important;bottom:76px!important;width:min(900px,calc(100% - 40px))!important;height:auto!important;transform:translateX(-50%);border:7px solid #a6957e;border-radius:17px;box-shadow:0 0 0 3px #554336,0 18px 90px #0008}
.room-flat #room-glass{display:none}
.room-flat #long-room.seated #room-canvas{filter:blur(6px) brightness(.65)}
@media(max-width:700px){
 #room-top{left:14px;right:14px;top:max(12px,env(safe-area-inset-top));gap:8px}
 #room-mark{font-size:8px;letter-spacing:.14em}
 #room-topnav{gap:2px}
 .room-btn{font-size:9px;padding:10px;letter-spacing:.05em}
 #room-bottom{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom))}
 #room-caption{font-size:14px;max-width:200px}
 #room-controls{bottom:100px}
 .room-flat #room-screen{top:68px!important;bottom:70px!important;width:calc(100% - 18px)!important;border-width:5px;border-radius:12px}
 #room-screen .stage{padding:14px 12px 20px}
 #room-screen .marquee h1{font-size:17px;clear:both}
 #room-screen .marquee .sub{font-size:13px}
 #room-screen .simtag{font-size:9px;margin-top:7px}
 #room-screen .readout{font-size:15px}
 #room-screen .msg{font-size:23px}
 #room-screen button.big{min-width:110px;font-size:10px}
 #room-screen .ledbar{gap:14px}
 #room-screen .ledbar>div:last-child{width:100%;justify-content:space-between}
 #room-screen .ledbar .tiny{flex:1;min-height:44px}
 #room-screen .connect{font-size:7px;padding:5px 7px}
}
@media(prefers-reduced-motion:reduce){
 #long-room *,#room-screen *{animation:none!important;scroll-behavior:auto!important;transition-duration:.4s!important}
 #room-glass{background:none;box-shadow:none}
}
@media(forced-colors:active){
 #room-screen{forced-color-adjust:auto;border:2px solid CanvasText;box-shadow:none}
 #room-glass,#room-atmosphere{display:none}
 .room-btn{background:Canvas;color:ButtonText;border:1px solid ButtonText}
}
