:root{--cream:#f3dfb4;--orange:#fba14b}body{font-family:Arial,Helvetica,sans-serif}.rebuilt #store{height:100svh;background:#0b0a10}.rebuilt .room{height:calc(100svh - 62px);max-width:none;overflow:hidden;perspective:none;isolation:isolate}.rebuilt .room:after{background:linear-gradient(#07070c16,transparent 20%,transparent 70%,#07070c70);z-index:4}.room-render,.room-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.room-render[hidden],.room-fallback[hidden]{display:none}.rebuilt #objects,.rebuilt #room-note,.rebuilt .presence,.rebuilt .broadcast-glow{display:none!important}.rebuilt .room-light{inset:0;z-index:3;mix-blend-mode:screen;background:radial-gradient(ellipse at 30% 12%,#ffad2120,transparent 40%),radial-gradient(ellipse at 65% 55%,#843cee12,transparent 30%);animation:room-breathe 12s ease-in-out infinite alternate;pointer-events:none}.rebuilt.mid .room-light{animation-duration:7s}.rebuilt.late .room-render,.rebuilt.takeover .room-render{filter:brightness(.8) saturate(.9)}.rebuilt.off .room-render{filter:brightness(.23) saturate(.45)}.rebuilt.final .room-light{background:radial-gradient(ellipse at 23% 30%,#ff72003d,transparent 55%),radial-gradient(ellipse at 85% 40%,#7425ff40,transparent 55%)}.counter-dark .room-render{filter:brightness(.6)}
@keyframes room-breathe{to{opacity:.45}}.walking .room:after{background:#080710;opacity:.7;transition:opacity .55s}.room-location{position:absolute;top:24px;left:28px;z-index:12;pointer-events:none;text-shadow:0 2px 5px #000}.room-location span{font-size:12px;letter-spacing:2px;display:block}.room-location strong{display:block;font-size:20px;margin-top:6px}.room-instruction{position:absolute;bottom:18px;left:28px;z-index:15;color:#f6ddad;font-size:14px;max-width:55ch;margin:0;text-shadow:0 2px 6px #000;background:#0c0a11b8;padding:9px 12px;border-left:2px solid #ffb058}.walk-directions{position:absolute;right:28px;bottom:18px;display:flex;gap:8px;z-index:15}.walk-directions button{background:#0c0a11ad;border:1px solid #f5c67c66;font-size:14px;padding:10px 14px;backdrop-filter:blur(7px)}#room-points{position:absolute;inset:0;z-index:10;pointer-events:none}.room-object{position:absolute;background:transparent;border:0;padding:0;pointer-events:auto}.room-object:hover{background:#ffdc6e05;border:1px solid #ffdc6e22}.room-object span{position:absolute;bottom:0;left:50%;transform:translate(-50%,8px);opacity:0;white-space:nowrap;background:#0b0910e8;border:1px solid #e7b062;padding:8px 13px;font-size:14px;transition:.2s;box-shadow:0 4px 20px #0009}.room-object:hover span,.room-object:focus-visible span{opacity:1;transform:translate(-50%,0)}.floor-path{position:absolute;transform:translate(-50%,-50%);background:transparent;border:0;pointer-events:auto;width:110px;height:55px;padding:0}.floor-path i{display:block;width:55px;height:20px;border:2px solid #ffd78b88;border-radius:50%;margin:auto;box-shadow:0 0 15px #ffd78b22;background:#f4b14808;transition:.2s}.floor-path:hover i,.floor-path:focus-visible i{border-color:#ffdb96;background:#f4b14825}.floor-path span{position:absolute;top:100%;left:50%;transform:translateX(-50%);font-size:14px;white-space:nowrap;text-shadow:0 2px 4px #000;opacity:0}.floor-path:hover span,.floor-path:focus-visible span{opacity:1}.rebuilt .store-caption{height:62px;padding:10px 28px;gap:12px}.rebuilt .store-caption>span:first-child{font-size:14px}.rebuilt .store-caption small{font-size:11px}.rebuilt #daily-note{font-size:14px}.motion-toggle{font-size:12px!important;padding:7px 10px!important;letter-spacing:1px}.rebuilt #explore-list{z-index:30;max-height:70vh;overflow:auto}.rebuilt #explore-list button{font-size:14px}.show-labels .room-object span{opacity:1}
#held-tape{position:absolute;right:28px;top:80px;z-index:20;display:flex;align-items:center;gap:14px;background:#141018ed;width:260px;padding:12px;border-color:#b69556;box-shadow:0 8px 30px #0009;text-align:left}#held-tape img{width:62px;aspect-ratio:2/3;object-fit:cover;box-shadow:3px 3px 0 #000}#held-tape span{font-size:14px;font-weight:bold}#held-tape small{display:block;color:#e4b878;font-size:11px;line-height:1.5;margin-top:10px;font-weight:normal}
/* Each destination occupies its physical medium instead of a universal card. */
.rebuilt dialog{border:0;background:transparent;box-shadow:none;max-width:96vw;width:1150px;max-height:94svh;overflow:auto}.rebuilt dialog::backdrop{background:#0b071092;backdrop-filter:blur(3px)}.rebuilt .close{background:#0b0910dc;border:1px solid #e9b779;top:12px;right:12px;position:fixed}.rebuilt .view{min-height:0;padding:34px 40px;background:#191421;box-shadow:0 20px 70px #000b}.rebuilt dialog[data-surface="guide"]{width:880px;transform:rotate(-.8deg)}.rebuilt .view.guide{background:#e8d3a7;color:#302619;border:12px solid #d3b47a;box-shadow:inset 0 0 90px #6c3c1640,0 20px 80px #000a;font-family:Georgia,serif}.rebuilt .guide h1{font-family:Impact,'Arial Narrow',sans-serif;font-size:46px}.rebuilt .guide .eyebrow{color:#664923}.rebuilt .guide-row{padding:12px 0;grid-template-columns:100px 1fr}.rebuilt .guide-row b{font-size:21px}.rebuilt .guide-row button{font-family:Arial,sans-serif;font-size:16px}.rebuilt .guide>button{background:#493522;color:#f4e2bb}
.rebuilt dialog[data-place="hotline"]{width:690px}.rebuilt dialog[data-place="hotline"] .view{background:transparent;box-shadow:none;padding:5px}.rebuilt dialog[data-place="hotline"] .eyebrow{text-align:center;background:#0d0a11b0;padding:10px}.rebuilt .phone{margin:0;max-width:none;background:linear-gradient(120deg,#d4ba88,#a4875b);border:14px solid #ddc69d;border-radius:30px;box-shadow:0 18px 0 #655136,0 30px 90px #000a;padding:25px}.rebuilt .phone .keypad{margin:18px auto;max-width:350px}.rebuilt .phone .keypad button{padding:14px;font-size:24px}.rebuilt .call-display{font:17px/1.6 'Courier New',monospace;min-height:130px;color:#f9e6b6;border:4px solid #73654c}.rebuilt .phone p{font-size:14px;max-width:38ch;background:#ecd5a3;padding:12px;transform:rotate(-1deg)}
.rebuilt dialog[data-place="teletext"]{width:960px}.rebuilt dialog[data-place="teletext"] .view{padding:0;background:none;box-shadow:none}.rebuilt .crt{border:27px solid #49443e;box-shadow:inset 0 0 60px #000,0 20px 70px #000b;font:24px/1.5 'Courier New',monospace;border-radius:35px;background:repeating-linear-gradient(0deg,#0001 0 2px,transparent 2px 4px),#031b25;color:#bcffff;min-height:450px}.rebuilt .crt h1{font:700 36px 'Courier New',monospace;color:#fbed71}.rebuilt .crt button{font-size:16px;background:#102333}
.rebuilt dialog[data-place="cctv"] .view{background:#25292b;border:18px solid #353534}.rebuilt .camera{border:12px solid #101314;border-radius:16px;min-height:400px;box-shadow:inset 0 0 30px #000;font-size:15px}.rebuilt .camera b{background:#0008;padding:8px;font-family:'Courier New',monospace}.rebuilt .camera-controls{display:flex;gap:8px;flex-wrap:wrap}.rebuilt .camera-controls button{background:#101516;font-size:14px}
.rebuilt dialog[data-surface="cabinet"]{width:1050px}.rebuilt .cabinet{background:linear-gradient(130deg,#231337,#100d1a);border:20px solid #151119;border-top:14px solid #7b3469;border-radius:12px}.rebuilt .cabinet h1{font-family:Impact,'Arial Narrow',sans-serif;font-size:42px;letter-spacing:1px;color:#ffd49a;border-bottom:2px solid #6f3d87;padding-bottom:20px}.rebuilt .game-menu button{font-size:14px}.rebuilt .game-board{padding:22px}.rebuilt .says-grid{gap:16px}.rebuilt .memory-grid button{border:4px solid #413149;box-shadow:inset 0 0 0 1px #ddbd78;border-radius:6px}.rebuilt .game-board>p{font-size:17px}
.rebuilt .archive{background:linear-gradient(#080a10c9,#080a10dc),url(archive-projection.jpg) center/cover;min-height:650px}.rebuilt .archive .paper{background:#d4c59f;color:#33291d;box-shadow:3px 5px 0 #0005;max-width:800px;padding:24px;font-family:'Courier New',monospace}.archive-photo{max-width:100%;filter:grayscale(1);border:12px solid #eee2be;transform:rotate(-1deg)}.rebuilt .archive h1{font-family:Impact,'Arial Narrow',sans-serif;font-size:44px}.rebuilt .notes textarea{font:17px/1.5 'Courier New',monospace;background:#e6d6b2;color:#30271c}
.rebuilt .view.library{background:linear-gradient(#1c131bd9,#140f18f0),url(room-aisle.jpg) center/cover;padding:30px 32px}.shelf-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.shelf-heading h1{font-size:34px;margin:8px 0 18px}.shelf-heading p{max-width:40ch;font-size:16px;color:#d7bd94}.rental-shelves{display:flex;flex-wrap:wrap;gap:24px 20px;padding:18px 10px 26px;border-bottom:14px solid #543a28;box-shadow:0 14px 0 #20150f}.rental-film{width:calc((100% - 100px)/6);min-width:125px;background:#171217;border:0;padding:0;text-align:left;transform:perspective(600px) rotateY(-5deg);transition:transform .25s,filter .25s;box-shadow:5px 5px 0 #070608;position:relative}.rental-film:hover,.rental-film:focus-visible{transform:perspective(600px) rotateY(0deg) translateY(-8px);filter:brightness(1.1)}.rental-film img{width:100%;aspect-ratio:2/3;object-fit:cover;display:block;border:4px solid #131015}.rental-film>span{display:block;min-height:62px;padding:8px 6px;background:#d4c49e;color:#30271b;font:12px/1.3 'Courier New',monospace}.rental-film b{font-size:13px;display:block}.rental-film small{display:block;font-size:10px;margin-top:6px}.rebuilt .deck{margin-top:25px;min-height:95px;box-shadow:0 6px 0 #111;border:8px solid #57534a;border-radius:5px;font:16px 'Courier New',monospace;background:linear-gradient(#292a29,#1a1b1b)}.deck.accepting-tape{outline:3px solid #ffdc92}.rebuilt .deck button{font-size:14px}
.rebuilt dialog[data-surface="film"]{width:1020px}.rebuilt .view.film{background:linear-gradient(130deg,#191018c9,#100c13df),url(room-counter.jpg) center/cover;padding:35px}.rebuilt .film-inspection{display:grid;grid-template-columns:330px 1fr;gap:48px;align-items:center}.inspected-case{position:relative;width:300px;height:450px;padding:0;border:7px solid #151317;background:#17131a;transform:perspective(1000px) rotateY(12deg) rotateZ(-2deg);box-shadow:-10px 8px 0 #070608,0 15px 30px #0009;text-align:left;transition:transform .5s}.inspected-case:hover{transform:perspective(1000px) rotateY(2deg)}.case-front{position:absolute;inset:0;display:block}.case-front img{width:100%;height:100%;object-fit:cover}.case-front>b{position:absolute;bottom:35px;left:0;right:0;background:#e4d4ac;color:#2a2117;padding:10px;font-size:15px}.case-front>small{position:absolute;bottom:8px;left:0;right:0;text-align:center;background:#171219bd;font-size:10px;padding:4px}.case-back{display:none;padding:24px;position:absolute;inset:0;background:#d7c398;color:#35291c;font:17px/1.6 'Courier New',monospace}.case-back b,.case-back span,.case-back small{display:block;margin-bottom:25px}.case-back small{font-size:12px;border-top:2px solid;padding-top:18px}.inspected-case.turned{transform:perspective(1000px) rotateY(-7deg) rotateZ(1deg)}.inspected-case.turned .case-front{display:none}.inspected-case.turned .case-back{display:block}.rebuilt .rental-slip{background:#eeddb7;color:#372a1a;padding:28px;transform:rotate(.7deg);box-shadow:5px 6px 0 #0005;font:17px/1.6 'Courier New',monospace}.rebuilt .rental-slip .eyebrow{color:#79572b;font-size:12px}.rebuilt .rental-slip h1{font-size:32px;font-family:Impact,'Arial Narrow',sans-serif;line-height:1.1}.rebuilt .rental-slip p{line-height:1.6}.rental-slip button{background:#2a2119;color:#f2dcb4;font-size:14px;margin-top:8px}.film-year{font-weight:bold;border-top:2px dotted #88785a;padding-top:10px}.recording-screen{position:relative;background:#020709;border:18px solid #38352f;margin:28px 0 0;border-radius:20px;overflow:hidden;aspect-ratio:4/3}.recording-screen video{width:100%;height:100%;object-fit:cover;filter:brightness(.55) saturate(.55)}.recording-screen p{position:absolute;bottom:10%;left:8%;right:8%;font:22px/1.5 'Courier New',monospace;background:#000a;padding:18px;color:#fff2cd}
.rebuilt dialog[data-place="return"]{width:760px}.rebuilt .return-slot{background:linear-gradient(#8f8777,#544e45);border:16px solid #a19986;padding:25px;box-shadow:0 15px 0 #302d28}.rebuilt .return-slot h1{font-size:32px}.rebuilt .return-slot .slot{height:65px;border:12px solid #3b342b;background:#090807;box-shadow:inset 0 5px 10px #000}.rebuilt .return-slot p{font:17px/1.5 'Courier New',monospace}.rebuilt .view h1{max-width:23ch}.rebuilt .view>p{max-width:70ch}.rebuilt .view .eyebrow{font-size:12px}.rebuilt .view.scoops{background:linear-gradient(130deg,#ffbf61,#b75abe);color:#27182b}.rebuilt .wall button{box-shadow:2px 3px 0 #0006}.rebuilt .paper{color:#382c1c;background:#e3d1a8}.rebuilt .view.broadcast{background:#101016}.rebuilt .broadcast-stage{min-height:400px;border:16px solid #302f2d;border-radius:18px}.rebuilt .hidden-signal{background:repeating-linear-gradient(0deg,#010910 0 3px,#0a1520 4px 5px);border:20px solid #292a28}
@media(max-width:1000px){.walk-directions{right:15px;bottom:65px}.room-instruction{max-width:65%;font-size:12px}.rental-film{width:calc((100% - 60px)/4)}.rebuilt .film-inspection{grid-template-columns:260px 1fr;gap:25px}.inspected-case{width:240px;height:360px}.rebuilt .store-caption{flex-wrap:wrap;height:85px;padding:8px 15px}.rebuilt .room{height:calc(100svh - 85px)}}
@media(max-width:650px){.rebuilt .view{padding:24px 18px}.rebuilt .film-inspection{grid-template-columns:1fr}.inspected-case{margin:auto}.shelf-heading{display:block}.rental-film{width:calc((100% - 20px)/2);min-width:100px}.rebuilt .room{height:calc(100svh - 105px)}.rebuilt .store-caption{height:105px}.room-location{top:14px;left:15px}.walk-directions{left:15px;right:15px;bottom:56px;justify-content:flex-end;flex-wrap:wrap}.walk-directions button{font-size:12px;padding:8px}.room-instruction{left:15px;bottom:12px;max-width:90%}.rebuilt .guide-row{grid-template-columns:70px 1fr;gap:8px}.rebuilt .guide h1{font-size:34px}.rebuilt dialog[data-surface="guide"]{transform:none}.rebuilt .crt{font-size:18px;border-width:15px;padding:16px}#held-tape{top:65px;right:12px;width:175px;font-size:12px}#held-tape img{width:42px}}
@media(prefers-reduced-motion:reduce){.rebuilt .room-light{animation:none}.rental-film,.inspected-case{transition:none;transform:none}.walking .room:after{transition:none}}.motion-still .room-light{animation:none}

/* Readable rental labels and touch controls. */
.rental-film b,.rental-film small{font-size:14px}.rental-film>span{min-height:84px}.case-front>small{font-size:12px}.rebuilt .store-caption small,#held-tape small{font-size:12px}.room-object:focus-visible{outline:2px solid #ffdf93;outline-offset:2px}.rebuilt .room-fallback{filter:inherit}.rebuilt.late .room-fallback,.rebuilt.takeover .room-fallback{filter:brightness(.8) saturate(.9)}.rebuilt.off .room-fallback{filter:brightness(.23) saturate(.45)}.counter-dark .room-fallback{filter:brightness(.6)}
@media(max-width:650px){.walk-directions button{font-size:14px;min-height:44px}.rebuilt .room-instruction{font-size:14px}.rebuilt .store-caption{height:auto;min-height:105px}.rebuilt .store-caption>span:first-child{flex-basis:100%}.rebuilt #daily-note{flex:1}.rebuilt .room{height:calc(100svh - 130px)}.rebuilt .motion-toggle{min-height:44px}.rebuilt #explore{min-height:44px}.room-object span{white-space:normal;min-width:100px}.rebuilt dialog{max-height:92svh}.rebuilt .close{width:44px;height:44px}.rebuilt .film-inspection{gap:26px}.rebuilt .rental-slip{padding:20px}}
/* Explicit foregrounds avoid inheriting paper/phone ink onto dark buttons. */
.rebuilt .view button{background:#241a2d;color:#fff0d2;border-color:#ae8561;font-size:16px;line-height:1.35;min-height:44px}.rebuilt .view button:hover{background:#392541;border-color:#ffc478}.rebuilt .view button:disabled{color:#c2b6c7;background:#332b37;border-color:#6f6575;opacity:1;cursor:default}.rebuilt .guide-row button,.rebuilt .guide-row button:hover{color:#302419;background:transparent;border:0}.rebuilt .phone .keypad button{background:#f0deb8;color:#302417;border-color:#705339}.rebuilt .view .wall button{background:#ead6af;color:#35231c}.rebuilt .view .wall button:disabled{background:#b7a58b;color:#4b4032}.rebuilt .view .rental-film{background:#171217;padding:0;border:0}.rebuilt .view .inspected-case{padding:0;background:#17131a;border:7px solid #151317}.rebuilt .view .difference-change{min-height:0}.rebuilt dialog,.rebuilt .view{overflow-x:hidden}.rebuilt .view p{overflow-wrap:anywhere}.rebuilt .view button:focus-visible{outline:3px solid #8effef;outline-offset:3px}.rebuilt .view .game-menu button[aria-pressed=true]{background:#ffcc7c;color:#281526;border-color:#ffe9a9}.rebuilt .view input,.rebuilt .view select{color:#fff3d2;background:#241d2d;border:1px solid #aa8665;min-height:44px}.rebuilt .view.sealed{background:#d8bd87;color:#34251a;border:12px solid #aa8756;max-width:720px;margin:auto}.sealed-file{padding:20px;font-family:'Courier New',monospace}.sealed-file h1{font-size:40px}.sealed-file strong{font-size:20px;letter-spacing:2px;color:#842d27}.file-seal{display:inline-block;color:#8c332e;border:5px double #8c332e;padding:24px;transform:rotate(-8deg);font-size:28px;margin:20px}.sealed-file .eyebrow{color:#6c4d29}
.dress-clock{position:absolute;top:22px;right:25px;z-index:16;text-align:right;padding:10px 14px;background:#110d18e8;color:#ffe2a3;border:1px solid #ffc27488;box-shadow:0 5px 24px #0005}.dress-clock small{display:block;font-size:12px;letter-spacing:1px}.dress-clock strong{display:block;font:700 20px/1.6 'Courier New',monospace;font-variant-numeric:tabular-nums}.live-countdown{color:#ffd289;background:#110e19;border:1px solid #a77b4c;padding:25px;font:700 clamp(20px,4vw,46px)/1.4 'Courier New',monospace;font-variant-numeric:tabular-nums}.rebuilt .view.countdown{background:linear-gradient(125deg,#211727,#100e19)}
.rebuilt .archive{background:linear-gradient(#0b0c13bb,#090b13dd),url(staff-room.jpg) center/cover}.rebuilt[data-room=archive] .room-light{background:radial-gradient(ellipse at 49% 32%,#ffb83d30,transparent 35%),radial-gradient(ellipse at 32% 24%,#9451e926,transparent 40%)}
/* The same clean source image is the entire camera frame; events live within it. */
.rebuilt .camera.incident-camera{height:auto;aspect-ratio:16/9;min-height:0;border:12px solid #121719;border-radius:6px;filter:none;background:#000;isolation:isolate}.camera-scene{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) brightness(.72);transition:filter 5s ease,transform 10s ease}.camera-intruder{position:absolute;opacity:0;filter:grayscale(1) brightness(.55);transform:translateX(-50%) scale(.8);transform-origin:50% 95%;transition:opacity 7s ease,transform 15s ease;z-index:2;pointer-events:none}.camera[data-stage=interference] .camera-scene{filter:grayscale(1) brightness(.4) contrast(1.3)}.camera[data-stage=presence] .camera-intruder{opacity:.8;transform:translateX(-50%) scale(1)}.camera[data-stage=approach] .camera-intruder{opacity:1;transform:translateX(-50%) scale(2.5);filter:grayscale(1) brightness(.8)}.camera[data-stage=approach] .camera-scene{filter:grayscale(1) brightness(.25);transform:scale(1.08)}.camera-scan{position:absolute;inset:0;z-index:3;background:repeating-linear-gradient(0deg,#0002 0 2px,transparent 2px 4px);pointer-events:none}.camera-identity{position:absolute;top:12px;left:12px;right:12px;display:flex;justify-content:space-between;gap:12px;z-index:5;font:14px/1.5 'Courier New',monospace;color:#e9f7ee}.camera-identity b{position:static!important;font:inherit!important;background:#050909b0}.camera-identity span{background:#050909b0;padding:8px}.camera-warning{position:absolute;bottom:14px;left:14px;right:14px;z-index:5;background:#080909cf;color:#e9f5f0;padding:12px;font:16px/1.4 'Courier New',monospace;letter-spacing:2px}.camera-actions{display:flex;gap:10px;flex-wrap:wrap}.camera-controls button[aria-pressed=true]{background:#e7d4af!important;color:#282119!important}.still-camera .camera-intruder,.still-camera .camera-scene{transition:none!important;transform:translateX(-50%)!important}.still-camera .camera-scene{transform:none!important}#incident-log{white-space:pre-line;font-size:16px;line-height:1.7}
/* Arcade is a broadcast workbench, with a persistent repair log. */
.rebuilt .cabinet{border:12px solid #271a34;border-top:8px solid #a8509d;background:radial-gradient(ellipse at top,#50233e,#151122 60%);box-shadow:inset 0 0 80px #9c377422}.rebuilt .cabinet h1{font-size:40px;margin-bottom:20px}.arcade-mission{background:#100e1bcc;border:1px solid #90709b;padding:20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.arcade-mission p{flex-basis:100%;margin:0;font-size:17px;color:#eee0f5}.fragment-strip{display:flex;gap:7px}.fragment-strip span{display:grid;place-items:center;width:38px;height:38px;background:#33273d;border:1px solid #96779b;font:16px 'Courier New',monospace}.fragment-strip .repaired{background:#124b46;border-color:#8df0d9;color:#ccfff2}.arcade-mission>span{font:14px 'Courier New',monospace;color:#efddbe}.arcade-mission button{margin-left:auto}.game-menu{margin-top:20px}.rebuilt .game-board{background:linear-gradient(#060e1de6,#150d21);border:2px solid #86719c;box-shadow:inset 0 0 40px #020308;padding:25px}.personal-record{color:#aaf1df;font:14px 'Courier New',monospace}.repair-receipt{color:#322519;background:#ecd9ae;margin-top:20px;padding:18px;font:16px/1.5 'Courier New',monospace;border-left:5px solid #88c3a8}.repair-receipt p{margin:8px 0}.rebuilt .memory-grid{max-width:680px;grid-template-columns:repeat(6,1fr);gap:14px}.rebuilt .view .memory-grid button{height:auto;aspect-ratio:2/3;min-height:0;padding:0;position:relative;overflow:hidden;background:#20132b;border:3px solid #705579;box-shadow:3px 4px 0 #02040c}.memory-grid img{width:100%;height:100%;object-fit:cover;display:none}.memory-back{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;font:bold 28px 'Courier New',monospace;color:#f5cba3;background:repeating-linear-gradient(135deg,#321d3d 0 4px,#251730 4px 8px)}.memory-back small{font-size:10px;letter-spacing:1px}.memory-grid .revealed img,.memory-grid .matched img{display:block}.memory-grid .revealed .memory-back,.memory-grid .matched .memory-back{display:none}.rebuilt .view .memory-grid .matched{border-color:#8ee2c3;opacity:1;background:#243a37}.rebuilt .view .says-grid{max-width:none;gap:18px}.rebuilt .view .says-grid button{height:110px;background:linear-gradient(130deg,#985923,#553322);color:#fff0d1;border:3px solid #c7935b;box-shadow:0 5px 0 #08060d,inset 0 0 30px #0005;font:700 18px 'Courier New',monospace;opacity:1}.rebuilt .view .says-grid button:nth-child(2){background:linear-gradient(130deg,#6c459d,#332348);border-color:#b290d7}.rebuilt .view .says-grid button:nth-child(3){background:linear-gradient(130deg,#286f8d,#152b45);border-color:#73c0de}.rebuilt .view .says-grid button:nth-child(4){background:linear-gradient(130deg,#aa496f,#482438);border-color:#ef9ab9}.rebuilt .view .says-grid button.lit{background:#ffedbb;color:#28162b;border-color:#fff8e2;box-shadow:0 0 28px #ffe4ab77}.signal-target{height:72px;background:repeating-linear-gradient(90deg,#060c18 0 9%,#59687b 9% 9.3%,#060c18 9.3% 10%);border:2px solid #65788b;overflow:visible!important}.carrier-band{position:absolute;width:20%;height:100%;background:#71d4af45;border-left:2px solid #9df7d3;border-right:2px solid #9df7d3}.signal-target i{height:80px;top:-6px;width:5px;background:#fff0b2;box-shadow:0 0 16px #ffc56b}.rebuilt .surfer-screen{min-height:230px;display:flex;flex-direction:column;justify-content:center;gap:16px;background:repeating-linear-gradient(0deg,#071827 0 3px,#061420 3px 6px);color:#d7f8f1;border:12px solid #34333b;font:20px 'Courier New',monospace}.frequency-meter{width:80%;height:28px;border:1px solid #82b9b0;text-align:left;background:#071512}.frequency-meter i{display:block;height:100%;background:linear-gradient(90deg,#5376ca,#70e6c5);transition:width .2s}.tuner-controls{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.recovered-screen{position:relative;border:14px solid #3d3744;aspect-ratio:16/9;overflow:hidden}.recovered-screen video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.2}.recovered-screen>div{position:relative;padding:30px;font:22px/1.5 'Courier New',monospace;color:#eefff2}.recovered-screen small{font-size:14px;letter-spacing:2px}.difference-photo{aspect-ratio:16/9}
@media(max-width:650px){.dress-clock{top:70px;right:12px;padding:8px 10px}.dress-clock strong{font-size:16px}.dress-clock small{font-size:12px}.rebuilt .memory-grid{grid-template-columns:repeat(3,1fr)}.memory-back small{font-size:12px}.arcade-mission{padding:14px;gap:12px}.arcade-mission button{margin-left:0;width:100%}.rebuilt .cabinet{border-width:6px}.rebuilt .game-board{padding:14px}.rebuilt .cabinet h1{font-size:30px}.camera-identity{flex-direction:column;font-size:12px;gap:0;top:4px;left:4px}.camera-identity span{padding:3px}.camera-warning{font-size:12px;padding:5px;bottom:5px}.recovered-screen{aspect-ratio:auto;min-height:320px}.recovered-screen>div{padding:20px;font-size:18px}.live-countdown{padding:20px 12px}.rebuilt .phone{padding:16px}.rebuilt .phone .keypad button{font-size:20px}.rebuilt .view .deck{flex-wrap:wrap}.sealed-file{padding:5px}.sealed-file h1{font-size:32px}}
@media(prefers-reduced-motion:reduce){.camera-intruder,.camera-scene,.frequency-meter i{transition:none!important}.camera[data-stage=approach] .camera-intruder{transform:translateX(-50%)!important}}
.camera-intruder{transition:opacity 7s ease,transform 15s ease,left 15s ease,top 15s ease,width 15s ease}.camera[data-stage=approach] .camera-intruder{left:50%!important;top:6%!important;width:42%!important;transform:translateX(-50%) scale(1)}.still-camera[data-stage=approach] .camera-intruder{width:24%!important;top:20%!important}
.rebuilt .view .wall button:disabled{color:#30261d;background:#b7a58b}
/* Medium belongs to its destination, never to the previously opened object. */
.rebuilt dialog[data-surface=guide]{background:#e8d3a7!important;color:#302619;transform:none;box-shadow:0 22px 80px #000b;border:10px solid #d3b47a}.rebuilt dialog[data-surface=guide] #content,.rebuilt dialog[data-surface=guide] .view.guide{background:#e8d3a7!important;color:#302619!important;opacity:1;mix-blend-mode:normal;border:0;box-shadow:none}.rebuilt dialog[data-surface=guide] .guide-row button{background:transparent!important;color:#302619!important}.rebuilt dialog[data-surface=guide] .guide>button{background:#493522!important;color:#f4e2bb!important}.rebuilt dialog[data-surface=guide] .eyebrow{color:#604321}.rebuilt .guide h1{line-height:1.1;font-size:42px}.rebuilt .guide-row{padding:16px 0}.rebuilt .guide-row b{font-size:20px}.room-latefallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:1}.room-latefallback[hidden]{display:none}.dress-clock{display:none!important}.rebuilt[data-corruption=receiving] .room-light{background:radial-gradient(ellipse at 84% 45%,#40bfff30,transparent 35%)}.rebuilt[data-corruption=echo] .room-light{background:radial-gradient(ellipse at 83% 20%,#91e2ff25,transparent 30%),radial-gradient(ellipse at 15% 15%,#b338ec18,transparent 40%)}.rebuilt[data-corruption=takeover] .room-light,.rebuilt[data-corruption=onair] .room-light{background:linear-gradient(115deg,#38073c33,#8d153d30,#0d285530);opacity:.8}.rebuilt[data-cue=signal] .room-render,.rebuilt[data-cue=signal] .room-fallback{filter:saturate(.15) brightness(.6);transition:filter 2s}.rebuilt[data-cue=callback] .room-light{background:radial-gradient(ellipse at 10% 77%,#7ee6ff65,transparent 28%);animation:none}.rebuilt[data-cue=echo] .room-light{background:radial-gradient(ellipse at 80% 14%,#afffff45,transparent 25%);animation:none}.rebuilt .room-render,.rebuilt .room-fallback{transition:filter 2s}.rebuilt.off .room-render{filter:brightness(.4) saturate(.5)}
#store-slider{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);width:min(850px,94vw);z-index:500;background:#10151ded;color:#e7f3f5;padding:18px 22px;border:1px solid #9bc4cc;box-shadow:0 8px 30px #0008;font:14px/1.5 Arial,sans-serif}#store-slider>div:first-child{display:flex;align-items:center;gap:16px}#store-slider output{margin-right:auto;font:700 18px 'Courier New',monospace;color:#ffdda3}#store-slider input{display:block;width:100%;accent-color:#ffcf82;min-height:36px}#store-slider label{font-size:14px}#store-slider button{font-size:14px;color:#efffff;background:#273543;border-color:#8bb3bc;min-height:40px}#slide-stage{margin:8px 0}.slide-tests{display:flex;gap:8px;flex-wrap:wrap}
.transmission-view{position:relative;aspect-ratio:16/9;border:12px solid #33323a;overflow:hidden;background:#02060b}.transmission-view>img:first-child{width:100%;height:100%;object-fit:cover;filter:brightness(.7) saturate(.5);transition:filter 3s;transform:scale(1.01)}.transmission-visitor{position:absolute;left:53%;top:28%;width:11%;opacity:0;transform:translateX(-50%);filter:brightness(.65) saturate(.2);transition:opacity 2s,top 4s,left 4s,width 4s}.transmission-view[data-visitor='1'] .transmission-visitor{opacity:.8}.transmission-view[data-visitor='2'] .transmission-visitor{opacity:.9;left:59%;top:38%;width:18%}.transmission-view[data-visitor='3'] .transmission-visitor{opacity:.9;left:32%;top:15%;width:16%}.transmission-view[data-visitor='4'] .transmission-visitor{opacity:1;left:51%;top:3%;width:42%}.transmission-view[data-visitor='4']>img:first-child{filter:brightness(.32) saturate(.15)}.transmission-scan{position:absolute;inset:0;background:repeating-linear-gradient(0deg,#0001 0 2px,transparent 2px 4px);pointer-events:none}#transmission-time{position:absolute;left:15px;top:12px;background:#0009;padding:7px 12px;color:#ebfff3;font:16px 'Courier New',monospace}#transmission-caption{position:absolute;bottom:0;left:0;right:0;background:#060b12e6;padding:16px 24px;margin:0;color:#effbf8;font:18px/1.4 'Courier New',monospace}.transmission-controls{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:18px}.carrier-view{position:relative;aspect-ratio:16/9;overflow:hidden;border:10px solid #38373e}.carrier-view img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.5)}.carrier-crosshair{position:absolute;inset:15%;border:1px solid #8acdca55;pointer-events:none}.carrier-view span{position:absolute;bottom:16px;left:16px;right:16px;color:#d2fff0;background:#0008;padding:12px;font:16px 'Courier New',monospace}.hidden-signal p{font-size:18px}.rebuilt .hidden-signal h1{font-size:40px}
@media(max-width:650px){#store-slider{padding:14px;bottom:12px}#store-slider>div:first-child{flex-wrap:wrap;gap:8px}#store-slider output{font-size:16px}.transmission-view{aspect-ratio:4/3;border-width:6px}#transmission-caption{padding:10px;font-size:14px}.rebuilt .guide h1{font-size:32px}}
@media(prefers-reduced-motion:reduce){.transmission-visitor,.transmission-view>img:first-child,.room-render,.room-fallback{transition:none!important}}
.calendar-fallback{position:absolute;display:flex;align-items:center;justify-content:space-evenly;flex-direction:column;padding:3px;background:#dac39b;color:#493522;text-align:center;font:12px/1.3 'Courier New',monospace;pointer-events:none}.calendar-fallback b{font-size:14px}.calendar-fallback strong{font-size:13px;overflow-wrap:anywhere}
.case-document small{font:12px 'Courier New',monospace;letter-spacing:2px}.case-document p{font:17px/1.8 'Courier New',monospace}.case-document h2{font-family:Impact,'Arial Narrow',sans-serif;letter-spacing:1px}.rebuilt #case-answer label{display:block;font-size:16px;margin:20px 0 8px}.rebuilt #case-answer select{width:100%;max-width:100%;font-size:16px;padding:12px}.rebuilt #case-answer button{margin-top:18px}.archive-tabs button[aria-pressed=true]{background:#ead4ad!important;color:#2b231c!important}

.calendar-fallback{background:#090506;color:#ff332a;border:5px ridge #373334;box-shadow:0 2px 8px #000b,inset 0 0 18px #d4111122;text-shadow:0 0 7px #ff1717;font-weight:bold}.calendar-fallback strong{color:#ff3026;font-size:16px}.camera[data-stage=presence] .camera-scene{filter:grayscale(.8) brightness(.5) contrast(1.2)}.camera[data-stage=approach] .camera-scene{transform:scale(1.3);filter:grayscale(1) brightness(.4) contrast(1.4)}

/* All decoration motion follows its actual suspension point. */
.hanging-lantern{position:absolute;pointer-events:none;object-fit:fill;transform-origin:50% 0;animation:lantern-sway 7.4s ease-in-out infinite;animation-delay:var(--sway-delay,0s);will-change:transform;filter:brightness(.92)}
.hanging-lantern:nth-of-type(2){animation-duration:9.3s}
@keyframes lantern-sway{0%,100%{transform:rotate(-3.8deg)}50%{transform:rotate(3.8deg)}}
.wall-led-clock{position:absolute;pointer-events:none;object-fit:contain;filter:drop-shadow(0 3px 3px #0007)}
.motion-still .hanging-lantern,.motion-still .room-light{animation:none!important;transform:none}
.rebuilt.late .room-render,.rebuilt.takeover .room-render{filter:brightness(.96) saturate(1)}
.rebuilt.off .room-render{filter:brightness(.65) saturate(.65)}
.rebuilt[data-corruption=receiving] .hanging-lantern{animation-duration:6.2s}
.rebuilt[data-corruption=takeover] .hanging-lantern{animation-duration:4.8s}
.rebuilt[data-room=archive][data-corruption=takeover] .room-light{background:radial-gradient(ellipse at 33% 23%,#f91d222e,transparent 37%),radial-gradient(ellipse at 48% 36%,#ffb83d20,transparent 30%)}

/* An incident changes the photographed room. It never hides it behind black. */
.rebuilt .incident-camera{position:relative;aspect-ratio:16/9;min-height:0;height:auto;background:#171a18;overflow:hidden}
.rebuilt .incident-camera:after{background:none}
.rebuilt .incident-camera .camera-base,.rebuilt .incident-camera[data-stage] .camera-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.75) brightness(1.12) contrast(1.02);transform:none;transform-origin:var(--camera-focus,50% 50%);transition:transform 12s ease,opacity .8s linear}
.rebuilt .incident-camera[data-stage] .camera-scene{opacity:var(--incident-opacity,0)}
.rebuilt .incident-camera[data-stage=approach] .camera-base,.rebuilt .incident-camera[data-stage=approach] .camera-scene{transform:scale(var(--camera-zoom,1.3))}
.rebuilt .incident-camera.still-camera .camera-base,.rebuilt .incident-camera.still-camera[data-stage] .camera-scene{transform:none!important;transition:none!important}
.rebuilt .incident-camera .camera-scan{background:repeating-linear-gradient(0deg,#05080512 0 1px,transparent 1px 4px);animation:security-grain 4s linear infinite}
@keyframes security-grain{50%{opacity:.55}}
.rebuilt .incident-camera[data-frozen=true] .camera-scan{animation:none}
.rebuilt .incident-camera .camera-warning{font-size:14px;padding:9px 12px;letter-spacing:1px;background:#080b09b3}
.rebuilt .transmission-view[data-visitor='4']>img:first-child{filter:brightness(.9) saturate(.6)}
.rebuilt .transmission-view>img:first-child{filter:brightness(.95) saturate(.65)}
#camera-review{border-top:1px solid #ba915a;padding-top:12px;margin-top:20px}#camera-review p{font-size:14px}
.rebuilt .incident-camera.still-camera .camera-scan{animation:none!important}
/* Launch controls keep the store visible and the current rehearsal explicit. */
.rebuilt #store{display:flex;flex-direction:column}.rebuilt .room{flex:1;min-height:0;height:auto}.rebuilt .store-caption{flex-shrink:0}
.store-map{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid #886b4c;padding-bottom:12px;margin-bottom:8px;width:100%}.store-map button{min-height:44px}
#rehearsal-banner{position:fixed;z-index:45;top:8px;left:50%;transform:translateX(-50%);background:#251a12;color:#ffdfaa;border:1px solid #e8b46b;padding:7px 12px;font:13px monospace;max-width:90vw;box-shadow:0 4px 20px #0008}#rehearsal-banner[hidden]{display:none}#rehearsal-banner button{font-size:13px;margin-left:12px;min-height:36px}
.fallback-display{position:absolute;top:0;left:0;width:640px;height:480px;transform-origin:0 0;z-index:2;pointer-events:none;border-radius:23px;filter:brightness(.96)}
.after-hours-room .room-light{background:radial-gradient(ellipse at 65% 55%,#a5284820,transparent 50%)}
.rebuilt dialog[data-surface=guide]{transform:none}
#final-scene{display:block;width:100%;height:100%;object-fit:cover}#final-caption{background:#080811e8;padding:12px;font:700 17px/1.5 monospace;color:#fff3d0}
.rebuilt .transmission-controls button,.rebuilt #throwdown-choices button{min-height:44px}
@media(max-width:650px){#rehearsal-banner{font-size:11px;width:90vw;text-align:center}#rehearsal-banner button{margin:4px 0 0;display:block;width:100%}.rebuilt .view h1{overflow-wrap:anywhere}.rebuilt .camera{min-height:0}.rebuilt .store-caption{height:auto;min-height:105px}}
.entrance-tv-fallback{clip-path:polygon(0 0,100% 0,100% 17%,68% 19%,66% 56%,8% 58%,8% 100%,0 100%)}
.rebuilt.off .room-fallback,.rebuilt.off .room-latefallback{filter:brightness(.65) saturate(.65)}
.asset-retry{position:relative;z-index:3;background:#17121d;color:#fff0d2;padding:10px;font:14px/1.5 Arial}.asset-retry button{font-size:14px!important;min-height:44px}
/* Physical props follow the room's projective plane, underneath object controls. */
.physical-prop{position:absolute;left:0;top:0;transform-origin:0 0;pointer-events:none!important;user-select:none}
.wall-led-clock.physical-prop{width:1536px;height:512px;filter:drop-shadow(0 10px 9px #0009) drop-shadow(0 0 38px #df231926);z-index:-1}
.store-doll{width:640px;height:1024px;z-index:-1;opacity:0;overflow:hidden}
.store-doll[data-pose=sit]{height:640px}
.doll-silhouette{width:100%;height:100%;transform-origin:50% 100%;pointer-events:none}
.doll-silhouette img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.rebuilt .room-object:hover{background:transparent;border-color:transparent}
.rebuilt .room-object span{box-shadow:0 3px 12px #0008;border-color:#be8b52;background:#100d0de8}
.rebuilt .room-location{opacity:.8}
.rebuilt .room-instruction{background:#0c0a1199;border-left:1px solid #9e7447}
.motion-still .doll-silhouette{transform:none!important}
