:root{
  --bg:#101014;--panel:#18181f;--panel2:#22222b;--line:#343441;--text:#f7f5ef;--muted:#aaa8b3;
  --acid:#d6ff36;--hot:#ff3d68;--cyan:#54e7ff;--gold:#ffc857;--ok:#74f29a;
  --header:58px;--footer:32px;
}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,select{font:inherit}
button{cursor:pointer}
a{color:inherit}
.is-hidden{visibility:hidden}
.app{width:100%;height:100%;overflow:hidden}
.screen{display:none;width:100%;height:100%}.screen.active{display:flex}
.preloader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:radial-gradient(circle at 50% 30%,#262631 0,#101014 55%);padding:20px}
.preloader-card{text-align:center;width:min(520px,92vw)}
.preloader-card h1{font-size:clamp(28px,4vw,54px);line-height:.95;margin:18px 0 10px}.preloader-card p{color:var(--muted);margin:0 0 18px}
.preloader-door{width:92px;height:126px;margin:auto;background:#2b2b36;border:6px solid #444453;border-bottom:none;border-radius:5px 5px 0 0;padding:8px;perspective:300px}
.preloader-door span{display:block;width:100%;height:100%;background:linear-gradient(135deg,#823a30,#4c231f);transform-origin:left;animation:doorpeek 1.4s ease-in-out infinite alternate;border:2px solid #a55545}
@keyframes doorpeek{to{transform:rotateY(-45deg)}}
.loadbar{height:12px;background:#2e2e39;border-radius:99px;overflow:hidden}.loadbar span{display:block;width:0;height:100%;background:var(--acid);transition:width .12s linear}.preloader strong{display:block;margin-top:8px;color:var(--acid)}

.home-screen{position:relative;flex-direction:column;justify-content:center;background:radial-gradient(circle at 70% 35%,#343442 0,#15151c 33%,#0c0c10 72%);overflow:hidden}
.home-screen:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 59px,rgba(255,255,255,.025) 60px),repeating-linear-gradient(0deg,transparent 0 59px,rgba(255,255,255,.018) 60px);pointer-events:none}
.home-inner{position:relative;z-index:1;width:min(1180px,92vw);margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.7fr);gap:6vw;align-items:center}
.eyebrow{font-size:12px;letter-spacing:.22em;font-weight:900;color:var(--acid);margin:0 0 10px}.home-copy h1{font-size:clamp(54px,7vw,104px);line-height:.78;letter-spacing:-.06em;margin:0;text-transform:uppercase}.home-copy h1 span{color:var(--hot);text-shadow:3px 3px 0 #fff}.tagline{font-size:clamp(16px,1.8vw,22px);max-width:650px;color:#cbc9d3;margin:26px 0 22px}
.home-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{border:1px solid #4a4a58;background:#24242d;color:#fff;border-radius:12px;padding:12px 18px;font-weight:900;letter-spacing:.03em;min-height:46px}.btn:hover{filter:brightness(1.12)}.btn.primary{background:var(--acid);color:#111;border-color:transparent}.home-mini{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.home-mini span{font-size:12px;color:#c1bfca;border:1px solid #3c3c48;border-radius:99px;padding:6px 10px;background:#16161cc9}
.home-door-wrap{position:relative;display:grid;place-items:center}.home-door{position:relative;width:min(300px,32vw);aspect-ratio:.68;background:linear-gradient(90deg,#56302b,#7a4036 42%,#5a2c28);border:13px solid #292932;border-bottom-width:18px;box-shadow:0 22px 60px #0009,inset -16px 0 0 #0002}.door-number{position:absolute;top:8%;left:50%;transform:translateX(-50%);font-size:42px;font-weight:1000;color:#f8e1a5}.door-eye{position:absolute;top:25%;left:50%;width:25px;height:25px;border-radius:50%;background:#0c0c10;border:6px solid #b58b52;transform:translateX(-50%)}.door-knob{position:absolute;right:12%;top:53%;width:28px;height:28px;border-radius:50%;background:#d6ab5c;box-shadow:inset -5px -5px 0 #805c24}.door-graffiti{position:absolute;bottom:15%;left:11%;transform:rotate(-8deg);font-family:Impact,Haettenschweiler,sans-serif;font-size:clamp(18px,2vw,28px);color:#ff5b72;text-align:center}.home-rabbit{position:absolute;right:-2%;bottom:-2%;font-size:82px;filter:drop-shadow(0 10px 10px #0008);transform:rotate(8deg)}.home-rabbit:after{content:"≋≋≋";position:absolute;left:17px;top:31px;font-size:24px;color:#222;letter-spacing:-9px;transform:rotate(-20deg)}.home-tip{position:absolute;z-index:1;bottom:18px;left:50%;transform:translateX(-50%);width:max-content;max-width:90vw;text-align:center;color:#777683;font-size:12px}

.game-screen{flex-direction:column;background:#0d0d11;min-height:0}.topbar{height:var(--header);flex:0 0 var(--header);display:grid;grid-template-columns:210px 1fr 180px;align-items:center;padding:0 14px;border-bottom:1px solid #30303a;background:#15151b;gap:12px}.brand-mini{line-height:.9}.brand-mini b{display:block;font-size:18px}.brand-mini span{color:var(--hot);font-size:12px;font-weight:900}.level-meta{text-align:center;min-width:0}.level-meta span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.14em}.level-meta strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:18px}.top-actions{display:flex;justify-content:flex-end;gap:8px}.icon-btn{width:40px;height:40px;border-radius:10px;border:1px solid #3d3d48;background:#25252e;color:#fff;font-size:19px;font-weight:900}.icon-btn.muted{opacity:.45;text-decoration:line-through}
.game-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:10px;padding:10px}.room-panel{position:relative;min-height:0;border:1px solid #343440;border-radius:18px;overflow:hidden;background:#17171d}.room{width:100%;height:100%;position:relative;overflow:hidden;isolation:isolate;user-select:none}.side-panel{min-height:0;display:flex;flex-direction:column;gap:9px;border:1px solid #343440;border-radius:18px;background:#17171d;padding:10px;overflow:hidden}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.stat-row div{background:#22222a;border:1px solid #34343f;border-radius:10px;padding:7px;text-align:center}.stat-row span,.mission-card>span,.card-head>span,.progress-label span{display:block;color:#888795;font-size:9px;font-weight:900;letter-spacing:.12em}.stat-row b{font-size:16px;color:var(--acid)}.mission-card{background:#202028;border-left:4px solid var(--hot);border-radius:9px;padding:9px 10px}.mission-card p{font-size:13px;line-height:1.25;margin:4px 0 0}.inventory-card{background:#202028;border-radius:9px;padding:8px}.card-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.card-head small{font-size:9px;color:#777682}.inventory{display:flex;gap:7px;margin-top:7px;min-height:48px}.inv-item{width:48px;height:48px;border:1px solid #41414c;border-radius:9px;background:#2b2b34;color:#fff;display:grid;place-items:center;font-size:24px;position:relative}.inv-item.selected{border-color:var(--acid);box-shadow:0 0 0 2px #d6ff3640}.inv-item .inv-name{position:absolute;inset:auto 2px 2px;font-size:7px;background:#000b;border-radius:4px;line-height:1.1;padding:2px;text-align:center}.inventory:empty:after{content:"Vuoto. Come il frigo alle 3 di notte.";font-size:10px;color:#777682;align-self:center}.hint-btn{width:100%;padding:9px 12px;min-height:40px;font-size:12px}.hint-box{font-size:11px;line-height:1.28;color:#c9c7d0;background:#111116;border:1px dashed #363641;border-radius:9px;padding:8px;min-height:48px;overflow:auto}.progress-wrap{margin-top:auto}.progress-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.progress-label b{font-size:10px}.progress{height:7px;border-radius:99px;overflow:hidden;background:#2c2c36}.progress span{display:block;height:100%;width:5%;background:var(--acid);transition:width .3s ease}.footer{height:var(--footer);flex:0 0 var(--footer);display:flex;align-items:center;justify-content:center;gap:8px;color:#83828d;font-size:10px;border-top:1px solid #292932;background:#111116}.footer a{text-decoration:none}.footer a:hover{color:#fff}
.toast{position:absolute;left:50%;bottom:18px;z-index:30;transform:translate(-50%,12px);opacity:0;pointer-events:none;background:#09090dcc;border:1px solid #454553;color:#fff;padding:10px 14px;border-radius:10px;font-weight:800;font-size:13px;max-width:min(600px,80%);text-align:center;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}.level-complete{position:absolute;inset:0;z-index:40;display:grid;place-items:center;background:#09090bc9;opacity:0;pointer-events:none;transition:.25s}.level-complete.show{opacity:1}.level-complete div{text-align:center;border:1px solid #5a5a66;background:#191920;padding:24px 34px;border-radius:18px;box-shadow:0 20px 70px #000}.level-complete small{display:block;letter-spacing:.2em;color:var(--acid);font-weight:900}.level-complete strong{display:block;font-size:54px;color:#fff;margin:6px}.level-complete p{margin:0;color:#bbb9c3}
.modal{position:fixed;inset:0;z-index:500;display:none;place-items:center;background:#08080ccb;padding:18px}.modal.open{display:grid}.modal-card{position:relative;width:min(460px,92vw);background:#1d1d24;border:1px solid #454550;border-radius:18px;padding:24px;box-shadow:0 20px 80px #000}.modal-card h2{font-size:28px;margin:0 0 8px}.modal-card p{color:#bbb9c4}.modal-card label{display:block;font-weight:800;font-size:12px;margin:18px 0 6px}.modal-card select{width:100%;height:48px;background:#111116;color:#fff;border:1px solid #454550;border-radius:10px;padding:0 12px;margin-bottom:12px}.modal-card .btn{width:100%}.modal-close{position:absolute;right:12px;top:10px;width:38px;height:38px;border-radius:50%;border:0;background:#2b2b34;color:#fff;font-size:26px}

/* Shared room scenery */
.room-scene{position:absolute;inset:0;overflow:hidden;background:linear-gradient(#54545f 0 60%,#292930 60%)}.room-scene:before{content:"";position:absolute;inset:0 0 40%;background:repeating-linear-gradient(90deg,transparent 0 119px,#ffffff0b 120px),repeating-linear-gradient(0deg,transparent 0 89px,#00000014 90px);pointer-events:none}.floor{position:absolute;left:-5%;right:-5%;bottom:-20%;height:42%;background:repeating-linear-gradient(90deg,#34343c 0 120px,#2c2c33 121px 240px);transform:perspective(600px) rotateX(62deg);transform-origin:bottom;z-index:0}.door{position:absolute;left:50%;bottom:15%;width:24%;height:66%;min-width:150px;transform:translateX(-50%);background:linear-gradient(90deg,#592e28,#7c4036 50%,#5c2d28);border:10px solid #23232b;box-shadow:0 16px 30px #0008;z-index:2}.door:before{content:"";position:absolute;inset:7%;border:2px solid #b667553d;box-shadow:inset 0 0 0 6px #00000012}.door .knob{position:absolute;right:8%;top:53%;width:22px;height:22px;border-radius:50%;background:#e0b45f;box-shadow:inset -4px -4px 0 #89621f}.door .plate{position:absolute;top:8%;left:50%;transform:translateX(-50%);background:#19191edb;border:1px solid #77736a;color:#f8d896;border-radius:6px;padding:6px 10px;font-weight:900;font-size:14px;white-space:nowrap}.door.unlocked{animation:doorOpen .8s ease forwards;transform-origin:left center}@keyframes doorOpen{to{transform:translateX(-50%) perspective(800px) rotateY(-66deg);filter:brightness(.5)}}
.interactive{cursor:pointer;touch-action:manipulation}.hotspot{position:absolute;z-index:5}.note{position:absolute;background:#e6dfc5;color:#222;padding:12px;font-family:"Comic Sans MS",cursive;box-shadow:0 4px 10px #0004;z-index:4;transform:rotate(-3deg)}.sign{position:absolute;background:#f0e4c3;color:#1c1c1c;border:6px solid #3b2b1e;padding:9px 14px;font-weight:1000;text-align:center;z-index:6}.wall-frame{position:absolute;background:#1e1e24;border:8px solid #3a2a20;padding:12px;color:#f2eee2;text-align:center;z-index:4}.keypad{position:absolute;z-index:8;width:160px;background:#1b1b22;border:5px solid #33333d;border-radius:12px;padding:10px;box-shadow:0 10px 25px #0008}.keypad-display{height:34px;border-radius:6px;background:#07140d;color:#78ffad;font:700 18px monospace;display:flex;align-items:center;justify-content:flex-end;padding:0 8px;margin-bottom:7px;letter-spacing:.22em}.keypad-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.keypad-grid button{height:34px;border:1px solid #4a4a55;border-radius:6px;background:#2b2b34;color:#fff;font-weight:800}.keypad-grid .enter{grid-column:span 2;background:#295f42}.keypad-grid .clear{background:#702e3b}.lever{width:20px;height:78px;background:#444;border-radius:99px;border:4px solid #222;position:absolute;z-index:7}.lever:before{content:"";position:absolute;width:34px;height:34px;left:50%;top:-10px;transform:translateX(-50%);border-radius:50%;background:var(--hot);box-shadow:inset -5px -5px 0 #932239}.lever.on:before{top:48px;background:var(--ok)}
.rabbit-card{position:absolute;z-index:7;width:190px;background:#e9dcc0;border:10px solid #38291f;color:#201c19;text-align:center;padding:8px;box-shadow:0 10px 30px #0006}.rabbit-face{font-size:82px;line-height:1;position:relative}.rabbit-face:after{content:"≋≋≋";position:absolute;left:48px;top:34px;color:#32261e;font-size:26px;letter-spacing:-10px;transform:rotate(-18deg)}.rabbit-card b{display:block;font-size:12px;margin-top:4px}.speech{position:absolute;z-index:9;background:#fff;color:#151515;border-radius:14px;padding:10px 12px;font-weight:800;font-size:12px;max-width:220px}.speech:after{content:"";position:absolute;bottom:-10px;left:20px;border:10px solid transparent;border-top-color:#fff;border-bottom:0}

/* Level-specific visual pieces */
.red-button{width:86px;height:86px;border-radius:50%;background:#e52c43;border:11px solid #742131;box-shadow:0 10px 0 #441620,0 14px 22px #0007,inset 0 8px 0 #ff7384}.tiny-switch{width:42px;height:58px;border-radius:6px;background:#d5c8a5;border:5px solid #554d3c}.rug{position:absolute;z-index:3;width:42%;height:18%;left:9%;bottom:7%;background:repeating-linear-gradient(90deg,#8f303c 0 34px,#bc9c4a 35px 44px,#6b2330 45px 76px);border:5px solid #54222a;transform:skewX(-8deg);cursor:grab;touch-action:none}.rug.dragged{left:49%;transform:skewX(8deg)}.key-object{position:absolute;z-index:2;font-size:48px;filter:drop-shadow(0 5px 4px #0007)}
.color-pad{position:absolute;z-index:7;display:grid;grid-template-columns:repeat(2,72px);gap:9px}.color-pad button{width:72px;height:72px;border-radius:16px;border:7px solid #202027}.balloon{position:absolute;z-index:5;width:76px;height:90px;border-radius:50%;cursor:pointer;border:3px solid #ffffff33}.balloon:after{content:"";position:absolute;left:50%;bottom:-48px;width:1px;height:48px;background:#fff8}.mirror{position:absolute;z-index:4;background:linear-gradient(135deg,#cde7f0,#6d8790);border:12px solid #42424c;box-shadow:inset 0 0 40px #fff8}.toilet{position:absolute;z-index:5;width:150px;height:120px;background:#e8eceb;border-radius:55% 55% 24% 24%;border:5px solid #aeb8b6}.toilet:before{content:"";position:absolute;left:23px;top:-64px;width:96px;height:78px;background:#e8eceb;border:5px solid #aeb8b6;border-radius:10px}.flush{position:absolute;z-index:6;width:36px;height:18px;background:#9aa4a4;border-radius:6px;cursor:pointer}.flash-code{position:absolute;z-index:12;color:#64ff9a;font:1000 48px monospace;text-shadow:0 0 15px #1cff70;opacity:0}.flash-code.show{animation:flashCode 1.1s ease}@keyframes flashCode{20%,70%{opacity:1}0%,100%{opacity:0}}.crate{position:absolute;z-index:4;width:90px;height:74px;background:#795337;border:7px solid #51361f}.crate:after,.crate:before{content:"";position:absolute;inset:8px;border-top:7px solid #51361f;transform:rotate(30deg)}.crate:after{transform:rotate(-30deg)}
.bookcase{position:absolute;z-index:5;width:190px;height:68%;bottom:12%;background:#4a3025;border:10px solid #2d1d17;display:grid;grid-template-columns:repeat(4,1fr);gap:5px;padding:9px;cursor:grab;transition:left .35s ease}.bookcase span{background:#8d4a56;border-bottom:8px solid #c39858}.bookcase.moved{left:68%!important}.clock{position:absolute;z-index:5;width:160px;height:160px;border-radius:50%;background:#eee7d5;border:13px solid #3f3329;color:#222;display:grid;place-items:center;font-size:38px;font-weight:1000}.clock:before,.clock:after{content:"";position:absolute;left:50%;top:50%;width:5px;background:#222;transform-origin:50% 100%;border-radius:9px}.clock:before{height:46px;transform:translate(-50%,-100%) rotate(60deg)}.clock:after{height:58px;transform:translate(-50%,-100%) rotate(180deg)}.trash{position:absolute;z-index:5;width:110px;height:130px;background:linear-gradient(90deg,#555,#888,#4b4b4b);clip-path:polygon(8% 0,92% 0,82% 100%,18% 100%);cursor:pointer}.bottle{position:absolute;z-index:6;width:52px;height:92px;border-radius:8px 8px 15px 15px;border:4px solid #ffffff44;cursor:pointer}.bottle:before{content:"";position:absolute;left:13px;top:-25px;width:20px;height:26px;background:inherit;border:3px solid #ffffff33}.three-doors{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);gap:5%;align-items:end;padding:5% 6% 7%;z-index:4}.small-door{height:68%;background:#6b342d;border:10px solid #27272f;position:relative;cursor:pointer}.small-door b{position:absolute;top:8%;left:50%;transform:translateX(-50%);background:#eee4c5;color:#111;padding:7px 9px;border-radius:5px;text-align:center;font-size:11px;min-width:90%}.lamp{position:absolute;z-index:5;width:120px;height:120px;border-radius:50%;background:#f0d66a;box-shadow:0 0 40px #f0d66a80;cursor:pointer}.lamp.off{background:#4b493d;box-shadow:none}.big-choice{position:absolute;z-index:6;display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.big-choice button{font-size:18px;padding:16px 22px;border-radius:12px;border:3px solid #30303a;font-weight:1000}.big-choice .danger{background:#dc3650;color:#fff}.big-choice .safe{background:#38414a;color:#fff}

@media(max-width:850px){
  :root{--header:52px;--footer:28px}.topbar{grid-template-columns:120px 1fr 126px;padding:0 7px}.brand-mini b{font-size:14px}.level-meta strong{font-size:14px}.level-meta span{font-size:8px}.top-actions{gap:4px}.icon-btn{width:36px;height:36px}.game-layout{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;padding:5px;gap:5px}.side-panel{display:grid;grid-template-columns:1.2fr 1fr;grid-template-areas:"stats mission" "inventory hintbtn" "inventory hint" "progress progress";gap:5px;padding:6px;border-radius:12px;max-height:210px}.stat-row{grid-area:stats}.mission-card{grid-area:mission}.inventory-card{grid-area:inventory}.hint-btn{grid-area:hintbtn}.hint-box{grid-area:hint}.progress-wrap{grid-area:progress}.footer{font-size:8px;gap:4px}.room-panel{border-radius:12px}.door{height:62%;min-width:115px}.home-inner{grid-template-columns:1fr;text-align:center}.home-door-wrap{display:none}.home-actions{justify-content:center}.home-mini{justify-content:center}.home-copy h1{font-size:clamp(50px,15vw,80px)}.home-tip{font-size:10px}.hint-box{min-height:40px;max-height:58px}.inventory{min-height:43px}.inv-item{width:42px;height:42px}.card-head small{display:none}
}
@media(max-width:520px){.side-panel{grid-template-columns:1fr 1fr;max-height:190px}.mission-card p{font-size:10px}.stat-row div{padding:4px}.stat-row b{font-size:12px}.hint-btn{font-size:10px;padding:5px}.hint-box{font-size:9px}.footer span:nth-child(2),.footer span:nth-child(4){display:none}.footer{justify-content:space-around}.level-meta span{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Livelli 21-40 */
.word-wall{position:absolute;z-index:5;display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:12px;width:38%}.word-wall b{background:#25252d;border:2px solid #555563;border-radius:10px;padding:14px 10px;text-align:center;font-size:23px;letter-spacing:.08em}
.shelf-puzzle{position:absolute;z-index:5;width:42%;height:42%;background:#442c21;border:10px solid #281b16;display:flex;align-items:end;justify-content:center;gap:7px;padding:16px}.spine{width:38px;border:0;border-radius:4px 4px 1px 1px;background:#8d4a56;color:#fff;font-weight:1000;box-shadow:inset -5px 0 0 #0002}.spine:nth-child(2n){background:#5d7197}.spine:nth-child(3n){background:#8f783c}.spine.picked{transform:translateY(24px);opacity:.45}
.equation-board{position:absolute;z-index:5;background:#17201b;border:8px solid #4a3927;color:#e8f4e9;padding:16px 22px;min-width:39%;font:900 24px/1.55 ui-monospace,monospace;box-shadow:inset 0 0 35px #0008}.equation-board hr{border:0;border-top:1px solid #ffffff55}.equation-board small{font-size:13px;color:#b7ffce}.equation-board.dense{font-size:25px}
.binary-board{position:absolute;z-index:5;background:#17171c;border:5px solid #41414b;border-radius:14px;padding:16px}.binary-row{display:flex;gap:9px;margin:7px 0}.bit{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#2a2a31;border:3px solid #55545d;color:#777;font-weight:1000}.bit.on{background:#d8ed68;color:#1a1a1d;box-shadow:0 0 16px #d8ed6870}.binary-board small{display:block;margin-top:10px;color:#9e9ca7;font-size:10px;text-align:center}
.riddle-list{position:absolute;z-index:5;width:48%;background:#e8dfc7;color:#1e1d1a;border:7px solid #49392c;padding:13px 19px;transform:rotate(-1deg);box-shadow:0 12px 30px #0005}.riddle-list p{margin:8px 0;font-weight:900;font-size:17px}
.cipher-card{position:absolute;z-index:5;width:47%;background:#211c18;border:8px solid #6c5133;color:#f1e4c8;padding:18px;text-align:center}.cipher-card small{display:block;color:#c69b66;font-weight:900;letter-spacing:.16em;margin-bottom:16px}.cipher-card b{display:block;font:1000 27px/1.5 ui-monospace,monospace;letter-spacing:.06em}
.poster-secret{position:absolute;z-index:5;width:38%;height:48%;background:#d9d1bd;color:#222;border:9px solid #342a24;padding:18px;text-align:center;display:flex;flex-direction:column;justify-content:space-between}.poster-secret b{font-size:19px}.poster-secret span{font:1000 48px ui-monospace,monospace;color:transparent;text-shadow:none;transition:.2s}.poster-secret span.visible{color:#73ffad;text-shadow:0 0 13px #38ff86}.poster-secret small{font-weight:800}.lamp-switch{position:absolute;z-index:7;border:4px solid #22252c;background:#ded6bd;color:#111;border-radius:8px;padding:12px 18px;font-weight:1000}.room-scene.dark-room{background:linear-gradient(#11141a 0 60%,#0b0c10 60%)}.room-scene.dark-room:before{opacity:.2}
.fraction-board{position:absolute;z-index:5;width:43%;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.fraction-board button{min-height:82px;border:4px solid #3d3d48;border-radius:14px;background:#25252e;color:#fff;font:1000 28px ui-monospace,monospace}.fraction-board button.picked{border-color:var(--acid);background:#38402a}
.coat{position:absolute;z-index:5;width:180px;height:320px;background:#39414a;clip-path:polygon(32% 0,68% 0,76% 12%,94% 23%,82% 48%,74% 42%,80% 100%,20% 100%,26% 42%,18% 48%,6% 23%,24% 12%);filter:drop-shadow(0 12px 8px #0006)}.coat:after{content:"";position:absolute;left:55%;top:48%;width:40px;height:44px;border:3px solid #9097a0;border-top:0}.coat.open:after{background:#121418;box-shadow:inset 0 0 0 3px #5f6872}.coat span{position:absolute;left:50%;top:-35px;width:60px;height:50px;border:6px solid #b6a16d;border-bottom:0;border-radius:50% 50% 0 0;transform:translateX(-50%)}
.logic-note{position:absolute;z-index:5;background:#e9dfc5;color:#201f1a;border:6px solid #4b3929;padding:14px 18px;font-weight:800;line-height:1.55;transform:rotate(-2deg)}.switch-board{position:absolute;z-index:6;display:flex;gap:9px;flex-wrap:wrap;width:45%}.switch-board button{min-width:68px;min-height:70px;border:3px solid #42424e;border-radius:12px;background:#292932;color:#fff;font-weight:1000}.switch-board button span{display:block;font-size:10px;color:#9998a3}.switch-board button.on{background:#46572d;border-color:#bde457}.switch-board button.on span{color:#d6ff86}.switch-board .check{width:100%;min-height:44px;background:#34343d}
.prime-grid{position:absolute;z-index:5;width:45%;display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.prime-grid button{height:62px;border:3px solid #41414b;border-radius:12px;background:#26262e;color:#fff;font-size:22px;font-weight:1000}.prime-grid button.picked{border-color:var(--acid);background:#3a432d}
.clock-card{position:absolute;z-index:5;width:39%;background:#eee5d1;color:#171717;border:8px solid #46362b;padding:24px;text-align:center;transform:rotate(1deg)}.clock-card b{display:block;font:1000 54px ui-monospace,monospace}.clock-card span{display:block;font-weight:1000;font-size:22px;margin:8px}.clock-card small{font-weight:900}
.mastermind{position:absolute;z-index:5;width:58%;background:#171d19;border:8px solid #4b3b2a;padding:12px 18px;color:#e8f1e9}.mastermind p{margin:8px 0;font-size:14px}.mastermind p b{display:inline-block;min-width:52px;color:#d6ff70;font:1000 19px ui-monospace,monospace}.mastermind small{display:block;border-top:1px solid #ffffff30;margin-top:12px;padding-top:10px;color:#bbb}
.morse-card{position:absolute;z-index:5;width:57%;background:#ece4ce;color:#1b1b18;border:8px solid #453629;padding:15px;transform:rotate(-1deg)}.morse-card small{display:block;font:800 12px/1.7 ui-monospace,monospace;color:#5a544a}.morse-card b{display:block;margin-top:18px;padding-top:14px;border-top:2px dashed #7c7160;font:1000 24px/1.5 ui-monospace,monospace;letter-spacing:.07em}
.remote{position:absolute;z-index:6;width:70px;height:150px;border:4px solid #45454f;border-radius:16px;background:#1c1c22;color:#b8b8c4;display:grid;place-items:center;font-size:38px}.remote small{font-size:8px;position:absolute;bottom:12px}.drawer-stack{position:absolute;z-index:5;width:170px;background:#553d2c;border:8px solid #352518;padding:8px;display:grid;gap:6px}.drawer-stack button{height:56px;border:4px solid #37261b;background:#79583e;color:#c7a778;font-size:25px;transition:.2s}.drawer-stack button.open{transform:translateX(42px)}.battery{position:absolute;z-index:7;font-size:46px;filter:drop-shadow(0 4px 4px #0008)}
.suspects{position:absolute;z-index:5;width:58%;display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.suspects>div{background:#24242c;border:3px solid #474752;border-radius:10px;padding:12px}.suspects>div b{display:block;color:var(--acid);font-size:17px;margin-bottom:6px}.suspects>div span{font-size:12px;line-height:1.3}.suspects small{grid-column:1/-1;text-align:center;color:#bbb;font-weight:900;margin:4px}.suspects button{border:3px solid #494954;background:#752f40;color:#fff;border-radius:10px;padding:10px 6px;font-size:11px;font-weight:1000}
.final-riddles{position:absolute;z-index:5;width:49%;background:#e9dfc5;color:#201f1b;border:8px solid #46362b;padding:12px 18px;transform:rotate(-1deg)}.final-riddles p{font-weight:900;font-size:15px;margin:9px 0}.final-riddles small{display:block;border-top:1px solid #6d6354;padding-top:8px;font-weight:800}

@media(max-width:850px){
  .word-wall,.equation-board,.riddle-list,.cipher-card,.poster-secret,.fraction-board,.logic-note,.switch-board,.prime-grid,.clock-card,.mastermind,.morse-card,.suspects,.final-riddles{transform:scale(.82);transform-origin:left top}
  .shelf-puzzle{transform:scale(.82);transform-origin:left top}.coat{transform:scale(.78);transform-origin:left top}.binary-board{transform:scale(.78);transform-origin:left top}
}
