@font-face{font-family:SuiteMono;src:local('Courier New')}*{box-sizing:border-box}body{margin:0;background:#11191d;color:#eee9dc;font:16px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit}button:disabled{opacity:.45;cursor:not-allowed}[hidden]{display:none!important}:focus-visible{outline:3px solid #f5cf86;outline-offset:4px}.suite-head{width:min(1440px,94%);margin:auto;min-height:88px;display:flex;align-items:center;gap:26px;border-bottom:1px solid #ffffff20}.suite-brand img{display:block;width:210px;max-width:34vw}.suite-head nav{display:flex;gap:20px;flex-wrap:wrap;margin-left:auto;font-size:12px}.suite-head a{text-decoration:none}.admin-link{font-size:11px;color:#edca83}.suite-footer{width:min(1360px,92%);margin:60px auto 0;padding:24px 0;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff25;font:10px/1.6 SuiteMono,monospace;color:#a3b4b7}.suite-footer a{text-decoration:none}.skip-link{position:absolute;top:-80px;left:15px;z-index:100;background:#fff;color:#111;padding:10px}.skip-link:focus{top:10px}.suite-toast{position:fixed;z-index:100;bottom:25px;left:50%;transform:translateX(-50%);background:#e8efcd;color:#172220;padding:14px 22px;border-radius:5px;box-shadow:0 8px 30px #0008;max-width:90vw;font-size:14px}.suite-main{width:min(1360px,92%);margin:42px auto}.eyebrow{font:11px/1.6 SuiteMono,monospace;letter-spacing:.17em;color:#c7b887;text-transform:uppercase}.suite-main h1{font:400 clamp(34px,5.2vw,70px)/1.02 Georgia,serif;letter-spacing:-.045em;margin:12px 0 18px}.intro{max-width:680px;color:#b4c0c2;margin-bottom:30px}.toolbar,.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.toolbar{justify-content:space-between;margin:20px 0}.btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:42px;padding:10px 17px;border:1px solid #fff3;border-radius:3px;background:#253436;color:#eee9dc;text-decoration:none;font-size:13px}.btn:hover{background:#344a4c}.btn.primary{background:#e7d5a4;color:#25281e;border-color:#e7d5a4}.btn.primary:hover{background:#f4e8c9}.btn.quiet{background:transparent}.small{font-size:12px;color:#a3b4b7}.panel{border:1px solid #c7d6d02b;background:#182428;padding:25px;border-radius:5px}.panel h2{font:400 28px/1.15 Georgia,serif;margin:0 0 18px}.suite-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid #ffffff25;margin:30px 0 25px;padding-bottom:15px}.suite-tabs button{background:none;color:#bbc7c7;padding:12px 18px;border:1px solid #ffffff25;border-radius:3px;font-size:13px}.suite-tabs button[aria-selected=true]{background:#e7d5a4;color:#172220}.split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,1fr);gap:25px}.form-row{display:grid;gap:8px;margin:0 0 18px}.form-row label,.field-label{font:11px SuiteMono,monospace;text-transform:uppercase;letter-spacing:.08em;color:#bcccbd}.form-row input,.form-row textarea,.form-row select,.field{width:100%;min-width:0;padding:12px;border:1px solid #b1c3b44d;border-radius:3px;background:#0e191d;color:#f1eedf}.form-row textarea{min-height:100px;resize:vertical}.result{border-left:3px solid #e7d5a4;padding:12px 17px;background:#ffffff06}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{padding:7px 11px;border:1px solid #fff3;background:#243437;color:#e9edda;border-radius:30px;font-size:12px}.chip[aria-pressed=true]{background:#e7d5a4;color:#172220}.empty{padding:30px;text-align:center;color:#9caeb1}.reading{max-width:720px;font:17px/1.8 Georgia,serif}.reading p{margin:0 0 20px}.reading h3{font:600 12px SuiteMono,monospace;letter-spacing:.08em;margin:28px 0 10px}.status-line{font:11px/1.7 SuiteMono,monospace;color:#aec3bf}.meter{height:5px;background:#fff2;border:0;border-radius:4px;overflow:hidden}.meter i{display:block;height:100%;background:#d7c386}.question{font:400 25px/1.3 Georgia,serif;margin-top:0}.badge{display:inline-block;border:1px solid #e7d5a466;padding:5px 9px;color:#e7d5a4;font:10px SuiteMono,monospace}.canvas-wrap{width:100%;overflow:hidden;background:#070f16;border:1px solid #ffffff20;border-radius:5px}.canvas-wrap canvas{display:block;width:100%;height:auto}.suite-page input[type=range]{accent-color:#e7d5a4;width:100%}dialog{color:#eee9dc;background:#172428;border:1px solid #b5c2b655;border-radius:5px;padding:28px;width:min(620px,92vw);max-height:88dvh;overflow:auto}dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}dialog h2{font:32px Georgia,serif}dialog .close{float:right}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.cards article{padding:25px;background:#1b292d;border:1px solid #ffffff20}.cards h3{font:24px Georgia,serif}.cards p{color:#b9c4c5;font-size:14px}
/* Bedroom */
.room-header{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:24px}.room-header h1{margin-bottom:0}.room-header p{max-width:330px;margin:0;color:#aebabd;font-size:14px}.room-scene{position:relative;isolation:isolate;aspect-ratio:3/2;max-height:none;overflow:hidden;border:1px solid #d9ae6540;border-radius:7px;background:#111}.room-scene>img{width:100%;height:100%;object-fit:contain;display:block}.room-scene.night>img{filter:brightness(.72) saturate(.9)}.room-hotspot{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:grid;place-items:center;border:1px solid #ffe0a1aa;background:#132028bb;color:#fff1ce;width:38px;height:38px;border-radius:50%;font:13px SuiteMono,monospace;box-shadow:0 0 0 6px #ffe0a117;z-index:5;text-decoration:none}.room-hotspot:hover,.room-hotspot:focus{background:#ffe0a1;color:#172220;box-shadow:0 0 0 9px #ffe0a122}.room-hotspot span{position:absolute;bottom:48px;white-space:nowrap;padding:7px 10px;background:#101b20;color:#ffe8b8;border:1px solid #ffe0a177;border-radius:3px;opacity:0;pointer-events:none}.room-hotspot:hover span,.room-hotspot:focus span,.show-labels .room-hotspot span{opacity:1}.room-glow{position:absolute;pointer-events:none;inset:0;background:radial-gradient(ellipse at 15% 36%,#4cffff23,transparent 14%),radial-gradient(ellipse at 92% 62%,#ffab3230,transparent 14%);mix-blend-mode:screen;animation:room-glow 5s ease-in-out infinite alternate}.room-rain{position:absolute;left:42%;top:6%;width:22%;height:29%;pointer-events:none;background:repeating-linear-gradient(110deg,transparent 0 19px,#b5d5ee2e 20px,transparent 21px 40px);background-size:40px 50px;animation:room-rain 1.5s linear infinite;opacity:.4}.room-clock{position:absolute;right:2%;bottom:2%;font:10px SuiteMono,monospace;background:#091115bb;padding:9px 12px;color:#dec997}.object-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:20px}.object-list a,.object-list button{text-align:left;padding:18px;border:1px solid #ffffff20;background:#1b292d;color:#e6ddc8;text-decoration:none;min-height:78px;font-size:14px}.object-list small{display:block;color:#9cafb1;font-size:11px;margin-top:5px}.object-list b{font:10px SuiteMono,monospace;color:#cfb773;margin-right:7px}.room-note{padding:25px;background:#e9dfbf;color:#34392b;transform:rotate(-1deg);font:19px/1.6 Georgia,serif}.room-note a{font-weight:bold}@keyframes room-glow{to{opacity:.45}}@keyframes room-rain{to{background-position:6px 50px}}
/* Mystery */
.case-hero{position:relative;min-height:340px;background:linear-gradient(90deg,#0a161ef2,#0a161e60 65%,transparent),url('/assets/suite/relay-station.webp') center/cover;border:1px solid #a2b6b633;padding:45px}.case-hero h1{max-width:600px}.case-hero p{max-width:460px;color:#c2cacc}.case-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:25px;margin-top:25px}.case-sidebar{display:grid;align-content:start;gap:8px}.case-sidebar button{text-align:left;background:#18262c;border:1px solid #d5d7bd25;color:#a8b9bc;padding:17px;font-size:13px}.case-sidebar button[aria-current=true]{border-color:#d7c386;color:#f2e4bb;background:#283734}.case-sidebar button small{display:block;font:10px SuiteMono,monospace;margin-top:5px}.document-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:25px}.document-tabs button{font:11px SuiteMono,monospace;padding:10px 13px;border:1px solid #d7c38655;background:transparent;color:#e3d9bd}.document-tabs button[aria-pressed=true]{background:#e7d5a4;color:#182326}.case-paper{background:#ece4cf;color:#283239;padding:clamp(20px,4vw,48px);min-height:380px;box-shadow:0 12px 35px #0004}.case-paper .paper-label{font:10px SuiteMono,monospace;letter-spacing:.12em;color:#6a7164}.case-paper h2{font:32px/1.15 Georgia,serif}.case-paper blockquote{border-left:2px solid #92927a;margin:20px 0;padding-left:20px}.case-paper table{border-collapse:collapse;width:100%;font:14px/1.6 SuiteMono,monospace}.case-paper td,.case-paper th{text-align:left;padding:10px;border-bottom:1px solid #7777}.case-question{margin-top:25px}.case-question form{display:flex;gap:10px;margin:15px 0}.case-question input{flex:1;min-width:0}.case-map{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.case-map div{padding:20px 10px;border:1px dashed #7778;text-align:center;font:13px SuiteMono,monospace}.case-notes{min-height:150px}.ending-choices{display:grid;gap:12px}.ending-choices button{text-align:left;padding:18px}.ending-choices small{display:block;margin-top:6px}
/* Scrapbook */
.suite-scrapbook{background:#25322d}.scrapbook-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:28px}.scrapbook-controls{display:grid;align-content:start;gap:20px}.scrapbook-preview{position:sticky;top:20px;align-self:start}.scrapbook-preview canvas{display:block;width:100%;height:auto;box-shadow:0 20px 70px #0005;touch-action:none;cursor:grab}.sticker-options{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.sticker-options button{border:1px solid #fff3;background:#233d34;color:#eee8ce;padding:12px 5px;font-size:22px}.scrapbook-controls .panel{padding:20px}.scrapbook-controls .form-row{margin-bottom:12px}.save-message{font-size:12px;color:#bcc9b8}.sticker-adjust{display:flex;gap:6px;flex-wrap:wrap}.sticker-adjust button{min-width:38px;min-height:38px}.photo-input{font-size:12px;max-width:100%}
/* Hamster escape */
.suite-escape{background:#182923}.escape-stage{position:relative;aspect-ratio:16/10;background:linear-gradient(#14252122,#14252155),url('/assets/suite/bedroom.webp') 100% 70%/180% auto;overflow:hidden;border-radius:6px;border:1px solid #bbcb8a55}.escape-stage canvas{position:absolute;left:31%;bottom:0;width:34%;height:70%;pointer-events:none}.escape-prop{position:absolute;min-height:42px;padding:10px 13px;border:1px solid #edddb077;background:#182923dd;color:#ffebbd;border-radius:4px;font-size:12px}.escape-prop:hover{background:#385242}.escape-dialogue{background:#f0e2b7;color:#344330;padding:20px 24px;border-radius:5px;font:18px/1.5 Georgia,serif;margin:16px 0}.inventory{display:flex;gap:8px;flex-wrap:wrap;min-height:62px}.inventory button{padding:12px;background:#2b473c;border:1px solid #e5dc9c44;color:#e9dfb7;border-radius:4px;font-size:12px}.inventory button[aria-pressed=true]{background:#e8d39f;color:#213326}.escape-journal{padding-left:20px;color:#b8c7b7;font-size:14px}.escape-endings{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.escape-endings div{border:1px solid #d9cc8740;padding:15px}.escape-endings b{font:19px Georgia,serif}.escape-endings p{font-size:12px;color:#b8c7b7}.escape-endings .locked{opacity:.45}
/* Space lab */
.suite-lab{background:#080f1b}.lab-controls{display:grid;grid-template-columns:1fr 1fr;gap:20px}.lab-readout{font:18px/1.5 SuiteMono,monospace;color:#d7e6f4;margin:20px 0}.lab-caption{font-size:12px;color:#9cacbe}.mission-stops{display:flex;gap:8px;flex-wrap:wrap}.mission-stops button{padding:10px 13px;border:1px solid #c1d6ff33;background:#172437;color:#c7d7e4;font-size:12px}.mission-stops button[aria-pressed=true]{background:#d7c386;color:#10151b}.lander-controls{display:flex;justify-content:center;gap:14px;user-select:none}.lander-controls button{min-width:80px;min-height:62px;touch-action:none}.lander-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:15px 0}.lander-stats span{font:10px SuiteMono,monospace;color:#9eb4c9}.lander-stats strong{display:block;font-size:20px;color:#e1e9e9}.sources{margin-top:30px;font-size:12px;color:#a9bbce}.sources a{margin-right:15px}
@media(max-width:1000px){.suite-head{gap:15px;flex-wrap:wrap;padding:15px 0}.suite-head nav{gap:12px}.split{grid-template-columns:1fr 310px}.scrapbook-layout{grid-template-columns:280px minmax(0,1fr)}.case-grid{grid-template-columns:195px minmax(0,1fr)}.object-list{grid-template-columns:repeat(3,1fr)}}
@media(max-width:740px){.suite-head{width:92%;min-height:80px}.suite-brand img{width:180px;max-width:60vw}.suite-head nav{margin-left:0;flex-basis:100%;font-size:11px;gap:14px}.suite-main{margin-top:28px}.suite-main h1{font-size:42px}.split,.scrapbook-layout,.case-grid{grid-template-columns:1fr}.room-header{display:block}.room-header p{margin-top:15px;max-width:100%}.room-hotspot{width:30px;height:30px;font-size:11px;box-shadow:none}.room-hotspot span{display:none}.room-clock{display:none}.object-list{grid-template-columns:repeat(2,1fr)}.object-list a,.object-list button{padding:14px;font-size:12px}.case-hero{padding:25px;min-height:320px}.case-sidebar{display:flex;overflow:auto;gap:8px;padding-bottom:8px}.case-sidebar button{min-width:150px;padding:12px}.case-paper{min-height:0}.reading{font-size:16px}.case-question form{flex-wrap:wrap}.case-question form input{flex-basis:100%}.scrapbook-preview{position:static;grid-row:1}.scrapbook-controls{grid-row:2;grid-template-columns:1fr 1fr}.scrapbook-controls .panel:first-child{grid-column:1/-1}.lab-controls{grid-template-columns:1fr}.suite-footer{flex-direction:column;gap:10px;margin-top:35px}.cards{grid-template-columns:1fr}.escape-stage{aspect-ratio:1/1}.escape-stage canvas{width:45%;left:27%;height:63%}.escape-prop{font-size:11px;padding:8px}.panel{padding:20px}.room-scene{aspect-ratio:3/2}.toolbar{align-items:flex-start}.lander-stats{gap:5px}.lander-stats strong{font-size:16px}}
@media(max-width:430px){.scrapbook-controls{grid-template-columns:1fr}.room-hotspot{width:26px;height:26px}.case-map{grid-template-columns:1fr}.suite-main h1{font-size:36px}.btn{font-size:12px;padding:10px 12px}.case-paper h2{font-size:27px}.lander-controls button{min-width:70px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.suite-page canvas{max-width:100%}.case-paper{overflow-wrap:anywhere}.suite-head nav a:hover{text-decoration:underline}.room-hotspot:last-of-type span{right:0}

/* v11: responsive room objects, movement can be paused without muting sound. */
.room-screen,.room-tape,.room-pet{position:absolute;pointer-events:none;z-index:2}.room-screen{display:grid;place-content:center;text-align:center;overflow:hidden;opacity:.22;transition:opacity .7s,filter .7s;font-family:monospace;mix-blend-mode:screen}.room-screen b{font-size:clamp(5px,1vw,14px);letter-spacing:.05em}.room-screen small{font-size:clamp(3px,.55vw,8px)}.room-computer{left:11.6%;top:31.4%;width:6.8%;height:9.5%;color:#79ffd9;background:radial-gradient(ellipse,#1e675555,#15362a33);clip-path:polygon(2% 6%,97% 0,99% 94%,0 100%);transform:rotate(-2deg)}.room-tv{left:75.85%;top:31.9%;width:5.9%;height:9.4%;color:#ddedff;background:repeating-linear-gradient(0deg,#6494a322 0 2px,transparent 2px 5px);clip-path:polygon(5% 0,98% 5%,98% 96%,5% 90%,0 75%,0 20%)}.room-screen i{height:1px;background:currentColor;position:absolute;width:90%;top:20%;animation:room-scan 7s linear infinite;opacity:.2}.room-tape{left:4.8%;top:51.5%;width:5.2%;height:4%;display:flex;align-items:center;justify-content:space-around;opacity:.35}.room-tape i{width:27%;aspect-ratio:1;border:1px dashed #cfc7a0;border-radius:50%;animation:room-reel 5s linear infinite}.room-pet{left:87.2%;top:60.7%;width:8%;height:15%;object-fit:contain;opacity:.8}.room-scene[data-active=computer] .room-computer,.room-scene[data-active=television] .room-tv{opacity:.85;filter:drop-shadow(0 0 10px #7de8ff)}.room-scene[data-active=cassette] .room-tape{opacity:1}.room-scene[data-active=cage] .room-pet{opacity:1}.room-hotspot span small{display:block;font:10px system-ui;margin-top:3px;color:#c0cbc6}.object-list a.is-discovered b{color:#9edead}.object-list a:hover,.object-list a:focus-visible{background:#2c3b3d;border-color:#d5bf83}.room-scene.motion-paused *{animation-play-state:paused!important}.room-hotspot{transition:background .2s,box-shadow .2s}.room-hotspot:focus-visible{outline-offset:7px}@keyframes room-scan{to{top:95%}}@keyframes room-reel{to{transform:rotate(360deg)}}
