@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@700;800;900&family=Nunito+Sans:wght@500;600;700;800;900&display=swap');
:root{font-family:'Nunito Sans',Arial,sans-serif;color:#ffedbd;background:#11271f;color-scheme:dark;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100svh;display:flex;align-items:center;justify-content:center;overflow:hidden}.backdrop{position:fixed;inset:-30px;background:linear-gradient(#14291b33,#071e18b0),url('assets/stadium-v2.png') center/cover;filter:blur(13px);transform:scale(1.08)}button{font:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation;cursor:pointer;border:0;color:inherit}button:focus-visible{outline:3px solid #fff4af;outline-offset:3px}button:disabled{cursor:default;opacity:.55}svg{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.game{width:min(100vw,56.25dvh);height:100dvh;max-width:540px;max-height:960px;position:relative;isolation:isolate;overflow:hidden;container-type:size;background:#3f5740;box-shadow:0 0 90px #061c17c0;user-select:none}.scenery{position:absolute;inset:0;background:url('assets/stadium-v2.png') center top/cover;z-index:-3}.scenery:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#042b23 0%,#12382b00 40%,#bd630b00 80%,#082620aa)}.ambient{position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 50% 28%,#ffd88766,transparent 56%)}.topbar{position:absolute;top:max(1.2cqh,env(safe-area-inset-top));left:4%;right:4%;height:4.8cqh;display:flex;justify-content:space-between;align-items:center;z-index:8}.topbar>span{font-size:10px;font-weight:900;letter-spacing:2px;text-shadow:0 1px 5px #183820}.small-button{width:34px;height:34px;border-radius:50%;background:#11352c80;border:1px solid #fbe5a330;display:grid;place-items:center;backdrop-filter:blur(6px)}.small-button svg{width:18px;height:18px}.hero{position:absolute;top:4.8%;height:26.5%;left:0;right:0;z-index:2;pointer-events:none}.sun-aura{position:absolute;width:72%;height:150%;top:-16%;left:26%;background:radial-gradient(ellipse,#ffe18aa0,transparent 64%)}.wordmark{position:absolute;left:5%;top:24%;width:43%;z-index:4;transform:rotate(-6deg);text-align:center;font-family:'Cinzel',Georgia,serif;font-weight:900;filter:drop-shadow(0 5px 1px #45330c) drop-shadow(0 0 9px #ffe97650)}.wordmark>span,.wordmark>strong{display:block;line-height:.92;background:linear-gradient(#fff4cc 10%,#ffea98 35%,#db8f20 55%,#ffe6a3 79%,#ffffd8);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-stroke:.6px #aa631c}.wordmark>span{font-size:10.3cqw;letter-spacing:-.7cqw}.wordmark>strong{font-size:13.5cqw;letter-spacing:-.9cqw}.wordmark>small{display:block;font-family:'Nunito Sans',sans-serif;font-size:1.9cqw;letter-spacing:.45cqw;color:#fff3cd;margin-top:9px;text-shadow:0 2px 2px #533609}.mascot{position:absolute;right:-9%;width:77%;height:129%;top:-1%;transform-origin:50% 95%;animation:breathe 4.5s ease-in-out infinite;filter:drop-shadow(0 5px 3px #4a3c2960)}.mascot-art{position:absolute;inset:0;background-image:url('assets/stadium-v2.png');background-size:200% 100%;background-repeat:no-repeat}.mascot-art.idle{background-position:left center}.mascot-art.happy{background-position:right center;opacity:0}.mascot.cheering .idle{opacity:0}.mascot.cheering .happy{opacity:1}.mascot.cheering{animation:cheer .65s ease-in-out 3}@keyframes breathe{50%{transform:translateY(-1.5%) rotate(1deg)}}@keyframes cheer{50%{transform:translateY(-4%) rotate(-2deg)}}
.cabinet{position:absolute;left:3.7%;right:3.7%;top:29%;height:40%;z-index:3}.cabinet-crown{position:absolute;left:0;right:0;top:-2.2cqh;display:flex;justify-content:center;align-items:center;gap:5px;height:3.8cqh;z-index:5;filter:drop-shadow(0 2px 2px #493415)}.cabinet-crown i{height:1.7cqh;width:43%;background:linear-gradient(#fff1aa,#b17b27 45%,#edca71 80%,#fff4b9);border:1px solid #b47829;transform:skewY(-2deg);border-radius:90% 30% 15% 20%}.cabinet-crown i:last-child{transform:skewY(2deg)}.cabinet-crown span{font-size:9cqw;color:#40c7a5;line-height:1;-webkit-text-stroke:2px #ffdb78;text-shadow:0 3px 2px #6d4c17}.frame{height:100%;position:relative;padding:2.3cqw;border:1px solid #fff0a2;border-radius:3cqw;background:linear-gradient(90deg,#6e4115,#f6d480 2%,#966220 3%,#ffeb9e 5%,#b48132 8%,#f4d993 12%,#946225 25%,#e2b64f 50%,#f9e09a 85%,#845320 94%,#ffec9c 98%,#603913);box-shadow:0 5px 0 #704620,0 9px 12px #39291599,inset 0 0 0 3px #7a4a1e,inset 0 0 0 5px #f1d18a}.frame:before,.frame:after{content:'';position:absolute;top:2%;bottom:2%;width:1.2cqw;background:linear-gradient(90deg,#956322,#ffe9a4,#a37225);z-index:4;pointer-events:none}.frame:before{left:.5cqw}.frame:after{right:.5cqw}.reel-window{display:grid;grid-template-columns:repeat(3,1fr);height:100%;overflow:hidden;border:1.5px solid #996522;border-radius:1.4cqw;background:#f4e5a9;box-shadow:inset 0 0 15px #73502290;gap:2px;position:relative}.reel{position:relative;overflow:hidden;background:linear-gradient(90deg,#e5cb85,#fff4c8 20%,#fff5d6 48%,#f6e8b9 80%,#d7bc7c);box-shadow:1px 0 0 #e2b649,3px 0 0 #775123}.reel-strip{height:100%;will-change:transform;position:absolute;inset:0;top:auto;bottom:0;display:flex;flex-direction:column}.cell{flex:none;height:33.333333%;width:100%;display:grid;place-items:center;position:relative}.symbol{display:block;width:113%;height:107%;background-image:url('assets/stadium-v2.png');background-repeat:no-repeat;background-size:300% 200%;filter:drop-shadow(0 4px 2px #7756243a);position:relative;z-index:1}.s0{background-position:0 0}.s1{background-position:50% 0}.s2{background-position:100% 0}.s3{background-position:0 100%}.s4{background-position:50% 100%}.s5{background-position:100% 100%}.cell:after{content:'';position:absolute;inset:2%;border:2px solid #ffc94c;border-radius:13%;box-shadow:0 0 16px #ffbf27,inset 0 0 19px #ffb42c;opacity:0}.cell.winner:after{opacity:1;animation:lineGlow .8s ease-in-out infinite alternate}.cell.winner .symbol{animation:symbolWin .9s ease-in-out infinite}.cell.dim .symbol{filter:brightness(.46) saturate(.65)}.reel.moving .symbol{filter:blur(1.6px) drop-shadow(0 10px 0 #d9a64315)}.reel-shade{position:absolute;inset:2.3cqw;pointer-events:none;z-index:3;border-radius:1cqw;background:linear-gradient(#5b351926,transparent 10%,transparent 90%,#70462333)}.paylines{position:absolute;inset:2.3cqw;width:calc(100% - 4.6cqw);height:calc(100% - 4.6cqw);z-index:5;overflow:visible;pointer-events:none}.paylines path{stroke:#fff4a1;stroke-width:2;filter:drop-shadow(0 0 4px #ffaf1b);stroke-dasharray:430;animation:traceLine .65s ease-out both}.gold-flash{position:absolute;inset:0;pointer-events:none;box-shadow:0 0 28px #ffcc4a,inset 0 0 28px #ffcc4a;border-radius:3cqw;opacity:0}.game.won .gold-flash{animation:lineGlow 1s infinite alternate}.frame-foot{position:absolute;bottom:-1cqh;left:0;right:0;height:1.2cqh;border-radius:50%;background:linear-gradient(#fff0ab,#c38c36,#52340c);box-shadow:0 3px 4px #25361f}.line-label{position:absolute;color:#fde79a;font-family:Georgia,serif;font-style:italic;font-weight:700;font-size:4cqw;text-shadow:0 2px 2px #312c16;z-index:5}.l1{left:-2.4%;top:14%}.l2{left:-2.4%;top:46%}.l3{left:-2.4%;top:78%}.l4{right:-2.4%;top:14%}.l5{right:-2.4%;top:78%}
.message-plaque{position:absolute;top:70.2%;left:3.5%;right:3.5%;height:6.2%;display:flex;align-items:center;justify-content:center;padding:0 12px;border:2px solid #e9bc63;border-radius:5px 5px 16px 16px;background:linear-gradient(#2c7050,#0a4235 50%,#0e5c44);box-shadow:inset 0 0 0 2px #685122,inset 0 0 0 4px #ddba64,0 4px 5px #12372899;z-index:4}.message{text-align:center;font-weight:900;font-size:3.3cqw;text-shadow:0 2px 1px #033c2b;line-height:1.15}.message strong{font-family:'Cinzel',Georgia,serif;font-size:6.7cqw;color:#fff2ac;line-height:1}.message small{display:block;letter-spacing:.7px;font-size:2.2cqw;margin-top:3px;font-weight:800;color:#cae3c4}.message-plaque.active{background:linear-gradient(#7bbd51,#268950,#074a32);box-shadow:inset 0 0 0 2px #684b18,inset 0 0 0 4px #fff3af,0 0 22px #ffe98b80}.dashboard{position:absolute;top:77.5%;height:22.5%;left:0;right:0;padding:1.2cqh 4% max(.8cqh,env(safe-area-inset-bottom));background:linear-gradient(#306447,#124533 18%,#103e2e 73%,#092c22);border-top:3px solid #d8af60;box-shadow:0 -3px 0 #74491c,inset 0 3px 2px #fff0ad50}.dashboard:before{content:'';position:absolute;inset:3px 2% 24%;border:1px solid #d9af6638;border-radius:0 0 45% 45%;pointer-events:none}.meters{display:grid;grid-template-columns:1.25fr .85fr 1.05fr;gap:5px;position:relative;z-index:1}.meters>div,.bet-meter{background:#082f26a0;padding:5px 2px;text-align:center;border-radius:50px;box-shadow:inset 0 1px 5px #03231960;border:1px solid #c9a35a38}.meters span{display:block;color:#b9c89b;font-size:2.15cqw;font-weight:800;letter-spacing:.65px}.meters strong{display:block;color:#ffe1a0;font-size:3.5cqw;font-weight:900;font-variant-numeric:tabular-nums;line-height:1.15}.last-return strong{color:#e6f2c2}.play-controls{height:65%;display:flex;justify-content:space-between;align-items:center;position:relative;gap:4px;padding:0 1%}.utility{width:9cqw;height:9cqw;display:grid;place-items:center;background:#082f2560;border:1px solid #d9bf732b;border-radius:50%;color:#e9d39b}.utility svg{width:5cqw;height:5cqw}.adjust{width:11cqw;height:11cqw;border-radius:50%;background:linear-gradient(#346647,#17422f);border:1px solid #b3915044;color:#ffedbe;font-size:7cqw;font-weight:700;line-height:.8;box-shadow:0 3px 0 #082f22,0 4px 0 #ab894f50}.spin{flex:none;width:25cqw;height:25cqw;max-height:13cqh;max-width:13cqh;border-radius:50%;background:conic-gradient(from 20deg,#886021,#ffe59a,#ad782b,#ffecb3,#c4923f,#74521e,#ffe6a1,#886021);border:1px solid #fff0ac;padding:5px;box-shadow:0 5px 0 #634419,0 7px 1px #09291f,0 0 18px #f5cd4c40;position:relative;transition:transform .12s}.spin:before{content:'';position:absolute;inset:-8%;border:1px solid #e8c76b60;border-radius:50%;pointer-events:none}.spin:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 #634419}.spin-inner{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:radial-gradient(ellipse at 36% 20%,#b4f2a4,#48bd73 35%,#13895d 62%,#064f36);border:2px solid #d3b255;box-shadow:inset 0 2px 3px #ebffaf,inset 0 -4px 7px #002d23}.spin svg{width:65%;height:65%;stroke:#fff5b5;stroke-width:5;filter:drop-shadow(0 2px 1px #4d7725)}.spin .arrow{fill:#fff5b5;stroke-width:3}.spin-label{position:absolute;left:0;right:0;bottom:12%;font-size:2.2cqw;font-weight:900;color:#ffedb4;text-shadow:0 1px 2px #20482a;letter-spacing:1px}.game.spinning .spin svg{animation:spinIcon .7s linear infinite}.spin:disabled{opacity:.85}footer{position:absolute;left:0;right:0;bottom:max(.7cqh,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:2px;color:#a9b88e;font-size:1.9cqw;letter-spacing:.65px;font-weight:800}footer span:first-child{color:#e7ce91;font-size:2.1cqw}#particles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:9}.celebration{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:10;pointer-events:none;opacity:0;background:radial-gradient(ellipse,#073b26aa,#073b2600 70%);transform:scale(.7);transition:opacity .2s,transform .45s cubic-bezier(.16,1,.3,1);text-align:center}.celebration.show{opacity:1;transform:scale(1)}.celebration-kicker{font-size:3cqw;letter-spacing:.6cqw;font-weight:900;color:#fff2b2}.celebration>strong{font-family:'Cinzel',Georgia,serif;font-size:15cqw;font-weight:900;line-height:1.15;color:#ffe3a0;-webkit-text-stroke:1px #99601d;text-shadow:0 4px 0 #6e4214,0 7px 0 #49320e,0 0 40px #ffc947}.celebration>b{font-size:17cqw;font-weight:900;letter-spacing:-1px;color:#ffefb4;text-shadow:0 4px 0 #78501e,0 0 20px #e8b837;font-variant-numeric:tabular-nums}
.loader{position:absolute;inset:0;z-index:20;background:radial-gradient(ellipse at 50% 30%,#648146,#123c2c 70%);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .4s}.loader.ready{opacity:0;pointer-events:none}.loader-brand{font-family:'Cinzel',Georgia,serif;text-align:center;font-size:12cqw;line-height:.95;color:#ffe7a1;text-shadow:0 3px 0 #896123}.loader-brand strong{font-size:17cqw}.loading-track{height:5px;width:45%;background:#062e23;border-radius:3px;margin-top:8cqh;overflow:hidden}.loading-track i{display:block;height:100%;width:40%;background:#e5c579;animation:load 1.2s ease-in-out infinite}.loader p{font-size:13px;color:#d0dcba}.loader button{background:#eac66b;color:#153b2b;padding:10px 20px;border-radius:20px}
dialog{width:min(420px,calc(100vw - 28px));max-height:85dvh;overflow:auto;border:2px solid #c79f4f;border-radius:20px;padding:22px;background:linear-gradient(#23523b,#0b3328);color:#e8e5c6;box-shadow:0 12px 70px #0008;user-select:text}dialog::backdrop{background:#001c19b8;backdrop-filter:blur(7px)}.panel-top{display:flex;align-items:center;justify-content:space-between}.panel-eyebrow{font-size:11px;letter-spacing:3px;color:#ddc17b;font-weight:900}.panel-top .small-button{font-size:25px}h2{font-family:'Cinzel',Georgia,serif;color:#f7dfa1;font-size:25px;margin:20px 0 14px}dialog p{font-size:14px;line-height:1.6;color:#c7d5bd}.menu-action{width:100%;padding:16px;text-align:left;background:#102e224d;border:1px solid #d8bb7340;border-radius:12px;margin:5px 0;font-size:16px}.menu-action small{display:block;color:#acbea1;font-size:12px;margin-top:3px}.payrow{display:flex;align-items:center;gap:14px;border-bottom:1px solid #d8bb7330;padding:4px}.payrow .symbol{width:65px;height:65px;flex:none}.payrow b{margin-left:auto;color:#f3d786}.payrow span{font-size:14px}.amounts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.amounts button{padding:16px 8px;background:#1b593e;border:1px solid #a5b17655;border-radius:12px;font-size:17px}.amounts button.selected{background:#e3bd65;color:#183d2b}.history-row{display:flex;justify-content:space-between;border-bottom:1px solid #fff1;padding:11px 0;font-size:14px}.history-row b{color:#e6cd80}.lines-diagram{width:100%;height:80px;display:flex;justify-content:space-around;align-items:center}.lines-diagram svg{width:50px;height:50px;border:1px solid #acbc8955;border-radius:4px;stroke:#f4d88b}.note{font-size:12px!important;color:#b4c7a8!important}@keyframes symbolWin{50%{transform:scale(1.055) translateY(-2px)}}@keyframes lineGlow{from{opacity:.5}to{opacity:1}}@keyframes traceLine{from{stroke-dashoffset:430}to{stroke-dashoffset:0}}@keyframes spinIcon{to{transform:rotate(360deg)}}@keyframes load{50%{transform:translateX(160%)}}@media(min-width:700px){.game{border-left:1px solid #ffe3a033;border-right:1px solid #ffe3a033}}@media(max-aspect-ratio:9/18){.hero{top:6%;height:25%}.cabinet{top:30%;height:37%}.message-plaque{top:68.4%;height:6%}.dashboard{top:75.5%;height:24.5%}.mascot{top:6%;height:124%}.wordmark{top:30%}.play-controls{height:65%}.spin{max-height:14cqh;max-width:14cqh}}@media(prefers-reduced-motion:reduce){.mascot,.cell.winner .symbol,.cell.winner:after,.game.won .gold-flash{animation:none!important}.celebration{transition:opacity .1s;transform:none}.paylines path{animation:none}}@media(max-height:560px) and (orientation:landscape){body{overflow:auto}.game{height:760px;min-height:760px;width:427px;max-width:100vw}.topbar{top:10px}}
/* Keep the generated artwork's original proportions. */
.mascot{width:63%;height:auto;aspect-ratio:3/4;right:-1%;top:0}
.symbol{width:74%;height:auto;aspect-ratio:2/3}
.payrow .symbol{width:48px;height:72px}
@media(max-aspect-ratio:9/18){.mascot{top:4%;height:auto}}
.cell{display:flex;align-items:center;justify-content:center;min-height:0}
.cell .symbol{width:70%;flex:none}
.hero{overflow:hidden}
.loader[hidden]{display:none}
.meters strong{font-size:max(14px,3.5cqw)}
.utility{min-width:44px;min-height:44px}
.adjust{min-width:44px;min-height:44px}
.topbar .small-button{width:40px;height:40px}
/* Bright arcade art direction */

:root{background:#4a1268;color:#fff6bb}
.backdrop{background:linear-gradient(#29104411,#560b7044),url('assets/stadium-v2.png') center/cover;filter:blur(9px) saturate(1.35)}
.game{background:#64d8e8;box-shadow:0 0 90px #2b0e5955}
.scenery{background-image:url('assets/stadium-v2.png')}
.scenery:after{background:linear-gradient(0deg,#771d88 0%,transparent 42%,transparent 90%,#12328a33)}
.ambient{background:radial-gradient(ellipse at 50% 24%,#fff67e77,transparent 56%)}
.topbar>span{color:#fffbd8;background:#54167e88;border:1px solid #ffde7977;padding:5px 12px;border-radius:20px;text-shadow:0 2px 1px #562071;letter-spacing:1.5px}
.small-button{background:linear-gradient(#ab3eb9,#62218d);border:2px solid #ffdc7b;box-shadow:0 3px 0 #541075,inset 0 2px 1px #ef95e5;color:#fff4b4}
.hero{top:4%;height:28%;overflow:hidden}
.wordmark{left:0%;top:17%;width:51%;height:71%;transform:rotate(-7deg);filter:drop-shadow(0 4px 1px #61206a77);animation:titleFloat 5s ease-in-out infinite}
.wordmark img{width:100%;height:100%;object-fit:contain}
.wordmark>small{display:none}
.mascot{background:none;width:67%;right:-5%;top:-2%;filter:drop-shadow(0 5px 2px #71462944) saturate(1.2)}
.mascot-art{background-image:url('assets/stadium-v2.png')}
.sun-aura{background:radial-gradient(ellipse,#fff57599,transparent 64%)}
.cabinet{left:3%;right:3%;top:29%;height:40.5%}
.cabinet-crown i{height:2cqh;background:linear-gradient(#ffffbd,#ffdc3b 35%,#e48c0f 48%,#ffe168 75%,#fff6a3);border:2px solid #ad530b;box-shadow:0 3px 0 #ab5012,inset 0 2px 0 #fffad2}
.cabinet-crown span{color:#27e7d0;-webkit-text-stroke:2px #fff29a;text-shadow:0 3px 0 #af610c,0 0 12px #49fff1}
.frame{padding:2.7cqw;background:linear-gradient(90deg,#a83218,#ffd53d 2%,#fba916 6%,#ffff9e 8%,#ed7714 10%,#fbd14e 18%,#ed9b17 35%,#ffeb72 60%,#ffe483 90%,#f58c15 94%,#fff4a0 97%,#be4a17);border:2px solid #fff4a1;box-shadow:0 5px 0 #9a341d,0 8px 0 #741269,0 12px 16px #62215855,inset 0 0 0 3px #bf581b,inset 0 0 0 5px #ffe87a;border-radius:4cqw}
.frame:before,.frame:after{width:1.8cqw;background:linear-gradient(90deg,#ce4b24,#ff9152,#e74836,#b92532);border-left:1px solid #ffce6c;border-right:1px solid #ffe487;top:4%;bottom:4%;border-radius:20px}
.frame:before{left:.7cqw}.frame:after{right:.7cqw}
.reel-window{border:2px solid #c77b15;background:#f7b23d;border-radius:2cqw;gap:3px}
.reel{background:linear-gradient(90deg,#ffe099,#fff8d4 18%,#fffde8 48%,#fff5cc 80%,#ffe29b);box-shadow:2px 0 0 #ffcc40,3px 0 0 #c97b20}
.reel-shade{inset:2.7cqw;background:linear-gradient(#e1851930,transparent 9%,transparent 90%,#e18e2222)}
.symbol{filter:drop-shadow(0 4px 1px #b5651433) saturate(1.22) brightness(1.08)}
.cell.dim .symbol{filter:brightness(.62) saturate(.82)}
.cell.winner:after{border:3px solid #fff572;box-shadow:0 0 16px #ffc528,inset 0 0 22px #ffe83a;inset:1%;border-radius:14%}
.cell.winner .symbol{filter:drop-shadow(0 0 7px #ffe94a) saturate(1.3) brightness(1.1);animation:symbolPop 1s ease-in-out infinite}
.paylines{inset:2.7cqw;width:calc(100% - 5.4cqw);height:calc(100% - 5.4cqw)}
.paylines path{stroke:#fff9ac;stroke-width:2.8;filter:drop-shadow(0 0 3px #ff941b) drop-shadow(0 0 7px #ffff74)}
.frame-foot{background:linear-gradient(#ffffa7,#ffcb28,#d46013);height:1.4cqh;box-shadow:0 3px 0 #a42b41}
.line-label{color:#fff799;text-shadow:0 2px 1px #ae4012;font-size:4.4cqw}
.message-plaque{top:70.4%;height:6.3%;left:3%;right:3%;background:linear-gradient(#ff8bca,#e4309d 35%,#a9117d 55%,#e845b0);border:2px solid #fff491;box-shadow:inset 0 0 0 2px #b85410,inset 0 0 0 4px #ffd953,0 4px 0 #7e1b76,0 5px 10px #6f145477;border-radius:8px 8px 18px 18px}
.message{text-shadow:0 2px 1px #850d73;font-size:max(12px,3.3cqw);color:#fffacd}
.message strong{font-family:'Nunito Sans',sans-serif;font-size:7.2cqw;font-weight:900;text-shadow:0 2px 0 #86430c,0 0 8px #fff899}
.message small{color:#fff6c4;font-size:2.25cqw}
.message-plaque.active{background:linear-gradient(#c7ff62,#5cd847 35%,#16a96a 60%,#40cf81);box-shadow:inset 0 0 0 2px #d08115,inset 0 0 0 4px #ffec74,0 4px 0 #8c2574,0 0 25px #fff39788}
.dashboard{top:78%;height:22%;background:linear-gradient(#d544b1,#8b238f 20%,#681a83 75%,#47155f);border-top:4px solid #ffde5b;box-shadow:0 -3px 0 #c67818,inset 0 3px 1px #ffe79499}
.dashboard:before{border:2px solid #ffc66077;inset:3px 2% 22%;box-shadow:inset 0 -3px 0 #a73792}
.meters>div,.bet-meter{background:linear-gradient(#571066,#8f1b83);border:1px solid #ffb4d570;box-shadow:inset 0 2px 3px #390b5c77,0 1px 0 #ec84c7}
.meters span{color:#ffe2f8;font-size:max(9px,2.15cqw)}
.meters strong{color:#fff598;text-shadow:0 2px 0 #4e1155}
.utility{background:linear-gradient(#bc51bf,#7b237f);border:1px solid #f8bbec88;color:#ffe98c;box-shadow:inset 0 2px 1px #f9a1e1,0 3px 0 #4c0c67}
.adjust{background:linear-gradient(#d94db8,#942293);border:2px solid #ffd570;color:#fff1a7;box-shadow:inset 0 2px 1px #ffb3e6,0 4px 0 #55176a,0 5px 0 #fbb25a}
.spin{background:conic-gradient(from 20deg,#dc8210,#ffffb3,#ffb921,#ffffbd,#ffca32,#bc710f,#fff49a,#dc8210);border:2px solid #fffaaa;padding:5px;box-shadow:0 6px 0 #b06016,0 8px 0 #551273,0 0 25px #ffeb5680}
.spin-inner{background:radial-gradient(ellipse at 33% 20%,#e7ff9e,#91ef36 28%,#36c947 58%,#099c62 90%);border:2px solid #a47513;box-shadow:inset 0 3px 2px #ffffc4,inset 0 -5px 7px #078d4f}
.spin:before{border:2px solid #ffe487aa;inset:-7%;box-shadow:0 0 15px #ffef6166}
.spin:after{content:'';position:absolute;left:17%;top:12%;width:50%;height:25%;background:linear-gradient(#fff8,transparent);border-radius:50%;transform:rotate(-25deg);pointer-events:none}
.spin svg{stroke:#fffcc9;filter:drop-shadow(0 3px 0 #578e17)}
.spin .arrow{fill:#fffcc9}
.spin-label{color:#fffcca;text-shadow:0 2px 1px #238331;font-size:2.5cqw}
footer{color:#eed0f0;font-size:max(8px,1.9cqw);letter-spacing:.35px}
footer span:first-child{color:#ffe990;font-size:max(9px,2.1cqw)}
.celebration{background:radial-gradient(ellipse,#741576aa,transparent 74%)}
.celebration>strong{font-family:'Nunito Sans',sans-serif;font-style:italic;font-weight:900;color:#fff28d;-webkit-text-stroke:2px #b75b15;text-shadow:0 5px 0 #a8345a,0 8px 0 #710d7c,0 0 35px #ffd943}
.celebration>b{color:#fff699;text-shadow:0 4px 0 #b75a1d,0 7px 0 #801575,0 0 20px #ffce47}
.loader{background:radial-gradient(ellipse at 50% 30%,#cc54cd,#6424a0 70%)}
dialog{background:linear-gradient(#a33ca5,#52156f);border:2px solid #ffe175;color:#fff1cd}
dialog p{color:#f6dcec}h2{color:#fff39d}.panel-eyebrow{color:#ffda76}.menu-action{background:#54106666;border-color:#ffa2df66}.menu-action small,.note{color:#f0c9e8!important}.amounts button{background:#8f288f;border-color:#ff91db}.amounts button.selected{background:#ffdf54;color:#70266e}.payrow b{color:#fff190}
.game.spinning .gold-flash{opacity:.75;box-shadow:0 0 18px #ffde4b,inset 0 0 20px #ffef63}
@keyframes titleFloat{50%{transform:rotate(-5deg) translateY(-2%)}}
@keyframes symbolPop{0%,100%{transform:scale(1)}40%{transform:scale(1.1) rotate(-3deg)}70%{transform:scale(1.06) rotate(2deg)}}
@media(max-aspect-ratio:9/18){.hero{top:5%;height:26.5%}.cabinet{top:30%;height:37.5%}.message-plaque{top:68.8%;height:6%}.dashboard{top:76%;height:24%}.mascot{top:0%;height:auto}.wordmark{top:25%}}
@media(prefers-reduced-motion:reduce){.wordmark{animation:none}}

.mascot{width:61%;right:-3%;top:-9%}
@media(max-aspect-ratio:9/18){.mascot{top:-7%}}
/* Matching cartoon symbols and sunglasses character sequence. */
.symbol{background-image:url('assets/stadium-v2.png')}
.cell .symbol{width:auto;height:106%;aspect-ratio:1;flex:none;max-width:none}
.payrow .symbol{width:66px;height:66px;aspect-ratio:1}
.cell .symbol{height:94%}
.cell .s5{background-size:300% 188.235%;aspect-ratio:.941}
.cell .s2{background-size:300% 213.333%;aspect-ratio:1.0667}
/* The character occupies its own stage; the cabinet starts beneath its hooves. */
.hero{top:6%;height:25.5%;overflow:visible;z-index:4}
.mascot,.mascot[data-state]{top:0;right:0;width:auto;height:100%;aspect-ratio:1;animation:none;transform:none;filter:drop-shadow(0 3px 2px #71372144)}
.wordmark{left:0;top:20%;width:47%;height:74%;animation:none;transform:rotate(-6deg)}
.cabinet{top:33.2%;height:35.2%}
.message-plaque{top:70.2%;height:5.8%}
.dashboard{top:78%;height:22%}
.loader{overflow:hidden;justify-content:flex-start;background:linear-gradient(0deg,#480c71 0%,#702779 15%,transparent 50%),url('assets/stadium-v2.png') center/cover;transition:opacity .55s,transform .55s cubic-bezier(.2,.8,.2,1)}
.loader[hidden]{display:none}.loader.ready{transform:scale(1.055);opacity:0}
.splash-rays{position:absolute;left:-35%;top:9%;width:170%;aspect-ratio:1;background:repeating-conic-gradient(from 0deg,#fff59b44 0deg 10deg,transparent 10deg 24deg);mask-image:radial-gradient(circle,#000,transparent 66%);animation:rays 45s linear infinite}
.splash-logo{position:absolute;top:2%;left:4%;width:92%;height:32%;object-fit:contain;filter:drop-shadow(0 7px 0 #8c2c7877);z-index:3}
.splash-character{position:absolute;left:0;top:26%;width:100%;aspect-ratio:1;background:url('assets/stadium-v2.png') 0 0/300% 200% no-repeat;filter:drop-shadow(0 12px 6px #63317255);z-index:2}
.splash-gem{position:absolute;width:24%;height:auto;aspect-ratio:1;z-index:3;filter:drop-shadow(0 7px 5px #60167a66);animation:gemDrift 5s ease-in-out infinite}
.gem-a{left:-3%;top:37%;transform:rotate(-17deg)}.gem-b{right:-4%;top:54%;animation-delay:-2s}.gem-c{left:0;top:59%;width:21%;animation-delay:-3s}
.splash-base{position:absolute;left:7%;right:7%;bottom:5%;z-index:4;text-align:center}
.splash-tag{font-size:3.1cqw;font-weight:900;letter-spacing:.6cqw;color:#fff3ad;text-shadow:0 2px 2px #72155c;margin-bottom:2cqh}
.loader #enterGame{position:relative;display:flex;justify-content:center;align-items:center;gap:7cqw;width:100%;min-height:9cqh;border-radius:100px;border:3px solid #fff3a0;background:linear-gradient(#cbff6c,#77e83b 42%,#28b957 70%,#10a466);color:#fffddd;font-size:7cqw;font-weight:900;font-style:italic;text-shadow:0 3px 0 #288540;box-shadow:inset 0 3px 0 #ecffa9,inset 0 -4px 0 #05804d,0 5px 0 #d6851c,0 8px 0 #6d215d,0 0 30px #ffcf5766;transition:transform .18s,opacity .2s}
#enterGame:active{transform:translateY(3px)}#enterGame:disabled{opacity:.6}.loader #enterGame b{font-style:normal;font-size:8cqw}
.loader .loading-track{height:6px;width:68%;margin:3cqh auto 0;background:#451464;border:1px solid #d389bd;border-radius:6px;transition:opacity .25s}
.loader .loading-track i{width:0;animation:none;background:linear-gradient(90deg,#ffb626,#fff7a4);transition:width .25s;border-radius:5px}
.loader p{font-size:3cqw;color:#ffeec5;margin:1cqh 0 2cqh;text-shadow:0 1px 2px #4f165b}.splash-base small{font-size:2.4cqw;letter-spacing:.2cqw;color:#fbd8eb;font-weight:800}.loader.loaded .loading-track{opacity:0}.loader.loaded p{color:#ffe992}.loader #retry{margin-bottom:10px}
@keyframes rays{to{transform:rotate(360deg)}}@keyframes gemDrift{50%{translate:0 -9px;rotate:7deg}}
@media(max-aspect-ratio:9/18){.hero{top:6%;height:25.5%}.mascot{top:0;height:100%;width:auto}.wordmark{top:20%}.cabinet{top:33.2%;height:34.3%}.message-plaque{top:69%;height:5.7%}.dashboard{top:76.5%;height:23.5%}.splash-character{top:29%}.splash-base{bottom:6%}}
@media(prefers-reduced-motion:reduce){.splash-rays,.splash-gem{animation:none}.loader{transition:none}}
.zebra-rig{display:block;width:100%;height:100%;overflow:visible;stroke:none;fill:none}

.loader{background-color:#5eb8ef}
/* Seat the mascot on the cabinet lip, with the hooves in front of the gold rim. */
.mascot,.mascot[data-state]{top:1.9cqh;height:108%;right:0}
/* Win tiers celebrate positive returns with a brief central reward card. */
.celebration{inset:31% 4% 31%;border-radius:28px;background:radial-gradient(ellipse,#841887f5,#471361e8 72%);border:3px solid #ffe886;box-shadow:0 0 0 5px #bf741688,0 12px 35px #3c084b88;overflow:hidden}
.celebration:before{content:'';position:absolute;inset:-60%;background:repeating-conic-gradient(#ffea6b16 0deg 12deg,transparent 12deg 30deg);animation:rays 20s linear infinite;z-index:-1}
.celebration>strong{font-size:11cqw;line-height:1.35}.celebration>b{font-size:16cqw}.celebration-kicker{font-size:2.6cqw;letter-spacing:.25cqw;margin-bottom:1cqh}
.game[data-win-tier="mega"] .celebration{background:radial-gradient(#b24991f5,#642384f5);box-shadow:0 0 0 5px #ffcd4588,0 0 40px #ffd95788}
@media(prefers-reduced-motion:reduce){.celebration:before{animation:none}.celebration{transition:none}.cell.winner .symbol{animation:none}}

/* Crude Fortune: floodlit sky blue, navy, chrome and amber. */
:root{background:#061322;color:#edf8ff}.game{background:#09243e}.backdrop{background:linear-gradient(#071b3577,#020b1aee),url('assets/stadium-v2.png') center/cover}
.scenery{background:url('assets/stadium-v2.png') center top/100% 100% no-repeat}.scenery:after{background:linear-gradient(transparent 28%,#03284c55 57%,#051b32 80%)}.ambient{background:radial-gradient(ellipse at 40% 20%,#acecff33,transparent 60%)}
.topbar>span{font-size:10px;letter-spacing:1px;background:#062d56aa;color:#eafaff;border-color:#a5dfff}
.small-button{background:linear-gradient(#287ab3,#08375e);border-color:#bceaff;box-shadow:0 3px 0 #021e38,inset 0 2px 0 #63baef}
.hero{top:6%;height:25.5%}.wordmark{left:4%;top:18%;width:55%;height:auto;transform:rotate(-5deg);filter:drop-shadow(0 4px 0 #032444);text-align:left}
.wordmark>span,.wordmark>strong{font-family:'Nunito Sans',sans-serif;font-style:italic;letter-spacing:-.2cqw;line-height:.95;background:linear-gradient(#fff,#b8eaff 48%,#66b8e8 51%,#effbff);background-clip:text;-webkit-background-clip:text;-webkit-text-stroke:.4px #165d8c}
.wordmark>span{font-size:5cqw}.wordmark>strong{font-size:14cqw}.wordmark>small{display:block;font-size:2cqw;letter-spacing:.3cqw;margin-top:9px;color:#ffd779;text-shadow:0 2px 1px #002846}
.cabinet{top:32%;height:36.2%}.cabinet-crown i{background:linear-gradient(#effaff,#85c8e9 45%,#2f739b 50%,#d8f5ff);border-color:#267698;box-shadow:0 3px 0 #174564}.cabinet-crown span{color:#ffd86b;-webkit-text-stroke:2px #fff3b3}
.frame{background:linear-gradient(90deg,#225f84,#d8faff 3%,#649cb9 5%,#f1fdff 8%,#69b9df 11%,#bfe7f3 50%,#72bfe3 90%,#f5ffff 96%,#2d6b96);border-color:#effbff;box-shadow:0 5px 0 #24698b,0 8px 0 #061c39,0 12px 18px #001a2c88,inset 0 0 0 3px #225b83,inset 0 0 0 5px #a7dbef}
.frame:before,.frame:after{background:linear-gradient(90deg,#1b5f95,#58a9d6,#16538b);border-color:#91d0f2}.reel-window{border-color:#206f9f;background:#88cbee}.reel{background:linear-gradient(90deg,#c2e7f5,#f2fbff 18%,#fff 50%,#e4f7ff 80%,#c3e7f5);box-shadow:2px 0 0 #8cc9e3,3px 0 0 #297093}.reel-shade{background:linear-gradient(#1877a622,transparent 12%,transparent 88%,#1877a622)}
.symbol{background-image:url('assets/symbols-v2.png');filter:drop-shadow(0 4px 2px #134c732a)}.cell .symbol{height:96%;background-size:300% 200%;aspect-ratio:1}.cell .s2,.cell .s5{background-size:300% 200%;aspect-ratio:1}.frame-foot{background:linear-gradient(#e7faff,#75bbd8,#145882);box-shadow:0 3px 0 #052d4b}.line-label{color:#f7c958;text-shadow:0 2px 1px #03416b}
.message-plaque{top:70%;height:6%;background:linear-gradient(#267ead,#0c497a 55%,#18659a);border-color:#b5e9ff;box-shadow:inset 0 0 0 2px #174d72,inset 0 0 0 4px #88c5e4,0 4px 0 #031d38}.message{text-shadow:0 2px 0 #06304f;color:#fff}.message-plaque.active{background:linear-gradient(#ffe795,#e3aa38 55%,#ca7c19)}.message-plaque.active .message{color:#153b5b;text-shadow:none}
.dashboard{top:78%;height:22%;background:linear-gradient(#2679b0,#0d426c 25%,#082b4b 80%,#061c33);border-color:#b3dded;box-shadow:0 -3px 0 #2e759d,inset 0 3px 0 #dcf6ff}.dashboard:before{border-color:#78b5d455}.meters>div,.bet-meter{background:linear-gradient(#072b4e,#10466d);border-color:#74b4dc77;box-shadow:inset 0 2px 4px #001a37}.meters span{color:#bce5fb}.meters strong{color:#fff;text-shadow:0 2px 0 #092840}.utility,.adjust{background:linear-gradient(#368fc1,#0f527e);border-color:#a4d9ee;box-shadow:inset 0 2px 0 #92d7f3,0 4px 0 #062b4b;color:#fff}.spin-inner{background:radial-gradient(ellipse at 30% 20%,#fff5ba,#ffd360 35%,#e79e25 65%,#b96216);border-color:#cf8b24}.spin svg{stroke:#fff;filter:drop-shadow(0 2px 0 #ad680b)}.spin .arrow{fill:#fff}.spin-label{color:#fff;text-shadow:0 2px 0 #a46210}.spin{box-shadow:0 6px 0 #9f5b15,0 8px 0 #042743,0 0 24px #ffd45c66}
footer{color:#b9def4}footer span:first-child{color:#fbe2a5}.celebration{background:radial-gradient(#1b699af5,#052c50f5);border-color:#fff1a2}.game[data-win-tier="mega"] .celebration{background:radial-gradient(#217db7f5,#063454f5)}
.loader{background:linear-gradient(0deg,#031d39 0%,#083960dd 30%,transparent 76%),url('assets/stadium-v2.png') center top/cover;background-color:#072b4d}.splash-logo{top:9%;left:5%;width:90%;height:auto;text-align:center;font-style:italic;filter:drop-shadow(0 5px 0 #002945)}.splash-logo span,.splash-logo strong{display:block;font-weight:900;color:#e9faff;line-height:.95;letter-spacing:-.4cqw;text-shadow:0 3px 0 #247eb1}.splash-logo span{font-size:8cqw}.splash-logo strong{font-size:24cqw}.splash-logo small{display:block;font-size:3cqw;letter-spacing:.5cqw;color:#ffdd83;margin-top:2cqh}.splash-rays{display:none}.gem-a{top:44%;left:8%}.gem-b{top:52%;right:8%}.gem-c{top:59%;left:22%;width:23%}.splash-base{bottom:6%}.splash-tag{color:#c5ecff}.loader #enterGame{background:linear-gradient(#fff3ba,#fcd264 45%,#eaa739 70%,#cf821c);color:#123f61;text-shadow:0 1px 0 #fff6b7;border-color:#fff0ad;box-shadow:inset 0 3px 0 #fff9d3,0 5px 0 #985510,0 8px 0 #031b32,0 0 30px #ffc64f44}.loader p,.splash-base small{color:#c7e8fc}
dialog{background:linear-gradient(#145780,#072a49);border-color:#a7dfff}dialog p,.note,.menu-action small{color:#d0e9f8!important}h2{color:#fff}.menu-action{background:#05243b66;border-color:#609bc677}.panel-eyebrow{color:#ffdf89}.amounts button{background:#0b436a;border-color:#8bc5ec}.amounts button.selected{background:#ffdf7e;color:#06334f}
@media(max-aspect-ratio:9/18){.cabinet{top:32%;height:35.5%}.hero{top:6%;height:25.5%}.wordmark{top:18%}.message-plaque{top:69%;height:5.8%}.dashboard{top:76.5%;height:23.5%}}
.splash-logo{top:41%}.gem-a{top:59%;left:4%;width:21%}.gem-b{top:58%;right:5%;width:23%}.gem-c{top:60%;left:38%;width:23%}.splash-base{bottom:4%}.wordmark{width:49%}.wordmark>strong{font-size:13cqw}.wordmark>span{font-size:4.5cqw}.payrow .symbol{background-size:300% 200%}

.cell .symbol{height:85%;align-self:start;margin-top:1%}.symbol-caption{position:absolute;bottom:3%;left:1%;right:1%;text-align:center;font-size:2.05cqw;font-weight:900;letter-spacing:.1px;color:#08426a;text-shadow:0 1px 0 #fff;z-index:2;line-height:1.05}.cell.dim .symbol-caption{opacity:.55}.wordmark>small{font-size:1.7cqw;letter-spacing:.15cqw}.splash-logo small{font-size:2.6cqw}
/* Rebuilt reel cabinet: one aligned frame, roomy tiles and reserved label space. */
.game{width:min(100vw,62dvh);max-width:500px}.topbar{left:4%;right:4%;justify-content:space-between}.hero{top:6%;height:23%}.wordmark{left:4%;top:22%;width:49%;overflow:visible}.wordmark>span{font-size:4.5cqw;line-height:1.15}.wordmark>strong{font-size:13cqw;line-height:1.06}.wordmark>small{font-size:9px;line-height:1.3;letter-spacing:.1px;white-space:normal;max-width:100%}
.cabinet{left:3%;right:3%;top:30%;height:39%}.cabinet-crown,.frame-foot,.line-label{display:none}
.frame{padding:7px;border-radius:19px;border:2px solid #9ddcf7;background:linear-gradient(145deg,#2376a6,#082d4b 45%,#135a83);box-shadow:inset 0 1px 0 #e4f9ff,inset 0 -3px 0 #041d33,0 5px 0 #031a2b,0 10px 22px #0006}
.frame:before,.frame:after{display:none}.reel-window{border:0;border-radius:12px;background:#031d33;gap:5px;box-shadow:none;overflow:hidden}.reel{background:#082c49;box-shadow:none;overflow:hidden}.cell{padding:4px 2px 21px;border-bottom:4px solid #082c49;border-radius:10px;background:radial-gradient(ellipse at 50% 35%,#fff 15%,#e7f6fd 70%,#b7dbea);display:flex;justify-content:center;align-items:center;overflow:hidden}
.cell .symbol{height:100%;width:auto;max-width:100%;aspect-ratio:1;flex:none;align-self:center;margin:0;background-size:300% 200%;filter:drop-shadow(0 3px 2px #0b36552a)}.cell .s2,.cell .s5{aspect-ratio:1;background-size:300% 200%}
.symbol-caption{position:absolute;bottom:5px;left:2px;right:2px;font-size:clamp(9px,2.45cqw,12px);font-weight:900;line-height:1.05;letter-spacing:-.15px;color:#073454;text-shadow:none;white-space:normal;overflow-wrap:normal}
.reel-shade{inset:7px;background:linear-gradient(#05253d18,transparent 6%,transparent 94%,#05253d18);border-radius:12px}.paylines{inset:7px;width:calc(100% - 14px);height:calc(100% - 14px)}.cell.winner:after{inset:2px;border-radius:8px}.cell.winner .symbol{animation:none;filter:drop-shadow(0 0 6px #ffcf42)}
.message-plaque{left:3%;right:3%;top:70.5%;height:5.5%;padding:6px 10px;border-radius:12px;border:1px solid #65b5dc;background:linear-gradient(#175c87,#093954);box-shadow:inset 0 1px 0 #9bd9f144,0 3px 0 #021e34}.message{font-size:clamp(11px,3.1cqw,15px);line-height:1.2}.message strong{font-size:5.5cqw;line-height:1}.message small{font-size:9px;line-height:1.1;margin-top:1px}
.dashboard{top:77.5%;height:22.5%;padding:8px 4% max(6px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:3px;background:linear-gradient(#124c73,#062b47);border-top:2px solid #8fd0ed}.dashboard:before{display:none}.meters{flex:none;gap:6px}.meters>div,.bet-meter{border-radius:9px;padding:5px 2px}.meters span{font-size:clamp(9px,2.3cqw,11px);line-height:1.2;letter-spacing:.2px}.meters strong{font-size:clamp(13px,3.7cqw,18px);line-height:1.2}.play-controls{flex:1;height:auto;min-height:0;gap:5px;padding:0 2%}.spin{width:clamp(62px,11cqh,98px);height:clamp(62px,11cqh,98px);max-width:none;max-height:none}.spin-label{font-size:10px;bottom:13%}.spin:before{inset:-4%}.utility{width:34px;height:34px}.adjust{width:40px;height:40px;font-size:27px}.utility svg{width:19px;height:19px}footer{position:static;flex:none;gap:1px;font-size:8px;line-height:1.15;letter-spacing:.2px}footer span:first-child{font-size:9px;line-height:1.15}
.celebration{inset:32% 5% 32%}.celebration>strong{font-size:8.7cqw;padding:0 6px;overflow-wrap:normal}.celebration-kicker{font-size:10px;letter-spacing:.3px}.splash-tag{font-size:clamp(10px,2.8cqw,14px);letter-spacing:.3px}.splash-logo{left:4%;width:92%}.splash-logo span{line-height:1.1}.splash-logo strong{line-height:1.1}.splash-base small{font-size:10px;line-height:1.3;letter-spacing:0}
@media(max-height:700px){.dashboard{padding-top:5px;gap:2px}.meters>div,.bet-meter{padding:3px 1px}.spin{width:66px;height:66px}.wordmark>small{font-size:8px}.symbol-caption{font-size:9px}.cell{padding-bottom:19px}.message small{font-size:8px}}
.symbol-caption{height:16px;line-height:16px;bottom:2px}.wordmark>span{line-height:1.35}.wordmark>small{line-height:1.5}.meters span{line-height:1.4}footer,footer span:first-child{line-height:1.4}

/* Touchline win reaction: stays above the controls. */
.trump-reaction{position:absolute;z-index:24;left:2%;right:2%;top:36%;height:34%;pointer-events:none;opacity:0;transform:translateY(35px) scale(.9);transition:opacity .2s,transform .45s cubic-bezier(.16,1,.3,1)}
.trump-reaction.show{opacity:1;transform:translateY(0) scale(1)}
.trump-reaction img{position:absolute;bottom:0;left:0;width:69%;height:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 8px 10px #00132999);transform-origin:50% 90%}
.trump-reaction.show img{animation:trump-rant 1.1s ease-in-out .35s 3}
.trump-bubble{position:absolute;z-index:2;right:0;top:7%;width:45%;padding:12px 10px;background:#fffdf0;color:#102b48;border:3px solid #142e4c;border-radius:20px 20px 20px 3px;box-shadow:0 5px 0 #071b33;transform:rotate(3deg);text-align:center}
.trump-bubble b{display:block;font-size:clamp(18px,5vw,25px);color:#d8422e;line-height:1.1;margin-bottom:6px}.trump-bubble span{font-size:clamp(12px,3.6vw,17px);font-weight:900;line-height:1.25;display:block}
.game.won .celebration{inset:25% 6% auto;height:14%;min-height:90px;z-index:25;padding:8px;gap:2px}.game.won .celebration strong{font-size:clamp(20px,5vw,28px)}.game.won .celebration b{font-size:clamp(30px,8vw,45px)}
@keyframes trump-rant{0%,100%{transform:rotate(0) translateY(0)}35%{transform:rotate(-2deg) translateY(-5px)}70%{transform:rotate(1.5deg) translateY(-2px)}}
@media(prefers-reduced-motion:reduce){.trump-reaction{transform:none;transition:opacity .15s}.trump-reaction.show img{animation:none}}
