:root{color-scheme:dark;--lime:#ddff64;--pink:#ff4eaf;--ink:#160d25;--accent:#ddff64}*{box-sizing:border-box}body{margin:0;background:#120b21;color:#fff;font-family:Barlow,Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible{outline:3px solid white;outline-offset:4px}.game{min-height:100svh;position:relative;overflow:hidden;background:#150c29;isolation:isolate}.scene{position:absolute;inset:0;z-index:-5;background:linear-gradient(180deg,#170b3640 0%,#150c2910 45%,#10091ee8 88%),url('assets/alley.png') center 45%/cover;transition:filter 1.2s,transform 2s}.grain{position:absolute;inset:0;z-index:-3;background:radial-gradient(ellipse at center,transparent 10%,#090319aa 100%)}header{height:76px;display:flex;align-items:center;padding:0 36px;gap:12px;position:relative;z-index:2}.studio{font-size:26px;font-weight:900;font-style:italic;line-height:.8;color:#fff;text-decoration:none}.studio span{display:block;font-size:9px;letter-spacing:2px;margin-top:7px}.demo-pill{margin-left:auto;border:1px solid #ffffff24;background:#160b2c99;border-radius:20px;padding:8px 15px;font-size:11px;font-weight:700;letter-spacing:1px}.demo-pill i{color:var(--lime);font-style:normal;margin:0 6px}.icon-button{position:relative;width:38px;height:38px;background:#150b2aaa;border:1px solid #ffffff30;border-radius:50%;font-size:23px}.mute-line{position:absolute;width:22px;height:2px;background:#fff;left:8px;top:18px;transform:rotate(-45deg)}.sound-on .mute-line{display:none}main{max-width:1140px;margin:auto;position:relative;padding:0 24px 22px}.title-wrap{text-align:center;position:relative;margin:4px auto 32px;width:max-content}.eyebrow{font-size:10px;font-weight:800;letter-spacing:3px;color:#e2d0f7}h1{font-family:'Barlow Condensed',Impact,sans-serif;font-style:italic;font-size:clamp(65px,7.6vw,110px);font-weight:900;letter-spacing:-3px;line-height:.91;margin:12px 0 8px;transform:rotate(-4deg);text-shadow:4px 5px 0 #240c39,6px 7px 0 #ffffff44}h1 span{color:var(--lime);margin-left:9px}h1 b{font-size:35px;color:var(--pink);position:absolute;right:-28px;top:-14px;animation:spark 3s infinite}.title-sticker{display:inline-block;background:var(--pink);color:#210b2e;padding:4px 11px;font-size:11px;font-weight:900;letter-spacing:3px;transform:rotate(-4deg);box-shadow:3px 3px 0 #250d39}.play-stage{position:relative;max-width:1040px;margin:auto}.machine{width:620px;max-width:100%;margin:auto;position:relative;z-index:3;filter:drop-shadow(0 18px 22px #10031cbb)}.machine-top{height:30px;display:flex;justify-content:space-between;align-items:center;padding:0 16px;font-size:11px;letter-spacing:1.5px;font-weight:800;color:#cab6e1;background:#301641;border:1px solid #6e367d;border-radius:12px 12px 0 0}.machine-top span:last-child{color:var(--lime)}.reel-frame{padding:8px;background:linear-gradient(135deg,#cc83dd,#5c286e 25%,#260e3b 70%,#b26cca);border:2px solid #cc94df;border-radius:0 0 8px 8px;position:relative;box-shadow:0 0 0 5px #170c27,0 0 32px #dd53fc22}.reels{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;overflow:hidden;background:#0f081c;border-radius:4px;padding:4px}.reel{display:grid;grid-template-rows:repeat(4,1fr);gap:5px;overflow:hidden}.symbol{height:76px;position:relative;display:flex;align-items:center;justify-content:center;border-radius:7px;background:radial-gradient(ellipse at 50% 20%,#392747,#21122e);box-shadow:inset 0 1px 0 #ffffff0c;font-family:'Barlow Condensed',Impact,sans-serif;font-weight:900;font-size:48px;text-shadow:2px 3px 0 #100720;transition:background .2s}.symbol .symbol-face{display:block;transform:rotate(-7deg);-webkit-text-stroke:1px #ffffff40;filter:drop-shadow(0 3px 0 #09030f)}.symbol.a{color:#e3acff}.symbol.k{color:#83ddff}.symbol.q{color:#ffcf65}.symbol.j{color:#b1ff83}.symbol.x{color:#ff83a7}.symbol.w{color:#ff344e;background:radial-gradient(#7c163e,#28112d);font-size:61px}.symbol.w .symbol-face{animation:wild 1.3s ease-in-out infinite;text-shadow:0 0 14px #ff154c,3px 4px 0 #6c081c;-webkit-text-stroke:1px #ffa8a8}.symbol.w:after{content:'WILD';position:absolute;bottom:3px;letter-spacing:3px;font:800 8px Barlow,Arial}.symbol.s{background:radial-gradient(#ffe28655,#42305d);color:#fff392;font-size:58px}.symbol.s .symbol-face{animation:moon 2s infinite;filter:drop-shadow(0 0 8px #ffec66)}.symbol.s:after{content:'BONUS';position:absolute;bottom:3px;font:900 8px Barlow,Arial;letter-spacing:2px;color:#fff2a7}.symbol.hit{animation:hit .6s ease-in-out infinite;background:radial-gradient(#6b5372,#3f284b);box-shadow:inset 0 0 0 2px var(--lime),0 0 15px #d5ff5866}.symbol.sticky:before{content:'✦';position:absolute;top:2px;right:5px;color:var(--lime);font-size:13px}.reel.spinning .symbol{animation:reelSpin .12s linear infinite;filter:blur(2px)}.reel.landed{animation:land .3s ease-out}.ticker{height:39px;display:flex;align-items:center;justify-content:center;gap:18px;font-family:'Barlow Condensed',Impact,sans-serif;font-size:16px;font-weight:800;letter-spacing:1.5px;background:#170c2bdd;border-radius:0 0 15px 15px}.ticker-star{color:var(--pink);font-size:16px}.actor{position:absolute;z-index:2;pointer-events:none}.actor-sprite{width:100%;height:100%;background-image:url('assets/characters.png');background-size:400% 200%;background-repeat:no-repeat;mix-blend-mode:lighten}.wolf{width:265px;height:340px;left:-12px;bottom:-5px;transform:rotate(-5deg);animation:wolfBob 3s ease-in-out infinite}.wolf .actor-sprite{background-position:0 0}.human{width:170px;height:225px;bottom:-4px;right:4px;transform-origin:50% 90%;animation:dance .8s ease-in-out infinite alternate}.human-one{right:14px}.human-one .actor-sprite{background-position:0 100%}.human-two{right:-58px;bottom:120px;width:155px;height:202px;animation-delay:-.4s;z-index:1}.human-two .actor-sprite{background-position:66.666% 100%}.speech{position:absolute;top:0;left:10px;padding:9px 13px;background:var(--lime);color:#1b1029;font:900 11px Barlow,Arial;max-width:135px;transform:rotate(-8deg);clip-path:polygon(0 0,100% 0,100% 82%,35% 82%,25% 100%,25% 82%,0 82%);padding-bottom:18px}.human .speech{display:none;background:var(--pink)}.feature-bar{max-width:620px;margin:19px auto 17px;display:flex;justify-content:space-between;gap:12px}.bonus-button{background:var(--pink);color:#2b0b35;border:0;box-shadow:0 4px 0 #8b215b;border-radius:7px;padding:12px 16px;font-weight:900;font-size:14px;letter-spacing:1px;transform:rotate(-2deg)}.bonus-button>span{margin-right:6px}.bonus-button small{display:block;font-size:9px;letter-spacing:2px;margin-top:2px}.chance-button{display:flex;align-items:center;gap:10px;background:#241333dd;border:1px solid #714b7c;border-radius:8px;padding:10px 14px;text-align:left;font-size:12px;font-weight:800;letter-spacing:1px}.chance-button small{display:block;font-size:10px;color:#beacca;font-weight:500;letter-spacing:0;margin-top:4px}.switch{display:block;width:35px;height:20px;border-radius:15px;background:#4b345e;padding:3px}.switch i{display:block;width:14px;height:14px;background:#aa97b7;border-radius:50%;transition:.2s}.chance-button[aria-pressed=true]{border-color:var(--lime)}.chance-button[aria-pressed=true] .switch{background:#647e22}.chance-button[aria-pressed=true] .switch i{background:var(--lime);transform:translateX(15px)}.controls{max-width:800px;display:grid;grid-template-columns:1.2fr 1fr 105px 1fr 70px;align-items:center;gap:22px;margin:26px auto 0;background:#170e25e8;border:1px solid #ffffff20;border-radius:17px;padding:13px 25px;box-shadow:0 15px 40px #08031177}.metric>span,.bet-control>span{font-size:10px;font-weight:700;letter-spacing:1.5px;color:#b8a7c6;display:block;margin-bottom:4px}.metric strong{font-size:23px;font-weight:800;font-variant-numeric:tabular-nums}.win strong{color:var(--lime)}.bet-control{text-align:center}.bet-control>div{display:flex;align-items:center;gap:8px;justify-content:center}.bet-control strong{font-size:20px;min-width:43px}.bet-control button{border:1px solid #634d73;background:#30203e;border-radius:50%;height:27px;width:27px;font-size:20px;line-height:20px;padding:0}.spin-button{background:var(--lime);color:#1c2020;border:5px solid #263516;outline:2px solid var(--lime);width:90px;height:90px;border-radius:50%;margin-top:-26px;margin-bottom:-20px;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:0 0 35px #d4ff6125,0 6px 0 #080e10;transition:transform .15s}.spin-button:hover{transform:scale(1.04)}.spin-button:active{transform:scale(.94)}.spin-glyph{font-family:Arial;font-size:57px;line-height:.9;font-weight:500}.spin-label{font-size:10px;letter-spacing:2px;font-weight:900;margin:1px 0 3px}.spin-button.running .spin-glyph{animation:rotate .7s linear infinite}.auto-button{border:0;background:none;color:#b6a6c5;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:9px;font-weight:800;white-space:nowrap}.auto-button b{font-size:28px;line-height:1}.auto-button[aria-pressed=true]{color:var(--lime)}.bottom-line{display:flex;justify-content:space-between;gap:10px;max-width:750px;margin:17px auto 0;font-size:9px;letter-spacing:1px;color:#b8a7c6}.bottom-line button{background:none;border:0;color:#cbb8d9;font-size:9px;letter-spacing:1px;padding:0}.light{position:absolute;top:-20%;width:190px;height:140%;background:linear-gradient(#ba55fb19,transparent);transform:rotate(25deg);z-index:-2;pointer-events:none;animation:beam 12s ease-in-out infinite alternate}.light-one{left:15%}.light-two{right:10%;animation-delay:-6s;transform:rotate(-25deg);background:linear-gradient(#afff4917,transparent)}#particles{position:fixed;inset:0;width:100%;height:100%;z-index:8;pointer-events:none}.bonus-meter{position:fixed;top:15px;left:50%;transform:translateX(-50%);z-index:10;align-items:center;gap:20px;background:#1b102e;border:1px solid var(--accent);padding:12px 20px;border-radius:10px;font-size:12px;box-shadow:0 0 25px #0008}.bonus-meter:not([hidden]){display:flex}.bonus-meter strong{color:var(--accent);font-size:22px}.transition{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:radial-gradient(ellipse at 50% 35%,#7b2768,#130820 70%);overflow:hidden;padding:20px;animation:reveal .7s ease-out}.transition[hidden]{display:none}.transition:before{content:'';position:absolute;inset:-100%;background:repeating-conic-gradient(from 10deg,transparent 0deg 15deg,#fb45a710 15deg 30deg);animation:rotate 60s linear infinite;z-index:-1}.transition-moon{position:absolute;top:-100px;right:0;font-size:550px;color:#dcff6515;line-height:1;transform:rotate(-15deg)}.transition-wolf{width:240px;height:280px;background:url('assets/characters.png') 66.666% 0/400% 200%;mix-blend-mode:lighten;animation:wolfBob .6s ease-in-out infinite}.transition h2{font:900 italic clamp(48px,9vw,96px)/.95 'Barlow Condensed',Impact,sans-serif;color:var(--accent);margin:18px 0;text-shadow:4px 6px #481332}.transition p{color:#e1cdec;font-size:16px;max-width:390px;line-height:1.5}.primary-button{border:0;background:var(--accent);color:#201029;font-weight:900;font-size:15px;letter-spacing:1px;padding:18px 28px;border-radius:7px;box-shadow:0 5px 0 #08040b;margin-top:15px}.game.scared .human{animation:flee 1.1s ease-in both}.game.scared .human .speech{display:block}.game.celebrate .wolf .actor-sprite{background-position:33.333% 0}.game.celebrate .human{animation:dance .2s infinite alternate}.game.scared .wolf .actor-sprite{background-position:100% 0}.game.lunar{--accent:#79f3ff}.game.lunar .scene{filter:hue-rotate(45deg) saturate(1.5);transform:scale(1.08)}.game.blood{--accent:#ff634e}.game.blood .scene{filter:hue-rotate(95deg) saturate(2);transform:scale(1.12)}.game.disco{--accent:#ffeb68}.game.disco .scene{animation:disco 8s linear infinite}.game.lunar .reel-frame{border-color:#79f3ff;box-shadow:0 0 35px #3bf4ff50}.game.blood .reel-frame{border-color:#ff634e;box-shadow:0 0 35px #ff443d50}.game.disco .reel-frame{border-color:#ffee68;box-shadow:0 0 35px #fcfd3350}dialog{width:min(490px,calc(100% - 28px));max-height:90svh;overflow:auto;border:1px solid #9d679d;border-radius:18px;color:white;background:#211131;padding:32px;box-shadow:0 25px 90px #000b}dialog::backdrop{background:#0b0617bd;backdrop-filter:blur(8px)}.close{position:absolute;right:13px;top:10px;background:none;border:0;font-size:28px;color:#cbb8d9}dialog h2{font:900 italic 42px 'Barlow Condensed',Impact,sans-serif;color:var(--lime);margin:0 0 8px}dialog p{font-size:14px;color:#cdbadb;line-height:1.5}dialog .bonus-option{display:block;position:relative;width:100%;background:linear-gradient(110deg,#34213f,#281336);border:1px solid #715584;border-radius:10px;text-align:left;padding:18px;margin-top:12px}dialog .bonus-option strong{display:block;font:800 25px 'Barlow Condensed',Impact,sans-serif;letter-spacing:1px;color:#7df0ff}.bonus-option small{display:block;font-size:12px;line-height:1.5;color:#dbcde4;margin-top:5px}.bonus-option.blood strong{color:#ff7c6c}.bonus-option.disco strong{color:#ffe970}.bonus-option:after{content:'↗';position:absolute;right:17px;top:16px;font-size:26px}.rules-table{width:100%;border-collapse:collapse;font-size:13px}.rules-table td,.rules-table th{padding:8px;border-bottom:1px solid #ffffff19;text-align:left}.rules-table th{color:var(--lime)}.summary-total{font:900 55px 'Barlow Condensed',Impact,sans-serif;color:var(--lime);margin:20px 0}#reel-flash{pointer-events:none;position:absolute;inset:0}.flash{animation:flash .5s ease-out}.toast{animation:hit .5s 3}
@keyframes reelSpin{from{transform:translateY(-30%)}to{transform:translateY(30%)}}@keyframes land{0%{transform:translateY(-12px)}55%{transform:translateY(5px)}100%{transform:translateY(0)}}@keyframes dance{from{transform:rotate(-8deg) translateY(0)}to{transform:rotate(8deg) translateY(-10px)}}@keyframes wolfBob{0%,100%{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(1deg) translateY(-8px)}}@keyframes wild{50%{transform:rotate(5deg) scale(1.13);filter:drop-shadow(0 0 9px #ff3556)}}@keyframes moon{50%{transform:rotate(8deg) scale(1.08)}}@keyframes hit{50%{transform:scale(.93);filter:brightness(1.6)}}@keyframes spark{50%{transform:rotate(80deg) scale(1.3)}}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes beam{to{transform:rotate(-25deg)}}@keyframes flee{30%{transform:translateY(-35px) rotate(10deg)}100%{transform:translateX(400px) rotate(25deg);opacity:0}}@keyframes reveal{from{clip-path:circle(0% at 50% 50%)}to{clip-path:circle(150% at 50% 50%)}}@keyframes flash{from{background:#fff8}to{background:transparent}}@keyframes disco{0%,100%{filter:hue-rotate(0deg) saturate(1.6)}50%{filter:hue-rotate(150deg) saturate(2)}}
@media(min-width:1500px){main{padding-top:25px}.title-wrap{margin-bottom:45px}.symbol{height:90px}.machine{width:700px}.feature-bar{max-width:700px}.wolf{left:-40px;width:300px;height:385px}.human-one{right:-25px}.human-two{right:-90px}}@media(max-width:850px){header{height:60px;padding:0 20px}.wolf{left:-20px;width:195px;height:250px;bottom:15px}.human-one{right:-35px;width:145px;height:186px}.human-two{display:none}.machine{width:540px}.symbol{height:70px}.controls{gap:12px;padding:12px 18px}.play-stage{margin:0 20px}.feature-bar{max-width:540px}}@media(max-width:650px){header{height:53px;padding:0 16px;gap:8px}.studio{font-size:22px}.studio span{font-size:7px}.demo-pill{font-size:8px;letter-spacing:.8px;padding:6px 9px}.icon-button{width:32px;height:32px;font-size:20px}.mute-line{left:6px;top:15px;width:20px}main{padding:5px 13px 16px}.title-wrap{margin:0 auto 82px}h1{font-size:66px}.eyebrow{font-size:8px;letter-spacing:2px}.title-sticker{font-size:8px;letter-spacing:2.5px}.play-stage{margin:0}.wolf{width:125px;height:160px;left:0;bottom:auto;top:-129px;z-index:2}.wolf .speech{display:none}.human-one{width:92px;height:118px;right:6px;bottom:auto;top:-95px;z-index:2}.human-two{display:block;width:83px;height:106px;right:79px;bottom:auto;top:-89px}.human .speech{font-size:8px;top:-8px;left:0;padding:6px 8px 12px}.machine{width:100%}.machine-top{height:26px;font-size:9px;padding:0 11px;letter-spacing:1px}.reel-frame{padding:5px;border-width:1px;box-shadow:0 0 0 3px #170c27}.reels{gap:3px;padding:2px}.reel{gap:3px}.symbol{height:clamp(53px,15vw,83px);font-size:39px;border-radius:5px}.symbol.w{font-size:49px}.symbol.s{font-size:46px}.symbol.w:after,.symbol.s:after{font-size:7px;bottom:2px}.ticker{height:34px;font-size:13px;letter-spacing:1px;gap:12px}.feature-bar{margin:13px 0 0;gap:10px}.bonus-button{padding:9px 12px;font-size:12px}.bonus-button small{font-size:8px}.chance-button{padding:8px 9px;font-size:10px;gap:7px;letter-spacing:.5px}.chance-button small{font-size:9px}.controls{margin-top:20px;border-radius:12px;padding:12px 10px;gap:8px;grid-template-columns:1fr 1fr 72px 1fr}.metric strong{font-size:16px}.metric>span,.bet-control>span{font-size:8px;letter-spacing:.7px}.bet-control strong{font-size:16px;min-width:31px}.bet-control>div{gap:3px}.bet-control button{width:22px;height:22px;font-size:16px}.spin-button{height:68px;width:68px;border-width:3px;margin-top:-16px;margin-bottom:-12px}.spin-glyph{font-size:44px}.spin-label{font-size:8px}.win{text-align:right}.auto-button{position:absolute;right:14px;bottom:-17px;flex-direction:row;font-size:9px;gap:3px}.auto-button b{font-size:16px}.bottom-line{margin:15px 3px 0;font-size:8px;letter-spacing:.3px}.bottom-line>span:nth-child(2){max-width:140px;text-align:center}.bottom-line button{font-size:8px}.scene{background-position:50% 0}.bonus-meter{top:6px;padding:8px 12px;gap:10px;white-space:nowrap;font-size:9px}.bonus-meter strong{font-size:16px}dialog{padding:25px}.transition-wolf{height:230px;width:200px}}@media(max-width:370px){.demo-pill{font-size:7px;padding:5px}.symbol{height:50px}.title-wrap{margin-bottom:71px}.controls{gap:5px;padding:12px 7px}.chance-button small{font-size:8px}.bottom-line>span:nth-child(2){max-width:120px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.actor-sprite,.transition-wolf{mask-image:radial-gradient(ellipse 70% 68% at 50% 50%,#000 40%,#000a 61%,transparent 76%)}
/* Disco Panic — a separate neon dance-floor presentation. */
.game.disco{--accent:#75fff0;--lime:#fff084;--pink:#ff63c8;background:#070e23}.game.disco .scene{background-image:linear-gradient(180deg,#03041a20,#04102a20 50%,#050a21ee 95%),url('assets/disco-club.png');background-position:center;background-size:cover;animation:none;filter:none;transform:scale(1.02)}.game.disco .grain{background:radial-gradient(ellipse at center,transparent 35%,#02051988)}.game.disco h1{color:#fff4fd;text-shadow:0 0 20px #ff29ac,4px 5px #380750}.game.disco h1 span{color:#6fffee;text-shadow:0 0 22px #05d4fb,4px 5px #072747}.game.disco .title-sticker{background:#fff48e;color:#331347}.game.disco .machine{filter:drop-shadow(0 0 30px #fe35c93d)}.game.disco .machine-top{border:1px solid #ec61ff;background:#131634;color:#e3d8ff;letter-spacing:1.5px}.game.disco .reel-frame{background:linear-gradient(135deg,#ff65eb,#7340c4 35%,#2b3478 65%,#6ffff3);border:2px solid #f9a8ff;box-shadow:0 0 0 4px #241049,0 0 36px #ec3bcd55;border-radius:0 0 15px 15px}.game.disco .reels{background:#080d28;gap:5px;padding:5px}.game.disco .symbol{background:linear-gradient(145deg,#283466,#121831);box-shadow:inset 0 1px #7190c233;border-radius:10px}.game.disco .ticker{background:#0c132fe8;color:#f4ddff}.game.disco .light{background:linear-gradient(#38d9ff44,transparent);width:260px;animation-duration:2s}.game.disco .light-two{background:linear-gradient(#fc31b933,transparent)}.game.disco .controls{background:#0b1432ed;border-color:#6169b9}.game.disco .spin-button{background:#75fff0;border-color:#14414e;outline-color:#75fff0;box-shadow:0 0 28px #75fff05c}.game.disco .transition{background:radial-gradient(ellipse at 50% 35%,#700d7999,#070d2ced),url('assets/disco-club.png') center/cover}.game.disco .transition h2{color:#ffed7e;text-shadow:4px 6px #70175d,0 0 30px #f944ac}.game.disco .transition:before{background:repeating-conic-gradient(transparent 0deg 15deg,#6af5ff18 15deg 30deg);animation-duration:22s}.game.disco .transition-wolf{background-image:url('assets/wolf-expressions.png');background-position:66.666% 100%}.game.disco .transition-moon{display:none}.disco-hud{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(100deg,#351246,#111d43);border-left:2px solid #f9a8ff;border-right:2px solid #f9a8ff;padding:10px 16px;gap:15px}.disco-hud[hidden]{display:none}.disco-hud>div{display:flex;flex-direction:column;gap:3px}.disco-hud>div:first-child{flex:1}.disco-hud span{font-size:9px;font-weight:800;letter-spacing:1px;color:#c3bfeb}.disco-hud strong{font:900 27px 'Barlow Condensed',Impact,sans-serif;color:#fff295;font-variant-numeric:tabular-nums;line-height:1}.disco-hud>div:nth-child(2) strong{color:#77ffee}.disco-hud>div:last-child strong{color:#ff85db}.game.disco .symbol.c{background:radial-gradient(ellipse at 50% 30%,#b88726,#5c341e 75%);border:1px solid #ffe18a;box-shadow:inset 0 0 10px #fdd56540;flex-direction:column;text-shadow:0 2px #421321;gap:1px}.cash-label{font:900 9px Barlow,Arial;letter-spacing:2px;color:#ffe798}.cash-value{font:900 29px 'Barlow Condensed',Impact,sans-serif;color:#fff9d1;letter-spacing:-.4px}.cash-unit{font:800 8px Barlow,Arial;color:#f3ca7e;letter-spacing:1px}.game.disco .symbol.m{border:1px solid #8efff9;background:radial-gradient(#147687,#163b66);flex-direction:column;animation:boostBreath 1.5s ease-in-out infinite}.boost-badge{font:900 italic 40px 'Barlow Condensed',Impact,sans-serif;color:#a3fff9;text-shadow:0 0 12px #49e6ff,2px 3px #103b55}.symbol.m small,.symbol.d small{font:900 8px Barlow,Arial;letter-spacing:1.5px;color:#c5fffc;position:absolute;bottom:4px}.game.disco .symbol.d{overflow:hidden;background:radial-gradient(#a7308a,#451654);border:2px solid #ff8ece;box-shadow:0 0 12px #fb3b9666}.collector-portrait{position:absolute;inset:-5% 9% -43%;background:url('assets/wolf-expressions.png') 33.333% 100%/400% 200%;mask-image:linear-gradient(#000 60%,transparent 100%)}.collector-w{position:absolute;left:2px;top:-2px;font:900 italic 35px 'Barlow Condensed',Impact,sans-serif;color:#ff2e61;text-shadow:0 0 8px #ff143e,1px 2px #500e28;-webkit-text-stroke:.7px #ffd1df;animation:wild 1s infinite}.symbol.d small{color:#fff;background:#a01d65aa;left:0;right:0;bottom:0;text-align:center;padding:3px 0;font-size:7px;letter-spacing:.9px}.game.disco .symbol.collector-active{box-shadow:0 0 25px #ffb2ec;outline:2px solid #fff2b9;z-index:2}.collector-active .collector-portrait,.collector-bounce .collector-portrait{background-position:var(--face-x,66.666%) var(--face-y,0%);animation:collectorDance .22s infinite alternate}.collector-bounce{animation:collectorBounce .3s ease-out}.symbol.collected{border-color:#fff18e!important}.cash-sending{animation:cashSend .42s ease-in-out}.boost-active{animation:boostPop .48s ease-in-out!important}.flying-cash{position:fixed;pointer-events:none;z-index:40;font:900 24px 'Barlow Condensed',Impact,sans-serif;color:#fffdb9;background:#67451ee8;border:1px solid #fff49c;border-radius:8px;padding:5px 10px;box-shadow:0 0 22px #ffe06999;white-space:nowrap;text-shadow:0 2px #5b1b24}.game[data-mood] .wolf .actor-sprite{background-image:url('assets/wolf-expressions.png');background-position:var(--face-x,0%) var(--face-y,0%);mask-image:radial-gradient(ellipse 74% 70% at 50% 43%,#000 40%,#000b 63%,transparent 76%)}.game[data-mood] .wolf{animation:aliveBreath 2.6s ease-in-out infinite;transform-origin:50% 80%}.game[data-mood=danceLeft] .wolf,.game[data-mood=danceRight] .wolf{animation:avatarGroove .28s ease-in-out infinite alternate}.game[data-mood=danceRight] .wolf{animation-direction:alternate-reverse}.game[data-mood=shocked] .wolf{animation:avatarShock .45s ease-out}.game[data-mood=grab] .wolf{animation:avatarGrab .5s ease-in-out infinite alternate}.game[data-mood=howl] .wolf{animation:avatarGroove .22s ease-in-out infinite alternate}.game[data-mood=sad] .wolf{animation:avatarSigh 1.8s ease-in-out infinite}.game[data-mood=danceLeft] .human,.game[data-mood=danceRight] .human{animation:dance .22s infinite alternate}.game[data-mood=shocked] .human{animation:avatarShock .4s ease-out}.game[data-mood=sad] .human{animation:dance 1.5s infinite alternate}.game[data-mood=howl] .human{animation:dance .18s infinite alternate}.game.disco .speech{background:#fff38a}.game.disco .wolf{z-index:4}.game.scared .human{animation:flee 1.1s ease-in both}.game.scared .wolf .actor-sprite{background-image:url('assets/characters.png');background-position:100% 0}.game.disco .title-wrap{margin-bottom:25px}.game.disco .human-one .actor-sprite{background-position:33.333% 100%}.game.disco .human-two .actor-sprite{background-position:100% 100%}
@keyframes aliveBreath{0%,100%{transform:translateY(0) rotate(-2deg) scaleY(1)}50%{transform:translateY(-5px) rotate(1deg) scaleY(1.02)}}@keyframes avatarGroove{from{transform:translate(-5px,0) rotate(-10deg) scaleY(.97)}to{transform:translate(6px,-13px) rotate(9deg) scaleY(1.03)}}@keyframes avatarShock{0%{transform:translateY(0) scale(1)}45%{transform:translateY(-18px) scale(1.1)}100%{transform:translateY(0) scale(1)}}@keyframes avatarGrab{from{transform:rotate(-4deg) translateX(0)}to{transform:rotate(8deg) translateX(9px)}}@keyframes avatarSigh{50%{transform:translateY(6px) rotate(-6deg) scaleY(.96)}}@keyframes collectorDance{from{transform:translateX(-3px) rotate(-8deg)}to{transform:translateX(3px) rotate(8deg)}}@keyframes collectorBounce{50%{transform:scale(1.13);filter:brightness(1.3)}}@keyframes cashSend{50%{transform:scale(1.12);filter:brightness(1.8)}}@keyframes boostPop{50%{transform:scale(1.2);filter:brightness(1.8)}}@keyframes boostBreath{50%{box-shadow:inset 0 0 20px #31e2ff40}}
@media(max-width:650px){.game.disco .title-wrap{margin-bottom:74px}.disco-hud{padding:8px 10px;gap:12px}.disco-hud span{font-size:7px;letter-spacing:.6px}.disco-hud strong{font-size:23px}.game.disco .reels{gap:3px;padding:2px}.game.disco .symbol{border-radius:6px;height:clamp(48px,14vw,76px)}.cash-value{font-size:22px}.cash-label{font-size:7px;letter-spacing:1px}.cash-unit{font-size:7px;letter-spacing:.3px}.boost-badge{font-size:32px}.symbol.m small{font-size:7px}.collector-w{font-size:29px}.symbol.d small{font-size:6px;letter-spacing:.5px}.game.disco .wolf{top:-127px;width:129px;height:165px}.game.disco .wolf .speech{display:block;font-size:8px;max-width:110px;left:91px;top:60px;padding:7px 9px 15px}.game.disco .human-one{right:-2px;top:-102px}.game.disco .human-two{right:59px;top:-86px;width:73px;height:95px}.flying-cash{font-size:20px;padding:4px 7px}.game.disco .feature-bar{margin-top:10px}.game.disco .controls{margin-top:17px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.fast-button{height:34px;border:1px solid #887198;border-radius:18px;background:#241335;color:#dbcce5;display:flex;align-items:center;gap:4px;padding:0 10px;font-size:20px;white-space:nowrap}.fast-button span{font:900 10px Barlow,Arial;letter-spacing:.6px}.fast-button[aria-pressed=true]{background:#dcff64;color:#21172a;border-color:#dcff64;box-shadow:0 0 18px #dcff6455}.fast-mode .reel.spinning .symbol{animation-duration:.065s}.party-progress{background:linear-gradient(110deg,#32132a,#11182f);border-left:2px solid #f9a8ff;border-right:2px solid #f9a8ff;padding:9px 15px 10px}.party-progress[hidden]{display:none}.party-meter-heading{display:flex;justify-content:space-between;gap:8px;font-size:11px;letter-spacing:.8px}.party-meter-heading strong{color:#ffc4cc}.party-meter-heading>span{font-weight:900;color:#ff7e94}.party-meter{height:10px;border:1px solid #a13b55;border-radius:8px;background:#290d22;position:relative;overflow:hidden;margin:6px 0}.party-meter i{display:block;height:100%;width:0;border-radius:8px;background:linear-gradient(90deg,#f12b50,#ff535d,#ffa298);box-shadow:0 0 15px #ff385c;transition:width .4s ease-out}.party-meter b{position:absolute;top:0;bottom:0;left:33.333%;width:2px;background:#4d1637}.party-meter b:last-child{left:66.666%}#party-next{font-size:8px;letter-spacing:1px;color:#bba9ca;font-weight:700}.meter-pulse{animation:meterThump .28s ease-out}.party-callout{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%) rotate(-3deg);width:90%;text-align:center;z-index:9;background:linear-gradient(120deg,#b31652f0,#411975f0);padding:24px 10px;border-top:2px solid #ffe589;border-bottom:2px solid #ffe589;box-shadow:0 0 50px #fc286655;pointer-events:none;animation:calloutPop .35s ease-out}.party-callout[hidden]{display:none}.party-callout strong{display:block;font:900 italic 37px/.98 'Barlow Condensed',Impact,sans-serif;color:#fff492;text-shadow:3px 3px #4f124e}.party-callout span{display:block;font-size:10px;font-weight:900;color:white;letter-spacing:1px;margin-top:10px}.game.disco .symbol.m{background:radial-gradient(#674d2833,#131b37);border-color:#ffe18c;overflow:hidden;animation:coinFloat 2s ease-in-out infinite}.multi-coin-art{position:absolute;inset:-18% -6%;background:url('assets/multi-coin.png') center/contain no-repeat;mix-blend-mode:screen;mask-image:radial-gradient(ellipse,#000 45%,transparent 75%)}.game.disco .symbol.m .boost-badge{font-size:29px;position:relative;background:#624313db;min-width:42px;text-align:center;border-radius:50%;line-height:1.25;color:#fff6bc;text-shadow:0 2px 4px #431c08,0 0 8px #fff9}.symbol.m small{color:#ffeab7;font-size:7px;letter-spacing:.7px;background:#312018b0;padding:2px 4px;border-radius:3px;z-index:2}.symbol.multiplied{animation:boardBoost .5s ease-out;animation-delay:var(--boost-delay,0ms)}.multi-stamp{position:absolute;right:2px;top:2px;background:#6cfbea;color:#122631;border-radius:4px;padding:1px 3px;font:900 10px Barlow,Arial;z-index:3;text-shadow:none;box-shadow:0 0 8px #53eedd55}.symbol.c .cash-value{transition:color .2s}.symbol.c.multiplied .cash-value{color:#abfff0;text-shadow:0 0 15px #3effd2}.multi-wave .reel-frame{box-shadow:0 0 0 4px #21f7d766,0 0 60px #31f0c677!important}.multi-wave .light{animation-duration:.7s;background:linear-gradient(#c8ff8070,transparent)}.level-up .machine{animation:floorDrop .45s ease-out}.level-up .human,.level-up .wolf{animation:avatarGroove .17s infinite alternate!important}.level-up .scene{filter:saturate(1.8) brightness(1.3)!important}.game.disco[data-party-level="2"] .scene{filter:hue-rotate(-12deg)}.game.disco[data-party-level="3"] .scene{filter:hue-rotate(18deg) saturate(1.2)}.game.disco[data-party-level="4"] .scene{filter:hue-rotate(-28deg) saturate(1.4)}.game.disco[data-party-level="5"] .scene{filter:hue-rotate(35deg) saturate(1.5)}.game.disco[data-party-level="5"] .machine-top{color:#fff39a;background:#441144}.fast-mode .party-meter i{transition-duration:.12s}
@keyframes meterThump{50%{filter:brightness(1.5)}}@keyframes calloutPop{from{opacity:0;transform:translate(-50%,-50%) rotate(-8deg) scale(.5)}to{opacity:1;transform:translate(-50%,-50%) rotate(-3deg) scale(1)}}@keyframes coinFloat{50%{filter:brightness(1.2);box-shadow:inset 0 0 18px #ffd66144}}@keyframes boardBoost{0%{filter:brightness(1)}40%{filter:brightness(2);transform:scale(1.07)}100%{filter:brightness(1);transform:scale(1)}}@keyframes floorDrop{25%{transform:translateY(-6px)}60%{transform:translateY(4px)}100%{transform:translateY(0)}}
@media(max-width:650px){.fast-button{height:30px;padding:0 7px;font-size:17px}.fast-button span{font-size:8px}header{gap:6px}.demo-pill{font-size:7px;letter-spacing:.1px;padding:6px}.demo-pill i{margin:0 3px}.party-progress{padding:7px 10px 8px}.party-meter-heading{font-size:9px;letter-spacing:.4px}#party-next{font-size:7px;letter-spacing:.5px}.party-meter{height:8px;margin:5px 0}.party-callout{padding:20px 8px}.party-callout strong{font-size:29px}.party-callout span{font-size:8px;letter-spacing:.5px}.game.disco .symbol.m .boost-badge{font-size:24px;min-width:34px}.symbol.m small{font-size:6px;letter-spacing:0}.multi-stamp{font-size:8px}.game.disco .title-wrap{margin-bottom:66px}.game.disco .symbol{height:clamp(46px,13vw,68px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* Living reels: ten paying symbols, three distinct bonus symbols. */
.symbol-art{position:absolute;inset:0;background:url('assets/symbol-atlas.png') var(--art-x) var(--art-y)/400% 200% no-repeat;mask-image:radial-gradient(ellipse 70% 75%,#000 40%,#000d 58%,transparent 76%);transform-origin:center;will-change:transform}.symbol.v .symbol-art{animation:vinylGroove 7s linear infinite}.symbol.b .symbol-art{animation:bassBounce 1.15s ease-in-out infinite}.symbol.n .symbol-art{animation:sneakerStep 1.3s ease-in-out infinite}.symbol.f .symbol-art{animation:fangSwing 2.8s ease-in-out infinite}.symbol.g .symbol-art{animation:gemLevitate 2.8s ease-in-out infinite}.symbol.v,.symbol.b,.symbol.n,.symbol.f,.symbol.g{background:radial-gradient(#3c2f57,#21122e);overflow:hidden}.symbol.f:before,.symbol.g:before{content:'';position:absolute;inset:-50%;background:linear-gradient(110deg,transparent 40%,#fff7 50%,transparent 60%);transform:translateX(-100%);animation:symbolShine 4s ease-in-out infinite;z-index:2;pointer-events:none}.symbol.f:before{animation-delay:-1.7s}.symbol.s,.symbol.t,.symbol.u{overflow:hidden;background:radial-gradient(#344874,#1b1437);border:1px solid #a3dfff70}.symbol.s:after{display:none}.symbol.t{background:radial-gradient(#931d41,#260b20);border-color:#ff495f99}.symbol.u{background:radial-gradient(#643199,#151d3b);border-color:#fb99ee99}.symbol.s .symbol-art{animation:lunarSway 3s ease-in-out infinite}.symbol.t .symbol-art{animation:bloodBeat 1.4s ease-in-out infinite}.symbol.u .symbol-art{animation:discoTilt 1.2s ease-in-out infinite}.bonus-art-label{position:absolute;bottom:2px;left:0;right:0;text-align:center;font:900 7px Barlow,Arial;letter-spacing:.7px;color:#e4f6ff;background:#17233cb0;z-index:2;padding:2px 0;text-shadow:0 1px #000}.symbol.t .bonus-art-label{color:#ffb8c3;background:#480921bc}.symbol.u .bonus-art-label{color:#fff394;background:#3c155dbd}.symbol.hit .symbol-art{animation-duration:.65s!important;filter:brightness(1.2)}.symbol.hit.b .symbol-art{animation:bassBounce .15s infinite}.symbol.hit.v .symbol-art{animation:vinylGroove 1s linear infinite}.symbol.hit.g .symbol-art{animation:gemLevitate .45s infinite}
/* Red collector meter: charged rim, flowing shine and a ready-to-burst state. */
.party-progress{position:relative;overflow:hidden;border-top:1px solid #ff527777;background:linear-gradient(115deg,#51112f,#200d25 60%,#141529);box-shadow:inset 0 0 24px #ff2b4820}.party-meter{height:15px;border:1px solid #ff597a;box-shadow:0 0 0 2px #410b28,0 0 16px #ff235e44,inset 0 2px 4px #000b;background:#180610;overflow:visible}.party-meter i{position:relative;overflow:hidden;background:linear-gradient(180deg,#ffcab8 0%,#ff587c 22%,#f41450 60%,#91072c 100%);box-shadow:0 0 12px #ff376c,0 0 26px #ff205b77,inset 0 1px #ffe6e0;min-width:0}.party-meter i:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,#ffffffb0 48%,transparent 75%);width:60px;animation:meterShine 1.8s ease-in-out infinite}.party-meter b{background:#6b143e;box-shadow:1px 0 #ff95ac77;z-index:2}.party-meter-heading strong{color:#ffe5e5;text-shadow:0 0 10px #ff4b6c}.party-meter-heading>span{background:#c7194d;color:white;padding:1px 7px;border-radius:9px;box-shadow:0 0 10px #ef225655}.game[data-meter-ready=true] .party-meter{animation:chargedMeter .7s ease-in-out infinite}.game[data-meter-ready=true] #party-count{animation:collectorBounce .7s infinite}.meter-pulse{animation:meterImpact .35s ease-out!important}.level-up .party-progress{box-shadow:inset 0 0 25px #ff5d6a80,0 0 55px #ff1b6977}
/* From level three, the club becomes a bleeding-moon world. */
.game.disco.blood-night{background:#0d0108;--accent:#ff6680;--lime:#ffcf84;--pink:#ff335e}.game.disco.blood-night .scene{background-image:linear-gradient(180deg,#08000508,#12000720 45%,#080006e8 95%),url('assets/bleeding-moon.png');filter:none!important;background-position:center top;transform:scale(1.04);animation:bloodSky 7s ease-in-out infinite}.game.disco.blood-night .grain{background:radial-gradient(ellipse at center,transparent 20%,#16000a99 95%)}.game.disco.blood-night .reel-frame{background:linear-gradient(140deg,#ea3759,#3c0924 35%,#180817 70%,#b82b4e);border-color:#ff6281;box-shadow:0 0 0 4px #2e051b,0 0 35px #f2194e44}.game.disco.blood-night .symbol{background:radial-gradient(#411828,#160b19)}.game.disco.blood-night .symbol.c{background:radial-gradient(#946425,#3d141e);border-color:#ffb467}.game.disco.blood-night .symbol.d{background:radial-gradient(#ad234c,#330e24);border-color:#ff5274}.game.disco.blood-night .symbol.m{background:radial-gradient(#572413,#180816)}.game.disco.blood-night .machine-top,.game.disco.blood-night .disco-hud,.game.disco.blood-night .controls{background:linear-gradient(110deg,#2c081a,#110910);border-color:#9a2946}.game.disco.blood-night .reels{background:#08040b}.game.disco.blood-night .light{background:linear-gradient(#f9285055,transparent);animation-duration:4s}.game.disco.blood-night .light-two{background:linear-gradient(#ad071955,transparent)}.game.disco.blood-night h1 span{color:#ff5274;text-shadow:0 0 26px #ed194c,4px 5px #34051c}.game.disco.blood-night h1{color:#fff0e6;text-shadow:0 0 22px #f25363,4px 5px #34051c}.game.disco.blood-night .ticker{background:#1b0714}.game.disco.blood-night .spin-button{background:#ff6381;border-color:#55112b;outline-color:#ff8aa0;box-shadow:0 0 24px #ff3d6966}.game.disco.blood-night .title-sticker{background:#fd4568;color:#210410}.game.disco.blood-night[data-party-level="5"] .scene{animation:bloodSky 3s ease-in-out infinite}.game.disco.blood-night .party-callout{background:linear-gradient(120deg,#bd1648f5,#180615f5);border-color:#ff6688}
/* A full-screen, three-character chase before the bonus reveal. */
.chase-scene{position:fixed;inset:0;z-index:19;overflow:hidden;background:linear-gradient(#130820a0,#090b20aa),url('assets/alley.png') center/cover;display:flex;align-items:center;justify-content:center;flex-direction:column;isolation:isolate}.chase-scene[hidden]{display:none}.chase-scene[data-bonus=blood]{background-image:linear-gradient(#1c000566,#140006aa),url('assets/bleeding-moon.png')}.chase-scene[data-bonus=disco]{background-image:linear-gradient(#13082066,#090b20aa),url('assets/disco-club.png')}.chase-caption{text-align:center;position:absolute;top:15%;left:10px;right:10px;z-index:2}.chase-caption>span{display:block;font:900 12px Barlow,Arial;letter-spacing:5px;color:#fff080}.chase-caption strong{display:block;font:900 italic clamp(32px,5vw,65px)/1 'Barlow Condensed',Impact,sans-serif;margin-top:15px;text-shadow:4px 5px #461342}.chase-lane{position:absolute;left:0;right:0;top:34%;height:45%;overflow:visible}.chase-runner,.chase-wolf{position:absolute;width:200px;height:290px;left:0;bottom:0;will-change:transform}.chase-runner>div,.chase-wolf>div{position:absolute;inset:0;background:url('assets/dancer-moves.png') 66.666% 0/400% 200%;mask-image:radial-gradient(ellipse 78% 80%,#000 40%,#000c 65%,transparent 79%);animation:runFrames .19s steps(1,end) infinite}.chase-runner span,.chase-wolf span{position:absolute;top:-8px;left:30%;white-space:nowrap;background:#edff8b;color:#1f112b;font:900 11px Barlow,Arial;padding:8px 12px;border-radius:7px;transform:rotate(-7deg)}.runner-two>div{background-position:66.666% 100%;animation-name:runFramesPink;animation-delay:-.1s}.runner-two{bottom:20px}.runner-two span{background:#ff82c7}.chase-wolf{width:260px;height:330px;bottom:-12px}.chase-wolf>div{background-image:url('assets/characters.png');background-position:100% 0;animation:wolfGallop .22s infinite alternate}.chase-wolf span{background:#ff546b;color:white;top:2px}.chase-running .runner-one{animation:chaseHumanOne var(--chase-time) linear both}.chase-running .runner-two{animation:chaseHumanTwo var(--chase-time) linear both}.chase-running .chase-wolf{animation:chaseWolf var(--chase-time) linear both}.chase-bottom{position:absolute;bottom:12%;font-size:11px;letter-spacing:4px;color:#dfcbe9;font-weight:900}.chase-scene:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 35px,#ffd9fc09 35px 36px,transparent 36px 110px);z-index:-1;animation:speedLines .3s linear infinite}
@keyframes vinylGroove{to{transform:rotate(360deg)}}@keyframes bassBounce{0%,100%{transform:scale(1)}20%{transform:scale(1.06,.95)}35%{transform:scale(.98,1.04)}65%{transform:scale(1.04,.97)}}@keyframes sneakerStep{0%,100%{transform:rotate(-7deg) translateY(1px)}45%{transform:rotate(8deg) translateY(-5px)}65%{transform:rotate(-2deg) translateY(0)}}@keyframes fangSwing{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}@keyframes gemLevitate{0%,100%{transform:translateY(2px) rotate(-4deg)}50%{transform:translateY(-5px) rotate(5deg)}}@keyframes symbolShine{0%,60%{transform:translateX(-100%)}100%{transform:translateX(100%)}}@keyframes lunarSway{50%{transform:rotate(12deg) scale(1.06);filter:brightness(1.2)}}@keyframes bloodBeat{0%,100%{transform:scale(1)}20%{transform:scale(1.12);filter:brightness(1.3)}35%{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes discoTilt{0%,100%{transform:rotate(-10deg);filter:hue-rotate(0deg)}50%{transform:rotate(10deg);filter:hue-rotate(50deg)}}@keyframes dancerFrames{0%,100%{background-position:0 0}50%{background-position:33.333% 0}}@keyframes discoFrames{0%,100%{background-position:0 100%}50%{background-position:33.333% 100%}}@keyframes shuffleDance{0%,100%{transform:translateX(-5px) rotate(-4deg)}25%{transform:translate(0,-5px) rotate(2deg)}50%{transform:translateX(6px) rotate(4deg)}75%{transform:translate(0,-4px) rotate(-1deg)}}@keyframes discoPoint{0%,100%{transform:rotate(-8deg) translateY(0)}45%{transform:rotate(7deg) translateY(-9px)}65%{transform:rotate(3deg) translateY(-3px)}}@keyframes victoryHop{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-20px) rotate(7deg)}}@keyframes meterShine{from{left:-60px}to{left:110%}}@keyframes chargedMeter{50%{box-shadow:0 0 0 2px #f2507980,0 0 24px #ff3358aa;filter:brightness(1.25)}}@keyframes meterImpact{40%{filter:brightness(1.8);transform:scaleY(1.08)}100%{filter:brightness(1);transform:scaleY(1)}}@keyframes bloodSky{50%{filter:brightness(1.15) saturate(1.25);transform:scale(1.075)}}@keyframes runFrames{0%,100%{background-position:66.666% 0}50%{background-position:100% 0}}@keyframes runFramesPink{0%,100%{background-position:66.666% 100%}50%{background-position:100% 100%}}@keyframes wolfGallop{from{transform:translateY(0) rotate(-8deg)}to{transform:translateY(-18px) rotate(5deg)}}@keyframes chaseHumanOne{0%{transform:translateX(20vw)}15%{transform:translateX(30vw)}100%{transform:translateX(120vw)}}@keyframes chaseHumanTwo{0%{transform:translateX(49vw)}15%{transform:translateX(55vw)}100%{transform:translateX(150vw)}}@keyframes chaseWolf{0%{transform:translateX(-40vw)}25%{transform:translateX(-5vw)}100%{transform:translateX(100vw)}}@keyframes speedLines{to{transform:translateX(-100px)}}
@media(max-width:650px){.symbol-art{inset:0 -3%}.bonus-art-label{font-size:6px;letter-spacing:.1px;bottom:1px}.party-meter{height:12px}.chase-runner{width:125px;height:180px}.chase-wolf{width:167px;height:220px}.chase-caption{top:21%}.chase-caption>span{font-size:10px;letter-spacing:3px}.chase-caption strong{font-size:36px}.chase-lane{top:40%;height:27%}.chase-runner span,.chase-wolf span{font-size:8px;padding:6px 7px;left:0}.chase-bottom{font-size:9px;letter-spacing:2px;bottom:23%}.game.disco.blood-night .scene{background-position:center 0}.game.disco .human-two{width:85px;height:113px;top:-95px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* Crisp artwork: true alpha, no blend-mode halos or feathered masks. */
.actor-sprite,.transition-wolf,.collector-portrait,.symbol-art,.chase-runner>div,.chase-wolf>div,
.game[data-mood] .wolf .actor-sprite{mask-image:none!important;mix-blend-mode:normal!important;filter:none!important}
.game .human,.game.disco .human,.game[data-mood] .human,
.game .human .actor-sprite,.game.disco .human .actor-sprite,
.game[data-mood] .wolf{animation:none!important;transform:none}
.game .human-one .actor-sprite,.game.disco .human-one .actor-sprite{background-image:url('assets/dancers-crisp.png');background-position:0 0}
.game .human-two .actor-sprite,.game.disco .human-two .actor-sprite{background-image:url('assets/dancers-crisp.png');background-position:0 100%}
.game[data-mood] .wolf .actor-sprite,.game .transition-wolf,.collector-portrait,.chase-wolf>div{background-image:url('assets/wolf-crisp.png')}
.chase-runner>div{background-image:url('assets/dancers-crisp.png')}
.game .transition-wolf{background-position:66.666% 100%}
.game .symbol-art{inset:auto;width:auto;height:94%;aspect-ratio:1;background-image:url('assets/symbols-crisp.png');animation-iteration-count:1;animation-duration:1.1s;will-change:auto}
.game .symbol.s .symbol-art,.game .symbol.t .symbol-art,.game .symbol.u .symbol-art{height:86%;top:-3%;animation:bonusReveal .75s cubic-bezier(.2,.8,.2,1) 1}
.game .symbol{ text-shadow:none;overflow:hidden }
.game .symbol .symbol-face{filter:none;-webkit-text-stroke:.6px #ffffff65;text-shadow:0 2px #160b29;}
.game .symbol.a,.game .symbol.k,.game .symbol.q,.game .symbol.j,.game .symbol.x{background:linear-gradient(155deg,#493155,#21152e);border:1px solid #ffffff12}
.game .symbol.w .symbol-face{animation:wildReveal .75s ease-out 1;filter:none;text-shadow:0 2px #6c081c}
.game .symbol.f:before,.game .symbol.g:before{animation-iteration-count:1;animation-duration:1.4s;animation-delay:.25s}
.game .symbol.s,.game .symbol.t,.game .symbol.u{border:1px solid #8dcfe5;background:linear-gradient(160deg,#1c4158,#101a32);box-shadow:inset 0 0 0 2px #0c1725}
.game .symbol.t{border-color:#f37b8a;background:linear-gradient(160deg,#632139,#230f23)}
.game .symbol.u{border-color:#f4d18c;background:linear-gradient(160deg,#55365a,#241536)}
.game .bonus-art-label{font:900 clamp(7px,.85vw,10px)/1.25 Barlow,Arial;letter-spacing:.35px;bottom:2px;padding:3px 0;background:#0e142be8;color:#e0faff;text-shadow:none}
.game .symbol.t .bonus-art-label{background:#350e20e8;color:#ffd5dc}
.game .symbol.u .bonus-art-label{background:#32153ee8;color:#fff0b5}
.game .symbol.hit{animation:cleanWin .65s ease-in-out 2;filter:none;box-shadow:inset 0 0 0 2px var(--lime)}
.game .symbol.hit .symbol-art{animation:prizeLift .8s ease-in-out 2!important;filter:none}
.game .reel.spinning .symbol{filter:none}
.game .collector-active .collector-portrait,.game .collector-bounce .collector-portrait{animation:prizeLift .45s ease-out 1}
.game .multi-coin-art{mix-blend-mode:normal;mask-image:none;inset:8% 20%;border-radius:50%;background-size:160%;overflow:hidden}
@keyframes bonusReveal{0%{transform:translateY(-9px) scale(.8)}65%{transform:translateY(0) scale(1.07)}100%{transform:translateY(0) scale(1)}}
@keyframes wildReveal{0%{transform:rotate(-15deg) scale(.65)}60%{transform:rotate(6deg) scale(1.1)}100%{transform:rotate(-7deg) scale(1)}}
@keyframes cleanWin{50%{background-color:#53415f;transform:scale(.97)}}
@keyframes prizeLift{0%,100%{transform:translateY(0) rotate(0)}40%{transform:translateY(-4px) rotate(-5deg)}70%{transform:translateY(-2px) rotate(4deg)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* Reference direction: inked edges, stepped color shading and readable denominations. */
.value-coin{--coin-light:#ffcc73;--coin-base:#ffa342;--coin-shade:#dc6636;--coin-deep:#a44529;--number:#fff0c9;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:auto;height:91%;aspect-ratio:1;flex-shrink:0;border:2px solid #211c21;border-radius:50%;background:linear-gradient(135deg,var(--coin-light) 0 27%,var(--coin-base) 27% 72%,var(--coin-shade) 72%);box-shadow:2px 3px 0 #15151bcc,inset 0 0 0 3px var(--coin-light),inset -3px -4px 0 3px var(--coin-deep);isolation:isolate;animation:coinLand .5s cubic-bezier(.2,.8,.3,1) 1}
.value-coin:before{content:'';position:absolute;inset:9%;border:1.5px solid #563622;border-radius:50%;background:linear-gradient(135deg,var(--coin-base) 0 63%,var(--coin-shade) 63%);box-shadow:inset 2px 2px 0 #ffffff50,1px 1px 0 var(--coin-light);z-index:-1}
.value-coin.silver{--coin-light:#d8eff3;--coin-base:#a6cbd5;--coin-shade:#6c9ba9;--coin-deep:#3b6370;--number:#edf8f5}
.value-coin.gold{--coin-light:#fff4a1;--coin-base:#ffd747;--coin-shade:#eda326;--coin-deep:#a76b16;--number:#fff8cc}
.value-coin.multiplier{--coin-light:#c9f68c;--coin-base:#84c856;--coin-shade:#478842;--coin-deep:#295332;--number:#efffd4}
.coin-number{font:900 clamp(24px,3.5vw,40px)/1 'Barlow Condensed',Impact,sans-serif;letter-spacing:-1px;color:var(--number);paint-order:stroke fill;-webkit-text-stroke:2px #342d28;text-shadow:0 3px 0 #534334,2px 4px 0 #342d28;font-variant-numeric:tabular-nums;max-width:90%}
.coin-unit{font:900 7px/1 Barlow,Arial;letter-spacing:.6px;color:#3e3427;margin-top:6px;text-shadow:0 1px #ffffff50}
.game.disco .symbol.c,.game.disco .symbol.m{display:flex;flex-direction:row;padding:0;border:0;border-radius:2px;background:linear-gradient(135deg,#e5c878 0 49%,#d8b666 49% 100%);box-shadow:inset 0 0 0 1px #5b512c;overflow:hidden}
.game.disco .reels{background:#242825;padding:3px;gap:3px;border-radius:2px}
.game.disco .reel{gap:3px}
.game.disco .reel-frame{background:linear-gradient(135deg,#eddaa1 0 16%,#8c805c 16% 45%,#454438 45% 74%,#b4a477 74%);border:2px solid #252923;border-radius:0 0 5px 5px;box-shadow:0 0 0 2px #c8b988,4px 7px 0 #1013199c}
.game.disco .symbol{border-radius:2px;background:linear-gradient(145deg,#696258 0 52%,#534d48 52%);box-shadow:inset 0 0 0 1px #252823}
.game.disco .machine{filter:none}
.game.disco .symbol.d{background:linear-gradient(140deg,#7e7e66,#444e45);border:1px solid #cec489;box-shadow:inset 0 0 0 2px #282d28}
.game.disco .symbol.s,.game.disco .symbol.t,.game.disco .symbol.u{background:linear-gradient(145deg,#6c6652,#373c36)}
.game.disco.blood-night .symbol.c,.game.disco.blood-night .symbol.m{background:linear-gradient(135deg,#a0744e,#6f423b);border:0}
.game .symbol.hit .value-coin{animation:coinCelebrate .8s ease-in-out 2}
.game .symbol.cash-sending .value-coin{animation:coinCollect .35s ease-out 1}
.game .boost-active .value-coin{animation:coinCelebrate .6s ease-out 2}
.game .human .actor-sprite{position:absolute;width:145%;height:auto;aspect-ratio:1;left:-22.5%;bottom:0}
.game .human-one .actor-sprite,.game.disco .human-one .actor-sprite{background-size:400% 212.2%}
.game .human-two .actor-sprite,.game.disco .human-two .actor-sprite{background-size:400% 189.1%}
.chase-runner>div{background-size:400% 212.2%}
.runner-two>div{background-size:400% 189.1%}
@keyframes coinLand{0%{transform:translateY(-8px) rotate(-10deg) scale(.82)}65%{transform:translateY(1px) rotate(3deg) scale(1.04)}100%{transform:none}}
@keyframes coinCelebrate{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-4px) rotate(-8deg)}70%{transform:translateY(-2px) rotate(7deg)}}
@keyframes coinCollect{40%{transform:translateY(-6px) scale(.94)}100%{transform:none}}
@media(max-width:650px){.coin-number{font-size:clamp(21px,6.5vw,36px);-webkit-text-stroke:1.5px}.coin-unit{font-size:6px;margin-top:4px}.value-coin{border-width:1.5px}.value-coin:before{border-width:1px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.coin-number.compact{font-size:clamp(18px,2.6vw,28px);letter-spacing:-.5px}
@media(max-width:650px){.coin-number.compact{font-size:clamp(18px,5.4vw,28px)}}
.bonus-profile{display:block;margin:8px 0 4px;color:#eee2cd;font:800 12px/1.4 Barlow,Arial;letter-spacing:.5px}
/* Authored sequence sheets supersede the old four isolated poses. */
.game .human .actor-sprite.dance-sheet,.game.disco .human .actor-sprite.dance-sheet{background-size:400% 400%;aspect-ratio:1;width:160%;left:-30%;height:auto;bottom:0;animation:none!important;transform:none}

.game .human .actor-sprite.dance-sheet{transform-origin:50% 100%}
/* Stable-size dancers: move the source atlas, never scale a frame. */
.game .human .actor-sprite.anchored-dance,.game.disco .human .actor-sprite.anchored-dance{background:none!important;mask:none!important;transform:none!important;width:150%;left:-25%;height:auto;aspect-ratio:1;bottom:0;overflow:visible;animation:none!important}
.dance-image{position:absolute;display:block;width:400%;height:auto;max-width:none;left:0;top:100%;transform-origin:0 0;pointer-events:none;user-select:none}
.wolf-drop{position:fixed;inset:0;z-index:12;pointer-events:none;isolation:isolate;overflow:hidden}.wolf-drop[hidden]{display:none}
.blood-curtain{position:absolute;inset:0;background:url('assets/blood-curtain.png') center top/100% 100% no-repeat;transform-origin:50% 0;animation:bloodPour var(--drop-speed) cubic-bezier(.25,.65,.4,1) both;opacity:.93}
.wolf-invasion .scene{filter:sepia(.45) saturate(1.4) brightness(.75);transition:filter .6s}
.wolf-invasion .reel-frame{border-color:#ed4353;box-shadow:0 0 0 4px #451326,0 6px 0 #170a20}
.drop-wolf{position:absolute;left:50%;top:8%;width:clamp(160px,22vw,245px);aspect-ratio:3/4;margin-left:clamp(-122px,-11vw,-80px);animation:wolfCrash var(--drop-speed) cubic-bezier(.18,.75,.26,1) both}
.drop-wolf>div{width:100%;height:100%;background:url('assets/wolf-crisp.png') 33.333% 100%/400% 200% no-repeat;transform-origin:50% 80%}
.drop-wolf[data-pose=throw]>div{background-position:100% 0;animation:throwArm .35s ease-out}
.drop-wolf[data-pose=grab]>div{background-position:33.333% 100%;animation:throwArm .35s ease-out}
.drop-wolf[data-pose=howl]>div{background-position:66.666% 100%}
.drop-callout{position:absolute;top:3%;left:0;right:0;text-align:center;z-index:2;text-shadow:2px 3px #260b1b}
.drop-callout strong{display:block;font:900 italic clamp(35px,6vw,62px)/1 'Barlow Condensed',Impact,sans-serif;color:#ffd29b;-webkit-text-stroke:1px #3a1021;paint-order:stroke fill}
.drop-callout span{display:inline-block;margin-top:8px;padding:6px 12px;border:1px solid #e65b69;border-radius:4px;background:#3b0d25;color:#ffe9ca;font-size:12px;font-weight:900;letter-spacing:2px}
.thrown-wild{position:fixed;z-index:18;pointer-events:none;font:900 62px/1 'Barlow Condensed',Impact,sans-serif;color:#ff5869;-webkit-text-stroke:2px #42142b;paint-order:stroke fill;text-shadow:2px 3px #ffcf91,4px 5px #471327}
.game .symbol.wolf-wild{animation:wildLanding .4s ease-out 1;background:linear-gradient(145deg,#c93155,#3b102f);box-shadow:inset 0 0 0 2px #ffbd89}
.wild-impact{position:absolute;inset:5%;border:3px solid #ffb591;border-radius:50%;animation:wildRing .5s ease-out both;pointer-events:none}
@keyframes bloodPour{from{transform:translateY(-35%) scaleY(.2)}to{transform:translateY(0) scaleY(1)}}
@keyframes wolfCrash{0%{transform:translateY(-150%)}65%{transform:translateY(15px) rotate(-5deg)}82%{transform:translateY(-6px) rotate(3deg)}100%{transform:translateY(0) rotate(0)}}
@keyframes throwArm{40%{transform:translateX(-7px) rotate(-9deg)}70%{transform:translateX(7px) rotate(7deg)}100%{transform:none}}
@keyframes wildLanding{0%{transform:translateY(-10px)}45%{transform:translateY(4px)}100%{transform:translateY(0)}}
@keyframes wildRing{from{transform:scale(.3);opacity:1}to{transform:scale(1.4);opacity:0}}
@media(max-width:650px){.drop-wolf{top:14%;width:155px;margin-left:-77.5px}.drop-callout{top:7%}.blood-curtain{background-size:auto 100%;background-position:center}.thrown-wild{font-size:46px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* Art direction and layout cleanup. */
body{font-family:Manrope,Arial,sans-serif;background:#120b21}
h1{font-family:Anton,Impact,sans-serif;font-size:clamp(66px,7vw,100px);font-weight:400;font-style:normal;letter-spacing:-1px;line-height:1.06;transform:skew(-5deg) rotate(-3deg);text-shadow:2px 3px #34152c,3px 5px #c8864130}
h1 span{color:#e7ee8a}.game.disco h1,.game.disco h1 span{text-shadow:2px 4px #261330}
h1 b{animation:none;font-family:Arial;font-size:28px}.title-sticker{font-size:11px;letter-spacing:2px;padding:6px 14px;box-shadow:2px 3px #1b1028}
.title-wrap{z-index:5}.game .machine{z-index:5}.game .wolf,.game.disco .wolf{z-index:2}.game .human{z-index:2}
.game .wolf.rendered-wolf .actor-sprite{background:none!important;overflow:hidden;mask:none!important;mix-blend-mode:normal;transform:none!important;animation:none!important}
.companion-canvas{display:block;width:100%;height:100%;transform-origin:50% 85%;will-change:transform}
.game .wolf .speech{top:-12px;left:16px;max-width:170px;width:max-content;white-space:normal;font-size:10px;line-height:1.3;padding:9px 12px 17px;transform:rotate(-4deg)}
.game .human-one{height:275px;width:165px;right:2px;bottom:-12px;top:auto}.game .human-two{height:270px;width:165px;right:-68px;bottom:155px;top:auto}
.game .human,.game .wolf{animation:none!important}.game.level-up .human,.game.level-up .wolf{animation:none!important}
.game .transition-wolf,.game.disco .transition-wolf{background:none!important;mask:none!important;mix-blend-mode:normal!important;animation:none!important;width:180px;height:230px;flex:0 0 auto;transform:none}
.transition-wolf canvas{display:block;width:100%;height:100%;object-fit:contain}
.transition{background:radial-gradient(ellipse at 50% 15%,#46214f,#130820 75%);padding:24px;gap:10px;overflow-y:auto;justify-content:center;animation:transitionIn .5s ease-out}
.game.disco .transition{background:radial-gradient(ellipse at 50% 15%,#393064,#100d24 75%)}
.transition:before{animation:none;opacity:.4}.transition h2{font-family:Anton,Impact,sans-serif;font-weight:400;font-style:normal;letter-spacing:.5px;font-size:clamp(40px,7vw,74px);margin:0;text-shadow:2px 3px #401431;flex-shrink:0}
.transition .eyebrow{font-size:11px;letter-spacing:2px}.transition p{margin:5px 0;max-width:440px;font-size:15px;line-height:1.65;flex-shrink:0}.transition .primary-button{margin-top:8px;flex-shrink:0}
.transition-moon{opacity:.35}.flash{animation:rewardEdge .65s ease-out!important;background:none!important}
@keyframes rewardEdge{from{box-shadow:inset 0 0 0 3px #f4df9e88}to{box-shadow:inset 0 0 0 3px transparent}}
@keyframes transitionIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.game .reel.reel-moving{display:block;position:relative;overflow:hidden}.reel-strip{display:flex;flex-direction:column;will-change:transform;transform:translateZ(0)}
.game .reel.reel-moving .symbol,.game .reel.reel-moving .symbol *{animation:none!important;transition:none!important;filter:none!important}.reel-strip .symbol{flex-shrink:0}
.wild-multiplier{position:absolute;right:5px;bottom:4px;padding:2px 5px;background:#f6d789;color:#3a1827;border:1px solid #4b162a;border-radius:4px;font:900 18px/1 'Barlow Condensed',Impact,sans-serif;z-index:3;text-shadow:none}
.thrown-wild small{display:block;font:900 24px/1 'Barlow Condensed',Impact,sans-serif;text-align:center;color:#ffe099;text-shadow:1px 2px #4f1530}
.game .wolf.wolf-performing{animation:none!important;pointer-events:none;filter:none!important;overflow:visible;transform-origin:50% 80%}.wolf-performing .speech{display:none}
.wolf-drop{z-index:11}.drop-callout{top:5%;z-index:2}.blood-curtain{opacity:.95;animation:bloodDescend 3.2s cubic-bezier(.18,.6,.3,1) both;background-size:100% 125%}
.wolf-drop:before{content:'';position:absolute;inset:0;background:linear-gradient(#2b001ddd,transparent 45%,#31061655);animation:redDim 2s ease both}
.wolf-invasion .scene{filter:brightness(.37) sepia(.6) saturate(2)!important;transition:filter 1.5s!important}.wolf-invasion .light{background:linear-gradient(#c80a3a80,transparent)!important;animation-duration:6s!important}.wolf-invasion .grain{background:#34001455;transition:background 1.2s}
@keyframes bloodDescend{0%{transform:translateY(-60%)}40%{transform:translateY(-18%)}100%{transform:translateY(0)}}
@keyframes redDim{from{opacity:0}to{opacity:1}}
.buy-price{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:10px;border-top:1px solid #ffffff20;font-weight:800;font-size:18px;color:#f5df9f}.buy-price em{font-size:12px;font-style:normal;color:#ccb9db}.bonus-option:after{display:none}.bonus-option:disabled{opacity:.4}
dialog h2{font-family:Anton,Impact,sans-serif;font-style:normal;font-weight:400;letter-spacing:1px}.bonus-profile{font-size:11px;letter-spacing:.6px}.bonus-option strong{padding-right:0}
#message{font-size:14px;letter-spacing:.6px}.ticker{min-height:36px;height:auto;padding:8px 6px;text-align:center}.machine-top{font-size:11px;letter-spacing:1px}.bottom-line{color:#c6b8cf}
@media(max-width:850px) and (min-width:651px){.game .human-one{right:-28px;width:125px;height:220px}.game .human-two{display:none}.game .wolf{width:175px;height:230px;left:-24px}}
@media(max-width:650px){
 main{padding:4px 10px 18px}.title-wrap{margin:8px auto 12px}.eyebrow{font-size:8px;letter-spacing:1.8px}h1{font-size:61px;margin:8px 0 9px}.title-sticker{font-size:8px;padding:5px 10px;letter-spacing:2px}
 .play-stage{padding-top:148px}.game .wolf,.game.disco .wolf{left:6px;top:4px;bottom:auto;width:111px;height:145px;z-index:2}.game .wolf .speech{display:none}
 .game .human-one,.game.disco .human-one{right:2px;top:0;bottom:auto;width:88px;height:150px}.game .human-two,.game.disco .human-two{display:block;right:83px;top:0;bottom:auto;width:88px;height:150px}
 .game .machine{z-index:5}.machine-top{height:28px;font-size:9px;padding:0 9px;letter-spacing:.55px}.symbol{height:clamp(50px,14vw,77px)}
 .disco-hud{padding:9px 10px;min-height:58px}.disco-hud strong{font-size:22px}.disco-hud span{font-size:8px;letter-spacing:.4px}.party-progress{padding:9px 11px}.party-meter-heading{font-size:10px}
 .controls{margin-top:22px}.metric strong{font-size:16px}.feature-bar{margin-top:12px}.bonus-button{font-size:11px;padding:10px 12px}#message{font-size:12px;letter-spacing:.2px}.ticker{padding:7px 6px}
 .transition{padding:20px 18px;gap:8px}.game .transition-wolf,.game.disco .transition-wolf{height:180px;width:135px}.transition h2{font-size:44px;line-height:1.08}.transition p{font-size:14px;line-height:1.55}.transition .eyebrow{font-size:9px}.transition .primary-button{padding:15px 20px;font-size:13px}
 .drop-callout{top:5%}.drop-callout strong{font-size:34px}.drop-callout span{font-size:10px;letter-spacing:1px}.wild-multiplier{font-size:14px;right:3px;bottom:3px}
 .blood-curtain{background-size:100% 120%}.demo-pill{font-size:8px}.light{opacity:.5}
}
@media(max-height:620px){.transition{justify-content:flex-start}.game .transition-wolf,.game.disco .transition-wolf{height:130px;width:100px}.transition h2{font-size:40px}.transition p{margin:0;font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.blood-curtain{transform:none!important}}
@font-face{font-family:Anton;src:url('assets/anton.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
.transition:before{display:none!important}body:has(#transition:not([hidden])){overflow:hidden}
@media(max-width:650px){.controls{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) 68px minmax(0,.8fr)}.controls>*{min-width:0}.win{overflow:hidden}.metric strong{font-size:15px}}
@media(max-width:350px){.controls{padding:10px 6px;gap:4px;grid-template-columns:minmax(0,1.12fr) minmax(0,1.1fr) 59px minmax(0,.75fr)}.spin-button{width:57px;height:57px}.spin-glyph{font-size:37px}.metric strong{font-size:13px}.bet-control strong{font-size:14px;min-width:26px}.bet-control button{width:18px;height:18px;font-size:14px;flex:0 0 18px}.bet-control>div{gap:2px}.metric>span,.bet-control>span{font-size:7px}.feature-bar{gap:8px}.bonus-button{flex:0 0 103px;padding:9px 6px;font-size:10px;letter-spacing:.3px}.bonus-button small{white-space:nowrap;font-size:7px;letter-spacing:.5px}.chance-button{padding:7px;font-size:9px;gap:5px}.chance-button small{font-size:8px}.chance-button .switch{flex:0 0 30px;width:30px}.win strong{font-size:13px}}
.chase-wolf>div.rendered-chase{background:none!important;mask:none!important;animation:wolfGallop .65s ease-in-out infinite alternate}.rendered-chase canvas{width:100%;height:100%;object-fit:contain}

/* Full-body dancers stand together, with clear silhouettes. */
@media(min-width:651px){.game .human-one{width:125px;right:10px;bottom:-12px;top:auto}.game .human-two{width:125px;right:-125px;bottom:-12px;top:auto}}

/* Whole-body artwork has one constant size. Dance only on collection or wins. */
.game .human .actor-sprite.intact-stage{background:none!important;aspect-ratio:auto;width:100%;left:0;height:100%;bottom:0;overflow:visible;animation:none!important;transform:none!important}
.intact-dancer{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;transform-origin:50% 90%}
.chase-runner>div{animation:chaseJog .85s ease-in-out infinite alternate!important;background-position:66.666% 0}
.chase-runner.runner-two>div{background-position:66.666% 100%;animation-delay:-.3s!important}
@keyframes chaseJog{from{transform:translateY(0) rotate(-2deg)}to{transform:translateY(-7px) rotate(2deg)}}
.reel-moving .reel-strip{filter:blur(.35px);backface-visibility:hidden}
.reel-moving .symbol{box-shadow:none!important}

/* Keep all five columns and settled cells mounted throughout the spin. */
.reels{grid-template-columns:repeat(5,minmax(0,1fr))}.reel{min-width:0;position:relative}
.game .reel.reel-moving{display:grid;isolation:isolate}
.reel-moving .reel-strip{position:absolute;left:0;right:0;top:0;width:100%;z-index:1;filter:none;backface-visibility:visible;background:#12091e;pointer-events:none}
.game .machine:has(.reel-moving){filter:none}
.reel-moving .symbol-art{will-change:auto}

/* Settled labels must not float above the moving belt. */
.game .reel-moving > .symbol{visibility:hidden}
.game .reel-moving > .reel-strip{isolation:isolate}
.game .human .actor-sprite.intact-stage{width:150%;left:-25%}

.chase-runner>div.cropped-runner{background:none!important;mask:none!important}.runner-art{width:100%;height:100%;object-fit:contain;object-position:center bottom}.chase-runner{width:240px;height:320px}
@media(max-width:650px){.chase-runner{width:158px;height:230px}.runner-two{bottom:0}.chase-runner span{font-size:8px;top:4px}}
.rules-table .pay-art{display:inline-block;position:relative;width:40px;height:40px;vertical-align:middle;margin-right:8px}.pay-art .symbol-art{inset:0!important;width:100%!important;height:100%!important;animation:none!important}.guide-section{text-align:left}.guide-section h3{color:#eaff92;font-size:20px;margin:26px 0 8px}.guide-section p,.guide-section li{font-size:14px;line-height:1.65}.guide-section summary{cursor:pointer;padding:14px 0;font-weight:800}.guide-section table{width:100%}.guide-section td,.guide-section th{padding:8px 4px}.guide-section .pay-name{font-size:12px}

.extra-active .bet-control{background:#dfff6920;border-radius:14px;box-shadow:0 0 0 1px #dfff6980;padding:8px 12px}.extra-active #bet,.extra-active #bet-label{color:#e6ff83}.extra-active #chance{border-color:#ddff74;background:#c4ed5420;box-shadow:0 0 18px #dfff6920}.extra-active #chance small{color:#e4ff8d}.turbo-mode #fast{background:#ff75bb;color:#210d31;box-shadow:0 0 14px #ff75bb40}.guide-quick{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.guide-quick span{background:#ffffff0c;padding:8px 10px;border-radius:8px;font-size:12px}.guide-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;text-align:left}.guide-card{display:flex;align-items:center;gap:12px;border:1px solid #ffffff20;background:#ffffff07;border-radius:14px;padding:12px}.guide-picture{position:relative;width:72px;height:82px;flex-shrink:0;overflow:hidden}.guide-picture .symbol-art{inset:0!important;width:100%!important;height:100%!important;animation:none!important}.guide-picture b{font:900 65px 'Barlow Condensed';color:#ff456b}.guide-card h3{font-size:18px;margin:0 0 5px;color:#efffa2}.guide-card p{font-size:12px;line-height:1.55;margin:0;color:#dfd3ea}.guide-formula{display:grid;gap:5px;background:#dfff690d;border:1px solid #dfff6930;border-radius:12px;padding:14px;margin:15px 0;text-align:left}.guide-formula strong{color:#e6ff83;font-size:12px}.guide-formula small{color:#c1b1d0;font-size:12px}.guide-section details{border-top:1px solid #ffffff16}.guide-section summary{color:#eee7f6}.guide-section details p{color:#cdbedb}@media(max-width:600px){.guide-cards{grid-template-columns:1fr}.guide-card{padding:8px 12px}.guide-picture{width:58px;height:64px}.guide-card h3{font-size:17px}.rules-table .pay-art{width:34px;height:34px;margin-right:4px}.extra-active .bet-control{padding:4px 6px}}
#modal:has(.guide-cards){width:min(92vw,760px);max-width:760px}.guide-card p{font-size:14px}.guide-card h3{line-height:1.2}.guide-picture .bonus-art-label{display:none}

.autospin-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.autospin-option{background:#ffffff0b;border:1px solid #dfff6940;border-radius:12px;color:#e9ff8d;font:900 28px 'Barlow Condensed',sans-serif;padding:18px 8px;cursor:pointer}.autospin-option small{display:block;font:700 11px Barlow,sans-serif;letter-spacing:1px;color:#d2c2e0;margin-top:5px}.autospin-option:hover,.autospin-option:focus-visible{background:#dfff6925;border-color:#e5ff80;outline:2px solid #e5ff80;outline-offset:2px}.autospin-option:last-child{grid-column:1/-1}.autospin-note{font-size:13px;line-height:1.6;color:#c9b9d7}.auto-button[aria-pressed=true]{background:#ff6aab;color:#210d31;border-color:#ff9bca}

/* Keep Autospin in the controls' layout on phones instead of below their edge. */
#auto.auto-button{min-height:44px;border:1px solid #dfff6966;border-radius:10px;background:#dfff6912;color:#e8ff99;font-size:13px;padding:8px 12px}#auto.auto-button[hidden]{display:none!important}#auto.auto-button[aria-pressed=true]{background:#ff6aab;color:#210d31;border-color:#ff9bca}@media(max-width:650px){#auto.auto-button{position:static;grid-column:1/-1;width:100%;flex-direction:row;justify-content:center;gap:9px;margin-top:10px;min-height:46px;font-size:14px}#auto.auto-button b{font-size:22px}.controls{padding-bottom:12px}}

.session-status{text-align:center;padding:8px 12px;font:12px Arial,sans-serif;color:#ded0eb}.session-status[hidden]{display:none}.autospin-option[aria-pressed=true]{background:#dfff6940;border-color:#e5ff80}

/* Blood Moon Takeover: the existing artwork supplies the moon and liquid detail. */
.takeover-moon{position:absolute;inset:0;background:linear-gradient(0deg,#16001400 35%,#17001955),url('assets/bleeding-moon.png') center top/cover no-repeat;opacity:.8;z-index:-1;mask-image:linear-gradient(#000 0%,#000 35%,transparent 78%);pointer-events:none}
.takeover-scene .blood-curtain{background-size:100% 140%;animation:bloodDescend 4s cubic-bezier(.15,.55,.25,1) both;opacity:1}
.takeover-scene .drop-callout{top:3%;padding:0 12px}.takeover-scene .drop-callout strong{font:clamp(25px,4.6vw,52px)/1.12 Anton,Impact,sans-serif;color:#ffe8c7;letter-spacing:.025em;text-shadow:0 4px #730f30}
.takeover-banner{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:5;pointer-events:none;background:linear-gradient(180deg,#3b0929,#d2153a 35%,#780d31);border:2px solid #ff6980;border-radius:8px;box-shadow:inset 0 0 22px #ff635850;overflow:hidden}
.takeover-banner b{font:clamp(52px,8vw,95px)/1 Anton,Impact,sans-serif;color:#ffeab7;text-shadow:0 5px #600827}.takeover-banner small{font:bold 10px Arial;letter-spacing:1px;color:#ffdfa8;margin-top:10px}
.takeover-cell{box-shadow:inset 0 0 16px #ff335355!important;border-color:#ff647e!important}
.game.disco-moment .light-one{background:linear-gradient(#fa29bb66,transparent)!important;animation-duration:1.5s!important}.game.disco-moment .light-two{background:linear-gradient(#5cffe566,transparent)!important;animation-duration:2s!important}.game.disco-moment .machine-top{border-color:#ff8bc7;box-shadow:0 0 20px #ff2da52a;transition:box-shadow .4s}
.game .wolf.rendered-wolf{animation:none!important;transform:none}.game .wolf.rendered-wolf.wolf-performing{transform-origin:50% 80%}
.game .wolf .speech:empty{display:none!important}.game .wolf.rendered-wolf .actor-sprite{overflow:visible!important}
@media(max-width:650px){.takeover-scene .drop-callout strong{font-size:25px}.takeover-scene .drop-callout span{font-size:9px}.takeover-banner small{font-size:7px;letter-spacing:0}.takeover-moon{background-size:auto 100%;background-position:center top}}
@media(prefers-reduced-motion:reduce){.disco-moment .light{animation:none!important}}

.bonus-rules{display:block;margin:14px auto 0;padding:8px 12px;background:transparent;border:0;color:#fff;font:inherit;font-size:12px;letter-spacing:.08em;text-decoration:underline;cursor:pointer}
