:root{color-scheme:dark;--ink:#101916;--panel:#17241e;--gold:#ddc18b;--pale:#f8edd5;--muted:#b7b6a4;--red:#8b2e3e;--reel-height:150px;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;background:#0c1310;color:var(--pale);min-width:300px}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible{outline:3px solid #ffdd91;outline-offset:5px}button,dialog{ -webkit-tap-highlight-color:transparent}button[hidden],[hidden]{display:none!important}button{touch-action:manipulation}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}button:active:not(:disabled){filter:brightness(1.12)}.topbar{max-width:1400px;margin:auto;padding:24px 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddc18b26;gap:20px}.brand{display:flex;align-items:center;gap:12px;letter-spacing:.17em;font-size:17px}.brand-mark{font-family:Georgia,serif;display:grid;place-items:center;width:43px;height:48px;border:1px solid #cfb47d;font-size:32px}.brand small{display:block;font-size:12px;letter-spacing:.19em;margin-top:7px;color:var(--muted)}.chapter{text-align:center;font-family:Georgia,serif}.chapter span{display:block;font:12px Arial,sans-serif;letter-spacing:.2em;color:var(--gold);margin-bottom:6px}.chapter strong{font-size:18px;font-weight:400}.text-button{background:none;border:none;display:flex;align-items:center;gap:10px;font-size:14px;color:var(--gold);padding:10px 0}.text-button span{border:1px solid #ddc18b60;border-radius:50%;height:24px;width:24px;display:grid;place-items:center}main{max-width:1320px;padding:0 28px;margin:auto}.mission{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:23px 0 20px}.eyebrow{display:block;font:12px/1.5 Arial,sans-serif;letter-spacing:.18em;color:var(--gold)}.mission h1{font-size:clamp(19px,2.2vw,27px);margin-top:5px;line-height:1.3}.quest-badge{border:1px solid #b99e6245;color:var(--gold);padding:8px 12px;font-size:12px;letter-spacing:.13em;white-space:nowrap}.room-frame{border:1px solid #c6a36565;padding:5px;background:#0b110e;box-shadow:0 15px 50px #0005}.casino-scene{position:relative;aspect-ratio:3/2;overflow:hidden;isolation:isolate}.room-art{width:100%;height:100%;object-fit:contain;display:block}.hotspot{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid transparent;border-radius:25px;background:none;transition:background .2s,border-color .2s,box-shadow .2s;z-index:2}.hotspot:hover,.hotspot:focus-visible{background:#ecc07012;border-color:#ebc16b9c;box-shadow:inset 0 0 30px #f4d49715}.hotspot-slot{left:43%;top:9%;width:14%;height:34%}.hotspot-cabinet{left:12%;top:25%;width:20%;height:16%}.hotspot-wheel{left:74%;top:7%;width:18%;height:33%}.hotspot-roulette{left:3%;top:45%;width:39%;height:38%}.hotspot-blackjack{left:63%;top:49%;width:36%;height:35%}.spot-dot{display:grid;place-items:center;font-size:20px;width:30px;height:30px;border:1px solid #ecd7a6b3;background:#102019bd;box-shadow:0 0 0 5px #0003;border-radius:50%;color:#ffe7b6;backdrop-filter:blur(3px);transition:transform .2s}.hotspot:hover .spot-dot{transform:scale(1.2);background:#d5b675;color:#141b15}.spot-label{position:absolute;bottom:-12px;white-space:nowrap;padding:7px 12px;border:1px solid #c4a26b66;background:#111c16ed;font-family:Georgia,serif;font-size:16px;color:#f1dfb4;opacity:0;transform:translateY(-4px);transition:.2s;pointer-events:none}.spot-label small{font:12px Arial,sans-serif;display:block;color:#dcb88b;letter-spacing:.14em;margin-top:5px}.hotspot:hover .spot-label,.hotspot:focus-visible .spot-label,.hotspot-slot .spot-label{opacity:1;transform:none}.hotspot-slot .spot-label{bottom:4px;font-size:14px}.hotspot.drop-ready{border:2px dashed #f1da9e;background:#edd19b26;box-shadow:0 0 35px #e9bb6855}.room-caption{position:absolute;bottom:3.8%;left:0;right:0;text-align:center;font:italic clamp(12px,1.2vw,18px) Georgia,serif;color:#f6e0b9;text-shadow:0 2px 6px #000}.room-caption span{margin-right:10px;color:var(--gold)}.inventory-bar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 0}.inventory-label>span:last-child{display:block;font-size:13px;line-height:1.5;color:var(--muted);margin-top:5px}.inventory-items{display:flex;gap:10px}.inventory-item{min-width:164px;min-height:58px;display:flex;align-items:center;justify-content:center;gap:14px;background:#16221b;border:1px solid #c1a5693d;padding:9px 14px;font-size:13px}.inventory-item>span:first-child:not(.lever-symbol){font:30px Georgia,serif;color:var(--gold)}.inventory-item[aria-pressed=true]{border-color:#f6d791;background:#514a2e;box-shadow:0 0 15px #d1b47b25}.inventory-item:not(:disabled):hover{background:#253526;border-color:var(--gold)}.inventory-item#leverItem:not(:disabled){touch-action:none;cursor:grab}.lever-symbol{position:relative;display:inline-block;flex:none;width:20px;height:39px;border-radius:6px;background:linear-gradient(90deg,#665a4b,#ebd7af 50%,#8e704c);transform:rotate(25deg) scale(.65);transform-origin:center}.lever-symbol:before{content:'';position:absolute;width:28px;height:28px;top:-15px;left:-4px;background:radial-gradient(circle at 30% 25%,#fbb3ac,#b82f41 40%,#541321);border-radius:50%;box-shadow:0 3px 4px #0005}.lever-symbol:after{content:'';position:absolute;bottom:-5px;left:-5px;width:30px;height:12px;border-radius:5px;background:linear-gradient(#ddba79,#775638)}.site-footer{max-width:1264px;margin:4px auto 25px;padding:0 28px;display:flex;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:.11em;color:#969982;line-height:1.6}.site-footer>span:last-child{letter-spacing:0;font-family:Georgia,serif;font-size:13px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);z-index:1100;background:#21332a;border:1px solid #d7bb80;padding:14px 20px;box-shadow:0 8px 30px #0008;max-width:min(90vw,520px);text-align:center;font-size:15px;line-height:1.45;opacity:0;pointer-events:none;transition:.2s}.toast.visible{opacity:1;transform:translate(-50%,0)}dialog{padding:0;border:1px solid #c3a26896;width:min(720px,calc(100vw - 32px));max-height:92svh;overflow:auto;background:var(--panel);color:var(--pale);box-shadow:0 25px 100px #000b}dialog::backdrop{background:#050b08ce;backdrop-filter:blur(7px)}.dialog-header{padding:22px 27px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #d0b78933;position:sticky;top:0;background:var(--panel);z-index:5}.dialog-header h2{font-size:29px;margin-top:4px}.close-button{background:#ffffff07;border:1px solid #d4bf8838;width:39px;height:39px;border-radius:50%;font:26px Arial,sans-serif;color:#d5bd90;flex:none}.dialog-body{padding:24px 28px 30px}.panel{text-align:center}.panel-intro{font-size:16px;line-height:1.55;color:#c8caba;margin:0 auto 22px;max-width:550px}.primary-button,.secondary-button,.paper-button{padding:12px 20px;min-height:46px;border:1px solid #dcc08a;font-size:15px;font-weight:600;background:#d8ba7e;color:#142219;transition:.2s}.primary-button:hover{background:#efdbb0}.secondary-button{background:#23392c;color:#ead8b2;border-color:#879572}.paper-button{background:transparent;color:#d7c194;border:0;border-bottom:1px dashed #958365;font-size:14px;font-weight:400;margin-top:20px;padding:8px 3px;min-height:36px}.controls{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.feedback{min-height:45px;line-height:1.5;margin:18px 0 10px;font-size:16px;color:#e1d7bc}.note-paper{background:#e9dfc2;color:#332c1d;padding:25px 28px;margin:20px 0 0;text-align:left;line-height:1.65;font-family:Georgia,serif;box-shadow:0 7px 0 #0002;transform:rotate(-.6deg);border:1px solid #cfba88}.note-paper small{display:block;margin-top:12px;font-size:14px;font-style:italic}.riddle-paper{margin:5px auto 28px;padding:30px 35px;max-width:520px}.riddle-paper h3{font-size:25px;margin:13px 0}.riddle-paper .eyebrow{color:#846a35}.riddle-paper p{font-size:21px;line-height:1.9}.mystery-paper{display:block;margin:23px auto 0}.hint-card{border:1px solid #d0b78945;padding:28px;background:#1c3025;margin-bottom:24px}.hint-card p{font:24px/1.5 Georgia,serif;margin-top:15px}.cabinet-lock{background:linear-gradient(125deg,#273c30,#14261d);border:2px solid #b39151;box-shadow:inset 0 0 0 7px #17241c;padding:25px 20px}.cabinet-plate>span,.cabinet-plate small{font:12px Arial,sans-serif;letter-spacing:.17em;color:#ceb683}.dials{display:flex;justify-content:center;gap:16px;margin:25px 0 19px}.dial{width:82px;height:89px;font:52px Georgia,serif;line-height:1;border:4px solid #d5b87f;border-radius:50%;background:radial-gradient(circle at 40% 30%,#f0dfb0,#b99557);color:#25362a;box-shadow:0 5px 0 #0b1912,inset 0 0 0 3px #6a4b2b;transition:transform .12s}.dial:active{transform:rotate(14deg)}.dial.red{color:#922d3e}.cabinet-lock .primary-button{margin-top:24px}.cabinet-lock.wrong{animation:shake .32s}.cabinet-inside{border:3px solid #a48851;background:linear-gradient(#0c1510,#1b3124);padding:28px;margin:10px 0}.found-lever{display:flex;align-items:center;flex-direction:column;gap:15px;background:transparent;border:0;width:100%;padding:22px 0;color:#efd69e}.found-lever .lever-symbol{transform:rotate(24deg) scale(1.65);margin:30px 0}.found-lever strong{font:24px Georgia,serif}.found-lever>span:last-child{font-size:14px;border-bottom:1px solid #9e855a;padding-bottom:6px}.game-table{border:5px solid #a68348;border-radius:28px 28px 80px 80px;background:radial-gradient(ellipse at 50% 40%,#275d44,#17472f 70%);box-shadow:inset 0 0 0 5px #122c1d,inset 0 0 40px #07150c75;padding:22px 24px 27px}.table-heading{display:flex;align-items:center;justify-content:center;gap:16px;color:#e7c381;letter-spacing:.16em;font-family:Georgia,serif}.table-number{border:1px solid #e7c3817a;padding:4px 9px;font-size:23px}.hand-label{font-size:12px;letter-spacing:.13em;color:#d9c798;margin:19px 0 9px}.hand-label b{margin-left:6px;font-size:15px;color:#fff2d3}.hand{min-height:100px;display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.playing-card{width:66px;height:94px;display:flex;flex-direction:column;justify-content:center;gap:1px;background:#f6efd9;color:#1c3025;border:1px solid #b8a581;border-radius:5px;box-shadow:0 5px 6px #0004;font:24px Georgia,serif;animation:deal .25s ease-out}.playing-card.red{color:#a82b3f}.playing-card.back{color:#d0b074;background:repeating-linear-gradient(45deg,#71333d 0,#71333d 5px,#5d2531 5px,#5d2531 10px);box-shadow:inset 0 0 0 5px #ddc89c}.felt-rule{font:12px Georgia,serif;letter-spacing:.12em;color:#e6c7876b;margin:19px 0 0}.wheel-wrap{position:relative;width:min(350px,88%);aspect-ratio:1;margin:15px auto 25px;padding:8px;isolation:isolate}.roulette-disc,.fortune-disc{position:relative;width:100%;height:100%;border-radius:50%;border:8px solid #d1ac65;box-shadow:0 0 0 3px #59472b,0 7px 15px #0005,inset 0 0 0 4px #0c2119;transition:transform 3s cubic-bezier(.12,.65,.16,1);background:#1c3526}.wheel-wrap svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.wheel-wrap svg text{font-family:Georgia,serif;fill:#f5e8ce;font-size:14px;font-weight:600;dominant-baseline:middle;text-anchor:middle}.wheel-pointer{position:absolute;top:-6px;left:calc(50% - 13px);z-index:3;width:0;height:0;border-left:13px solid transparent;border-right:13px solid transparent;border-top:28px solid #f9dc97;filter:drop-shadow(0 3px 2px #0009)}.wheel-hub{position:absolute;inset:25%;border:5px solid #ac8546;border-radius:50%;background:radial-gradient(circle at 35% 25%,#e9ca82,#b58a44 40%,#7c5727 76%);box-shadow:0 0 0 10px #263027,0 0 0 12px #caac64;display:grid;place-items:center}.wheel-hub span{font:55px Georgia,serif;color:#38291c;text-shadow:0 1px #fde3a8}.fortune-disc .wheel-hub{inset:33%;border-width:3px;box-shadow:0 0 0 5px #322a1a}.fortune-disc svg text{font-size:37px;font-weight:400}.color-choices{display:flex;gap:9px;justify-content:center}.color-choice{padding:10px 16px;border:2px solid transparent;border-radius:30px;font-size:14px}.color-choice.red{background:#8e2e3d}.color-choice.black{background:#0b1510}.color-choice.green{background:#28623e}.color-choice[aria-pressed=true]{border-color:#f7d797;box-shadow:0 0 0 3px #d5b57333}.fortune-message{font-family:Georgia,serif;font-style:italic;font-size:20px;min-height:64px}.slot-stage{width:min(100%,510px);padding-right:66px;margin:18px auto 28px}.slot-machine{position:relative;filter:drop-shadow(0 15px 20px #0006)}.slot-marquee{background:linear-gradient(135deg,#9f434c,#702735);border:3px solid #d6b677;border-radius:70px 70px 5px 5px;text-align:center;padding:22px 10px 17px;margin:0 10px -2px;box-shadow:inset 0 0 0 5px #54232a,inset 0 0 0 7px #b89968}.slot-marquee small{font-size:12px;letter-spacing:.24em;color:#ead2a4}.slot-marquee h3{font-size:40px;line-height:1.2;font-weight:700;color:#f3d9a5;margin:4px 0;text-shadow:0 3px #4f2730}.slot-marquee h3 b{letter-spacing:-.03em}.slot-marquee>span{font-size:12px;letter-spacing:.2em;color:#edd3a4}.slot-shell{position:relative;border:3px solid #d2af73;border-radius:14px 14px 20px 20px;background:linear-gradient(120deg,#a8404a,#772734 75%);padding:26px 20px 0;box-shadow:inset 0 0 0 5px #55272a,inset 0 0 0 7px #b38a55}.slot-lights{position:absolute;inset:9px 20px auto;height:7px;background:radial-gradient(circle,#ffefb8 2px,#d79b5555 3px,transparent 4px) 0 0/22px 7px repeat-x;opacity:.3}.reel-frame{padding:11px;background:linear-gradient(135deg,#f3d59b,#a5804b 45%,#edc988 65%,#805b32);border-radius:7px;box-shadow:0 3px 6px #0006}.reels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;background:#3e3025;padding:4px}.reel{height:var(--reel-height);overflow:hidden;position:relative;background:#f2eddd}.reel::after{content:'';position:absolute;inset:0;background:linear-gradient(#453b2a66,transparent 30%,transparent 70%,#453b2a66);pointer-events:none}.strip{will-change:transform}.strip span{display:flex;align-items:center;justify-content:center;height:var(--reel-height);font:700 calc(var(--reel-height)*.78)/1 Georgia,serif;color:#a12639;text-shadow:0 2px #681626}.machine-plaque{font-size:12px;letter-spacing:.18em;min-height:60px;display:grid;place-items:center;color:#e6c48d}.slot-base{height:23px;margin:0 10px;border:2px solid #a98650;border-top:0;border-radius:0 0 7px 7px;background:#592632}.lever-socket{position:absolute;right:-43px;top:64%;width:47px;height:47px;border-radius:50%;border:3px solid #9c7c4c;background:radial-gradient(#0f1411 35%,#65502d 38%,#b99557);color:#ddc28b;font-size:27px}.lever-socket.ready{border-style:dashed;box-shadow:0 0 15px #ebca6b6b;animation:socketPulse 1.7s infinite}.final-lever{--pull:0;position:absolute;right:-71px;top:calc(64% - 132px);width:78px;height:210px;background:none;border:none;padding:0;cursor:grab;touch-action:none}.lever-arm{position:absolute;left:28px;top:calc(28px + var(--pull)*105px);height:calc(135px - var(--pull)*105px);width:17px;background:linear-gradient(90deg,#75684e,#f7e8c5 45%,#af9b74 65%,#655338);border-radius:8px;transform-origin:bottom;transform:rotate(calc(var(--pull)*13deg));transition:height .22s,top .22s,transform .22s}.lever-knob{position:absolute;top:-17px;left:-17px;width:52px;height:52px;border-radius:50%;background:radial-gradient(circle at 30% 22%,#f4a59f,#ca4551 20%,#a92638 50%,#581527 80%);box-shadow:1px 5px 7px #0006}.lever-pivot{position:absolute;left:22px;top:141px;width:29px;height:29px;border-radius:50%;border:3px solid #85683f;background:radial-gradient(circle at 35% 30%,#eddaaa,#9c7945)}.final-lever:disabled{opacity:1;cursor:default}.final-lever.installing{animation:installLever .7s cubic-bezier(.16,.8,.25,1)}.slot-message h3{font-size:23px;line-height:1.3}.slot-message p{font-size:14px;line-height:1.5;color:#bec3ae;margin-top:7px}.slot-machine.ready .slot-lights,.slot-machine.won .slot-lights{opacity:1;filter:drop-shadow(0 0 4px #ffb958)}.slot-machine.won .reel-frame{box-shadow:0 0 30px #e4bc645c}.slot-machine.won .slot-lights{animation:socketPulse .5s 4}.win-message{margin:24px -4px 0;border:1px solid #d8b36b75;padding:22px;background:#293923}.win-message>span{font-size:12px;letter-spacing:.17em;color:#f2d08c}.win-message p{font:17px/1.6 Georgia,serif;margin-top:10px;color:#e9dfc7}.drag-ghost{position:fixed;left:0;top:0;z-index:2000;pointer-events:none;width:70px;height:90px;display:grid;place-items:center;filter:drop-shadow(0 5px 5px #0007)}.drag-ghost .lever-symbol{transform:rotate(22deg) scale(1.3)}body.dragging-lever,body.dragging-lever *{cursor:grabbing!important;user-select:none}.confetti{position:fixed;inset:0;pointer-events:none;z-index:3000;overflow:hidden}.confetti i{position:absolute;top:-20px;width:7px;height:13px;background:#e8c989;animation:fall 2.8s ease-in forwards}.confetti i:nth-child(3n){background:#9d394b}.confetti i:nth-child(3n + 1){background:#708d64}.game-complete .hotspot,.game-complete .inventory-item,.game-complete #helpButton{pointer-events:none}.game-complete dialog{border-color:#e4c487}.game-complete #slotIntro{display:none}
@keyframes fall{to{transform:translateY(110vh) rotate(600deg);opacity:0}}@keyframes installLever{from{transform:translate(65px,-28px) rotate(25deg);opacity:.1}to{transform:none;opacity:1}}@keyframes socketPulse{50%{filter:brightness(1.5)}}@keyframes shake{25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}@keyframes deal{from{transform:translateY(-12px);opacity:0}to{transform:none;opacity:1}}
@media(min-width:1100px){main{max-width:min(1320px,calc((100svh - 237px)*1.5 + 56px))}.topbar{padding-top:17px;padding-bottom:17px}.mission{padding-top:16px;padding-bottom:15px}}
@media(max-width:700px){.topbar{padding:17px 18px;gap:10px}.brand{font-size:14px;gap:8px}.brand-mark{width:34px;height:39px;font-size:27px}.brand small{font-size:12px;letter-spacing:.08em}.chapter{display:none}main{padding:0 13px}.mission{padding:19px 0 16px}.mission h1{font-size:21px;max-width:330px}.mission .eyebrow{font-size:12px}.quest-badge{display:none}.room-frame{padding:3px}.spot-dot{width:25px;height:25px;font-size:16px;box-shadow:0 0 0 3px #0003}.spot-label{font-size:12px;padding:5px 8px}.hotspot-slot .spot-label{font-size:12px;bottom:-5px}.spot-label small{font-size:12px}.room-caption{font-size:12px;bottom:2%}.hotspot{border-radius:12px}.inventory-bar{flex-direction:column;align-items:stretch;gap:12px;padding:17px 0}.inventory-items{display:grid;grid-template-columns:1fr 1fr;gap:8px}.inventory-item{min-width:0;padding:8px;gap:10px;min-height:58px;font-size:12px}.inventory-label>span:last-child{font-size:13px}.site-footer{padding:0 14px;margin-top:10px;font-size:12px;gap:10px}.site-footer>span:last-child{display:none}.dialog-header{padding:18px}.dialog-header h2{font-size:25px}.dialog-body{padding:20px 17px 24px}.panel-intro{font-size:15px}.riddle-paper{padding:23px}.riddle-paper p{font-size:20px}.dials{gap:10px}.dial{width:70px;height:76px;font-size:44px}.slot-stage{padding-right:51px}.slot-marquee{padding:17px 5px 15px;border-radius:52px 52px 5px 5px}.slot-marquee h3{font-size:30px}.slot-shell{padding:23px 12px 0}.reel-frame{padding:8px}:root{--reel-height:118px}.final-lever{right:-63px;transform:scale(.88);transform-origin:left 154px}.lever-socket{right:-38px;width:41px;height:41px}.slot-message h3{font-size:21px}.playing-card{width:54px;height:80px;font-size:22px}.hand{min-height:84px;gap:6px}.game-table{padding:18px 15px 23px}.primary-button,.secondary-button{padding:11px 15px}.color-choice{padding:9px 12px;font-size:13px}.wheel-wrap{width:85%}.hint-card p{font-size:21px}}
@media(max-width:370px){:root{--reel-height:99px}.slot-marquee h3{font-size:25px}.slot-stage{padding-right:45px}.slot-shell{padding-left:9px;padding-right:9px}.dials{gap:7px}.dial{width:62px;height:68px;font-size:38px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.confetti{display:none}}
/* Escape room: compact navigation, readable clues and an interactive service panel. */
.hotspot-power{left:35.6%;top:14.6%;width:4.9%;height:10.4%;min-width:32px;min-height:36px}.hotspot-power .spot-label{bottom:-24px}.room-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:14px 0 10px}.room-nav button{min-height:44px;background:#16251d;border:1px solid #c2a36350;padding:10px 13px;font-size:13px;color:#e4cfaa}.room-nav button:hover{background:#2b3d2c;border-color:#e0c080}.room-story{max-width:850px;margin:12px auto 5px;text-align:center;font:15px/1.65 Georgia,serif;color:#b9c0ab}.inventory-bar{align-items:flex-start}.inventory-items{flex-wrap:wrap;justify-content:flex-end}.inventory-item{min-width:150px}.save-status{color:#939f8c;font-size:12px;line-height:1.5;margin:0 0 18px}.dialog-shell{position:relative}.dialog-header{z-index:10}.close-button{min-width:44px;min-height:44px}.repair-status{display:flex;justify-content:center;gap:15px;flex-wrap:wrap;font-size:13px;color:#e2c68d;margin:20px 0}.slot-message{min-height:65px}.note-paper ol{padding-left:22px;line-height:1.7;font-size:18px}.note-paper li+li{margin-top:14px}.riddle-paper small{font:15px/1.65 Georgia,serif}.card-rules{font-size:14px;line-height:1.6;color:#c0c7b3;max-width:520px;margin:16px auto}.card-choices{display:flex;justify-content:center;gap:14px;margin:23px 0 10px}.card-choices button{width:65px;height:90px;border:2px solid #c0a774;border-radius:5px;background:#f3ecd7;color:#193122;font:27px Georgia,serif;box-shadow:0 5px 0 #07110b;transition:transform .15s}.card-choices button span{display:block;font-size:27px;margin-top:6px}.card-choices button[data-card="4"],.card-choices button[data-card="K"]{color:#a12639}.card-choices button:hover:not(:disabled){transform:translateY(-5px);border-color:#ffe9a9}.card-choices button:disabled{opacity:.55}.felt-rule{color:#e6c787c0;font-size:12px}.roulette-choices{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:5px;max-width:530px;margin:auto}.number-choice{min-height:44px;padding:8px 2px;border:1px solid #c6b18070;border-radius:3px;color:#fff2d8;font:16px Georgia,serif}.number-choice.red{background:#8d303e}.number-choice.black{background:#101d17}.number-choice.green{background:#286344;grid-column:1/-1}.number-choice[aria-pressed=true]{outline:2px solid #f8d68f;outline-offset:1px}.roulette-disc{transition:transform .8s cubic-bezier(.2,.65,.2,1)}.fortune-disc{transition:transform .24s ease-out}.fortune-disc svg text.wheel-index{font:18px Arial,sans-serif;fill:#fff5df}.wheel-readout{font:23px Georgia,serif;margin:0 0 20px;color:#eed496}.wheel-record{font:35px/1.4 Georgia,serif;letter-spacing:.15em;margin:19px 0 0;color:#f1d397}.fortune-message{font-family:Arial,sans-serif;font-style:normal;font-size:15px;min-height:45px}.fuse-holder{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid #bf985759;background:#101e17;padding:16px;text-align:left;font-size:14px;line-height:1.5;margin-bottom:24px}.circuit-board{display:grid;grid-template-columns:56px minmax(0,330px) 56px;align-items:center;justify-content:center;margin:20px auto;gap:4px}.circuit-label{font:10px/1.5 Arial,sans-serif;font-weight:bold;color:#e8c481;word-spacing:4px}.circuit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:7px;border:2px solid #a98649;background:#0b1811;box-shadow:inset 0 0 12px #0008}.circuit-tile{position:relative;aspect-ratio:1;border:1px solid #b9995a6b;background:linear-gradient(135deg,#2c4231,#17291f);padding:0;min-width:0;overflow:hidden}.circuit-tile:hover:not(:disabled){background:#34543b;border-color:#efce88}.wire{position:absolute;inset:0;transition:transform .2s ease-out}.wire::after{content:'';position:absolute;left:calc(50% - 7px);top:calc(50% - 7px);width:14px;height:14px;background:#d4ae69;border-radius:50%;border:2px solid #eed494;z-index:2}.wire-arm{position:absolute;display:block;background:linear-gradient(90deg,#8b6b34,#e4c680 45%,#a78544);border:1px solid #e9c77e66}.wire-arm.dir-0{width:10px;height:50%;top:0;left:calc(50% - 5px)}.wire-arm.dir-1{height:10px;width:50%;left:50%;top:calc(50% - 5px)}.wire-arm.dir-2{width:10px;height:50%;top:50%;left:calc(50% - 5px)}.wire-arm.dir-3{height:10px;width:50%;left:0;top:calc(50% - 5px)}.tile-coord{position:absolute;top:5px;left:6px;font:10px Arial,sans-serif;color:#c7c5ab;z-index:3}.circuit-tile:disabled{opacity:1}.circuit-tile.energized{background:#36552f;box-shadow:inset 0 0 12px #e5d68222}.energized .wire-arm{background:#f1df83;box-shadow:0 0 9px #fbdc7566}.energized .wire::after{background:#fff0a6}.confetti{position:fixed}.lever-socket.ready{animation:socketPulse 1.7s 3}.strip{will-change:auto}.reels[aria-busy=true] .strip{will-change:transform}.game-complete .room-nav{pointer-events:none}
@media(min-width:1100px){main{max-width:min(1320px,calc((100svh - 355px)*1.5 + 56px));min-width:750px}}
@media(max-width:850px){.inventory-bar{flex-direction:column;align-items:stretch}.inventory-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.inventory-item{min-width:0;gap:10px}.room-nav button{flex:1 1 28%;padding:10px 5px}}
@media(max-width:700px){.room-story{font-size:14px}.room-nav{gap:6px}.room-nav button{font-size:12px}.inventory-item{flex-direction:column;gap:6px;font-size:12px;padding:10px 6px;min-height:87px}.inventory-item>.lever-symbol{margin:7px 0 -2px}.inventory-item>span:first-child:not(.lever-symbol){height:42px;display:grid;place-items:center}.inventory-item>span:last-child{line-height:1.3}.note-paper ol{font-size:17px}.roulette-choices{grid-template-columns:repeat(6,minmax(0,1fr))}.circuit-board{grid-template-columns:38px minmax(0,330px) 38px;gap:1px}.circuit-label{font-size:8px;word-spacing:0}.circuit-grid{gap:4px;padding:5px}.fuse-holder{padding:12px;flex-direction:column;text-align:center}.circuit-tile{min-height:48px}.tile-coord{font-size:9px;left:3px;top:3px}.card-choices{gap:10px}.card-choices button{width:57px;height:81px}.room-caption{display:none}.hotspot-slot .spot-label{font-size:10px;padding:4px}.hotspot-slot .spot-label small{font-size:9px}.dialog-body{padding-bottom:30px}.toast{font-size:14px}.fortune-wrap{max-width:330px}}
@media(prefers-reduced-motion:reduce){.wire,.fortune-disc,.roulette-disc{transition:none}.card-choices button:hover{transform:none}}
/* Third revision: service notebook, evidence table and two linked repairs. */
.edition-mark{font-size:12px;letter-spacing:.13em;color:#889786;text-align:right;max-width:180px;line-height:1.7}.footer-notebook{border:0;border-bottom:1px solid #b0ad8550;background:none;color:#b5bca7;padding:8px 2px;min-height:44px;font-size:14px;letter-spacing:.03em}.footer-notebook:hover{color:#efd299;border-color:#efd299}.site-footer{align-items:center}.inventory-bar{display:block}.inventory-items{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.inventory-item{min-width:0;font-size:13px;min-height:64px}.repair-status{font-size:14px;gap:10px 18px}.cabinet-compartment{margin-top:22px;padding-top:22px;border-top:1px solid #b493555c}.cabinet-compartment p{font-size:16px;line-height:1.65;margin:10px auto 17px;max-width:450px;color:#c9ceb9}.note-paper .instruction-prose{font-size:17px;line-height:1.7}.code-ledger{max-width:520px;margin:0 auto 25px;transform:rotate(.4deg);padding:27px 32px}.code-ledger h3{font-size:24px;margin:10px 0}.code-ledger p{font-size:16px;line-height:1.6}.code-ledger .eyebrow{color:#80622b}.ledger-equations{font:27px/1.85 Georgia,serif;letter-spacing:.04em;text-align:center;margin:14px 0}.ledger-equations b{color:#983347;font-weight:400}.code-ledger small{font-size:14px;line-height:1.5}dialog[data-panel="roulette"]{width:min(900px,calc(100vw - 28px))}.bet-slips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 26px}.bet-slips article{padding:17px 10px;background:#e5dabd;color:#2e3225;border-top:4px solid #ab8649;box-shadow:0 4px 0 #0002;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:13px}.bet-slips article>span{font:12px Arial,sans-serif;letter-spacing:.13em;color:#786947}.bet-slips strong{font:18px/1.4 Georgia,serif}.bet-slips em{font:12px Arial,sans-serif;letter-spacing:.08em;font-weight:bold;border:1px solid;padding:5px 7px}.bet-lost{color:#923142;transform:rotate(-4deg)}.bet-won{color:#315c3e;transform:rotate(3deg)}.roulette-investigation{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,260px);gap:28px;align-items:start;margin-bottom:26px}.roulette-evidence{position:sticky;top:120px}.roulette-investigation .wheel-wrap{width:90%;max-width:330px}.roulette-investigation .card-rules{font-size:15px}.roulette-layout{background:#143421;border:2px solid #b79353;padding:10px}.roulette-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.number-choice{min-height:44px;font-size:17px;border-radius:0}.number-choice.green{grid-column:1/-1}.number-choice:disabled{opacity:.75}.number-choice[aria-pressed=true]{opacity:1;outline:3px solid #ffe3a0;outline-offset:-3px;box-shadow:inset 0 0 0 5px #f2da8f25}.column-labels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-bottom:9px}.column-labels span{font:12px/1.4 Arial,sans-serif;color:#dcc397;overflow-wrap:anywhere;align-self:end}.keybox-shell{border:2px solid #b89452;background:linear-gradient(135deg,#20392b,#0d1f16);box-shadow:inset 0 0 0 6px #14261c;padding:25px 20px}.keybox-symbols{font:35px/1.4 Georgia,serif;color:#e8c58a;margin:13px 0 20px}.digit-lock{display:flex;gap:14px;justify-content:center}.digit-lock button{width:68px;height:84px;background:linear-gradient(#f2e6c3,#bda16d);border:3px solid #7e643a;color:#263628;border-radius:6px;box-shadow:0 5px 0 #06110a;font:45px Georgia,serif}.digit-lock button:active{transform:translateY(2px)}.found-key{display:block;font-size:80px;line-height:1.2;color:#efd093;margin:10px}.locked-panel{padding:28px 22px;border:1px solid #b8965f70;background:#112219}.locked-panel h3{font-size:27px;margin:10px 0 16px}.locked-panel p{font-size:16px;line-height:1.6;color:#c5c9b9;margin:0 auto 23px;max-width:450px}.phase-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0 25px;padding:25px 18px;background:linear-gradient(130deg,#10221a,#29382a);border:2px solid #a88a52;box-shadow:inset 0 0 0 6px #14221a}.phase-title{display:block;font:12px Arial,sans-serif;letter-spacing:.12em;color:#cab080;margin-bottom:15px}.phase-gauge{position:relative;aspect-ratio:1;border-radius:50%;border:3px solid #b2945e;background:radial-gradient(circle,#1d3226 50%,#102118 52%,#253529 64%,#17281d 66%);box-shadow:0 4px 9px #0005}.phase-tick{position:absolute;transform:translate(-50%,-50%);font:16px/1 Arial,sans-serif;color:#d4cfb0;z-index:2}.phase-tick:first-child{color:#fff1bf;font-weight:bold}.phase-pointer{position:absolute;inset:0;transition:transform .22s ease-out}.phase-pointer::before{content:'';position:absolute;left:calc(50% - 2px);top:23%;height:29%;width:4px;border-radius:3px;background:#e6b861;box-shadow:0 0 7px #eed59135}.phase-value{position:absolute;inset:36%;display:grid;place-items:center;background:#14271c;color:#f0d18c;font:21px/1 Georgia,serif;border:1px solid #aa8a5355;border-radius:50%;z-index:3}.phase-gauge.aligned{border-color:#d4dca0;box-shadow:0 0 16px #c8d57724}.aligned .phase-value{color:#f5efb3;background:#3a502c}.sync-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sync-controls button{display:flex;flex-direction:column;gap:7px;align-items:center;justify-content:center;padding:12px 5px;min-height:78px}.sync-controls strong{font:24px Georgia,serif}.sync-controls span{font:14px/1.45 Arial,sans-serif}.journal-page{background:#dcd4b8;color:#313c2c;padding:26px;text-align:left;border-left:5px solid #907142}.journal-page .eyebrow{color:#6e613d}.journal-page ul{padding-left:20px;margin:14px 0 0}.journal-page li{font:17px/1.65 Georgia,serif}.journal-page li+li{margin-top:8px}.hint-tools{margin-top:24px;border-top:1px solid #a190664a;padding-top:23px}.hint-tools label{display:block;font-size:14px;color:#c3c9b6;margin-bottom:10px}.hint-tools select{width:100%;max-width:400px;min-height:46px;background:#102318;color:#e9d5ad;border:1px solid #b29460;padding:10px;font:16px Arial,sans-serif;margin:0 0 20px}.hint-card p{font:19px/1.6 Georgia,serif}.hint-card{padding:22px}.game-complete .footer-notebook{pointer-events:none}.phase-unit{min-width:0}
@media(max-width:700px){.edition-mark{display:none}.inventory-items{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.inventory-item{min-height:68px;flex-direction:row;padding:10px;gap:12px;font-size:13px}.inventory-item>.lever-symbol{margin:0}.inventory-item>span:first-child:not(.lever-symbol){min-width:25px}.bet-slips{gap:7px;margin-bottom:20px}.bet-slips article{padding:12px 5px;gap:10px}.bet-slips strong{font-size:15px}.bet-slips article>span{font-size:11px;letter-spacing:.02em}.bet-slips em{font-size:10px;letter-spacing:0;padding:5px 4px}.roulette-investigation{gap:14px;grid-template-columns:minmax(0,1fr) minmax(150px,190px)}.roulette-evidence{position:static}.roulette-investigation .wheel-wrap{width:100%;max-width:250px}.roulette-investigation .feedback{font-size:14px;line-height:1.6}.roulette-investigation .card-rules{font-size:13px}.column-labels span{font-size:10px}.roulette-layout{padding:7px}.phase-board{gap:12px;padding:20px 10px}.phase-title{font-size:11px;letter-spacing:.03em;margin-bottom:12px}.phase-tick{font-size:14px}.phase-value{font-size:19px}.sync-controls span{font-size:13px}.code-ledger{padding:22px}.ledger-equations{font-size:25px}.repair-status{font-size:13px}.journal-page{padding:22px}.site-footer>span:first-child{font-size:11px;max-width:220px}.phase-gauge{border-width:2px}}
@media(max-width:480px){.roulette-investigation{display:flex;flex-direction:column;align-items:stretch}.roulette-evidence{display:grid;grid-template-columns:1fr;align-items:center}.roulette-investigation .wheel-wrap{display:none}.roulette-layout{width:min(100%,270px);margin:0 auto}.column-labels span{font-size:12px}.roulette-investigation .card-rules{margin:0 auto;font-size:14px}.roulette-evidence .primary-button{margin:0 auto}.roulette-investigation .feedback{font-size:15px}.phase-board{gap:7px;padding:20px 7px}.phase-title{font-size:10px}.phase-tick{font-size:12px}.phase-value{font-size:17px}.sync-controls span{font-size:12px}.sync-controls button{min-height:80px}.digit-lock{gap:10px}.digit-lock button{width:60px;height:77px}.hint-card p{font-size:18px}}
@media(prefers-reduced-motion:reduce){.phase-pointer{transition:none}.digit-lock button:active{transform:none}}

.roulette-next{margin-top:18px}.slot-machine.powered .slot-lights{opacity:1;filter:drop-shadow(0 0 4px #ffb958)}

.number-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:5px 2px}.pocket-number{font:17px/1.2 Georgia,serif}.pocket-color{font:12px/1.15 Arial,sans-serif;opacity:.8}.number-choice.green{flex-direction:row;gap:9px}
