@font-face{font-family:Lab;src:local('Arial Narrow')}*{box-sizing:border-box}html{color-scheme:dark;background:#030808}body{margin:0;color:#ecf4df;font-family:Lab,'Segoe UI',sans-serif;overflow-x:hidden;background:radial-gradient(ellipse at 50% 10%,#14332b,#030808 72%)}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.5}button:focus-visible{outline:3px solid #a8ff4c;outline-offset:3px}button:not(.art-button){border:1px solid #43654b;background:linear-gradient(#19342b,#091812);border-radius:5px;padding:.65em 1em;transition:filter .2s,transform .2s}button:not(.art-button):hover{filter:brightness(1.3)}.hidden{display:none!important}.utility{height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;font-size:10px;letter-spacing:.14em;color:#8da796;border-bottom:1px solid #27372c}.utility span{display:flex;align-items:center;gap:9px}.utility b{color:#d0e3b9;letter-spacing:.09em}.utility i{width:5px;height:5px;background:#9cff43;border-radius:50%;box-shadow:0 0 8px #9cff43}.utility nav{display:flex;align-items:center;gap:8px}.utility button{background:none;border:none;padding:4px 7px;font-size:11px;letter-spacing:0}.utility button:last-child{font-size:21px;padding:0 7px}main#game{width:min(100vw,calc((100dvh - 25px)*1.7747));aspect-ratio:1670/941;margin:auto;position:relative;overflow:hidden;isolation:isolate;background:#06110d;container-type:inline-size}#scene{display:block;width:100%;height:100%}#game>canvas{position:absolute;inset:0;width:100%;height:100%}footer{height:25px;padding:0 max(14px,calc((100vw - (100dvh - 25px)*1.7747)/2));display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#758f7d;letter-spacing:.03em}.art-button{position:absolute;border:0;background:transparent;z-index:6;border-radius:12%;transition:box-shadow .2s}.art-button:hover{box-shadow:inset 0 0 16px #aaff6b44}.art-button:disabled{opacity:1}.readout{position:absolute;z-index:5;text-align:center;font-weight:750;font-size:1.65cqw;line-height:2.6cqw;text-shadow:0 2px 2px #000;color:#f0ffcd;font-variant-numeric:tabular-nums;transform:translateY(.2cqw)}#balance{left:10.7%;top:90.5%;width:13.8%}#bet{left:31.1%;top:90.5%;width:7.5%}#win{left:73.2%;top:90.5%;width:14.1%;color:#beff6c}#spin{left:45.4%;top:80%;width:9.1%;height:17%;border-radius:50%}#spin.spinning{box-shadow:0 0 35px #7dff0099}#bet-down{left:26.7%;top:88.5%;width:3.7%;height:7.2%}#bet-up{left:39.8%;top:88.5%;width:3.6%;height:7.2%}#max-bet{left:56.4%;top:88.7%;width:6.1%;height:7.3%}#auto{left:63.5%;top:88.7%;width:6.3%;height:7.3%}#auto.active{background:#a6ff0022;box-shadow:inset 0 0 15px #a4ff93}#menu{left:3%;top:88.1%;width:5.1%;height:8.1%}#settings{left:89.6%;top:88.1%;width:4.5%;height:8.1%}#mute{left:94.5%;top:88.1%;width:4.2%;height:8.1%}#mute.muted:after{content:'';position:absolute;width:70%;height:4px;background:#ed3874;left:15%;top:48%;transform:rotate(-45deg);box-shadow:0 0 5px #000}.metal-panel{background:linear-gradient(135deg,#0c201eea,#07100ff2);border:.25cqw solid #697774;outline:.12cqw solid #1b3126;box-shadow:inset 0 0 0 .1cqw #141e1a,inset 0 0 24px #060b0a,0 8px 20px #0008;clip-path:polygon(5% 0,95% 0,100% 4%,100% 96%,95% 100%,5% 100%,0 96%,0 4%)}.metal-panel:before,.metal-panel:after{content:'';position:absolute;width:2cqw;height:.3cqw;top:0;background:#9bff31;box-shadow:0 0 14px #71ff24;border-radius:50%}.metal-panel:before{left:9%}.metal-panel:after{right:9%}.metal-panel h2{font-size:1.25cqw;color:#b4ff9a;text-align:center;margin:0;padding:1cqw .5cqw;border-bottom:1px solid #527650;letter-spacing:.04em}#room{position:absolute;inset:0;z-index:15;background:#061211}.inventory-item{min-height:5cqw;border:1px solid #4e645c;background:radial-gradient(#173923,#051510);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.35cqw;position:relative}.inventory-item img{width:3cqw;height:3cqw;object-fit:contain}.inventory-item .glyph{font-size:2cqw;color:#b3ff62}.inventory-item small{font-size:.68cqw;color:#b4dba3;text-align:center}.inventory-item.empty{height:5.3cqw;opacity:.5}.free-modifiers{position:absolute;left:1.3%;top:21%;width:18.5%;max-height:61%;z-index:9;padding-bottom:1cqw}.free-counter{position:absolute;right:1.3%;top:27%;width:18.5%;height:54%;z-index:9;text-align:center;padding:1.3cqw}.free-counter p{font-size:1.1cqw;color:#b6cfad;letter-spacing:.12em;margin:.5cqw}.free-counter>strong{font:3cqw Impact,sans-serif;color:#d6ff8d}.free-counter>b{font:2.8cqw Impact,sans-serif;color:#e66bff}.free-counter hr{border:0;border-top:1px solid #45634b}.free-counter button{display:block;margin:1.1cqw auto;font-size:.9cqw}#free-specials{display:grid;grid-template-columns:1fr 1fr;gap:.4cqw;padding:.6cqw;overflow:auto;max-height:28cqw}#effects{pointer-events:none;z-index:32}#cinematic{position:absolute;inset:0;z-index:24;pointer-events:none;overflow:hidden}.monster-shadow{position:absolute;left:14.8%;top:15%;font-size:3.3cqw;line-height:1;color:#07180b;filter:drop-shadow(0 0 5px #dfff94);transform:scaleY(1.5)}.hazard-screen{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(#59052644,#33000d99);animation:hazardFlicker .2s 5}.hazard-screen .hazard-glyph{font:18cqw Impact,sans-serif;color:#edffc9;text-shadow:0 0 30px #b5ff37;transform:scale(0);animation:monsterLunge .7s ease forwards}.hazard-screen.slime{background:radial-gradient(#a2ff4688,#234a1099)}#toast{position:absolute;z-index:35;top:18%;left:50%;transform:translate(-50%,-10px);opacity:0;pointer-events:none;text-align:center;background:linear-gradient(#172824f2,#081710f2);border:1px solid #9ada76;box-shadow:0 0 20px #0009;padding:.7cqw 1.7cqw;max-width:46%;font-size:1.2cqw;color:#d4ffa3;transition:.25s}#toast.show{opacity:1;transform:translate(-50%,0)}#win-callout{position:absolute;z-index:26;left:25%;top:28%;width:50%;padding:2cqw;text-align:center;pointer-events:none;background:radial-gradient(ellipse,#06190ef2,transparent 70%);text-shadow:0 .15cqw .3cqw #000,0 0 2cqw #49ff0e;font:4cqw Impact,sans-serif;color:#e5ff96;animation:prizePop .5s ease}#win-callout small{display:block;font-size:1.1cqw;letter-spacing:.3em;color:#f0ffdc}#win-callout strong{display:block;font-size:5cqw;color:#fcf6b1}#start-screen{position:absolute;inset:0;z-index:80;display:grid;place-items:center;background:#020b09bb;backdrop-filter:blur(4px)}.start-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 47%,transparent,#010806e8 75%)}.start-copy{position:relative;text-align:center;width:61%;padding:2cqw}.start-copy>p:first-child{letter-spacing:.32em;font-size:1cqw;color:#bde7a1}.start-copy h1{font-family:Impact,'Arial Narrow',sans-serif;font-size:8.4cqw;color:#f4f4cd;letter-spacing:-.045em;text-shadow:0 .3cqw 0 #1b2315,0 0 1.5cqw #69e229;margin:0 0 2cqw;transform:rotate(-2deg)}.start-copy h1 span{color:#e927ff;text-shadow:0 .3cqw 0 #361344,0 0 2cqw #d724f855}.start-copy button{font:bold 1.4cqw Impact,sans-serif;letter-spacing:.12em;color:#e6ffbe;border:3px ridge #7c966a;background:linear-gradient(#263b1f,#0d2010);box-shadow:0 0 20px #66ec2444;padding:1cqw 3cqw}.start-copy small{display:block;color:#91a88c;font-size:.75cqw;margin-top:2cqw}.loader{width:50%;height:.45cqw;background:#17231b;margin:auto;border:1px solid #3d5238}.loader i{display:block;height:100%;width:0;background:#a3ff42;box-shadow:0 0 12px #92f236;transition:width .3s}#load-message{font-size:.85cqw;color:#a3bf99;margin:.8cqw 0 1.5cqw}dialog{color:#deebd1;background:radial-gradient(ellipse at 50% 0,#20352a,#08130f 75%);border:3px ridge #778673;box-shadow:0 0 0 3px #101912,0 0 65px #000d;border-radius:10px;width:min(850px,90vw);max-height:85dvh;padding:32px;scrollbar-color:#688e51 #0a160f}dialog::backdrop{background:#010807cf;backdrop-filter:blur(4px)}dialog h2{font:clamp(26px,3vw,48px) Impact,sans-serif;letter-spacing:.03em;color:#e3ffb7;margin:5px 0 20px;text-shadow:0 0 16px #84ff3533}dialog h3{color:#abef7d;font-size:16px;letter-spacing:.08em}dialog p{color:#abc1a5;line-height:1.5}dialog .close-modal,dialog .close-lab{position:absolute;right:11px;top:8px;border:0;background:none;font-size:25px;padding:2px 10px}dialog .eyebrow{font-size:10px;color:#da7cff;letter-spacing:.25em;margin:0}.summary{text-align:center}.summary .big-stat{font:70px Impact,sans-serif;color:#ddff9e;text-shadow:0 0 25px #a8ff2f44}.summary-stats{display:flex;justify-content:center;gap:40px;margin:22px 0}.summary-stats small{display:block;font-size:12px;color:#b5caa8}.summary-stats b{font:44px Impact,sans-serif;color:#ccff87}.summary .continue{border:2px ridge #8fbd69;color:#dfffba;box-shadow:0 0 20px #62e52222;margin-top:20px;padding:14px 45px;letter-spacing:.12em;font-weight:800}.summary-inventory{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.summary-inventory .inventory-item{min-width:95px;min-height:70px}.summary-inventory small{font-size:11px}.summary-inventory img{width:45px;height:45px}.lab-actions,#lab-floors{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}#lab pre{font-size:11px;background:#040c08;color:#86bc84;padding:14px;white-space:pre-wrap;max-height:170px;overflow:auto}.paytable{width:100%;border-collapse:collapse}.paytable th,.paytable td{padding:8px 12px;border-bottom:1px solid #2d4932;text-align:right}.paytable th:first-child,.paytable td:first-child{text-align:left}.paytable img{width:42px;vertical-align:middle;margin-right:9px}.rules-tabs{display:flex;gap:8px}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid #34503a}.settings-row input[type=range]{accent-color:#a1ee6b;width:45%}.settings-row input[type=checkbox]{accent-color:#a1ee6b;width:20px;height:20px}.reward-pop{position:absolute;z-index:29;pointer-events:none;text-align:center;transform:translate(-50%,-50%);color:#d5ff8d;text-shadow:0 2px 6px #000,0 0 16px #97f84d;font:2.8cqw Impact,sans-serif;animation:rewardRise 1.9s ease forwards}.reward-pop small{display:block;font:1cqw 'Segoe UI',sans-serif;color:#edffdc}.room-shake{animation:rumble .08s linear 10 alternate}.reduced-motion *{animation-duration:.01ms!important;transition-duration:.01ms!important}.reduced-motion .walker{animation-duration:.65s!important}
@keyframes prizePop{0%{transform:scale(.72);opacity:.1}60%{transform:scale(1.08)}100%{transform:scale(1);opacity:1}}@keyframes walkStep{to{background-position:133.333% 0}}@keyframes eyeGlow{to{filter:blur(3px) brightness(1.8)}}@keyframes hazardFlicker{50%{opacity:.45}}@keyframes monsterLunge{80%{transform:scale(1.6)}100%{transform:scale(1.3);opacity:0}}@keyframes rewardRise{0%{opacity:0;transform:translate(-50%,0) scale(.6)}25%{opacity:1;transform:translate(-50%,-45%) scale(1.08)}75%{opacity:1}100%{opacity:0;transform:translate(-50%,-170%) scale(.95)}}@keyframes rumble{to{transform:translate(3px,-2px) rotate(.15deg)}}
@media(max-width:650px){.utility{font-size:8px;padding:0 7px}.utility b{display:none}.utility button{font-size:9px;padding:3px 5px}.utility nav{gap:1px}footer{font-size:8px;padding:0 7px}dialog{padding:24px 16px}.paytable td,.paytable th{padding:6px 4px;font-size:12px}.paytable img{width:28px}.summary .big-stat{font-size:45px}.summary-stats b{font-size:32px}}
.native-transition{position:absolute;inset:0;width:100%;height:100%;z-index:55;pointer-events:none}.no-specials{font-size:.9cqw;line-height:1.5;padding:.4cqw;color:#b2c5a6;grid-column:1/-1}.hazard-monster{width:40%;filter:drop-shadow(0 0 35px #a1ff4f);animation:monsterLunge .85s ease forwards}.building-flash{position:absolute;left:3%;top:8%;width:18%;height:39%;background:radial-gradient(ellipse,#d4ff7e88,transparent 65%);mix-blend-mode:screen;animation:hazardFlicker .16s 7}.payline-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.payline-grid figure{margin:0;background:#06150d;padding:6px;border:1px solid #365132;text-align:center}.payline-grid svg{width:100%}.payline-grid figcaption{font-size:11px;color:#8fa684}#game:has(#room:not(.hidden)) #lab-open{z-index:100}dialog:has(.summary)>.close-modal{display:none}
.monster-shadow{width:1.5%;height:4%;top:15%;left:14.8%;transform:none}.monster-shadow svg{width:100%;height:100%}
#scene-weather,#building-apparition{z-index:2;pointer-events:none}#reel-anticipation{position:absolute;z-index:3;top:22.2%;height:59.3%;border:2px solid #c8ff7c88;border-radius:10px;box-shadow:inset 0 0 22px #a0ff2344,0 0 15px #87ff3455;background:linear-gradient(180deg,#c7ff4222,transparent 25%,transparent 72%,#b6ff4233);pointer-events:none;animation:reelTease .65s ease-in-out infinite alternate}@keyframes reelTease{from{opacity:.55;box-shadow:inset 0 0 12px #a0ff2333,0 0 9px #87ff3433}to{opacity:1;box-shadow:inset 0 0 24px #a0ff2355,0 0 18px #87ff3477}}

/* Native Rive covers the scene while a top-layer result dialog is prepared underneath. */
body.native-transitioning dialog,body.native-transitioning dialog::backdrop{visibility:hidden}
