:root{--ink:#efe4d0;--brass:#f2b35b;--brass-d:#b8893a;--bg:#0b0807;--paper:#e9e2cf;--marker:#7fe3ff;--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px)}html,body{background:var(--bg);height:100%;color:var(--ink);margin:0;font:16px/1.4 Georgia,Times New Roman,serif;overflow:hidden}#gl{width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}#ui>*{pointer-events:auto}button{font:inherit;color:inherit}button:focus-visible,.pad-focus{outline-offset:3px;outline:3px solid var(--brass)!important}.hud{position:absolute;inset:0;pointer-events:none!important}.hud.off{display:none}.hud>*{pointer-events:auto}.hs-layer{position:absolute;inset:0;pointer-events:none!important}.hs{cursor:pointer;pointer-events:auto;will-change:transform;background:0 0;border:0;width:56px;height:56px;margin:-28px 0 0 -28px;padding:0;position:absolute;top:0;left:0}.hs[hidden]{display:none}.hs-ring{border:2px solid #ffd27a8c;border-radius:50%;transition:transform .15s,border-color .15s;position:absolute;inset:12px;box-shadow:0 0 10px #ffd27a40,inset 0 0 8px #ffd27a26}.hs-ring:after{content:"";background:#ffd27ae6;border-radius:50%;width:6px;height:6px;margin:-3px;position:absolute;top:50%;left:50%}.hs.fresh .hs-ring{animation:2.4s ease-in-out infinite hs-pulse}@keyframes hs-pulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.18)}}.hs:hover .hs-ring,.hs:focus-visible .hs-ring{border-color:#ffd27a;transform:scale(1.25)}.hs-label{white-space:nowrap;color:var(--ink);opacity:0;pointer-events:none;background:#0a0705d1;border:1px solid #f2b35b80;border-radius:4px;padding:2px 8px;font-size:14px;transition:opacity .15s;position:absolute;top:52px;left:50%;transform:translate(-50%)}.hs:hover .hs-label,.hs:focus-visible .hs-label,.hs.pad-focus .hs-label{opacity:1}.nav{width:56px;height:120px;color:var(--brass);cursor:pointer;background:#0a070559;border:1px solid #f2b35b40;margin-top:-60px;font-size:44px;line-height:1;position:absolute;top:50%}.nav-l{left:calc(6px + var(--safe-l));border-radius:0 10px 10px 0}.nav-r{right:calc(6px + var(--safe-r));border-radius:10px 0 0 10px}.nav[hidden],.back-btn[hidden]{display:none}.back-btn{left:calc(10px + var(--safe-l));top:calc(56px + var(--safe-t));border:2px solid var(--brass);min-height:48px;color:var(--brass);cursor:pointer;background:#0a0705bf;border-radius:24px;padding:0 18px;position:absolute}.topbar{padding:calc(6px + var(--safe-t)) calc(10px + var(--safe-r)) 6px calc(10px + var(--safe-l));background:linear-gradient(#000000b3,#0000);align-items:center;gap:8px;display:flex;position:absolute;top:0;left:0;right:0}.room-name{font-variant:small-caps;letter-spacing:.06em;min-width:0;color:var(--brass);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.topbar button{cursor:pointer;background:#0a0705b3;border:1px solid #f2b35b80;border-radius:22px;min-width:48px;min-height:44px;padding:0 12px}.pouch-btn[hidden],.guide-btn[hidden]{display:none}.holding{left:50%;bottom:calc(86px + var(--safe-b));color:var(--brass);opacity:0;background:#0a0705cc;border-radius:4px;padding:4px 12px;font-size:14px;transition:opacity .2s;position:absolute;transform:translate(-50%);pointer-events:none!important}.holding.on{opacity:1}.inv{left:50%;bottom:calc(8px + var(--safe-b));gap:6px;max-width:calc(100vw - 150px);display:flex;position:absolute;overflow-x:auto;transform:translate(-50%)}.item{width:64px;height:64px;color:var(--brass);cursor:pointer;background:radial-gradient(#2a1c12,#0e0a07);border:2px solid #b8893a99;border-radius:8px;flex:none;font-size:28px;position:relative}.item.held{border-color:#ffd27a;transform:translateY(-4px);box-shadow:0 0 14px #ffd27a99}.item.new{animation:.8s ease-out item-new}@keyframes item-new{0%{transform:scale(1.5);box-shadow:0 0 30px #ffd27a}to{transform:scale(1)}}.item-name{white-space:nowrap;text-overflow:ellipsis;max-width:60px;color:var(--ink);opacity:.8;font-size:10px;line-height:1;position:absolute;bottom:2px;left:50%;overflow:hidden;transform:translate(-50%)}.caption{left:50%;bottom:calc(84px + var(--safe-b));background:#080604e6;border:1px solid #f2b35b80;border-radius:6px;grid-template-columns:auto 1fr auto;align-items:start;gap:12px;width:min(760px,100vw - 32px);padding:14px 16px;display:none;position:absolute;transform:translate(-50%);box-shadow:0 6px 30px #0009}.caption.on{display:grid}.cap-who{color:var(--brass);font-variant:small-caps;white-space:nowrap;text-overflow:ellipsis;max-width:9em;overflow:hidden}.cap-who[hidden]{display:none}.cap-text{min-height:2.6em;margin:0;font-size:18px}.cap-more{color:var(--brass);opacity:0;align-self:end}.cap-more.on{opacity:1;animation:1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:.2}}html.talking .hs,html.talking .nav,html.talking .back-btn,html.talking .inv{visibility:hidden}.overlay{background:#030202d1;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:20px;display:flex;position:absolute;inset:0;overflow:auto}.overlay h2{color:var(--brass);font-variant:small-caps;letter-spacing:.05em;text-align:center;margin:0}.overlay .sub{opacity:.8;text-align:center;margin:0}.panel{box-sizing:border-box}.panel-btn,.panel-back{border:2px solid var(--brass);cursor:pointer;background:#140e0ae6;border-radius:6px;min-width:200px;min-height:48px;padding:8px 20px}.settings-body{flex-direction:column;align-items:center;gap:10px;width:min(420px,100%);display:flex}.settings-body>*{max-width:100%}.vol{align-items:center;gap:10px;display:flex}.panel .credit{margin:4px 0;font-size:20px}.guide-row{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.guide-card{cursor:pointer;background:linear-gradient(#22170f,#0e0a07);border:2px solid #f2b35b99;border-radius:10px;flex-direction:column;align-items:center;gap:6px;width:200px;min-height:180px;padding:14px;display:flex}.guide-card strong{color:var(--brass)}.guide-card .pick{opacity:.8;font-size:14px;font-style:italic}.guide-face{border:2px solid var(--brass-d);background:#3a2a1c;border-radius:50%;width:64px;height:64px;position:relative}.guide-face:after{place-items:center;font-size:30px;display:grid;position:absolute;inset:0}.g-dnd:after{content:"⚂"}.g-albany:after{content:"❦"}.g-gentleman:after{content:"♨"}.clues{max-width:560px;margin:0;padding-left:1.2em}.clues li{margin:6px 0}.clues .muted{opacity:.6;list-style:none}.cams .feed{aspect-ratio:4/3;box-sizing:border-box;color:#b8d8c0;text-align:center;background:repeating-linear-gradient(0deg,#0d1410 0 2px,#101a14 2px 4px);border:2px solid #3a4a40;justify-content:center;align-items:center;width:min(560px,90vw,133.333dvh - 306.667px);min-height:120px;padding:20px;font-family:monospace;display:flex;position:relative}.cams .feed-label{font-size:14px;position:absolute;top:8px;left:10px}.cams .rec{color:#e33;font-size:14px;animation:1s steps(2,end) infinite blink;position:absolute;top:8px;right:10px}.cam-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.cam-row .panel-btn{min-width:90px}.clipping .paper{box-sizing:border-box;background:var(--paper);color:#1d1610;width:min(520px,92vw);padding:22px 26px;transform:rotate(-.6deg);box-shadow:0 10px 40px #000000b3}.clipping .masthead{text-align:center;letter-spacing:.08em;border-bottom:3px double #1d1610;padding-bottom:6px;font-size:13px;font-weight:700}.clipping .kicker{text-align:center;margin:6px 0;font-size:12px;font-style:italic}.clipping h2{color:#1d1610;font-variant:normal;letter-spacing:0;text-align:left;font-size:22px}.clipping p{margin:8px 0 0}.fader{opacity:0;background:#000;position:absolute;inset:0;pointer-events:none!important}.scare-flash{opacity:0;background:#fff4e0;transition:opacity .25s;position:absolute;inset:0;pointer-events:none!important}.scare-flash.on{opacity:.35;transition:none}.room-card{text-align:center;opacity:0;text-shadow:0 2px 12px #000;transition:opacity .8s;position:absolute;top:22%;left:50%;transform:translate(-50%);pointer-events:none!important}.room-card.on{opacity:1}.room-card strong{color:var(--brass);font-variant:small-caps;letter-spacing:.06em;font-size:clamp(22px,4vw,40px);display:block}.room-card span{opacity:.85;margin-top:6px;font-style:italic;display:block}@media (height<=420px){.item{width:52px;height:52px;font-size:22px}.caption{bottom:calc(64px + var(--safe-b));padding:8px 12px}.cap-text{min-height:0;font-size:15px}.holding{bottom:calc(66px + var(--safe-b))}.guide-card{width:170px;min-height:120px;padding:8px}.guide-face{width:44px;height:44px}.overlay{justify-content:flex-start;gap:8px}.nav{height:90px;margin-top:-45px}}@media (width<=520px){.inv{max-width:calc(100vw - 24px)}.nav{width:48px}}.cams .feed{padding:32px 16px 16px}.cams .feed p{margin:0;font-size:clamp(12px,2.6vh,17px)}.cams .feed-label,.cams .rec{font-size:12px}
