:root{
  --ink:#fff8d8;
  --muted:#c7d8b5;
  --jungle:#102718;
  --jungle-2:#193d22;
  --leaf:#6ed34f;
  --lime:#b7ef4a;
  --gold:#ffc628;
  --orange:#ff8a2a;
  --berry:#e74782;
  --deep:#071009;
  --panel:#102016ef;
  --line:#f4bd29;
  --safe-b:env(safe-area-inset-bottom,0px);
  --safe-t:env(safe-area-inset-top,0px);
}
*{box-sizing:border-box}
html,body{margin:0;width:100%;min-height:100%;background:#071009;color:var(--ink);font-family:Impact,"Arial Narrow",system-ui,sans-serif;overflow:hidden;-webkit-text-size-adjust:100%}
button,a{font:inherit;-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{cursor:default;opacity:.65}
.jungle-app{
  min-height:100dvh;width:100vw;position:relative;overflow:hidden;
  background:
    linear-gradient(180deg,#0b160b22 0%,#0d241722 45%,#061008cc 100%),
    url('./assets/world/original.jpg') center/cover no-repeat;
  isolation:isolate;
}
.jungle-app:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#071a0a22 0%,#0a24101c 55%,#06100899 100%),radial-gradient(circle at 78% 20%,#d5ff7545 0 3%,transparent 15%),radial-gradient(circle at 14% 74%,#f9b53438 0 2%,transparent 18%)}
.ambient{position:absolute;border-radius:50%;filter:blur(12px);pointer-events:none;opacity:.28;mix-blend-mode:screen;will-change:transform}
.ambient-a{width:160px;height:160px;left:6%;top:57%;background:#8dff4f;animation:float 5s ease-in-out infinite}
.ambient-b{width:130px;height:130px;right:8%;top:14%;background:#f5bb2b;animation:float 6.5s ease-in-out infinite reverse}
.world-fx{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none}
.world-fx:before,.world-fx:after{content:"";position:absolute;pointer-events:none;mix-blend-mode:screen;border-radius:50%;filter:blur(24px);opacity:.38;animation:edgeGlow 5s ease-in-out infinite alternate}.world-fx:before{width:32vw;height:24vw;left:-8vw;bottom:5%;background:radial-gradient(ellipse,#a8f5c088,transparent 68%)}.world-fx:after{width:28vw;height:22vw;right:-7vw;bottom:10%;background:radial-gradient(ellipse,#f7d56e66,transparent 68%);animation-delay:-2s}
.world-fog{position:absolute;left:-8%;bottom:7%;width:116%;height:45%;object-fit:cover;opacity:.22;mix-blend-mode:screen;animation:worldFog 19s ease-in-out infinite alternate;will-change:transform}
.world-glow{position:absolute;inset:-3%;width:106%;height:106%;object-fit:cover;opacity:.34;mix-blend-mode:screen;animation:worldGlow 3.6s ease-in-out infinite}
.world-bird{position:absolute;width:42px;height:20px;opacity:.75;filter:drop-shadow(0 2px 3px #000);animation:worldFly var(--fly) linear infinite;animation-delay:var(--delay)}
.world-bird:before,.world-bird:after{content:"";position:absolute;top:8px;width:24px;height:10px;border-top:2px solid #d8c08d;border-radius:50%}.world-bird:before{right:19px;transform:rotate(18deg)}.world-bird:after{left:19px;transform:rotate(-18deg)}
.bird-one{top:24%;--fly:17s;--delay:-5s}.bird-two{top:36%;--fly:22s;--delay:-13s;transform:scale(.72)}.bird-three{top:17%;--fly:26s;--delay:-19s;transform:scale(.55)}
@keyframes worldFog{from{transform:translateX(-4%) translateY(3%)}to{transform:translateX(5%) translateY(-4%)}}@keyframes worldGlow{50%{opacity:.58;filter:brightness(1.28)}}@keyframes worldFly{from{transform:translateX(-120px)}to{transform:translateX(110vw)}}@keyframes edgeGlow{to{transform:translateY(-12px) scale(1.12);opacity:.62}}
@keyframes float{50%{transform:translateY(-18px) scale(1.08)}}
.topbar{position:absolute;inset:0 0 auto 0;z-index:20;display:flex;align-items:flex-start;justify-content:space-between;padding:calc(8px + var(--safe-t)) 3vw 0;pointer-events:none}
.brand,.top-actions{pointer-events:auto}
.brand img{display:block;width:clamp(150px,19vw,270px);filter:drop-shadow(0 6px 0 #32160d) drop-shadow(0 12px 18px #0008);animation:logoFloat 4.8s ease-in-out infinite;transform-origin:50% 80%}@keyframes logoFloat{50%{transform:translateY(-3px) scale(1.015)}}
.top-actions{display:flex;gap:10px;align-items:center}
.badge-demo{padding:8px 12px;border:1px solid #d9f39366;border-radius:999px;background:#07140bbd;backdrop-filter:blur(9px);font:800 11px/1 system-ui,sans-serif;letter-spacing:.08em;color:#dff6ae}
.icon-btn{width:58px;height:58px;border-radius:13px;border:2px solid var(--gold);background:#102016dd;display:grid;place-content:center;gap:6px;box-shadow:0 7px 22px #0009,inset 0 0 0 2px #ffffff14}
.icon-btn span{display:block;width:30px;height:4px;border-radius:5px;background:#fff3c2}
.stage{height:calc(100dvh - 112px - var(--safe-b));display:grid;place-items:center;padding:68px 6vw 18px;max-width:1440px;margin:0 auto}
.machine{position:relative;width:min(900px,74vw);aspect-ratio:1.62;filter:drop-shadow(0 18px 28px #0008);transform:translateY(-1vh)}
.machine-glow{position:absolute;inset:-12%;background:radial-gradient(ellipse,#b4f45120,transparent 64%);z-index:-1}
.machine-topline{position:absolute;z-index:5;top:-14px;left:0;right:0;height:29px;display:flex;align-items:center}
.machine-topline span{height:13px;flex:1;border:3px solid #673e1f;background:linear-gradient(#ffe567,#ee9c23);box-shadow:0 0 0 3px #30140f}
.machine-topline i{width:34px;height:28px;transform:rotate(45deg);border:4px solid #552d17;background:linear-gradient(135deg,#e8f65c,#f5a526);box-shadow:0 0 0 2px #210b08}
.reels-shell{position:absolute;inset:13px 0 0;border:5px solid #4d1d18;border-radius:18px;background:#10120df0;box-shadow:inset 0 0 0 5px #f0b72d,inset 0 0 0 10px #6a3520,0 0 0 3px #142c17;overflow:hidden}
.reels-shell:after{content:"";position:absolute;inset:-7px;z-index:6;pointer-events:none;border:8px solid #214d25;border-radius:24px;background:radial-gradient(ellipse at 0 12%,#78bd4c 0 6px,transparent 7px),radial-gradient(ellipse at 100% 26%,#78bd4c 0 7px,transparent 8px),radial-gradient(ellipse at 8% 100%,#4c8f39 0 7px,transparent 8px),radial-gradient(ellipse at 92% 100%,#4c8f39 0 7px,transparent 8px);box-shadow:0 0 0 3px #102714,0 0 18px #8fe25a66,inset 0 0 12px #091608;mix-blend-mode:screen;opacity:.9}
.reels-shell:before{content:"";position:absolute;inset:10px;z-index:1;pointer-events:none;border:2px solid #fce67a80;border-radius:8px}
.reels{position:absolute;inset:12px;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(3,1fr);gap:0;background:#0f130ee8;border-radius:8px;overflow:hidden}
.cell{position:relative;display:grid;place-items:center;min-width:0;min-height:0;border-right:1px solid #ffec9130;border-bottom:1px solid #ffec9128;background:linear-gradient(145deg,#152319cc,#0c170faa);overflow:hidden}
.cell:nth-child(5n){border-right:0}
.cell:nth-child(n+11){border-bottom:0}
.cell:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,#ffffff12,transparent 38%,#ffffff09 63%,transparent);pointer-events:none}
.cell svg{width:72%;height:72%;overflow:visible;filter:drop-shadow(0 3px 2px #0008);transition:transform .2s ease}
.cell .symbol-art{width:72%;height:72%;object-fit:contain;overflow:visible;filter:drop-shadow(0 3px 2px #0008);transition:transform .2s ease;will-change:transform}
.symbol-debug{position:relative;display:grid;place-items:center;width:100%;height:100%}.symbol-debug b{position:absolute;top:4px;right:5px;z-index:3;min-width:20px;height:20px;padding:2px 5px;border-radius:999px;background:#ffdf43;color:#321609;font:900 12px/16px system-ui,sans-serif;text-align:center;box-shadow:0 2px 4px #0009}
.cell.is-spinning svg{animation:slotBlur .12s linear infinite;filter:drop-shadow(0 3px 2px #0007)}
.cell.is-winning{z-index:4;background:radial-gradient(circle,#fff17f88 0 25%,#f8b62f44 58%,transparent 78%);box-shadow:inset 0 0 0 3px #ffe35d,0 0 12px #ffe35d,0 0 22px #9cff4c88;animation:winnerCell .48s ease-in-out infinite alternate;isolation:isolate}
.cell.is-winning:before{content:"";position:absolute;inset:-35%;z-index:5;pointer-events:none;background:linear-gradient(115deg,transparent 38%,#fffbdcaa 48%,transparent 58%);transform:translateX(-70%) rotate(12deg);animation:winnerSweep 1.25s linear infinite}
.cell.is-winning:after{content:"";position:absolute;inset:8%;border-radius:50%;background:radial-gradient(ellipse at 50% 90%,#d6ff9a66,transparent 58%);filter:blur(4px);animation:winnerSmoke 1.1s ease-in-out infinite alternate;pointer-events:none}
.cell.is-winning svg{animation:winPop .55s ease-in-out infinite alternate;filter:drop-shadow(0 0 8px #ffec66) drop-shadow(0 0 18px #ff9d2e)}
@keyframes slotBlur{0%{transform:translateY(-8%) scale(.92)}50%{transform:translateY(8%) scale(1.02)}100%{transform:translateY(-8%) scale(.92)}}
@keyframes winPop{to{transform:scale(1.12) rotate(2deg)}}
@keyframes winnerCell{to{box-shadow:inset 0 0 0 3px #fff7a0,0 0 22px #ffe35d,0 0 30px #9cff4caa}}@keyframes winnerSweep{to{transform:translateX(70%) rotate(12deg)}}@keyframes winnerSmoke{to{transform:translateY(-8px) scale(1.12);opacity:.35}}
.payline-layer{position:absolute;inset:12px;z-index:3;pointer-events:none}
.payline{position:absolute;height:5px;border-radius:999px;background:linear-gradient(90deg,transparent,#ffef73 8%,#ff9328 50%,#ffef73 92%,transparent);box-shadow:0 0 8px #ffcc37,0 0 16px #ff8a2a;transform-origin:0 50%;opacity:0;animation:lineFlash .9s ease-in-out 3}
@keyframes lineFlash{0%,100%{opacity:0}30%,70%{opacity:.95}}
.win-banner{position:absolute;left:50%;top:50%;z-index:8;transform:translate(-50%,-50%) scale(.85);padding:12px 28px;border-radius:999px;border:2px solid #ffe05a;background:#12351be8;box-shadow:0 0 0 5px #09170dbd,0 0 45px #dfff5355;color:#fff5b0;font-size:clamp(22px,3.2vw,48px);letter-spacing:.04em;text-align:center;opacity:0;pointer-events:none}
.win-banner.show{animation:banner .95s ease forwards}
.win-banner[data-tier="mega"],.win-banner[data-tier="jackpot"]{font-size:clamp(28px,4vw,64px);border-color:#ffe45a;box-shadow:0 0 0 5px #09170dbd,0 0 55px #ffbe35aa;animation:bannerMega 1.25s cubic-bezier(.2,.85,.2,1) forwards}.win-banner[data-tier="jackpot"]{color:#fff5a0;background:linear-gradient(135deg,#8e2d16e8,#234e1ee8)}.win-banner[data-tier="free-spins"]{border-color:#baff70;color:#dfff9c;box-shadow:0 0 0 5px #09170dbd,0 0 45px #8dff56aa}@keyframes bannerMega{0%{opacity:0;transform:translate(-50%,-50%) scale(.35) rotate(-4deg)}20%,75%{opacity:1;transform:translate(-50%,-50%) scale(1.08) rotate(0)}100%{opacity:0;transform:translate(-50%,-60%) scale(1.18)}}
@keyframes banner{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}25%,72%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-58%) scale(1.08)}}
.control-deck{position:absolute;z-index:18;inset:auto 0 0;min-height:112px;padding:12px clamp(18px,4vw,64px) calc(11px + var(--safe-b));display:grid;grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr);align-items:center;gap:clamp(12px,3vw,42px);background:linear-gradient(180deg,#1b211ceb,#0c100df5);border-top:2px solid #6c4a20;box-shadow:0 -9px 30px #0007}
.fun-controls{display:flex;align-items:center;justify-content:flex-start;gap:clamp(16px,3vw,48px);min-width:0}.action-controls{display:flex;justify-content:flex-end;gap:12px;min-width:0}.control-deck .spin-button{position:relative;left:auto;top:auto;transform:none;margin:-38px auto 0;z-index:2}.control-deck .spin-button:active{transform:scale(.96)}
.control-deck .spin-button{position:absolute;left:50%;top:50%;transform:translate(-50%,-58%);margin:0;z-index:2}.control-deck .spin-button:active{transform:translate(-50%,-58%) scale(.96)}
.control-deck .spin-button{position:relative;left:auto;top:auto;transform:none;margin:-38px auto 0;z-index:2}.control-deck .spin-button:active{transform:scale(.96)}
.stat-block,.bet-control{min-width:0}
.stat-block small,.bet-control small{display:block;font:900 12px/1.1 system-ui,sans-serif;color:#f8eed8;text-shadow:0 2px 4px #000}
.stat-block strong,.bet-control strong{display:block;margin-top:4px;color:var(--gold);font-size:clamp(21px,2vw,34px);letter-spacing:.02em;white-space:nowrap;text-shadow:0 3px 0 #5a2b13}
.bet-row{display:grid;grid-template-columns:46px 1fr 46px;align-items:center;gap:8px;margin-top:4px}
.bet-row button{width:46px;height:46px;border:2px solid #f5bd2a;border-radius:50%;background:#141914;color:#fff4cf;font-size:30px;line-height:1;box-shadow:inset 0 0 0 2px #0008}
.bet-row strong{text-align:center}
.spin-button{position:relative;width:108px;height:108px;margin:-38px auto 0;border-radius:50%;border:4px solid #ffe98a;background:radial-gradient(circle at 35% 25%,#fff4a0 0 8%,#c7ed55 9% 22%,#2c792c 48%,#12391d 78%);color:#fff9b7;box-shadow:0 0 0 5px #3d2412,0 0 0 8px #d19b2c,0 13px 22px #000b,inset 0 7px 12px #ffffff55,inset 0 -10px 12px #061408;display:grid;place-items:center;transition:transform .12s ease,filter .12s ease;overflow:hidden}
.spin-button:before{content:"";position:absolute;inset:8px;border:1px solid #fff3a877;border-radius:50%;box-shadow:0 0 18px #d9ff5d66;pointer-events:none}.spin-button:after{content:"";position:absolute;inset:-25%;background:linear-gradient(115deg,transparent 35%,#ffffff44 48%,transparent 60%);transform:translateX(-70%) rotate(12deg);animation:spinSheen 3.8s ease-in-out infinite;pointer-events:none}.spin-ring{position:absolute;inset:15px;border:2px dashed #e8ff8b88;border-radius:50%;animation:ringTurn 9s linear infinite}.spin-arrow{position:relative;z-index:2;margin-top:-9px;font:900 49px/.7 Arial,sans-serif;text-shadow:0 3px 0 #113116,0 0 12px #dbff6c}.spin-label{position:absolute;z-index:3;bottom:17px;font:900 11px/1 system-ui,sans-serif;letter-spacing:.17em;color:#fff5a6;text-shadow:0 2px 0 #143516}
.spin-button:active{transform:scale(.96)}
.spin-button.is-spinning .spin-arrow{animation:spin 1s linear infinite}
.spin-arrow{font:900 78px/.7 Arial,sans-serif;text-shadow:0 4px 0 #9f4d0f}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes ringTurn{to{transform:rotate(360deg)}}@keyframes spinSheen{0%,55%{transform:translateX(-70%) rotate(12deg)}78%,100%{transform:translateX(70%) rotate(12deg)}}
.deck-button{min-height:58px;border:2px solid var(--gold);border-radius:28px;background:#121712b8;color:#fff5d7;padding:8px 18px;font-size:clamp(17px,1.4vw,24px);letter-spacing:.02em;box-shadow:inset 0 0 0 2px #0007;white-space:nowrap}
.deck-button small{display:block;color:#ffe46a;font:800 10px/1 system-ui,sans-serif;min-height:10px;margin-top:3px}
.deck-button.active{background:#3b571c;border-color:#cfff59;box-shadow:0 0 19px #a8ef3650}
.menu-panel{position:absolute;top:78px;right:3vw;z-index:25;width:220px;padding:10px;border:1px solid #d6b34e69;border-radius:16px;background:#08110beb;backdrop-filter:blur(16px);box-shadow:0 18px 30px #0009;transform:translateY(-12px) scale(.97);opacity:0;pointer-events:none;transition:.2s ease}
.menu-panel.open{opacity:1;transform:none;pointer-events:auto}
.menu-panel button,.menu-panel a{display:block;width:100%;padding:13px 12px;border:0;border-bottom:1px solid #ffffff12;background:transparent;color:#f7edcf;text-align:left;text-decoration:none;font:800 13px/1.1 system-ui,sans-serif}
.menu-panel>*:last-child{border-bottom:0}
.modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px;background:#020502d6;backdrop-filter:blur(8px)}
.modal[hidden]{display:none}
.modal-card{width:min(800px,94vw);max-height:min(780px,88dvh);overflow:auto;border:2px solid var(--gold);border-radius:20px;padding:22px;background:linear-gradient(160deg,#14271aed,#071109f4);box-shadow:0 0 0 5px #0009,0 28px 60px #000c}
.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.eyebrow{font:900 10px/1 system-ui,sans-serif;letter-spacing:.17em;color:#a7de6e}.modal-head h2{margin:4px 0 0;font-size:clamp(28px,5vw,52px);color:#ffe365}.modal-close{width:42px;height:42px;border-radius:50%;border:1px solid #ffe364;background:#101710;color:#fff;font-size:29px}.modal-copy{font:500 13px/1.55 system-ui,sans-serif;color:#c4d3ba;max-width:700px}.paytable-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.payrow{display:grid;grid-template-columns:80px 1fr;align-items:center;gap:12px;padding:10px;border:1px solid #f0c64155;border-radius:14px;background:#ffffff08}.payrow svg{width:72px;height:72px;filter:drop-shadow(0 5px 3px #0008)}.payvalues{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.payvalues b{color:#ffe353;font-size:24px}.payvalues small{display:block;color:#dbe2c0;font:700 11px/1 system-ui,sans-serif}.rules-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:14px}.rules-grid div{padding:12px;border-radius:12px;background:#88b94e12;border:1px solid #98cd5d30}.rules-grid b{display:block;color:#d8ff88;font:900 12px/1 system-ui,sans-serif}.rules-grid span{display:block;margin-top:4px;color:#afc3a5;font:500 11px/1.4 system-ui,sans-serif}.free-spins{position:absolute;z-index:19;top:16px;left:50%;transform:translateX(-50%);display:flex;gap:9px;align-items:center;padding:8px 14px;border:1px solid #cfff60;border-radius:999px;background:#142b18dc;box-shadow:0 8px 25px #0007}.free-spins[hidden]{display:none}.free-spins span{font:900 10px/1 system-ui,sans-serif;color:#c7e7ae}.free-spins strong{color:#fff064;font-size:19px}.toast{position:absolute;z-index:70;left:50%;bottom:132px;transform:translate(-50%,20px);padding:10px 16px;border-radius:999px;background:#101910e9;border:1px solid #d5ed8050;color:#fff3c9;font:800 12px/1 system-ui,sans-serif;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){
  html,body{overflow:auto;background:#071009}
  .jungle-app{min-height:100dvh;overflow:hidden}
  .topbar{padding-left:14px;padding-right:14px}.badge-demo{display:none}.icon-btn{width:48px;height:48px}.icon-btn span{width:25px;height:3px}
  .brand img{width:155px}
  .stage{height:calc(100dvh - 144px - var(--safe-b));padding:88px 8px 14px;align-items:center}
  .machine{width:min(98vw,720px);aspect-ratio:1.48}
  .reels-shell{border-width:4px}.reels{inset:9px}.payline-layer{inset:9px}.cell svg{width:79%;height:79%}
  .control-deck{min-height:144px;width:100%;left:0;right:0;transform:none;grid-template-columns:1fr 1fr 84px 1fr 1fr;grid-template-areas:"balance bet spin max auto";gap:6px;padding:10px 7px calc(8px + var(--safe-b))}
  .stat-win{display:none}.stat-balance{grid-area:balance}.bet-control{grid-area:bet}.spin-button{grid-area:spin;width:82px;height:82px;margin:-34px auto 0;border-width:3px}.spin-arrow{font-size:57px}.deck-button{min-height:48px;border-radius:23px;font-size:12px;padding:7px}.stat-block small,.bet-control small{font-size:8px}.stat-block strong,.bet-control strong{font-size:18px}.bet-row{grid-template-columns:34px 1fr 34px;gap:4px}.bet-row button{width:34px;height:34px;font-size:24px}.menu-panel{right:12px;top:67px}.toast{bottom:155px}
}
@media(max-width:580px){
  .jungle-app{background-position:62% center}
  .stage{height:calc(100dvh - 168px - var(--safe-b));padding:84px 4px 8px}
  .machine{width:99vw;aspect-ratio:1.18}
  .machine-topline{top:-9px;height:19px}.machine-topline span{height:9px;border-width:2px}.machine-topline i{width:23px;height:19px;border-width:2px}
  .reels-shell{top:5px;inset-inline:0;border-radius:10px}.reels{inset:7px}.payline-layer{inset:7px}.cell svg{width:86%;height:86%}
  .control-deck{min-height:168px;width:100%;left:0;right:0;transform:none;grid-template-columns:1fr 90px 1fr;grid-template-rows:auto auto;grid-template-areas:"balance spin bet" "max spin auto";gap:5px;padding:9px 6px calc(8px + var(--safe-b))}
  .spin-button{width:86px;height:86px;margin:0}.deck-button{font-size:11px;min-height:42px}.stat-block,.bet-control{text-align:center}.bet-row{grid-template-columns:30px 1fr 30px}.bet-row button{width:30px;height:30px}.stat-block strong,.bet-control strong{font-size:17px}.paytable-grid{grid-template-columns:1fr}.rules-grid{grid-template-columns:1fr}.modal-card{padding:16px}.payrow{grid-template-columns:64px 1fr}.payrow svg{width:58px;height:58px}.payvalues b{font-size:19px}.free-spins{top:64px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* ZombieTown theme: blue-violet night atmosphere */
body { background: radial-gradient(circle at 50% 8%, rgba(63, 35, 128, .72), transparent 38%), linear-gradient(145deg, #050617 0%, #111044 48%, #070817 100%) !important; }
body { background-image: linear-gradient(rgba(5, 6, 23, .48), rgba(7, 8, 23, .72)), url('./assets/zombietown-night-forest.png') !important; background-size: cover; background-position: center; background-attachment: fixed; }
.jungle-app { background: linear-gradient(rgba(5, 6, 23, .42), rgba(7, 8, 23, .72)), url('./assets/zombietown-night-forest.png') center/cover no-repeat !important; }
.machine { box-shadow: 0 0 55px rgba(34, 211, 238, .18), inset 0 0 45px rgba(91, 33, 182, .22) !important; }
.world-fx { opacity: .18; filter: hue-rotate(185deg) saturate(1.8) brightness(.5); }
.reels-shell:after { border-color: rgba(34, 211, 238, .75) !important; box-shadow: 0 0 22px rgba(139, 92, 246, .75) !important; }
.spin-button { background: linear-gradient(145deg, #22d3ee, #2563eb 46%, #7c3aed) !important; border-color: #a78bfa !important; box-shadow: 0 0 24px rgba(34, 211, 238, .65), 0 0 42px rgba(124, 58, 237, .42) !important; }
.machine-topline span, .machine-topline i { border-color: #31206b !important; background: linear-gradient(135deg, #67e8f9, #4f46e5 48%, #7e22ce) !important; box-shadow: 0 0 0 3px #090622, 0 0 14px #22d3ee88 !important; }
.reels-shell { border-color: #31206b !important; box-shadow: inset 0 0 0 5px #4338ca, inset 0 0 0 10px #172554, 0 0 0 3px #22d3ee !important; }
.control-deck { background: linear-gradient(180deg, #171044eb, #08091bf5) !important; border-color: #6366f1 !important; }
/* Corrección cromática final: eliminar restos verdes/dorados de Jungle */
.machine-glow { background: radial-gradient(ellipse, #22d3ee35, transparent 64%) !important; }
.reels-shell:after { border-color: #4338ca !important; background: radial-gradient(ellipse at 0 12%, #22d3ee 0 6px, transparent 7px), radial-gradient(ellipse at 100% 26%, #a78bfa 0 7px, transparent 8px), radial-gradient(ellipse at 8% 100%, #2563eb 0 7px, transparent 8px), radial-gradient(ellipse at 92% 100%, #7c3aed 0 7px, transparent 8px) !important; box-shadow: 0 0 0 3px #111044, 0 0 22px #22d3ee88, inset 0 0 14px #090622 !important; }
.reels { background: #090b20ee !important; }
.cell { border-color: #818cf833 !important; background: linear-gradient(145deg, #15143bcc, #090b20ee) !important; }
.cell.is-winning { background: radial-gradient(circle, #67e8f988 0 24%, #7c3aed55 57%, transparent 79%) !important; box-shadow: inset 0 0 0 3px #67e8f9, 0 0 15px #22d3ee, 0 0 28px #8b5cf6 !important; }
.cell.is-winning:after { background: radial-gradient(ellipse at 50% 90%, #a78bfa88, transparent 58%) !important; }
.win-banner { border-color: #67e8f9 !important; background: linear-gradient(135deg, #101b4eee, #30145eea) !important; color: #dbeafe !important; box-shadow: 0 0 0 5px #050617bd, 0 0 48px #22d3ee88 !important; }
.win-banner[data-tier="jackpot"], .win-banner[data-tier="mega"] { border-color: #c4b5fd !important; color: #f5f3ff !important; box-shadow: 0 0 0 5px #050617bd, 0 0 58px #8b5cf6aa !important; }
.free-spins { border-color: #67e8f9 !important; background: #101b4edd !important; box-shadow: 0 8px 25px #0009, 0 0 20px #22d3ee55 !important; }
.modal-card { border-color: #8b5cf6 !important; background: linear-gradient(160deg, #171044f5, #08091bf7) !important; }
.modal-head h2, .payvalues b { color: #c4b5fd !important; }
.toast { background: #101b4ee9 !important; border-color: #67e8f966 !important; color: #e0f2fe !important; }
.ambient-a { background: #22d3ee !important; opacity: .18 !important; }
.ambient-b { background: #8b5cf6 !important; opacity: .2 !important; }
.world-fx:before { background: radial-gradient(ellipse, #67e8f966, transparent 68%) !important; }
.world-fx:after { background: radial-gradient(ellipse, #8b5cf666, transparent 68%) !important; }
.payline { background: linear-gradient(90deg, transparent, #67e8f9 8%, #8b5cf6 50%, #67e8f9 92%, transparent) !important; box-shadow: 0 0 8px #22d3ee, 0 0 16px #8b5cf6 !important; }
.symbol-debug > b { display: none !important; }
body { background: linear-gradient(rgba(4, 11, 28, .35), rgba(10, 4, 20, .58)), url('./assets/15-septiembre-plaza.png') center/cover fixed no-repeat !important; }
.jungle-app { background: linear-gradient(rgba(4, 11, 28, .28), rgba(10, 4, 20, .55)), url('./assets/15-septiembre-plaza.png') center/cover no-repeat !important; }
.reels-shell { border-color:#b8871f !important; box-shadow:inset 0 0 0 5px #15803d,inset 0 0 0 10px #f8fafc,0 0 0 3px #b91c1c !important; }
.spin-button { background:linear-gradient(145deg,#15803d 0 33%,#f8fafc 34% 66%,#b91c1c 67%) !important; border-color:#facc15 !important; }
.ambient-a{background:#15803d!important}.ambient-b{background:#dc2626!important}.world-fx:before{background:radial-gradient(ellipse,#facc1566,transparent 68%)!important}.world-fx:after{background:radial-gradient(ellipse,#dc262666,transparent 68%)!important}.payline{background:linear-gradient(90deg,transparent,#facc15 8%,#dc2626 50%,#facc15 92%,transparent)!important;box-shadow:0 0 8px #facc15,0 0 16px #dc2626!important}
.machine-topline span,.machine-topline i{border-color:#7f1d1d!important;background:linear-gradient(135deg,#15803d,#f8fafc 50%,#b91c1c)!important;box-shadow:0 0 0 3px #451a03,0 0 14px #facc1588!important}.control-deck{background:linear-gradient(180deg,#14532dee,#451a03f5)!important;border-top-color:#facc15!important;box-shadow:0 -9px 30px #0009!important}.deck-button,.bet-row button{border-color:#facc15!important;background:#7f1d1dcc!important;color:#fff7ed!important}.deck-button small{color:#fef08a!important}.stat strong{color:#fef08a!important}
:root{--gold:#ffffff!important;--orange:#b91c1c!important;--ink:#ffffff!important}.machine-topline span,.machine-topline i{background:linear-gradient(90deg,#15803d 0 33%,#fff 33% 66%,#b91c1c 66%)!important;box-shadow:0 0 0 3px #111!important}.reels-shell{border-color:#b91c1c!important;box-shadow:inset 0 0 0 5px #15803d,inset 0 0 0 10px #fff,0 0 0 3px #b91c1c!important}.spin-button{background:linear-gradient(90deg,#15803d 0 33%,#fff 33% 66%,#b91c1c 66%)!important;border-color:#fff!important;color:#111!important}.control-deck{background:linear-gradient(90deg,#14532dee,#111c14f5 48%,#7f1d1dee)!important;border-top-color:#fff!important}.deck-button,.bet-row button{border-color:#fff!important;background:#b91c1dcc!important;color:#fff!important}.deck-button small,.stat strong{color:#fff!important}.modal-card{border-color:#fff!important;background:linear-gradient(135deg,#14532ff5,#111c14f5 50%,#7f1d1df5)!important}.win-banner{border-color:#fff!important;background:linear-gradient(90deg,#15803dee,#111c14ee 50%,#b91c1dee)!important;color:#fff!important}
body{background:linear-gradient(rgba(3,10,24,.28),rgba(3,7,18,.68)),url('./assets/pirate-cove-night.png') center/cover fixed no-repeat!important}.jungle-app{background:linear-gradient(rgba(3,10,24,.18),rgba(3,7,18,.62)),url('./assets/pirate-cove-night.png') center/cover no-repeat!important}.reels-shell{border-color:#7c4a24!important;box-shadow:inset 0 0 0 5px #174c62,inset 0 0 0 10px #b77932,0 0 0 3px #111827,0 0 22px #22d3ee55!important}.reels{background:#071927ee!important}.cell{background:linear-gradient(145deg,#123246dd,#071522ee)!important;border-color:#67e8f955!important}.machine-topline span,.machine-topline i{border-color:#291509!important;background:linear-gradient(135deg,#b77932,#6b351c,#172554)!important;box-shadow:0 0 0 3px #111827,0 0 14px #22d3ee66!important}.spin-button{background:radial-gradient(circle at 50% 50%,#f8fafc 0 12%,transparent 13%),linear-gradient(145deg,#111827 0 48%,#991b1b 49% 100%)!important;border-color:#f8fafc!important;box-shadow:0 0 0 5px #111827,0 0 0 8px #991b1b,0 0 26px #ef444488!important}.spin-arrow{font-size:0!important}.spin-arrow:after{content:'☠';font-size:51px;color:#f8fafc;text-shadow:0 3px 0 #111827,0 0 12px #ef4444}.control-deck{background:linear-gradient(180deg,#102c3eee,#071522f5)!important;border-top-color:#b77932!important}.ambient-a{background:#22d3ee!important}.ambient-b{background:#ef4444!important}.world-fx:before{background:radial-gradient(ellipse,#22d3ee55,transparent 68%)!important}.world-fx:after{background:radial-gradient(ellipse,#f59e0b55,transparent 68%)!important}
.machine-topline span,.machine-topline i{background:linear-gradient(135deg,#8b5a2b,#d4a24c,#172554)!important}.reels-shell{border-radius:14px!important}.spin-button{background:radial-gradient(circle,#1e3a5f 0 42%,#b77932 43% 48%,#991b1b 49% 63%,#111827 64%)!important;border:4px solid #f3d28a!important;box-shadow:0 0 0 5px #111827,0 0 0 8px #b77932,0 12px 25px #000b,0 0 28px #22d3ee55!important}.spin-button:before{border-color:#f3d28a!important;box-shadow:0 0 15px #f3d28a88!important}.spin-ring{border-color:#f3d28aaa!important}.spin-arrow:after{content:'⚓';font-size:48px;color:#f3d28a;text-shadow:0 3px 0 #111827,0 0 12px #22d3ee!important}.control-deck{background:linear-gradient(180deg,#172f43f2,#071522f8)!important}
.spin-arrow:after{content:'+'!important;font-size:48px!important;color:#f3d28a!important}
.spin-arrow{font-size:0!important;margin:0!important;width:52px;height:52px;border:3px solid #f3d28a;border-radius:50%;background:radial-gradient(circle,#22d3ee 0 8%,transparent 9%),conic-gradient(#f3d28a 0 10%,transparent 10% 25%,#f3d28a 25% 35%,transparent 35% 50%,#f3d28a 50% 60%,transparent 60% 75%,#f3d28a 75% 85%,transparent 85%)!important;box-shadow:inset 0 0 0 4px #172554,0 0 12px #f3d28a88}.spin-arrow:after{content:''!important;font-size:0!important}.spin-button:after{background:linear-gradient(115deg,transparent 35%,#f3d28a66 48%,transparent 60%)!important}.machine:before{content:'';position:absolute;inset:-16px -22px;z-index:-1;border:2px solid #b7793266;border-radius:26px;box-shadow:0 0 0 7px #07152288,0 0 24px #22d3ee44;pointer-events:none}.jungle-app:after{content:'';position:absolute;left:0;right:0;bottom:112px;height:18%;pointer-events:none;background:linear-gradient(180deg,transparent,#22d3ee18 55%,#071522aa);opacity:.8;animation:seaMist 5s ease-in-out infinite alternate}@keyframes seaMist{to{transform:translateY(-8px);opacity:.5}}
.spin-arrow{display:none!important}.spin-hat{position:relative;z-index:3;width:72%;height:72%;object-fit:contain;filter:drop-shadow(0 5px 3px #111827) drop-shadow(0 0 10px #f3d28a);pointer-events:none}.spin-button.is-spinning .spin-hat{animation:hatBob .32s ease-in-out infinite alternate}@keyframes hatBob{to{transform:translateY(-3px) rotate(-2deg) scale(1.04)}}
.jungle-app{background:linear-gradient(rgba(8,5,30,.24),rgba(5,4,22,.72)),radial-gradient(circle at 50% 0%,#312e8155,transparent 45%),#050417!important}.reels-shell{border-color:#d4af37!important;box-shadow:inset 0 0 0 5px #312e81,inset 0 0 0 10px #111827,0 0 0 3px #a78bfa,0 0 24px #22d3ee55!important}.reels{background:#080622ee!important}.cell{background:linear-gradient(145deg,#19134acc,#080622ee)!important;border-color:#a78bfa55!important}.spin-button{background:radial-gradient(circle,#a78bfa 0 8%,#312e81 9% 45%,#d4af37 46% 54%,#111827 55%)!important;border-color:#fef3c7!important}.machine-topline span,.machine-topline i{background:linear-gradient(135deg,#d4af37,#312e81,#111827)!important}.control-deck{background:linear-gradient(180deg,#171044ee,#080622f5)!important;border-top-color:#d4af37!important}.ambient-a{background:#22d3ee!important}.ambient-b{background:#a78bfa!important}
.spin-hat{display:none!important}.casino-spin-label{position:relative;z-index:3;font:900 clamp(14px,2vw,22px)/1 system-ui,sans-serif;letter-spacing:.12em;color:#fff7d6;text-shadow:0 2px 0 #111827,0 0 10px #d4af37}.spin-button{background:radial-gradient(circle at 35% 25%,#a78bfa 0 8%,#312e81 9% 48%,#111827 49% 78%)!important;border:4px solid #d4af37!important;box-shadow:0 0 0 5px #111827,0 0 0 8px #d4af37,0 13px 22px #000b,inset 0 7px 12px #ffffff33!important}.spin-ring{border-color:#fef3c788!important}
.jungle-app{background:linear-gradient(rgba(6,3,28,.28),rgba(4,3,20,.72)),url('./assets/zodiac-night-sky.png') center/cover fixed no-repeat!important}.machine-topline span,.machine-topline i{background:linear-gradient(135deg,#d4af37,#312e81,#7c3aed)!important}.control-deck{background:linear-gradient(180deg,#171044ee,#080622f5)!important;border-top-color:#d4af37!important}.spin-button{background:radial-gradient(circle at 35% 25%,#c4b5fd 0 8%,#312e81 9% 48%,#111827 49% 78%)!important;border-color:#d4af37!important}.deck-button,.bet-row button{border-color:#a78bfa!important;background:#171044dd!important;color:#fef3c7!important}.deck-button small,.stat strong{color:#c4b5fd!important}.toast{background:#171044f2!important;border-color:#a78bfa!important;color:#f5f3ff!important}.win-banner{border-color:#d4af37!important;background:linear-gradient(135deg,#312e81ee,#4c1d95ee)!important;color:#fef3c7!important}.ambient-a{left:auto!important;right:10%!important;top:20%!important;background:#22d3ee!important}.ambient-b{left:16%!important;right:auto!important;top:68%!important;background:#a78bfa!important}.world-fx:before{left:auto!important;right:-6vw!important;bottom:18%!important;background:radial-gradient(ellipse,#22d3ee66,transparent 68%)!important}.world-fx:after{right:auto!important;left:-7vw!important;bottom:32%!important;background:radial-gradient(ellipse,#8b5cf666,transparent 68%)!important}.jungle-app:after{left:8%!important;right:8%!important;top:12%!important;bottom:auto!important;height:22%!important;background:radial-gradient(ellipse,#d4af3728,transparent 68%)!important}
.casino-spin-label,.spin-arrow,.spin-hat{display:none!important}.spin-button{width:112px!important;height:112px!important;border-radius:50%!important;background:radial-gradient(circle at 34% 25%,#c4b5fd 0 7%,#7c3aed 8% 22%,#312e81 23% 62%,#171044 63% 100%)!important;border:5px solid #f5d76e!important;box-shadow:0 0 0 5px #0b0828,0 0 0 9px #d4af37,0 16px 28px #000b,inset 0 8px 12px #ffffff44,inset 0 -12px 14px #090622!important;transition:transform .12s ease,filter .12s ease!important}.spin-button:before{content:''!important;position:absolute!important;inset:12px!important;border:2px solid #fef3c7!important;border-radius:50%!important;box-shadow:0 0 16px #d4af3788!important}.spin-button:active{transform:scale(.92)!important;filter:brightness(1.25)!important}.spin-ring{inset:20px!important;border-color:#fef3c7aa!important}
