:root{--gold:#ffd75f;--deep:#7b370a;--jade:#19bd84;--teal:#073f36;--purple:#5d23c8;--coral:#e95734;--app-height:100dvh}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#041d1a;color:#fff;font-family:Trebuchet MS,Arial,sans-serif;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}.game{position:relative;width:100%;height:var(--app-height);min-height:560px;overflow:hidden;display:grid;grid-template-rows:31% minmax(0,1fr) 22%;isolation:isolate}.scene{position:absolute;inset:0;z-index:-2;background:url('assets/aztec-jungle-v2.webp') center/cover no-repeat}.scene:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 0 26%,rgba(2,34,28,.16) 40%,rgba(2,18,16,.32) 100%)}.hero{position:relative;display:grid;grid-template-columns:54px 1fr 54px;align-items:start;padding:max(8px,env(safe-area-inset-top)) 14px 0}.brand{text-align:center;filter:drop-shadow(0 3px 0 #391b0a) drop-shadow(0 0 10px rgba(255,218,75,.7));line-height:.82}.brand small{display:block;font-weight:900;font-size:clamp(10px,3vw,15px);letter-spacing:.35em;margin-right:-.35em;color:#8dffda;-webkit-text-stroke:1px #0c4436}.brand h1{margin:0;font-family:Impact,Haettenschweiler,Arial Black,sans-serif;font-size:clamp(46px,15vw,68px);letter-spacing:.07em;background:linear-gradient(#fff0a3,#ffbf35 38%,#ef6236 70%,#ffd261);-webkit-background-clip:text;color:transparent;-webkit-text-stroke:2px #63250e}.round{border:3px solid #f8d25b;background:radial-gradient(circle at 34% 28%,#64f4c0,#10a874 55%,#075340 78%);box-shadow:inset 0 0 0 3px #8e480d,inset 0 7px 9px rgba(255,255,255,.22),0 5px 0 #542507,0 8px 13px rgba(0,0,0,.55);text-shadow:0 2px 2px #073026;position:relative;transition:transform .12s,filter .12s}.round:after{content:"";position:absolute;inset:4px;border-radius:inherit;border:1px solid rgba(255,246,176,.45);pointer-events:none}.round:active{transform:translateY(4px) scale(.96);box-shadow:inset 0 0 0 3px #8e480d,inset 0 6px 10px rgba(0,0,0,.3),0 1px 0 #542507}.icon{width:43px;height:43px;border-radius:50%;font-size:24px;font-weight:900;z-index:4}.gameplay{position:relative;display:flex;flex-direction:column;justify-content:flex-start;padding:0 7px;min-height:0}.multipliers{display:flex;justify-content:center;gap:9px;margin-top:-2px;margin-bottom:5px;position:relative;z-index:3}.multipliers b{width:62px;height:47px;display:grid;place-items:center;border:3px solid #ffd770;border-radius:12px;background:linear-gradient(145deg,#f7903d,#be4f1d 60%,#733013);box-shadow:inset 0 0 0 3px #9d4a13,inset 0 7px 8px rgba(255,255,255,.22),0 4px 0 #512205,0 6px 10px #08231d;font-size:22px;color:#4f2109;text-shadow:0 1px #ffd684;transition:.2s}.multipliers b.active{filter:brightness(1.24);transform:translateY(-2px) scale(1.05);box-shadow:inset 0 0 0 3px #9d4a13,0 4px 0 #512205,0 0 18px #ffe175}.board{position:relative;width:100%;max-width:720px;margin:0 auto;border:5px solid #ffd85c;border-radius:17px;padding:11px;background:linear-gradient(145deg,#057253,#033d35);box-shadow:inset 0 0 0 3px #8e4e0e,inset 0 0 0 7px #0ba779,0 7px 0 #482306,0 10px 22px rgba(0,0,0,.62)}.board:before,.board:after{content:"";position:absolute;inset:4px;border:2px solid rgba(255,233,122,.5);border-radius:10px;pointer-events:none}.board:after{inset:-2px;background:linear-gradient(135deg,rgba(255,255,255,.2),transparent 20% 80%,rgba(255,255,255,.12));border:0}.gem{position:absolute;width:21px;height:21px;border-radius:50%;z-index:4;background:radial-gradient(circle at 35% 30%,#e2ff79,#36d247 32%,#068a42 70%);border:2px solid #ffd969;box-shadow:0 0 0 2px #86460c,0 0 10px #63ff72}.g1{left:21%;top:-10px}.g2{left:40%;top:-10px}.g3{right:40%;top:-10px}.g4{right:21%;top:-10px}.reels{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:4px;height:clamp(250px,35vh,440px);min-height:0;background:linear-gradient(180deg,#075846,#063d35);border-radius:8px;overflow:hidden}.cell{position:relative;display:grid;place-items:center;min-width:0;min-height:0;border-right:2px solid rgba(255,204,71,.65);background:radial-gradient(circle,rgba(41,171,119,.14),transparent 68%)}.cell:nth-child(5n){border-right:0}.cell img{display:block;width:92%;height:92%;object-fit:contain;filter:drop-shadow(0 3px 2px rgba(0,0,0,.55));will-change:transform,opacity}.cell.drop img{animation:drop .42s cubic-bezier(.2,.8,.25,1) both}.cell.win img{animation:winPulse .45s ease-in-out infinite alternate;filter:drop-shadow(0 0 9px #fff36b) drop-shadow(0 3px 2px #000)}.cell.clear img{animation:clear .28s ease-in forwards}.message{height:28px;display:grid;place-items:center;color:#ffe778;font-size:clamp(9px,2.7vw,13px);font-weight:900;letter-spacing:.05em;text-shadow:0 2px 2px #0a271f}.message.big{font-size:clamp(15px,4.6vw,22px);filter:drop-shadow(0 0 8px #ffd94b)}.hud{position:relative;padding:0 12px max(8px,env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(2,41,34,.08),rgba(1,20,18,.55))}.meters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:2px}.meter{min-width:0;height:48px;border-radius:9px;padding:5px 8px;text-align:center;background:linear-gradient(145deg,#7b43e8,#4d1fb8 70%,#271275);box-shadow:inset 0 2px 6px rgba(255,255,255,.2),0 4px 0 #21105b,0 6px 10px rgba(0,0,0,.42)}.meter span{display:block;color:#dbd0ff;font-size:clamp(7px,2vw,10px);font-weight:800;white-space:nowrap}.meter strong{display:block;margin-top:2px;font-size:clamp(14px,4.2vw,19px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px 2px #21105d}.actions{height:100px;display:grid;grid-template-columns:50px minmax(45px,1fr) 88px minmax(45px,1fr) 50px;align-items:center;gap:8px;max-width:470px;margin:0 auto}.small,.auto{width:50px;height:50px;border-radius:50%;font-size:30px;font-weight:900}.bet-label{text-align:center;min-width:0}.bet-label span{display:block;font-size:8px;color:#aef8d5;letter-spacing:.17em}.bet-label strong{font-size:14px;color:#fff3b4}.spin{justify-self:center;width:88px;height:88px;border-radius:50%;background:radial-gradient(circle at 35% 27%,#b6ffe5 0 5%,#2de0a7 22%,#05a97d 57%,#06604f 76%);border-width:5px;box-shadow:inset 0 0 0 4px #a15312,inset 0 0 0 8px #ffd76a,inset 0 -13px 15px rgba(2,67,51,.5),0 6px 0 #5d2d08,0 10px 17px rgba(0,0,0,.64),0 0 18px rgba(70,255,191,.45)}.spin i{position:absolute;inset:13px;border-radius:50%;border:2px dashed rgba(255,247,178,.73)}.spin span{position:relative;z-index:2;color:#fff3af;font-family:Impact,Arial Black,sans-serif;font-size:20px;letter-spacing:.05em;-webkit-text-stroke:1px #075542}.spin.running{animation:spinPulse .65s ease-in-out infinite alternate}.auto{font-size:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:.8}.auto b{font-size:21px}.auto.active{filter:brightness(1.25);box-shadow:inset 0 0 0 3px #8e480d,0 5px 0 #542507,0 0 18px #72ffbe}.celebration{position:absolute;inset:0;z-index:20;display:grid;place-items:center;pointer-events:none;visibility:hidden;opacity:0;background:radial-gradient(circle,rgba(255,224,94,.24),rgba(0,25,21,.72))}.celebration.show{visibility:visible;opacity:1;animation:screenFlash 2.5s both}.rays{position:absolute;width:150vmax;height:150vmax;background:repeating-conic-gradient(rgba(255,226,84,.35) 0 6deg,transparent 6deg 15deg);mask-image:radial-gradient(circle,#000 0 35%,transparent 67%);animation:rotate 8s linear infinite}.win-card{position:relative;text-align:center;transform:scale(.2);opacity:0}.show .win-card{animation:burst 2.5s ease both}.win-card small{display:block;color:#adffe3;letter-spacing:.25em;font-weight:900}.win-card strong{display:block;font-family:Impact,Arial Black,sans-serif;font-size:clamp(58px,19vw,100px);line-height:.9;color:#ffd960;-webkit-text-stroke:2px #6b2609;filter:drop-shadow(0 6px 0 #6a290a) drop-shadow(0 0 20px #ffd84b)}.win-card b{font-size:clamp(34px,12vw,64px);color:#fff2a0;text-shadow:0 4px 0 #5f2509}dialog{width:min(90vw,520px);border:4px solid #ffd965;border-radius:18px;padding:24px;background:linear-gradient(#075444,#032d28);color:#fff4c8;box-shadow:0 0 40px #000}dialog::backdrop{background:rgba(0,15,13,.78)}dialog h2{color:#ffd65a}#closeInfo{float:right;width:38px;height:38px;border-radius:50%;border:2px solid #ffd65a;background:#8e321d;color:#fff;font-size:24px}
@media(max-width:370px){.game{grid-template-rows:29% minmax(0,1fr) 23%}.hero{grid-template-columns:46px 1fr 46px;padding-inline:10px}.icon{width:39px;height:39px}.brand h1{font-size:46px}.multipliers{gap:6px}.multipliers b{width:55px;height:42px;font-size:19px}.gameplay{padding-inline:5px}.board{padding:9px;border-width:4px}.reels{height:clamp(235px,34vh,355px)}.hud{padding-inline:8px}.meter{padding-inline:4px}.actions{grid-template-columns:46px minmax(38px,1fr) 78px minmax(38px,1fr) 46px;gap:5px;height:91px}.small,.auto{width:46px;height:46px}.spin{width:78px;height:78px}.spin span{font-size:18px}}
@media(max-height:700px) and (orientation:portrait){.game{min-height:0;grid-template-rows:25% minmax(0,1fr) 25%}.brand h1{font-size:clamp(38px,12vw,54px)}.multipliers b{height:38px}.reels{height:clamp(220px,34vh,300px)}.message{height:22px}.meter{height:42px}.actions{height:82px}.spin{width:72px;height:72px}.small,.auto{width:44px;height:44px}}
@media(min-width:700px){.game{width:min(720px,100vw);margin:auto;box-shadow:0 0 50px #000}.reels{height:420px}.scene{background-position:center}}
@keyframes drop{from{transform:translateY(-80%) scale(.7);opacity:0}to{transform:none;opacity:1}}@keyframes winPulse{to{transform:scale(1.08)}}@keyframes clear{to{transform:scale(.15) rotate(22deg);opacity:0}}@keyframes spinPulse{to{transform:scale(1.04);filter:brightness(1.2)}}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes screenFlash{0%{filter:brightness(2)}10%,100%{filter:brightness(1)}}@keyframes burst{0%{transform:scale(.2);opacity:0}15%{transform:scale(1.12);opacity:1}25%,78%{transform:scale(1);opacity:1}100%{transform:scale(1.35);opacity:0}}

/* v2 identity and HUD: LAPDEE88 is the primary brand, AZTEC the subtitle. */
.brand{line-height:.92;transform:translateY(2px)}
.brand small{font-family:Impact,Haettenschweiler,"Arial Black",sans-serif;font-size:clamp(34px,9.2vw,46px);line-height:.82;letter-spacing:.06em;margin-right:-.06em;color:#ffe36d;-webkit-text-stroke:1.5px #64260d;text-shadow:0 3px 0 #9b3d16,0 0 10px #ffdf55}
.brand h1{font-size:clamp(24px,6.5vw,34px);line-height:.92;letter-spacing:.16em;margin-top:3px}
.hud{padding-top:12px}
.meters{gap:8px;margin-top:8px}
.meter{height:51px;border:2px solid #d7ad47;padding:5px 8px;background:linear-gradient(145deg,rgba(13,103,82,.96),rgba(5,62,53,.98) 62%,rgba(3,38,34,.98));box-shadow:inset 0 0 0 2px rgba(255,224,112,.18),inset 0 7px 9px rgba(84,255,194,.12),0 4px 0 #392006,0 7px 12px rgba(0,0,0,.48)}
.meter span{color:#bdf6dd}
.meter strong{color:#fff0a8;text-shadow:0 2px 2px #032b25}
.message{margin-bottom:8px}
.actions{height:88px}
@media(max-width:370px){.brand small{font-size:32px}.brand h1{font-size:24px}.hud{padding-top:10px}.meters{margin-top:6px}.actions{height:82px}}
@media(max-height:700px) and (orientation:portrait){.brand small{font-size:30px}.brand h1{font-size:22px}.hud{padding-top:8px}.message{margin-bottom:6px}.meters{margin-top:4px}.meter{height:43px}.actions{height:73px}}

/* v4: status copy removed; controls live in a dedicated row below all meters. */
.message{display:none!important}
.hud{display:flex;flex-direction:column;justify-content:flex-start}
.meters{flex:0 0 auto;margin-top:0}
.actions{flex:0 0 auto;margin-top:16px}
@media(max-width:370px){.actions{margin-top:12px}}
@media(max-height:700px) and (orientation:portrait){.actions{margin-top:10px}}

/* v5 Aztec temple big-win celebration. */
.celebration{position:absolute;inset:0;z-index:40;display:grid;place-items:center;overflow:hidden;pointer-events:none;visibility:hidden;opacity:0;background:radial-gradient(circle at 50% 45%,rgba(51,194,139,.22),rgba(2,36,31,.76) 46%,rgba(1,15,13,.94) 100%);transition:opacity .12s linear}
.celebration.show{visibility:visible;opacity:1;animation:aztecFlash 2.5s both}
.sun-rays{position:absolute;width:150vmax;height:150vmax;background:repeating-conic-gradient(from 8deg,rgba(255,222,86,.36) 0 4deg,transparent 4deg 12deg,rgba(53,224,163,.19) 12deg 15deg,transparent 15deg 23deg);mask-image:radial-gradient(circle,#000 0 30%,transparent 66%);animation:sunTurn 8s linear infinite}
.aztec-disc{position:absolute;width:min(88vw,470px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:repeating-conic-gradient(from 0deg,#d69a26 0 5deg,#754114 5deg 9deg,#18a87e 9deg 13deg,#063f36 13deg 18deg);border:10px solid #f5c94d;box-shadow:inset 0 0 0 7px #78420e,inset 0 0 0 15px #0b7259,inset 0 0 45px #001b17,0 0 0 5px #51290a,0 0 46px rgba(255,211,62,.72);opacity:0;transform:scale(.35) rotate(-24deg)}
.aztec-disc:before,.aztec-disc:after{content:"";position:absolute;border-radius:50%;inset:12%;border:8px dashed #ffd963;box-shadow:0 0 0 5px #075743,inset 0 0 0 5px #7e4310}
.aztec-disc:after{inset:27%;border:6px solid #e96436;background:radial-gradient(circle,#ffdf66 0 12%,#d85d2f 13% 28%,#075b4b 29% 54%,#012c27 55%);clip-path:polygon(50% 0,61% 28%,85% 15%,72% 39%,100% 50%,72% 61%,85% 85%,61% 72%,50% 100%,39% 72%,15% 85%,28% 61%,0 50%,28% 39%,15% 15%,39% 28%)}
.aztec-disc span{position:absolute;inset:20%;border:4px dotted #b8f1d5;border-radius:50%}
.aztec-disc>b{position:relative;z-index:2;font-style:normal;font-size:clamp(54px,18vw,96px);color:#ffe170;text-shadow:0 5px 0 #833c0d,0 0 18px #ffcf38}
.show .aztec-disc{animation:discAwaken 2.5s cubic-bezier(.22,1,.36,1) both}
.win-card{position:relative;z-index:4;width:min(92vw,520px);min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px 24px 30px;text-align:center;background:linear-gradient(145deg,rgba(8,93,74,.96),rgba(2,43,38,.98) 58%,rgba(1,26,24,.98));border:5px solid #f2c64f;clip-path:polygon(8% 0,92% 0,100% 15%,96% 50%,100% 85%,92% 100%,8% 100%,0 85%,4% 50%,0 15%);box-shadow:inset 0 0 0 5px #74400e,inset 0 0 0 10px rgba(45,201,148,.35),0 10px 0 #452207,0 18px 34px rgba(0,0,0,.72),0 0 28px rgba(255,208,59,.5);opacity:0;transform:translateY(36px) scale(.72)}
.win-card:before,.win-card:after{content:"";position:absolute;inset:13px 19px;border-block:3px solid rgba(255,224,104,.55);pointer-events:none}.win-card:after{inset:23px 29px;border-block-color:rgba(85,244,190,.34)}
.show .win-card{animation:templePlaque 2.5s cubic-bezier(.22,1,.36,1) both}
.win-card small{position:relative;z-index:3;color:#9ff3d0;font-size:clamp(8px,2.7vw,13px);font-weight:900;letter-spacing:.17em;text-shadow:0 2px 2px #032b24}
.win-card strong{position:relative;z-index:3;display:block;margin:7px 0 0;font-family:Impact,Haettenschweiler,"Arial Black",sans-serif;font-size:clamp(64px,20vw,112px);line-height:.82;letter-spacing:.045em;background:linear-gradient(#fff0a0 0 18%,#ffd34c 33%,#ef6b34 68%,#ffd75d 88%);-webkit-background-clip:text;color:transparent;-webkit-text-stroke:2px #702a0a;filter:drop-shadow(0 6px 0 #6b2d0a) drop-shadow(0 0 15px #ffc739)}
.win-card>b{position:relative;z-index:3;display:block;margin-top:11px;color:#fff3aa;font-size:clamp(34px,11vw,62px);line-height:1;text-shadow:0 4px 0 #6b2d0b,0 0 13px #ffd34a}
.win-card em{position:relative;z-index:3;margin-top:8px;color:#5ee3b0;font-size:clamp(8px,2.4vw,12px);font-style:normal;font-weight:900;letter-spacing:.24em}
.feathers{position:absolute;top:-37px;display:flex;gap:2px;z-index:2}.feathers.left{left:13px;transform:rotate(-23deg)}.feathers.right{right:13px;transform:scaleX(-1) rotate(-23deg)}.feathers i{display:block;width:17px;height:74px;border-radius:80% 8% 80% 8%;transform-origin:50% 100%;background:linear-gradient(90deg,#0e765f,#5ae2af 42%,#ffdb59 44% 57%,#e86137 59% 76%,#76260f);border:2px solid #71370e;box-shadow:0 0 7px rgba(255,216,67,.44)}.feathers i:nth-child(1){transform:rotate(-18deg) scale(.82)}.feathers i:nth-child(3){transform:rotate(18deg) scale(.82)}
.glyph-rain{position:absolute;inset:0;z-index:3}.glyph-rain i{position:absolute;top:-10%;color:#ffd95b;font-style:normal;font-size:24px;text-shadow:0 0 7px #5cf5b8;opacity:0}.glyph-rain i:nth-child(1){left:8%;animation-delay:.05s}.glyph-rain i:nth-child(2){left:19%;animation-delay:.32s}.glyph-rain i:nth-child(3){left:31%;animation-delay:.18s}.glyph-rain i:nth-child(4){left:45%;animation-delay:.47s}.glyph-rain i:nth-child(5){left:59%;animation-delay:.12s}.glyph-rain i:nth-child(6){left:72%;animation-delay:.37s}.glyph-rain i:nth-child(7){left:84%;animation-delay:.23s}.glyph-rain i:nth-child(8){left:93%;animation-delay:.54s}.show .glyph-rain i{animation:glyphFall 1.5s linear infinite}
@keyframes aztecFlash{0%{filter:brightness(2.3)}8%{filter:brightness(1)}15%{filter:brightness(1.55)}24%,100%{filter:brightness(1)}}
@keyframes sunTurn{to{transform:rotate(360deg)}}
@keyframes discAwaken{0%{opacity:0;transform:scale(.35) rotate(-24deg)}14%{opacity:1;transform:scale(1.08) rotate(5deg)}24%,82%{opacity:.88;transform:scale(1) rotate(0)}100%{opacity:0;transform:scale(1.2) rotate(10deg)}}
@keyframes templePlaque{0%{opacity:0;transform:translateY(36px) scale(.72)}14%{opacity:1;transform:translateY(-7px) scale(1.06)}24%,80%{opacity:1;transform:none}91%{opacity:1;transform:scale(1.035)}100%{opacity:0;transform:translateY(-18px) scale(1.12)}}
@keyframes glyphFall{0%{opacity:0;transform:translateY(-10vh) rotate(0) scale(.55)}14%{opacity:1}100%{opacity:0;transform:translateY(115vh) rotate(280deg) scale(1.1)}}
@media(max-width:370px){.win-card{min-height:205px;padding-inline:20px}.feathers{top:-31px}.feathers i{width:14px;height:62px}.aztec-disc{width:94vw}}
@media(prefers-reduced-motion:reduce){.celebration.show,.show .aztec-disc,.show .win-card,.show .glyph-rain i,.sun-rays{animation:none!important}.celebration.show{visibility:visible;opacity:1}.show .aztec-disc{opacity:.86;transform:none}.show .win-card{opacity:1;transform:none}.glyph-rain{display:none}}
/* Remove pseudo-elements inherited from the previous generic win card. */
.celebration:before,.celebration:after{content:none!important}

