:root{--bg-1: #14061f;--bg-2: #2a0d3d;--purple: #6b2fa3;--orange: #ff7a18;--orange-2: #ffb347;--green: #7dff6b;--text: #f6e9ff;--muted: #b79ad1;--gap: clamp(4px, 1.6vw, 8px);color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none}body{font-family:Rubik,system-ui,sans-serif;color:var(--text);background:radial-gradient(120% 80% at 50% 0%,var(--bg-2),var(--bg-1) 70%);user-select:none;-webkit-user-select:none;touch-action:manipulation}button{font:inherit;color:inherit;border:0;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.45}.scene{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;background:var(--bg-1)}.scene:before{content:"";position:absolute;top:-40px;right:-40px;bottom:-40px;left:-40px;background:url(/background.webp) center / cover;filter:blur(28px) brightness(.55)}@media(max-aspect-ratio:9 / 16){.scene:before{display:none}.scene-art{-webkit-mask-image:none;mask-image:none}}.scene-art{position:absolute;left:50%;top:50%;height:100dvh;aspect-ratio:9 / 16;background:url(/background.webp) center / cover;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);animation:scene-drift 40s ease-in-out infinite alternate}@keyframes scene-drift{0%{transform:translate(-50%,-50%) scale(1.02)}to{transform:translate(-51.5%,-50.8%) scale(1.08)}}.moon-glow,.pumpkin-glow{position:absolute;aspect-ratio:1;border-radius:50%;mix-blend-mode:screen;transform:translate(-50%,-50%)}.moon-glow{left:70.7%;top:9.9%;width:48%;background:radial-gradient(circle,rgba(255,236,170,.5),rgba(255,210,130,.14) 38%,transparent 68%);animation:moon-pulse 6s ease-in-out infinite alternate}@keyframes moon-pulse{0%{opacity:.55;transform:translate(-50%,-50%) scale(.94)}to{opacity:1;transform:translate(-50%,-50%) scale(1.06)}}.pumpkin-glow{width:var(--size);background:radial-gradient(circle,rgba(255,180,70,.75),rgba(255,120,30,.25) 42%,transparent 70%);animation:pumpkin-flicker var(--flicker-duration) linear var(--flicker-delay) infinite}@keyframes pumpkin-flicker{0%,to{opacity:.75}18%{opacity:1}32%{opacity:.55}48%{opacity:.95}66%{opacity:.65}82%{opacity:1}}.fog{position:absolute;left:0;width:200%;background-repeat:repeat-x;background-size:50% 100%}.fog--far{bottom:18%;height:45%;background-image:radial-gradient(40% 45% at 25% 60%,rgba(180,140,235,.16),transparent 70%),radial-gradient(32% 38% at 72% 42%,rgba(150,110,220,.12),transparent 70%);animation:fog-scroll 70s linear infinite}.fog--near{bottom:-4%;height:32%;background-image:radial-gradient(38% 55% at 20% 70%,rgba(200,170,240,.22),transparent 70%),radial-gradient(30% 45% at 65% 55%,rgba(170,130,230,.18),transparent 70%);animation:fog-scroll 38s linear infinite reverse}@keyframes fog-scroll{to{transform:translate(-50%)}}.bat{position:absolute;left:0;width:var(--size);animation:bat-fly var(--duration) linear var(--delay) infinite}.bat--reverse{animation-direction:reverse}.bat-body{animation:bat-bob 2.6s ease-in-out infinite alternate}.bat svg{display:block;width:100%;fill:#0b0313;filter:drop-shadow(0 0 3px rgba(190,140,255,.35));transform-origin:50% 45%;animation:bat-flap .16s ease-in-out infinite alternate}@keyframes bat-fly{0%{transform:translate(-15vw)}to{transform:translate(115vw)}}@keyframes bat-bob{to{transform:translateY(var(--bob))}}@keyframes bat-flap{to{transform:scaleY(.35)}}.ember{position:absolute;bottom:-10px;width:var(--size);height:var(--size);border-radius:50%;background:#ffc46b;box-shadow:0 0 6px 2px #ff8c28b3;opacity:0;animation:ember-rise var(--duration) linear var(--delay) infinite}@keyframes ember-rise{10%{opacity:.9}70%{opacity:.6}to{opacity:0;transform:translate(var(--drift),-55vh)}}.scene-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,rgba(10,3,20,.55),transparent 14%),radial-gradient(ellipse 90% 70% at 50% 50%,transparent 55%,rgba(5,0,12,.6))}@media(prefers-reduced-motion:reduce){.scene *,.scene *:before{animation:none!important}.bats,.embers{display:none}}body:has(.bonus--show) :is(.scene,#app) *{animation-play-state:paused!important}.lite .scene-art{animation:none;transform:translate(-50%,-50%) scale(1.02)}.lite .moon-glow,.lite .pumpkin-glow{mix-blend-mode:normal}.lite .fog--far,.lite .bat:nth-child(n+4),.lite .ember:nth-child(n+9){display:none}.lite .bat svg{filter:none}.lite .controls{background:#0e0418e6;-webkit-backdrop-filter:none;backdrop-filter:none}.lite .auto-btn--on{animation:none}.lite .reel--spinning .cell img{filter:none}#app{position:relative;display:flex;flex-direction:column;height:100dvh;max-width:480px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 8px) 12px calc(env(safe-area-inset-bottom) + 12px);gap:12px}.top{display:flex;align-items:center;justify-content:space-between}.title{margin:0;font-family:Creepster,cursive;font-weight:400;font-size:clamp(30px,10vw,44px);letter-spacing:2px;color:var(--orange);text-shadow:0 0 12px rgba(255,122,24,.6),0 3px 0 #5a1d00}.title span{margin-left:8px;color:var(--green);text-shadow:0 0 12px rgba(125,255,107,.5),0 3px 0 #0f3d0a}.icon-btn{width:42px;height:42px;border-radius:50%;font-size:18px;font-weight:900;background:#ffffff14;border:1px solid rgba(255,255,255,.15)}.sound-wrap{position:relative}.sound-btn{display:grid;place-items:center;padding:0;color:var(--orange-2);transition:color .2s,border-color .2s,box-shadow .2s}.sound-btn[aria-expanded=true]{border-color:#ffaa4699;box-shadow:0 0 12px #ff821e59}.sound-btn[data-level=off]{color:var(--muted)}.sound-icon{width:64%;height:64%;overflow:visible;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px rgba(255,140,40,.55))}.sound-btn[data-level=off] .sound-icon{filter:none}.sound-body{fill:currentColor}.sound-wave,.sound-off{transition:opacity .2s,transform .2s;transform-origin:12px 12px}.sound-off{opacity:0;transform:scale(.6)}.sound-btn[data-level=partial] .sound-wave--2,.sound-btn[data-level=off] .sound-wave{opacity:0;transform:scale(.8)}.sound-btn[data-level=off] .sound-off{opacity:1;transform:none}.sound-menu{position:absolute;top:calc(100% + 12px);right:-4px;z-index:20;display:flex;flex-direction:column;gap:6px;min-width:170px;padding:10px 12px 12px;border-radius:16px;background:#140620f5;border:1px solid rgba(255,170,70,.45);box-shadow:0 10px 30px #0009,0 0 20px #ff821e33;transform-origin:85% 0;animation:sound-menu-in .18s cubic-bezier(.2,1.5,.4,1)}.sound-menu[hidden]{display:none}.sound-menu:before{content:"";position:absolute;bottom:100%;right:17px;border:8px solid transparent;border-bottom-color:#140620f5}.sound-menu .label{text-align:center}.sound-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 4px 8px 10px;border-radius:10px;font-size:15px;font-weight:700;color:var(--text);background:#ffffff0d}.sound-toggle:active{background:#ffffff1a}.switch{position:relative;flex:none;width:40px;height:22px;border-radius:11px;background:#ffffff26;box-shadow:inset 0 1px 3px #00000080;transition:background .2s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#d9c8ea;box-shadow:0 1px 2px #00000080;transition:transform .2s cubic-bezier(.3,1.4,.5,1),background .2s}.sound-toggle[aria-checked=true] .switch{background:linear-gradient(180deg,#ffd08a,var(--orange));box-shadow:0 0 10px #ff8c2899}.sound-toggle[aria-checked=true] .switch:after{transform:translate(18px);background:#fff6e8}@keyframes sound-menu-in{0%{opacity:0;transform:translateY(-8px) scale(.9)}}.machine{flex:1;display:flex;flex-direction:column;justify-content:center;gap:10px;min-height:0}.stage{--stage-h: clamp(88px, 14dvh, 130px);--mascot-size: calc(var(--stage-h) * 1.42);position:relative;flex-shrink:0;height:var(--stage-h);margin-bottom:-10px}.mascot{position:absolute;left:0;bottom:calc(var(--stage-h) * -.3);z-index:0;width:var(--mascot-size);height:var(--mascot-size);padding:0;background:none;transform-origin:50% 90%;animation:mascot-float 3.2s ease-in-out infinite}.mascot-img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(0,0,0,.5));pointer-events:none}.mascot-canvas{position:absolute;left:-20%;top:-20%;width:140%;height:140%}.mascot-img--pop{animation:mascot-pop .32s cubic-bezier(.2,1.6,.4,1)}.mascot[data-mood=spin]{animation:mascot-cast .3s ease-in-out infinite alternate}.mascot[data-mood=spin] .mascot-img{filter:drop-shadow(0 0 10px rgba(255,190,80,.7)) drop-shadow(0 8px 10px rgba(0,0,0,.5))}.mascot[data-mood=win]{animation:mascot-hop .5s ease-out 3}.mascot[data-mood=bigwin]{animation:mascot-hop-big .55s ease-out infinite}.mascot[data-mood=bigwin] .mascot-img{filter:drop-shadow(0 0 14px rgba(255,210,90,.9)) drop-shadow(0 8px 10px rgba(0,0,0,.5))}.mascot[data-mood=lose],.mascot[data-mood=broke]{animation:mascot-sulk 2.6s ease-in-out infinite}.mascot.mascot--tickle{animation:mascot-tickle .5s ease-in-out}@keyframes mascot-float{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-6px) rotate(1.5deg)}}@keyframes mascot-cast{0%{transform:translateY(-4px) rotate(-3deg)}to{transform:translateY(-8px) rotate(3deg)}}@keyframes mascot-hop{0%,to{transform:translateY(0) scale(1)}15%{transform:translateY(0) scale(1.06,.94)}45%{transform:translateY(-18px) scale(.97,1.04)}}@keyframes mascot-hop-big{0%,to{transform:translateY(0) scale(1.04) rotate(0)}15%{transform:translateY(0) scale(1.1,.96)}45%{transform:translateY(-26px) scale(1.06,1.1) rotate(-4deg)}70%{transform:translateY(-10px) scale(1.05) rotate(3deg)}}@keyframes mascot-sulk{0%,to{transform:translateY(8px) rotate(-2deg)}50%{transform:translateY(10px) rotate(-3.5deg)}}@keyframes mascot-tickle{20%{transform:rotate(-7deg) scale(1.04)}40%{transform:rotate(6deg)}60%{transform:rotate(-4deg)}80%{transform:rotate(2deg)}}@keyframes mascot-pop{0%{transform:scale(.9)}}.speech{position:absolute;left:calc(var(--mascot-size) * .86);right:2px;top:46%;z-index:3;width:fit-content;max-width:calc(100% - var(--mascot-size) * .86 - 2px);padding:9px 14px;border-radius:16px;font-size:clamp(13px,3.8vw,16px);font-weight:700;line-height:1.25;color:#2a0d3d;background:#fff3e0;box-shadow:0 6px 18px #00000073,inset 0 -3px #ff8c2859;opacity:0;transform:translateY(-50%) scale(.6);transform-origin:0 50%;transition:opacity .18s,transform .18s;pointer-events:none}.speech:before{content:"";position:absolute;left:-8px;top:50%;border:8px solid transparent;border-left:0;border-right-color:#fff3e0;transform:translateY(-50%)}.speech--show{opacity:1;transform:translateY(-50%) scale(1);transition:opacity .2s,transform .35s cubic-bezier(.2,1.6,.4,1)}@media(prefers-reduced-motion:reduce){.mascot,.mascot-img--pop{animation:none!important}}.frame{position:relative;z-index:1;flex:1;display:flex;min-height:0;max-height:calc(min(100vw,480px)*1.45);padding:var(--gap);border-radius:22px;background:linear-gradient(160deg,#ff9a3c,#b4400a 45%,#5c1d63);box-shadow:0 0 0 3px #1a0726,0 0 30px #ff7a1859,0 18px 40px #0009}.reels{position:relative;flex:1;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:minmax(0,1fr);gap:var(--gap);padding:var(--gap);border-radius:16px;background:#0b0312;box-shadow:inset 0 0 24px #000000e6}.reel{position:relative;overflow:hidden;border-radius:12px;background:linear-gradient(180deg,#1d0a2b,#2e1242 50%,#1d0a2b);container-type:size}.reel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.55),transparent 22%,transparent 78%,rgba(0,0,0,.55))}.strip{display:flex;flex-direction:column;will-change:transform}.cell{display:grid;place-items:center;height:calc(100cqh / 3);transition:opacity .25s}.cell img{width:min(96cqw,31cqh);height:min(96cqw,31cqh);object-fit:contain;filter:drop-shadow(0 6px 8px rgba(0,0,0,.55));pointer-events:none}.reel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border-radius:inherit;pointer-events:none;opacity:0;background:linear-gradient(180deg,rgba(255,214,140,.4),transparent 28%),linear-gradient(0deg,rgba(255,170,70,.18),transparent 18%);box-shadow:inset 0 0 0 2px #ffbe5ad9,inset 0 0 18px #ff962873}.reel--land:before{animation:reel-impact .42s ease-out}.reel--land .cell img{animation:cell-squash .3s cubic-bezier(.3,1.6,.5,1)}@keyframes reel-impact{0%{opacity:1}}@keyframes cell-squash{0%{transform:scale(1.07,.9)}}@media(prefers-reduced-motion:reduce){.reel--land .cell img{animation:none}}.cell--dim{opacity:.28}.cell--win img{animation:pulse .7s ease-in-out infinite alternate;filter:drop-shadow(0 0 6px var(--orange-2)) drop-shadow(0 0 16px var(--orange))}.paylines{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:2}.payline polyline{fill:none;stroke:var(--line-color);stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1}.payline-glow{stroke-width:16;opacity:.35;filter:blur(4px)}.payline-core{stroke-width:5;filter:drop-shadow(0 0 3px var(--line-color))}.payline-dot{fill:#fff;stroke:var(--line-color);stroke-width:3}.payline--animate polyline{stroke-dashoffset:1;animation:draw-line .45s ease-out var(--delay) forwards}.payline--animate .payline-dot{opacity:0;animation:fade-in .2s ease-out calc(var(--delay) + .35s) forwards}@keyframes draw-line{to{stroke-dashoffset:0}}@keyframes fade-in{to{opacity:1}}@keyframes pulse{to{transform:scale(1.14)}}.message{min-height:1.4em;text-align:center;font-weight:700;font-size:16px;color:var(--muted)}.message--win{color:var(--orange-2)}.message--big{font-size:22px;font-weight:900;color:var(--green);text-shadow:0 0 14px rgba(125,255,107,.6);animation:pulse .5s ease-in-out infinite alternate}.message--warn{color:#ff8b8b}.controls{position:relative;z-index:10;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:8px 10px;border-radius:22px;background:#0e0418b8;border:1px solid rgba(255,255,255,.07);box-shadow:0 -6px 30px #00000073;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.meters{display:flex;flex-direction:column;gap:6px;min-width:0}.meter{display:flex;align-items:baseline;justify-content:space-between;gap:6px;padding:5px 10px;border-radius:12px;background:#00000059;border:1px solid rgba(255,255,255,.08)}.label{font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}.value{font-size:18px;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}.win-value{color:var(--orange-2)}.side{position:relative;display:flex;flex-direction:column;gap:6px;min-width:0}.bet{display:flex;align-items:center;gap:4px;padding:3px;border-radius:12px;background:#00000059;border:1px solid rgba(255,255,255,.08)}.bet-value{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;line-height:1}.bet-value .label{font-size:9px}.bet-value .value{font-size:17px}.bet-btn{width:30px;height:30px;flex-shrink:0;border-radius:9px;font-size:20px;font-weight:900;line-height:1;background:linear-gradient(180deg,#7d3cbd,#4a1c78);box-shadow:0 3px #2a0d46}.bet-btn:disabled{opacity:1;filter:grayscale(.8) brightness(.55)}.bet-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #2a0d46}.spin-btn{--size: clamp(76px, 22vw, 96px);position:relative;width:var(--size);height:var(--size);margin:-14px 0;padding:0;border-radius:50%;background:radial-gradient(circle,#2a1206 60%,#120602 71%);box-shadow:0 0 0 3px #ffb347,0 0 0 5px #5a2300,0 5px 0 5px #3a1500,0 0 30px #ff8c1e99;transition:transform .08s,box-shadow .2s,filter .2s}.spin-emblem{position:absolute;top:5%;right:5%;bottom:5%;left:5%;width:90%;height:90%;pointer-events:none}.spin-btn:after{content:"";position:absolute;top:5%;right:5%;bottom:5%;left:5%;border-radius:50%;background:radial-gradient(ellipse 70% 45% at 40% 22%,#ffffff8c,#fff0 70%),radial-gradient(circle,transparent 62%,rgba(0,0,0,.35) 100%);pointer-events:none}.spin-btn:active:not(:disabled){transform:translateY(4px) scale(.97);box-shadow:0 0 0 3px #ffb347,0 0 0 5px #5a2300,0 1px 0 5px #3a1500,0 0 22px #ff8c1e80}.spin-btn:disabled{opacity:1;cursor:default}.is-spinning .spin-btn{box-shadow:0 0 0 3px #ffe08a,0 0 0 5px #5a2300,0 5px 0 5px #3a1500,0 0 44px #ffbe3cf2}body:not(.is-spinning) .spin-btn:disabled{filter:saturate(.3) brightness(.6)}.auto-btn{display:flex;align-items:center;justify-content:center;gap:6px;height:30px;border-radius:12px;font-size:12px;font-weight:900;letter-spacing:1.2px;color:#f3e6ff;background:linear-gradient(180deg,#7d3cbd,#4a1c78);box-shadow:0 3px #2a0d46}.auto-icon{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.auto-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #2a0d46}.auto-btn:disabled{opacity:1;filter:grayscale(.8) brightness(.55)}.auto-btn--on{color:#3a1300;background:linear-gradient(180deg,#ffd08a,var(--orange));box-shadow:0 3px #7a2c00,0 0 12px #ff9628b3;animation:auto-glow 1s ease-in-out infinite alternate}.auto-btn--on .auto-icon{display:none}.auto-btn--on span:before{content:"";display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:1px;background:currentColor;vertical-align:0}@keyframes auto-glow{to{box-shadow:0 3px #7a2c00,0 0 20px #ffbe3c}}.auto-menu{position:absolute;bottom:calc(100% + 18px);right:-4px;z-index:5;display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 12px 12px;border-radius:16px;background:#140620f5;border:1px solid rgba(255,170,70,.45);box-shadow:0 10px 30px #0009,0 0 20px #ff821e33;transform-origin:80% 100%;animation:menu-in .18s cubic-bezier(.2,1.5,.4,1);white-space:nowrap}.auto-menu[hidden]{display:none}.auto-menu:after{content:"";position:absolute;top:100%;right:38px;border:8px solid transparent;border-top-color:#140620f5}@keyframes menu-in{0%{opacity:0;transform:translateY(8px) scale(.9)}}.auto-options{display:flex;gap:6px}.auto-options button{min-width:46px;height:40px;padding:0 10px;border-radius:12px;font-size:16px;font-weight:900;color:#3a1300;background:radial-gradient(circle at 35% 30%,#ffd08a,var(--orange) 65%,#c24a00);box-shadow:0 3px #7a2c00}.auto-options button:active{transform:translateY(2px);box-shadow:0 1px #7a2c00}.fly-coin{position:fixed;top:-9px;left:-9px;z-index:70;width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff6c2,#ffcf3f 45%,#c98a00 80%);box-shadow:0 0 0 1px #8a5a00,0 0 10px #ffc83ce6;pointer-events:none}.meter--pulse{animation:meter-pulse .5s ease-out}@keyframes meter-pulse{30%{border-color:#ffd25ae6;box-shadow:0 0 18px #ffc83cb3;transform:scale(1.06)}}.paytable{width:min(94vw,460px);max-height:88dvh;padding:0;overflow:hidden;border:2px solid var(--orange);border-radius:20px;color:var(--text);background:radial-gradient(120% 40% at 50% 0%,rgba(255,122,24,.18),transparent 70%),linear-gradient(180deg,#2a0d3d,#14061f);box-shadow:0 0 40px #ff7a184d,0 20px 50px #000000b3}.paytable[open]{display:flex;flex-direction:column}.paytable::backdrop{background:#05000abf;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.pt-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px 10px 20px;border-bottom:1px solid rgba(255,170,70,.2)}.pt-head h2{margin:0;font-family:Creepster,cursive;font-weight:400;font-size:30px;letter-spacing:1px;color:var(--orange);text-shadow:0 0 14px rgba(255,122,24,.5)}.pt-close{width:36px;height:36px;border-radius:50%;font-size:24px;line-height:1;color:var(--text);background:#ffffff14}.pt-close:focus:not(:focus-visible){outline:none}.pt-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 16px 4px}.pt-bet{margin:0 0 4px;padding:8px 12px;border-radius:12px;font-size:13px;text-align:center;color:var(--muted);background:#0000004d}.pt-bet b{color:var(--orange-2)}.pt-section{margin-top:16px}.pt-section h3{display:flex;align-items:center;gap:10px;margin:0 0 4px;font-size:13px;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:var(--orange-2)}.pt-section h3:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(255,179,71,.5),transparent)}.pt-lead{margin:0 0 10px;font-size:13px;color:var(--muted)}.pt-symbols{display:grid;grid-template-columns:1fr 1fr;gap:6px}.pt-card{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:8px;padding:6px 10px 6px 6px;border-radius:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.06)}@media(max-width:420px){.pt-symbols{grid-template-columns:1fr}}.pt-card--wild,.pt-card:has(.pt-note){grid-column:1 / -1}.pt-card--wild{background:linear-gradient(90deg,#ff7a1838,#ff7a180d);border-color:#ffaa4673}.pt-img{width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 3px 4px rgba(0,0,0,.5))}.pt-card-text{display:grid;gap:2px;min-width:0}.pt-name{font-size:14px;font-weight:700}.pt-tag{margin-left:4px;padding:1px 6px;border-radius:6px;font-size:10px;font-weight:900;letter-spacing:1px;vertical-align:2px;color:#3a1300;background:var(--orange-2)}.pt-note{font-size:12px;line-height:1.3;color:var(--muted)}.pt-prize{display:grid;justify-items:end;font-variant-numeric:tabular-nums}.pt-credits{font-size:16px;font-weight:900;color:#ffe08a}.pt-mult{font-size:10px;font-weight:700;color:var(--muted);white-space:nowrap}.pt-lines{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.pt-line{width:100%;height:auto}.pt-line rect{fill:#00000059;stroke:#ffffff14}.pt-line polyline{fill:none;stroke:var(--line-color);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 3px var(--line-color))}.pt-dot{fill:#ffffff2e}.pt-dot-on{fill:#fff;stroke:var(--line-color);stroke-width:2}.pt-bonuses{display:grid;gap:8px}.pt-bonus{--accent: 125, 255, 107;display:grid;grid-template-columns:56px 1fr;align-items:start;gap:12px;padding:12px;border-radius:14px;background:linear-gradient(135deg,rgba(var(--accent),.16),rgba(var(--accent),.03));border:1px solid rgba(var(--accent),.35)}.pt-bonus--treats{--accent: 255, 150, 50}.pt-bonus--haunt{--accent: 120, 195, 255}.pt-bonus-img{width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(var(--accent),.6))}.pt-bonus h4{margin:0;font-size:16px;font-weight:900;color:rgb(var(--accent))}.pt-bonus p{margin:4px 0 0;font-size:13px;line-height:1.4}.pt-bonus p b{color:#ffe08a}.pt-bonus .pt-trigger{display:inline-block;margin-top:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;color:var(--text);background:#00000059}.pt-foot{padding:10px 16px 16px;border-top:1px solid rgba(255,170,70,.15)}.close-btn{width:100%;padding:12px;border-radius:14px;font-weight:900;color:#3a1300;background:var(--orange)}@media(max-height:720px){#app{gap:8px;padding-top:calc(env(safe-area-inset-top) + 4px);padding-bottom:calc(env(safe-area-inset-bottom) + 8px)}.title{font-size:clamp(26px,8.5vw,36px)}.icon-btn{width:36px;height:36px;font-size:16px}.message{font-size:14px}.message--big{font-size:18px}}.coins{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:60;pointer-events:none}.spell{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:40;pointer-events:none}.flash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 45%,rgba(255,245,210,.95),rgba(255,150,40,.5) 45%,transparent 75%)}.flash--on{animation:flash .7s ease-out}@keyframes flash{0%{opacity:1}}.shake{animation:shake .35s ease-in-out}.shake--strong{animation:shake-strong .6s ease-in-out}@keyframes shake{25%{transform:translate(-3px,1px)}50%{transform:translate(3px,-1px)}75%{transform:translate(-2px,1px)}}@keyframes shake-strong{10%{transform:translate(-8px,4px) rotate(-.6deg)}25%{transform:translate(7px,-5px) rotate(.6deg)}40%{transform:translate(-6px,3px)}55%{transform:translate(5px,-2px)}70%{transform:translate(-3px,2px)}85%{transform:translate(2px,-1px)}}.win-pop{position:absolute;left:50%;top:50%;z-index:4;pointer-events:none;font-weight:900;font-size:clamp(44px,14vw,64px);color:#ffd76a;-webkit-text-stroke:2px #6b2a00;text-shadow:0 4px 0 #6b2a00,0 0 24px rgba(255,170,40,.9);opacity:0;transform:translate(-50%,-50%) scale(.4)}.win-pop--show{animation:win-pop 1.4s cubic-bezier(.2,1.4,.4,1) forwards}@keyframes win-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}70%{opacity:1;transform:translate(-50%,-62%) scale(1)}to{opacity:0;transform:translate(-50%,-85%) scale(.95)}}.bigwin{--tier-a: #ffe27a;--tier-b: #ff8a1a;--tier-glow: rgba(255, 160, 40, .8);position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 45%,#3c1450bf,#05000ceb 70%);opacity:0;transition:opacity .3s}.bigwin[hidden]{display:none}.bigwin[data-tier=mega]{--tier-a: #e6ff8a;--tier-b: #7dff6b;--tier-glow: rgba(125, 255, 107, .75)}.bigwin[data-tier=epic]{--tier-a: #ffd1f0;--tier-b: #c77dff;--tier-glow: rgba(199, 125, 255, .85)}.bigwin--show{opacity:1}.bigwin-rays{position:absolute;width:220vmax;height:220vmax;background:repeating-conic-gradient(from 0deg,var(--tier-glow) 0deg 6deg,transparent 6deg 22deg);-webkit-mask-image:radial-gradient(circle,#000 0%,transparent 45%);mask-image:radial-gradient(circle,#000 0%,transparent 45%);opacity:.35;animation:rays-spin 14s linear infinite}@keyframes rays-spin{to{transform:rotate(360deg)}}.bigwin-content{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;transform:scale(.3)}.bigwin--show .bigwin-content{animation:bigwin-in .6s cubic-bezier(.2,1.6,.4,1) forwards,bigwin-beat .9s ease-in-out .6s infinite alternate}@keyframes bigwin-in{to{transform:scale(1)}}@keyframes bigwin-beat{0%{transform:scale(1)}to{transform:scale(1.05)}}.bigwin-title{font-family:Creepster,cursive;font-size:clamp(46px,15vw,76px);line-height:.95;letter-spacing:2px;background:linear-gradient(180deg,#fff,var(--tier-a) 35%,var(--tier-b) 80%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 0 #3a1000) drop-shadow(0 0 22px var(--tier-glow))}.bigwin-amount{font-size:clamp(48px,16vw,84px);font-weight:900;font-variant-numeric:tabular-nums;color:#fff6d8;-webkit-text-stroke:2px #5a2300;text-shadow:0 5px 0 #5a2300,0 0 30px var(--tier-glow)}.bigwin-hint{margin-top:18px;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--muted);animation:blink 1.2s ease-in-out infinite alternate}@keyframes blink{to{opacity:.3}}@media(prefers-reduced-motion:reduce){.shake,.shake--strong,.bigwin-rays,.bigwin--show .bigwin-content{animation:none;transform:none}}.cell--bonus img{animation:pulse .6s ease-in-out infinite alternate;filter:drop-shadow(0 0 8px rgba(125,255,107,.9)) drop-shadow(0 0 18px rgba(80,220,60,.7))}.reel--anticipate{animation:anticipate .45s ease-in-out infinite alternate}@keyframes anticipate{0%{box-shadow:inset 0 0 12px #7dff6b80,0 0 8px #7dff6b99}to{box-shadow:inset 0 0 28px #7dff6bf2,0 0 22px #7dff6b}}.bonus{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:calc(env(safe-area-inset-top) + 12px) 12px calc(env(safe-area-inset-bottom) + 16px);background:radial-gradient(90% 55% at 50% 78%,rgba(60,200,50,.28),transparent 70%),radial-gradient(circle at 50% 30%,#2a0c3cf7,#06010cfa 75%);opacity:0;transition:opacity .35s}.bonus[hidden]{display:none}.bonus--show{opacity:1}.bonus-head{display:flex;align-items:center;gap:4px}.bonus-witch{width:clamp(96px,30vw,140px);height:clamp(96px,30vw,140px);object-fit:contain;animation:mascot-float 3s ease-in-out infinite}.bonus-title{font-family:Creepster,cursive;font-size:clamp(34px,11vw,52px);line-height:.95;letter-spacing:1px;background:linear-gradient(180deg,#f2ffd0,#7dff6b 45%,#2c9e1f);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 #0f3d0a) drop-shadow(0 0 16px rgba(125,255,107,.6))}.bonus-sub{min-height:2.6em;max-width:340px;text-align:center;font-weight:700;font-size:16px;color:var(--text)}.bonus-pots{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;width:min(100%,460px);margin-top:clamp(90px,16dvh,150px)}.pot{position:relative;padding:0;aspect-ratio:1;background:none;opacity:0;animation:pot-in .6s cubic-bezier(.2,1.5,.4,1) calc(var(--i) * .15s + .2s) forwards}.pot:disabled{opacity:1;cursor:default}@keyframes pot-in{0%{opacity:0;transform:translateY(-60px) scale(.7)}to{opacity:1;transform:none}}.pot-img{position:relative;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 14px rgba(125,255,107,.45)) drop-shadow(0 10px 10px rgba(0,0,0,.6));transform-origin:50% 90%;animation:simmer 1.8s ease-in-out calc(var(--i) * -.6s) infinite;pointer-events:none}@keyframes simmer{0%,to{transform:rotate(-1.5deg) scale(1)}50%{transform:rotate(1.5deg) scale(1.02,.98)}}.pot:not(:disabled):active .pot-img{transform:scale(.94)}.pot-steam{position:absolute;left:20%;top:-18%;width:60%;height:50%;border-radius:50%;background:radial-gradient(circle,rgba(150,255,130,.45),transparent 65%);filter:blur(8px);animation:steam 2.4s ease-in-out calc(var(--i) * -.8s) infinite;pointer-events:none}@keyframes steam{0%{opacity:.2;transform:translateY(10px) scale(.8)}50%{opacity:.8}to{opacity:0;transform:translateY(-30px) scale(1.3)}}.pot-bubbles{position:absolute;left:18%;right:18%;top:16%;height:12%;pointer-events:none}.pot-bubbles span{position:absolute;bottom:0;left:var(--x);width:var(--s);height:var(--s);border-radius:50%;background:radial-gradient(circle at 35% 30%,#eaffd8 0,#eaffd8 20%,#8dff6b 45%,#3cc82899);box-shadow:0 0 6px #7dff6bcc;opacity:0;animation:bubble var(--t) ease-in var(--d) infinite}@keyframes bubble{0%{opacity:0;transform:translateY(6px) scale(.3)}25%{opacity:1}85%{opacity:.9;transform:translateY(-42px) scale(1)}to{opacity:0;transform:translateY(-50px) scale(1.4)}}.pot--chosen .pot-img{animation:boil-shake .1s linear infinite alternate;filter:drop-shadow(0 0 22px rgba(125,255,107,.95)) drop-shadow(0 10px 10px rgba(0,0,0,.6))}.pot--chosen .pot-bubbles span{animation-duration:.55s}@keyframes boil-shake{0%{transform:translate(-2px,1px) rotate(-2deg)}to{transform:translate(2px,-1px) rotate(2deg)}}.pot--dim .pot-img,.pot--dim .pot-bubbles{filter:brightness(.5) saturate(.6);transition:filter .4s}.pot-orb{position:absolute;left:50%;top:14%;z-index:2;width:96%;aspect-ratio:1;display:grid;place-content:center;border-radius:50%;font-weight:900;font-size:clamp(17px,5.4vw,26px);line-height:1;text-align:center;background:radial-gradient(circle at 32% 28%,#fffffff2 0,#fffffff2 6%,#d2ffbe4d 8%,#6ee65059 55%,#28aa1ecc);box-shadow:inset 0 0 18px #ffffff73,0 0 26px #7dff6bb3;opacity:0;transform:translate(-50%) scale(.1);pointer-events:none}.pot-orb small{display:block;margin-bottom:4px;font-size:.45em;letter-spacing:1.5px}.pot-orb--win{color:#fff3b0;-webkit-text-stroke:1px #5a2300;text-shadow:0 2px 0 #5a2300,0 0 14px rgba(255,200,60,.9)}.pot-orb--empty{color:#d9c7ea;background:radial-gradient(circle at 32% 28%,#fffc 0,#fffc 6%,#a096aa40 8%,#5a506e66 55%,#322846d9);box-shadow:inset 0 0 14px #ffffff4d,0 0 14px #7864a080}.pot-orb--rise{animation:orb-rise 1s cubic-bezier(.2,1.3,.4,1) forwards,orb-float 1.6s ease-in-out 1s infinite alternate}.pot-orb--peek{animation:orb-peek .8s cubic-bezier(.2,1.3,.4,1) forwards}@keyframes orb-rise{to{opacity:1;transform:translate(-50%,-112%) scale(1)}}@keyframes orb-float{0%{opacity:1;transform:translate(-50%,-112%) scale(1)}to{opacity:1;transform:translate(-50%,-120%) scale(1.04)}}@keyframes orb-peek{to{opacity:.85;transform:translate(-50%,-95%) scale(.72)}}.bonus-result{min-height:64px;margin-top:12px}.bonus-continue{padding:16px 34px;border-radius:999px;font-size:18px;font-weight:900;letter-spacing:1px;color:#3a1300;background:radial-gradient(circle at 35% 30%,#ffd08a,var(--orange) 60%,#c24a00);box-shadow:0 5px #7a2c00,0 0 24px #ff7a188c;opacity:0;animation:fade-in .4s ease-out .2s forwards}.bonus-continue:active{transform:translateY(4px);box-shadow:0 1px #7a2c00}.treats{--door-trim: 0 0 0 2px #e8dfcf, 0 0 0 3px rgba(20, 8, 4, .55);gap:6px;padding-bottom:calc(env(safe-area-inset-bottom) + 10px);background:radial-gradient(90% 50% at 50% 70%,rgba(255,130,30,.22),transparent 70%),radial-gradient(circle at 50% 30%,#300e42f7,#08020efa 75%)}.treats .bonus-witch{width:clamp(56px,min(22vw,13dvh),112px);height:clamp(56px,min(22vw,13dvh),112px)}.treats .bonus-sub{min-height:2.5em;font-size:15px}.treats .bonus-result{min-height:52px;margin-top:4px}.treats .bonus-continue{padding:13px 30px}.treats-title{font-family:Creepster,cursive;font-size:clamp(28px,min(9.4vw,6.4dvh),46px);line-height:.95;letter-spacing:1px;background:linear-gradient(180deg,#fff1c9,#ffb347 45%,#e2560c);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 #4a1600) drop-shadow(0 0 16px rgba(255,150,40,.6))}.treats-total{display:flex;align-items:baseline;gap:10px;padding:6px 18px;border-radius:999px;background:#00000073;border:1px solid rgba(255,170,70,.4);box-shadow:0 0 18px #ff821e40}.treats-total .label{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#ffcf8a}.treats-amount{min-width:2ch;font-size:24px;font-weight:900;color:#fff3b0;text-shadow:0 0 12px rgba(255,200,60,.8)}.treats-amount--bump{animation:amount-bump .45s cubic-bezier(.2,1.8,.4,1)}@keyframes amount-bump{0%{transform:scale(1.6)}}.treats-stage{--row-gap: clamp(4px, 1dvh, 10px);--col-gap: clamp(4px, 2vw, 14px);--door-w: min( (100cqw - 2 * var(--col-gap) - 8px) / 3 / 1.36, (100cqh - 2 * var(--row-gap) - 8px) / 3 / 2.17, 120px );flex:1;align-self:stretch;min-height:0;display:grid;place-items:center;container-type:size}.treats-doors{display:grid;grid-template-columns:repeat(3,auto);gap:var(--row-gap) var(--col-gap)}.treats-sky{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;background:linear-gradient(180deg,#0b0418,#22093a 45%,#3a1240 72%,#1a0612)}.treats>:not(.treats-sky){position:relative;z-index:1}.treats-stars{position:absolute;top:0;left:0;width:1px;height:1px;border-radius:50%;animation:stars-twinkle 4s ease-in-out infinite alternate}@keyframes stars-twinkle{to{opacity:.55}}.treats-moon{position:absolute;top:calc(env(safe-area-inset-top) + 3%);right:6%;width:clamp(54px,16vw,96px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 62% 38%,rgba(190,150,90,.35) 0 9%,transparent 10%),radial-gradient(circle at 34% 64%,rgba(190,150,90,.3) 0 7%,transparent 8%),radial-gradient(circle at 40% 35%,#fff6d6,#ffd98a 60%,#e8a94a);box-shadow:0 0 40px 10px #ffd27859,0 0 120px 40px #ffaa4626}.treats-ground{position:absolute;left:0;right:0;bottom:0;height:30%;background:radial-gradient(70% 70% at 50% 100%,rgba(255,120,30,.28),transparent 70%),linear-gradient(180deg,transparent,rgba(10,2,8,.85))}.porch{position:relative;display:flex;flex-direction:column;align-items:center;width:calc(var(--door-w) * 1.36);padding-top:calc(var(--door-w) * .32);opacity:0;animation:door-in .5s cubic-bezier(.2,1.5,.4,1) calc(var(--i) * .06s + .25s) forwards}.porch-roof{position:absolute;top:0;left:-7%;right:-7%;height:calc(var(--door-w) * .34);display:grid;place-items:end center;padding-bottom:calc(var(--door-w) * .03);filter:drop-shadow(0 -1px 0 rgba(255,170,80,.55)) drop-shadow(0 3px 3px rgba(0,0,0,.6))}.porch-roof:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;clip-path:polygon(50% 0,100% 100%,0 100%);background:repeating-linear-gradient(180deg,transparent 0 5px,rgba(0,0,0,.35) 5px 6px),linear-gradient(180deg,#3a2034,#170a17)}.porch-attic{position:relative;display:grid;place-items:center;width:calc(var(--door-w) * .2);aspect-ratio:1;border-radius:50%;font-size:max(9px,calc(var(--door-w) * .13));font-weight:900;line-height:1;color:#3a1300;background:radial-gradient(circle,#ffe9a8,#ff9a2e 70%);box-shadow:0 0 0 2px #1a0b14,0 0 10px 2px #ffa032b3;animation:lamp-flicker 3.4s ease-in-out var(--flicker) infinite}.porch-wall{position:absolute;top:calc(var(--door-w) * .3);bottom:calc(var(--door-w) * .04);left:0;right:0;border-radius:2px;background:repeating-linear-gradient(180deg,transparent 0 6px,rgba(0,0,0,.28) 6px 7px),linear-gradient(180deg,rgba(255,150,60,.12),transparent 40%,rgba(0,0,0,.45)),var(--wall);box-shadow:inset 0 0 12px #0009,0 8px 14px #0000008c}.porch-lamp{position:absolute;top:calc(var(--door-w) * .62);width:calc(var(--door-w) * .09);height:calc(var(--door-w) * .15);border-radius:2px 2px 3px 3px;background:radial-gradient(circle at 50% 60%,#fff3c4,#ffaa3a 60%,#b0500c);box-shadow:0 0 0 1px #140810,0 0 12px 4px #ffaa3c8c;animation:lamp-flicker 2.6s ease-in-out var(--flicker) infinite;transition:opacity .6s,filter .6s}.porch-lamp:before{content:"";position:absolute;bottom:100%;left:-25%;right:-25%;height:30%;border-radius:2px 2px 0 0;background:#140810}.porch-lamp--left{left:calc(var(--door-w) * .045)}.porch-lamp--right{right:calc(var(--door-w) * .045)}@keyframes lamp-flicker{0%,to{filter:brightness(1)}40%{filter:brightness(.82)}44%{filter:brightness(1.15)}70%{filter:brightness(.92)}}.porch-web{position:absolute;top:calc(var(--door-w) * .3);width:calc(var(--door-w) * .36);pointer-events:none;z-index:3}.porch-web--left{left:0}.porch-web--right{right:0;transform:scaleX(-1)}.porch-web svg{display:block;width:100%;fill:none;stroke:#ebe1ff73;stroke-width:.8}.porch-step{position:relative;width:calc(var(--door-w) * 1.16);height:calc(var(--door-w) * .07);border-radius:2px;background:linear-gradient(180deg,#8c7f8f,#4c4250 60%,#2a2230);box-shadow:0 3px 6px #0009}.porch-pumpkin{position:absolute;bottom:calc(var(--door-w) * .02);z-index:3;width:calc(var(--door-w) * .4);filter:drop-shadow(0 0 6px rgba(255,140,30,.8));pointer-events:none;animation:lamp-flicker 2.2s ease-in-out var(--flicker) infinite}.porch-pumpkin--left{left:calc(var(--door-w) * -.04)}.porch-pumpkin--right{right:calc(var(--door-w) * -.04)}.treats--tricked .porch:not(:has(.door--open)) :is(.porch-lamp,.porch-attic){animation:none;filter:grayscale(1) brightness(.35);box-shadow:0 0 0 1px #140810}.door{position:relative;width:var(--door-w);aspect-ratio:9 / 16;padding:0;perspective:520px;border-radius:3px;background:#12071b;box-shadow:var(--door-trim),0 6px 10px #0009;transition:box-shadow .3s,filter .4s,transform .2s}.door:disabled{opacity:1}@media(hover:hover){.door:not(:disabled):hover{box-shadow:var(--door-trim),0 0 16px 3px #ffaa468c}}@keyframes door-in{0%{opacity:0;transform:translateY(30px) scale(.85)}to{opacity:1;transform:none}}.door:not(:disabled):active .door-panel{filter:brightness(1.25)}.door-inside{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;border-radius:inherit;background:radial-gradient(circle at 50% 55%,#ffbe5a99,#461946f2 72%)}.door--trick .door-inside{background:radial-gradient(circle at 50% 55%,#af5fffbf,#160522f2 72%)}.door--jackpot .door-inside{background:radial-gradient(circle at 50% 50%,#fff0a0f2,#ffa028bf 45%,#5a1e28f2 80%)}.door-prize{position:relative;z-index:1;width:86%;transform:scale(0);filter:drop-shadow(0 6px 8px rgba(0,0,0,.55));pointer-events:none}.door--open .door-prize{animation:prize-pop .55s cubic-bezier(.2,1.7,.4,1) .18s forwards}.door--jackpot.door--open .door-prize{animation:prize-pop .55s cubic-bezier(.2,1.7,.4,1) .18s forwards,prize-glow .8s ease-in-out .8s infinite alternate}@keyframes prize-pop{to{transform:scale(1)}}@keyframes prize-glow{0%{transform:scale(1);filter:drop-shadow(0 0 6px rgba(255,220,90,.7))}to{transform:scale(1.06);filter:drop-shadow(0 0 18px rgba(255,220,90,1))}}.door--trick.door--open{z-index:3}.door--trick.door--open .door-prize{animation:imp-jump .9s cubic-bezier(.2,1.4,.4,1) .12s forwards}@keyframes imp-jump{0%{transform:scale(0) translateY(20%)}45%{transform:scale(1.75) translateY(-18%) rotate(-8deg)}70%{transform:scale(1.35) translateY(-6%) rotate(5deg)}to{transform:scale(1.2) rotate(0)}}.door-label{position:absolute;bottom:5%;z-index:2;font-size:clamp(15px,4.6vw,22px);font-weight:900;color:#fff3b0;-webkit-text-stroke:1px #5a2300;text-shadow:0 2px 0 #5a2300,0 0 12px rgba(255,200,60,.9);opacity:0;transform:translateY(8px) scale(.6)}.door--trick .door-label{font-family:Creepster,cursive;font-size:clamp(20px,6vw,28px);letter-spacing:1px;color:#f1dcff;-webkit-text-stroke:1px #2d0a4a;text-shadow:0 2px 0 #2d0a4a,0 0 14px rgba(190,120,255,.95)}.door--open .door-label{animation:label-pop .4s cubic-bezier(.2,1.7,.4,1) .45s forwards}@keyframes label-pop{to{opacity:1;transform:none}}.door-panel{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border-radius:inherit;background:var(--door-img) center / cover;box-shadow:inset 0 0 14px #000000a6;transform-origin:0 50%;transition:transform .65s cubic-bezier(.3,1.25,.45,1),filter .65s;pointer-events:none}.door--ring:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:0 0 18px 5px #ffecbe99;opacity:0;animation:porch-light .41s ease-in-out 2;pointer-events:none}.door--ring .door-panel{filter:brightness(1.18)}@keyframes porch-light{50%{opacity:1}}.door--leak.door--treat{box-shadow:var(--door-trim),0 0 22px 6px #ffb946bf}.door--leak.door--trick{box-shadow:var(--door-trim),0 0 22px 6px #aa5affcc}.door--leak:not(.door--open) .door-panel{transform:rotateY(-6deg)}.door--open .door-panel{animation:none;transform:rotateY(-94deg);filter:brightness(.4)}.door--peek .door-panel{transform:rotateY(-78deg);filter:brightness(.45)}.door--peek .door-prize{transform:scale(.8);opacity:.7;transition:transform .5s cubic-bezier(.2,1.5,.4,1) .2s,opacity .5s .2s}.door--peek .door-label{opacity:.8;transform:scale(.85);transition:opacity .4s .4s,transform .4s .4s}.treats--tricked .door:not(.door--open):not(.door--peek){filter:grayscale(.7) brightness(.55)}@media(prefers-reduced-motion:reduce){.door-panel{transition-duration:.01s}}.cell--haunt img{animation:pulse .6s ease-in-out infinite alternate;filter:drop-shadow(0 0 8px rgba(150,220,255,.95)) drop-shadow(0 0 18px rgba(90,170,255,.75))}.ghost-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none}.ghost-cell{position:absolute;top:calc(var(--row) * 100cqh / 3);left:0;right:0;border-radius:10px;background:radial-gradient(circle at 50% 45%,rgba(150,215,255,.42),transparent 68%),#150b2c;box-shadow:inset 0 0 0 2px #96d7ff99,inset 0 0 18px #78beff80}.reel .ghost-cell img{opacity:.94;filter:drop-shadow(0 0 8px rgba(160,225,255,.9)) drop-shadow(0 0 18px rgba(90,160,255,.6));animation:ghost-float 2.6s ease-in-out var(--drift, 0s) infinite}.reel .ghost-cell--new{animation:ghost-stick .7s cubic-bezier(.2,1.6,.4,1)}.reel .ghost-cell.cell--win img{animation:pulse .7s ease-in-out infinite alternate}.reel .ghost-cell--leave{animation:ghost-leave .9s ease-in var(--delay, 0s) forwards}@keyframes ghost-float{0%,to{transform:translateY(2%) rotate(-3deg)}50%{transform:translateY(-5%) rotate(3deg)}}@keyframes ghost-stick{0%{opacity:0;transform:scale(1.35);filter:brightness(2.4)}60%{opacity:1}}@keyframes ghost-leave{to{opacity:0;transform:translateY(-110%) scale(.6)}}.haunt-hud{position:absolute;top:0;left:50%;z-index:4;display:flex;gap:16px;padding:4px 16px;transform:translate(-50%,-55%);border-radius:999px;background:linear-gradient(180deg,#1d3266,#0c1430);border:2px solid rgba(150,215,255,.75);box-shadow:0 0 18px #6ebeff8c;white-space:nowrap}.haunt-hud[hidden]{display:none}.haunt-stat{display:flex;align-items:baseline;gap:6px}.haunt-stat .label{color:#a9dcff}.haunt-left,.haunt-total{display:inline-block;font-size:18px;font-weight:900;font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 0 10px rgba(140,210,255,.9)}.haunt-bump{animation:haunt-bump .45s cubic-bezier(.2,1.8,.4,1)}@keyframes haunt-bump{40%{transform:scale(1.45);color:#d6f0ff}}.frame{transition:background .8s,box-shadow .8s}.is-haunted .frame{background:linear-gradient(160deg,#9ad8ff,#2b5cab 45%,#3b1d6b);box-shadow:0 0 0 3px #0a1030,0 0 36px #6ebeff99,0 18px 40px #0009}.haunt-fog{position:fixed;top:0;right:-8%;bottom:0;left:-8%;z-index:5;pointer-events:none;opacity:0;transition:opacity 1.4s;background:radial-gradient(55% 28% at 15% 100%,rgba(190,220,255,.4),transparent 70%),radial-gradient(55% 26% at 85% 100%,rgba(170,205,255,.35),transparent 70%),radial-gradient(70% 22% at 50% 92%,rgba(200,225,255,.25),transparent 70%),linear-gradient(0deg,rgba(110,150,220,.22),transparent 45%)}.is-haunted .haunt-fog{opacity:1;animation:haunt-fog-drift 7s ease-in-out infinite alternate}@keyframes haunt-fog-drift{0%{transform:translate(-4%)}to{transform:translate(4%) scaleY(1.08)}}.haunt{gap:14px;background:radial-gradient(90% 55% at 50% 80%,rgba(120,190,255,.3),transparent 70%),radial-gradient(circle at 50% 30%,#141840f7,#03040efa 75%)}.haunt-ghost{width:clamp(120px,38vw,180px);height:clamp(120px,38vw,180px);object-fit:contain;filter:drop-shadow(0 0 22px rgba(140,210,255,.9));animation:ghost-float 2.6s ease-in-out infinite}.haunt-title{font-family:Creepster,cursive;font-size:clamp(36px,11vw,56px);line-height:.95;letter-spacing:1px;text-align:center;background:linear-gradient(180deg,#f0fbff,#9fd8ff 45%,#3d7fd6);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 #0b1f4a) drop-shadow(0 0 16px rgba(120,190,255,.6))}.haunt .bonus-sub b{color:#a9dcff}.haunt-continue{color:#06173a;background:radial-gradient(circle at 35% 30%,#d8f1ff,#5fb4ff 60%,#2a63c4);box-shadow:0 5px #173e86,0 0 24px #6ebeff99}.haunt-continue:active{box-shadow:0 1px #173e86}@media(prefers-reduced-motion:reduce){.reel .ghost-cell img,.haunt-ghost,.is-haunted .haunt-fog{animation:none}}
