@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/cinzel-0.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/cinzel-0.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/fonts/cinzel-0.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(assets/fonts/cinzel-0.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/inter-1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/inter-1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/inter-1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/inter-1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/fonts/inter-1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(assets/fonts/inter-1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{font-family:Inter,Arial,sans-serif;color:#fff2cf;background:#05090d;font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-height:100svh;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 25%,#153340,#04080c 70%)}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:disabled{cursor:default}button:focus-visible{outline:2px solid white;outline-offset:3px}[hidden]{display:none!important}.game{--gold:#dfac54;--light:#ffe5a2;--edge:#715332;--dark:#21150d;--accent:#16bfce;--glow:#4dfffb;position:relative;width:min(100vw,calc(100svh * .51),480px);height:min(100svh,calc(100vw / .51),941px);container-type:inline-size;display:flex;flex-direction:column;overflow:hidden;background:#1b211e;box-shadow:0 0 100px #000;border-left:1px solid #ffffff1a;border-right:1px solid #ffffff1a;isolation:isolate}.spectral{--gold:#b3c4cd;--light:#e9ffff;--edge:#466677;--dark:#081820;--accent:#3cdcd9;--glow:#88ffea}.inferno{--gold:#d8a347;--light:#ffe9a5;--edge:#774329;--dark:#25100b;--accent:#cf292c;--glow:#ffb83d}.scene{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 0%,#287d8680,transparent 50%),repeating-linear-gradient(2deg,#2c1b0d 0,#1d160f 14px,#33200f 15px,#241b0f 21px);z-index:-2}.spectral .scene{background:radial-gradient(ellipse at 50% 0,#0d4855,#081116 65%)}.inferno .scene{background:radial-gradient(ellipse at 50% 0,#653315,#1f1210 60%)}.topbar{position:absolute;left:0;right:0;top:0;height:7cqw;display:flex;align-items:center;justify-content:space-between;padding:1cqw 3cqw;z-index:6;background:linear-gradient(#0009,transparent);font-size:2.2cqw;letter-spacing:.23em;font-weight:700}.topbar button{border:0;background:none;font-size:4.3cqw;width:7cqw;padding:0;line-height:1}.stage{height:48cqw;flex:none;position:relative;overflow:hidden;background:#133337}.stage img,.stage video{width:100%;height:100%;object-fit:cover;object-position:center;position:absolute;inset:0}.stage video{opacity:0}.stage video.active{opacity:1}.stageShade{position:absolute;inset:0;background:linear-gradient(0deg,var(--dark),transparent 17%),linear-gradient(90deg,#07151870,transparent 56%);pointer-events:none}.gameTitle{position:absolute;left:5cqw;top:15cqw;display:flex;flex-direction:column;line-height:.94;transform:rotate(-4deg);font-family:Cinzel,Georgia,serif;filter:drop-shadow(0 3px 1px #3b1c02) drop-shadow(0 5px 5px #000a);width:39cqw;text-align:center}.gameTitle span{font-size:8cqw;font-weight:900;color:#f9d99a;text-shadow:0 1px white,0 -2px #573408}.gameTitle strong{font-size:9.4cqw;color:var(--light);letter-spacing:-.035em}.spectral .gameTitle span{color:#eaffff}.inferno .gameTitle{top:17cqw}.stageCue{position:absolute;left:6%;right:6%;bottom:4%;font-family:Cinzel,Georgia,serif;text-align:center;font-size:4cqw;font-weight:900;color:var(--light);text-shadow:0 2px 8px #000;transition:opacity .2s}.featureBar{height:12cqw;margin:-1cqw 3cqw 0;display:flex;gap:2cqw;position:relative;z-index:2}.collection,.boost{width:50%;display:flex;flex-direction:column;justify-content:center;padding:1cqw 2cqw;border:1px solid var(--gold);border-radius:1.5cqw;background:linear-gradient(#423024,var(--dark));box-shadow:inset 0 0 0 2px #0008,0 2px 6px #000a}.spectral .collection,.spectral .boost{background:linear-gradient(#1c303b,#071014)}.inferno .collection,.inferno .boost{border-radius:.6cqw;background:linear-gradient(#392720,#170d09)}.meterTitle{font-size:2.35cqw;letter-spacing:.12em;color:var(--light);font-weight:800;text-align:center}.meterTitle span{margin-left:1cqw}.marks{display:flex;gap:1cqw;justify-content:center;margin-top:1cqw}.marks i{display:block;width:5cqw;height:3.7cqw;border:1px solid var(--edge);border-radius:3cqw;background:radial-gradient(#262018,#0c0b08)}.marks i.on{background:radial-gradient(var(--light),var(--gold));box-shadow:0 0 7px var(--gold)}#boostValues{display:flex;justify-content:space-between;font-weight:800;color:#938570;font-size:3.2cqw;margin-top:.7cqw}#boostValues span.active{color:white;text-shadow:0 0 12px var(--glow);transform:scale(1.12)}.reelCabinet{position:relative;height:92cqw;margin:2cqw 2.5cqw 0;padding:2.1cqw;border:1px solid var(--gold);border-radius:2cqw;background:linear-gradient(125deg,#fbdc87 0,#705327 10%,#d19f51 22%,#56351d 23%,#2d1c12 70%,#eed890 91%,#8d5d2c);box-shadow:0 3px 0 #120d09,0 7px 10px #000a,inset 0 0 0 1cqw #271b11;z-index:3;flex:none}.spectral .reelCabinet{background:linear-gradient(125deg,#d0e1e4,#425766 20%,#7d919c 23%,#122632 26%,#c4d3d5 91%,#395767);box-shadow:0 0 18px #14bdc526,inset 0 0 0 1cqw #142532}.inferno .reelCabinet{border-radius:1cqw;background:linear-gradient(125deg,#cdb688,#695447 10%,#322924 40%,#524035 85%,#d8a857);box-shadow:0 0 18px #ff39002a,inset 0 0 0 1cqw #271b16}.reels{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:.8cqw;width:100%;height:100%;background:#78572b;overflow:hidden;border-radius:1cqw;isolation:isolate}.cell{position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse,#fff9dd,#e7ce99);overflow:hidden;will-change:transform}.spectral .cell{background:radial-gradient(#eef8f7,#bfd3d6)}.inferno .cell{background:radial-gradient(#fff3d0,#d5bd8e)}.symbol{position:absolute;inset:0;background-size:300% 300%;background-repeat:no-repeat;transform-origin:center;will-change:transform,filter}.badge{position:absolute;bottom:4%;left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;white-space:nowrap;z-index:2;filter:drop-shadow(0 2px 2px #000a)}.badge strong{font-family:Cinzel,Georgia,serif;font-weight:900;font-size:6.4cqw;line-height:.98;color:#fff2aa;text-shadow:0 2px #241402,1px 0 #241402,-1px 0 #241402;background:linear-gradient(#785216,#362209);border:1px solid #f9d274;border-radius:3cqw;padding:0 1.5cqw}.badge small{font-size:1.8cqw;font-weight:900;letter-spacing:.1em;background:#401607;color:#ffe8b6;border-radius:1cqw;padding:.2cqw 1cqw;margin-top:.2cqw}.cell.multiplier .badge strong{background:linear-gradient(#135c9c,#071f42)}.cell.power .badge strong{background:linear-gradient(var(--accent),var(--dark));color:#fffbe8}.cell.power .badge small{background:var(--dark)}.cell.winner{z-index:3;outline:2px solid #fff09f;outline-offset:-2px;box-shadow:inset 0 0 25px #ffdf56b0}.cell.winner .symbol{animation:symbolWin .8s ease-in-out infinite alternate}.cell.collected .symbol{filter:brightness(1.3) drop-shadow(0 0 8px var(--glow))}.cell.locked:after{content:'◆';position:absolute;top:2%;right:5%;font-size:3cqw;color:var(--gold);text-shadow:0 1px #000}.cell.locked{box-shadow:inset 0 0 0 2px var(--gold)}.cell.empty{background:radial-gradient(#324044,#101b22)}.cell.empty>.symbol,.cell.empty>.badge{display:none}.cell.spinning .symbol{filter:blur(1.2px);animation:spinFlow .12s linear infinite}.cell.spinning .badge{display:none}.cell.landing{animation:reelLand .25s cubic-bezier(.18,.8,.32,1.4)}.cell.landing .symbol{animation:none;filter:none}#winLines,#particles,#reelFlash{position:absolute;inset:2.1cqw;width:calc(100% - 4.2cqw);height:calc(100% - 4.2cqw);pointer-events:none;z-index:5}#winLines{overflow:visible}#winLines path{stroke:#fff3a6;stroke-width:2.5;fill:none;stroke-linecap:round;filter:drop-shadow(0 0 3px #ffb42a);stroke-dasharray:500;stroke-dashoffset:500;animation:drawLine .45s ease-out forwards}#reelFlash{opacity:0;background:radial-gradient(circle,white,transparent);mix-blend-mode:screen}#reelFlash.fire{animation:flash .7s ease-out}#featureTitle{position:absolute;left:6%;right:6%;top:-3.8cqw;border:1px solid var(--gold);background:linear-gradient(#694329,#241307);text-align:center;font-family:Cinzel,Georgia,serif;color:var(--light);font-weight:800;font-size:3.4cqw;padding:.7cqw 1cqw;border-radius:1cqw;z-index:8}.featureMode .reelCabinet{box-shadow:0 0 20px var(--accent),inset 0 0 0 1cqw var(--dark)}.messageArea{height:10cqw;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:1cqw 3cqw;flex:none;text-align:center}#message{font-family:Cinzel,Georgia,serif;font-weight:800;letter-spacing:.05em;font-size:3.6cqw;color:var(--light);line-height:1.2}#detail{font-size:2.3cqw;color:#d0c3a8;margin-top:.5cqw;line-height:1.3}.controls{height:24cqw;display:flex;align-items:center;justify-content:space-between;padding:0 4.5cqw;flex:none}.balanceBox,.betBox{width:28cqw;text-align:center;display:flex;flex-direction:column;align-items:center;background:linear-gradient(#1d130ddc,#090e10);border:1px solid var(--edge);border-radius:1.5cqw;box-shadow:inset 0 0 0 1px #030303,0 2px 3px #0005;padding:1.5cqw 1cqw}.controls label{font-size:2.4cqw;letter-spacing:.1em;color:var(--light);font-weight:700}.controls strong{font-size:5.2cqw;line-height:1.5;color:#fff9df;font-weight:800;letter-spacing:-.04em}.betBox{position:relative}.betBox>div{position:absolute;bottom:-5cqw;display:flex;gap:5cqw}.betBox button{background:linear-gradient(#493726,#191815);border:1px solid var(--gold);border-radius:50%;width:6cqw;height:6cqw;line-height:1;font-size:4.2cqw;padding:0}#spinButton{width:26cqw;height:26cqw;border-radius:50%;border:1.2cqw solid var(--gold);background:radial-gradient(circle at 35% 25%,#ffffff65,transparent 45%),radial-gradient(circle at 55% 60%,var(--accent),#063b43);box-shadow:0 0 0 .65cqw #382615,0 0 0 1cqw #c79952,inset 0 1cqw 2cqw #ffffff55,inset 0 -1cqw 2cqw #0009,0 3cqw 4cqw #0007;display:grid;place-items:center;position:relative;z-index:6;transition:filter .15s,transform .15s;flex:none}#spinButton svg{width:78%;height:78%;stroke:#fff2c7;stroke-width:8;fill:none;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 1px #3e3b18)}#spinButton:active{transform:scale(.95)}#spinButton.busy svg{animation:spinArrow 1.4s linear infinite}#spinButton.busy{filter:saturate(.65);opacity:.9}.inferno #spinButton{background:radial-gradient(circle at 35% 25%,#ffffff55,transparent 45%),radial-gradient(circle at 55% 60%,#e9342b,#650c0b)}.secondaryControls{display:flex;align-items:center;justify-content:space-between;padding:3cqw 5cqw 0;height:12cqw;flex:none;gap:3cqw}.secondaryControls button{border:1px solid var(--edge);border-radius:1.6cqw;background:linear-gradient(#2b251c,#0e1316);height:7.3cqw;display:flex;align-items:center;justify-content:center;gap:1.5cqw;font-size:3.7cqw;flex:1;padding:0 1.4cqw;white-space:nowrap}.secondaryControls button span{font-size:2cqw;font-weight:700}.secondaryControls #extraButton{font-size:2.4cqw;flex:1.35}.secondaryControls #extraButton strong{color:var(--light);font-size:3.1cqw}.secondaryControls #autoButton{font-size:2.6cqw}.secondaryControls .active{box-shadow:0 0 8px var(--glow);color:white}footer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.3cqw;flex:1;font-size:1.85cqw;color:#c4b89e;letter-spacing:.08em;min-height:7cqw;padding-bottom:max(1cqw,env(safe-area-inset-bottom))}footer span:first-child{font-size:2.2cqw;color:var(--light);font-weight:600}dialog{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;width:92%;max-height:87%;padding:7cqw 5cqw 5cqw;border:1px solid var(--gold);border-radius:2cqw;background:linear-gradient(145deg,#26333a,#111c22);color:#f1eadb;font-size:3.1cqw;z-index:30;box-shadow:0 10px 50px #000b}dialog::backdrop{background:#02080dd0;backdrop-filter:blur(5px)}dialog .close{position:absolute;right:3cqw;top:2cqw;background:none;border:0;font-size:7cqw;line-height:1}dialog h2{font-family:Cinzel,Georgia,serif;color:var(--light);font-size:5cqw;margin:0 0 5cqw}dialog h3{font-size:3.7cqw;color:var(--light);margin-top:6cqw}dialog p,dialog li{line-height:1.65}dialog table{width:100%;border-collapse:collapse;font-size:2.8cqw}dialog td,dialog th{padding:2cqw 1cqw;border-bottom:1px solid #ffffff20;text-align:left}dialog button:not(.close){padding:3cqw;border:1px solid var(--edge);border-radius:1cqw;background:#0c1820;width:100%;margin:1cqw 0;font-weight:700;font-size:3cqw}.themeChoices{display:flex;flex-direction:column;margin-bottom:4cqw}.themeChoices button[data-theme=caribbean]{background:linear-gradient(90deg,#006a71,#30413f)}.themeChoices button[data-theme=spectral]{background:linear-gradient(90deg,#10424d,#172b3a)}.themeChoices button[data-theme=inferno]{background:linear-gradient(90deg,#732f20,#301b17)}#qaBanner{position:absolute;top:7cqw;left:0;right:0;text-align:center;z-index:40;background:#e8c337;color:#231800;font-size:2.3cqw;line-height:1.9;font-weight:900}#celebration{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse at 50% 55%,#222a2588,#0009);backdrop-filter:blur(1px);padding-top:30cqw}.winLight{position:absolute;width:130%;aspect-ratio:1;top:20%;background:repeating-conic-gradient(from 0deg,transparent 0 12deg,#ffdb681a 13deg 22deg,transparent 23deg 30deg);animation:spinArrow 35s linear infinite;pointer-events:none}#winTier{font-family:Cinzel,Georgia,serif;font-size:9cqw;font-weight:900;text-align:center;line-height:1.1;color:#fff2ad;text-shadow:0 3px #743209,0 0 20px #000;position:relative}#winAmount{font-family:Cinzel,Georgia,serif;font-size:15cqw;font-weight:900;margin:6cqw 0 2cqw;color:#fff8bb;text-shadow:0 4px #98470d,0 0 30px #ffba40;position:relative;max-width:95%;overflow-wrap:anywhere}#winRatio{font-size:3.4cqw;z-index:1}#skipButton{margin-top:8cqw;font-size:3cqw;padding:3cqw 8cqw;border:1px solid #d5b874;border-radius:5cqw;background:#15181bd0;position:relative}#loading{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%,#285862,#061016 65%);z-index:50;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6cqw;color:#ead8aa;font-size:3.2cqw}.loadingTitle{font-family:Cinzel,Georgia,serif;font-size:11cqw;font-weight:900;text-align:center;max-width:70%;line-height:1}.loadBar{width:60%;height:1cqw;background:#ffffff18;overflow:hidden;border-radius:1cqw}.loadBar i{display:block;height:100%;width:30%;background:#e6c477;animation:load 1.4s ease-in-out infinite}#enterButton{background:linear-gradient(#3dbdd2,#075967);border:1px solid var(--gold);border-radius:6cqw;padding:4cqw 17cqw;font-size:4cqw;font-weight:800;color:#fff2be}#loading.failed span{max-width:70%;text-align:center}#loading.failed .loadBar{display:none}@keyframes load{50%{transform:translateX(230%)}}@keyframes spinFlow{0%{transform:translateY(-95%) scale(.94,1.1)}100%{transform:translateY(95%) scale(.94,1.1)}}@keyframes reelLand{0%{transform:translateY(-20%)}60%{transform:translateY(5%)}100%{transform:translateY(0)}}@keyframes symbolWin{to{transform:scale(1.045);filter:brightness(1.12)}}@keyframes drawLine{to{stroke-dashoffset:0}}@keyframes flash{0%{opacity:.8}100%{opacity:0}}@keyframes spinArrow{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition:none!important}.stage video{display:none}}
/* A portrait composition: preserve the complete GCP stage at its source aspect. */
.game{width:min(100vw,calc(100svh * .48),480px);height:min(100svh,calc(100vw / .48),1000px)}
.stage{height:56cqw}.stage img,.stage video{object-fit:contain}.stage video{transition:opacity .22s ease}.stage #heroIdle{opacity:0}.stage #heroIdle.active{opacity:1}.gameTitle{top:17cqw}.featureBar{height:11cqw}.reelCabinet{height:90cqw}.controls{height:22cqw}.secondaryControls{height:10cqw;padding-top:2cqw}footer{min-height:6cqw}
.reels{position:relative;background:#805f30}.cell,.stripTile{background:#f1e5d1}.cell .symbol{background-blend-mode:multiply}.cell.winner .symbol{animation:symbolWin .85s ease-in-out 2 alternate}.cell.focus{box-shadow:inset 0 0 0 2px #fff5b1,inset 0 0 20px #eecb5370;z-index:4}.cell.source{box-shadow:inset 0 0 0 2px #d5fff5,inset 0 0 23px #24c7b57a;z-index:4}.cell.source .symbol{filter:brightness(1.08)}.cell.landing{animation:none}.cell.landing .symbol{animation:softLand .21s cubic-bezier(.15,.65,.3,1)}.cell.empty{background:radial-gradient(ellipse at 50% 40%,#1e4247,#09252b)}
.reelWindow{position:absolute;top:0;bottom:0;overflow:hidden;z-index:6;background:#f1e5d1;pointer-events:none}.cellWindow{position:absolute;inset:0;overflow:hidden;z-index:6;background:#f1e5d1}.strip{position:absolute;top:0;left:0;width:100%;will-change:transform}.stripTile{position:relative;flex:none;width:100%;overflow:hidden}.stripTile.empty{background:radial-gradient(#1e4247,#09252b)}.stripTile.empty .symbol{display:none}.stripTile .symbol{inset:0}.reelWindow .strip:before{display:none}.effectsOverlay{position:absolute;inset:0;width:100%;height:100%;z-index:12;pointer-events:none;overflow:hidden}.effectPath{fill:none;stroke-width:3;stroke-linecap:round;filter:drop-shadow(0 0 4px #76fff1) drop-shadow(0 0 8px #b9fbcb)}
.anticipating .reelCabinet{border-color:#fff6b1;box-shadow:0 0 12px #e8be6344,inset 0 0 0 1cqw #271b11}.badge strong{font-size:5.9cqw;max-width:29cqw}.badge small{font-size:2cqw;letter-spacing:.055em}.cell.bonus .badge strong{font-size:5.4cqw}.reelCabinet:before,.reelCabinet:after{content:'◆';position:absolute;color:#ffe4a0;font-size:2.8cqw;top:-1.2cqw;text-shadow:0 1px #271b11;z-index:8}.reelCabinet:before{left:1.8cqw}.reelCabinet:after{right:1.8cqw}.topbar{height:8cqw}.topbar button{width:9cqw;height:8cqw;font-size:4.5cqw}button:disabled:not(#spinButton){opacity:.45}.secondaryControls button{height:7.4cqw}.balanceBox,.betBox{padding:1.1cqw 1cqw}.betBox>div{bottom:-4.4cqw}.betBox button{width:6.3cqw;height:6.3cqw}.controls strong{font-size:4.9cqw}#spinButton{width:24cqw;height:24cqw}#spinButton.busy{opacity:.9;filter:saturate(.8)}#spinButton.busy svg{animation-duration:1.4s}.marks{gap:.8cqw}.marks i{height:2.8cqw;width:5cqw}.meterTitle{font-size:2.3cqw}.messageArea{height:10cqw}#detail{font-size:2.5cqw}#boostValues{font-size:3cqw}.gameTitle:after{content:'MAR CARIBE';font-family:Inter,Arial,sans-serif;letter-spacing:.23em;font-size:1.8cqw;color:#fff0c3;margin-top:2cqw;font-weight:800}#winAmount{font-size:13cqw}.balanceBox strong{font-variant-numeric:tabular-nums}.gameTitle{filter:drop-shadow(0 2px 1px #3b1c02) drop-shadow(0 4px 5px #0009)}
@keyframes softLand{0%{transform:translateY(-6%)}55%{transform:translateY(2.2%)}100%{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.stage #heroIdle{display:none}.cell.landing .symbol{animation:none}.effectPath{filter:none}}
.stage video{transition:none}
#celebration{background:linear-gradient(0deg,#071419ed 0%,#0b2627b0 53%,#06101430 75%,transparent 88%);backdrop-filter:none}
@media(max-height:720px) and (max-width:600px){
.game{width:min(100vw,calc(100svh * .5625));height:100svh}
.stage{height:38cqw;background:linear-gradient(90deg,#247c84,#93d3c5)}
.stage img,.stage video{width:68%;left:32%;object-fit:contain}
.gameTitle{left:3cqw;top:11cqw;width:37cqw}.gameTitle span{font-size:7.2cqw}.gameTitle strong{font-size:8.8cqw}.gameTitle:after{font-size:2cqw}
.featureBar{height:10cqw;margin-top:0}.reelCabinet{height:82cqw;margin-top:1.5cqw}
.messageArea{height:12cqw}#message{font-size:3.7cqw}#detail{font-size:2.9cqw}
.controls{height:20cqw}.secondaryControls{height:9cqw;padding-top:1cqw}footer{min-height:5cqw;font-size:2cqw;gap:.5cqw;padding-bottom:.5cqw}
#spinButton{width:22cqw;height:22cqw}.betBox button{width:7cqw;height:7cqw}.betBox>div{bottom:-4.5cqw}.secondaryControls button span{font-size:2.3cqw}
}
#qaBanner{top:0;left:14%;right:14%;height:8cqw;line-height:8cqw;background:#e8c337ee;font-size:1.95cqw;white-space:nowrap}
@media(max-height:720px) and (max-width:600px){.stage{background:#308b91 url('assets/caribbean/stage.webp') center/cover no-repeat}.stage img,.stage video{mask-image:linear-gradient(90deg,transparent,black 22%)}.stageShade{background:linear-gradient(0deg,var(--dark),transparent 22%),linear-gradient(90deg,#0d394bab,transparent 60%)}}
/* Extend the small visible bet discs without overlapping the lower control row. */
.betBox button{position:relative}
.betBox button:after{content:'';position:absolute;width:44px;height:44px;left:50%;top:calc(50% - 7px);transform:translate(-50%,-50%);background:transparent}
#qaBanner{left:50%;right:auto;transform:translateX(-50%);top:.8cqw;height:auto;line-height:1.4;padding:.65cqw 2cqw;border-radius:.6cqw;max-width:75%;font-size:2.05cqw}

/* Fast modes share a stop; Turbo has no landing animation. */
.game[data-speed="1"] .cell.landing .symbol{animation-duration:.16s}
#celebration[data-tier="2"] #winTier{color:#c7fff1;text-shadow:0 3px #124e48,0 0 24px #18bda4}
#celebration[data-tier="2"] .winLight{filter:hue-rotate(95deg);animation-duration:25s}
#celebration[data-tier="3"] #winTier{color:#fff8dc;text-shadow:0 3px #985315,0 0 28px #efbf60}
#celebration[data-tier="3"] .winLight{opacity:1.4;animation-duration:19s}
#winRatio{max-width:94%;text-align:center;line-height:1.5}

/* The final feature reveal focuses only its still-moving free cell. */
.cell.lastChance:after{content:'';position:absolute;inset:1px;z-index:7;border:2px solid #aaffef;border-radius:2px;box-shadow:inset 0 0 18px #66ffe7aa,0 0 8px #92fff3;pointer-events:none}
.lastCellAnticipation .reelCabinet{box-shadow:0 0 22px #58ded7aa,inset 0 0 0 1cqw var(--dark)}
.featureMerge{position:absolute;inset:0;z-index:9;overflow:hidden;pointer-events:none;background:#f1e5d1;isolation:isolate}
.featureMerging>.cell{opacity:0}
.mergePiece{position:absolute;transform-origin:center;background:#f1e5d1;will-change:transform,opacity}
.mergeTarget{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);will-change:transform,opacity}
.featureMerge .symbol{mix-blend-mode:normal}

.collectionValue{font-family:Inter,Arial,sans-serif;font-size:2.45cqw;letter-spacing:0;color:#daccb4}
.collectionToken{position:absolute;z-index:12;width:7cqw;height:7cqw;display:grid;place-items:center;border:1px solid #ffe4a7;border-radius:50%;background:radial-gradient(#956c29,#43331b);box-shadow:0 0 12px #f9d17c99;color:#fff2c3;font-size:3.5cqw;font-weight:900;transform:translate(-50%,-50%);pointer-events:none}

.cell.powerPending:after,.cell.powerFocus:after{content:'';position:absolute;inset:1px;z-index:7;border:2px solid #abfce7;border-radius:2px;box-shadow:inset 0 0 13px #76ead466;pointer-events:none}
.cell.powerPending:after{border-color:#d2c28d;box-shadow:inset 0 0 10px #d9b45a44}
.cell.powerFocus>.badge{filter:drop-shadow(0 0 5px #72eedc88)}

/* Keep a pending pair above the opaque symbol atlas; remove it at the real third stop. */
.cell.focus::before{content:'';position:absolute;inset:2px;z-index:7;border:2px solid #86eddf;border-radius:2px;box-shadow:inset 0 0 0 1px #186b69,inset 0 0 10px #59d8bd55;pointer-events:none}

/* Dialogs follow the portrait cabinet even in the native top layer. */
dialog{width:92cqw;max-width:calc(100vw - 16px);max-height:min(87svh,171cqw)}
/* Distinct bet cells replace overlapping invisible discs. */
.betBox{display:grid;grid-template-columns:1fr 1.2fr 1fr;grid-template-rows:auto 40px;column-gap:0;justify-items:center;align-items:center;padding:1.1cqw .5cqw}
.betBox>label{grid-column:1 / -1;grid-row:1}
#betValue{grid-column:2;grid-row:2;max-width:100%;font-size:4.5cqw;pointer-events:none}
.betBox>div{display:contents}
.betBox button{width:100%;height:40px;border-radius:1cqw;background:linear-gradient(#3a2d21,#171811);font-size:4.6cqw}
#betDown{grid-column:1;grid-row:2}
#betUp{grid-column:3;grid-row:2}
.betBox button::after{content:none}
.topbar{height:44px;padding:0 2cqw}
.topbar button{width:40px;height:40px;flex:none}

/* A full character performance owns the stage while the reels remain interactive. */
.stage .gameTitle{transition:opacity .16s ease}
.stage.captainIntro .gameTitle{opacity:0}
@media(prefers-reduced-motion:reduce){.stage .gameTitle,.stage #heroIntro{transition:none}}

/* I15: reserve separate rows for result text, controls and touch targets.
   The result slot stays constant through a round; symbols keep a square footprint. */
.game{width:min(100vw,calc(100svh * .46),480px);height:min(100svh,calc(100vw / .46),1043.478px);padding-top:env(safe-area-inset-top)}
.topbar{top:env(safe-area-inset-top)}
.reelCabinet{height:86cqw;min-height:65cqw;max-height:86cqw;flex:1 1 86cqw}
.messageArea{height:max(18cqw,76px);min-height:0;padding:1.5cqw 3cqw;gap:.7cqw;position:relative}
#message{font-size:max(14px,3.6cqw);line-height:1.2;max-width:100%;overflow-wrap:break-word}
#detail{font-size:max(12px,2.6cqw);line-height:1.3;margin:0;max-width:100%;overflow-wrap:break-word}
.controls{height:26cqw;padding:0 3cqw;gap:2cqw}
.balanceBox{width:27cqw;min-width:0}
.betBox{width:35cqw;grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto 40px}
.controls label{font-size:max(10px,2.4cqw)}
#betValue{font-size:max(14px,4.5cqw)}
.betBox button{font-size:20px}
#spinButton{width:24cqw;height:24cqw}
.secondaryControls{height:12cqw;padding:1cqw 3cqw;gap:2cqw}
.secondaryControls button{height:100%;font-size:max(14px,3.7cqw);min-width:0}
.secondaryControls button span{font-size:max(10px,2.5cqw)}
.secondaryControls #extraButton{font-size:max(10px,2.4cqw);flex:1.2}
.secondaryControls #extraButton strong{font-size:max(12px,3.1cqw)}
.secondaryControls #autoButton{font-size:max(11px,2.6cqw)}
footer{height:calc(max(9cqw,32px) + env(safe-area-inset-bottom));min-height:0;flex:none;padding:1cqw 1cqw calc(1cqw + env(safe-area-inset-bottom));gap:2px;font-size:max(9px,1.85cqw);letter-spacing:.035em;text-align:center}
footer span:first-child{font-size:max(10px,2.2cqw)}
/* Keep the close action outside the independently scrolling dialog body. */
dialog{padding:0;overflow:hidden;font-size:max(14px,3.1cqw);max-height:min(87svh,189cqw)}
dialog[open]{display:flex;flex-direction:column}
.dialogHeader{display:flex;justify-content:flex-end;flex:none;height:44px;padding-right:1cqw;background:#17252b}
dialog .close{position:static;width:44px;height:44px;font-size:30px;flex:none}
.dialogBody{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:1cqw 5cqw 5cqw;scrollbar-width:thin}
dialog h2{font-size:max(20px,5cqw);margin:0 0 4cqw;line-height:1.2}
dialog h3{font-size:max(16px,3.7cqw)}
dialog table{font-size:max(12px,2.8cqw);table-layout:fixed;overflow-wrap:anywhere}
dialog button:not(.close){min-height:40px;font-size:max(13px,3cqw)}
#winTier{max-width:94%;overflow-wrap:break-word}
#skipButton{min-height:44px;font-size:max(13px,3cqw)}
@media(max-height:720px) and (max-width:600px){
 .game{width:min(100vw,calc(100svh * .52));height:100svh}
 .reelCabinet{height:78cqw;min-height:62cqw;max-height:78cqw;flex-basis:78cqw}
 .controls{height:25cqw}
 #spinButton{width:22cqw;height:22cqw}
 .secondaryControls{height:13.5cqw}
}

/* The atlas contains square symbols. Preserve that ratio inside compact cells. */
.cell>.symbol,.stripTile>.symbol,.mergePiece>.symbol,.mergeTarget>.symbol{inset:0;margin:auto;height:100%;width:auto;max-width:100%;aspect-ratio:1}
.featureMode .reelCabinet{margin-top:5.5cqw}
#featureTitle{font-size:max(12px,3.4cqw);line-height:1.3}

/* Preserve full balances at readable size; grouping boundaries are legal line breaks. */
.balanceBox strong{max-width:100%;line-height:1.2;overflow-wrap:normal}

/* One fixed amount plaque. Earned tiers add a persistent silhouette. */
#celebration{display:grid;grid-template-rows:minmax(25cqw,1fr) auto minmax(5cqw,.36fr) 48px;justify-items:center;align-items:center;padding:7cqw 4cqw max(20px,env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent 6%,#03161b22 20%,#031317e8 38%,#020c12f5 100%);overflow:hidden}
#celebration .winLight{width:130cqw;top:25%;opacity:.30;z-index:0;transition:opacity .25s;filter:none;animation-duration:42s;background:repeating-conic-gradient(from 0deg,transparent 0 17deg,#f9d78a12 18deg 21deg,transparent 22deg 36deg)}
.rewardPanel{grid-row:2;width:88cqw;max-width:100%;position:relative;z-index:1;display:grid;grid-template-rows:9cqw 18cqw 6cqw 19cqw 5cqw 7cqw 12cqw;justify-items:center;align-items:center;padding:5cqw 3cqw 4cqw;border:1px solid #a78047;border-radius:3cqw;background:linear-gradient(145deg,#213638f7,#072127f5 47%,#111c21fa);box-shadow:inset 0 0 0 1cqw #081a1a,inset 0 0 0 1.25cqw #c3945055,0 5cqw 10cqw #000a;transition:border-color .24s,box-shadow .24s}
.rewardPanel:before{content:'';position:absolute;inset:-1.2cqw;border:1px solid #cda95b;border-radius:3.6cqw;pointer-events:none;opacity:0;transition:opacity .25s}
.rewardPanel:after{content:'';position:absolute;inset:1.7cqw;border:1px dashed #a8894777;border-radius:1.8cqw;pointer-events:none}
.rewardRanks{grid-row:1;display:flex;gap:3cqw;font-size:3cqw;line-height:1;color:#4c5550}
.rewardRanks i{font-style:normal;transition:color .25s,text-shadow .25s}
#celebration #winTier{grid-row:2;align-self:center;max-width:100%;margin:0;font-size:7.1cqw;line-height:1.12;height:18cqw;display:flex;align-items:center;justify-content:center;font-family:Cinzel,Georgia,serif;letter-spacing:.005em;color:#f9e7ae;text-shadow:0 2px 1px #583c1b,0 4px 10px #000;position:relative;z-index:2;overflow-wrap:normal}
.rewardKicker{grid-row:3;font-size:max(10px,2.45cqw);font-weight:700;letter-spacing:.12em;color:#c7c8b9;white-space:nowrap}
.rewardAmountSlot{grid-row:4;width:100%;height:19cqw;display:grid;place-items:center;position:relative;z-index:3}
#celebration #winAmount{font-family:Inter,Arial,sans-serif;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:-.035em;line-height:1.06;white-space:nowrap;overflow-wrap:normal;margin:0;max-width:none;color:#fff0ba;text-shadow:0 2px #8c5528,0 0 18px #e9b45444;display:block}
.rewardUnit{grid-row:5;font-size:max(11px,2.7cqw);letter-spacing:.25em;font-weight:700;color:#ddcb98}
.rewardSeal{grid-row:6;min-height:24px;display:flex;align-items:center;padding:1cqw 3cqw;border:1px solid #c5a25a88;border-radius:4cqw;font-size:max(10px,2.4cqw);font-weight:800;letter-spacing:.09em;color:#f1db9d;opacity:0;transform:translateY(4px);transition:opacity .22s,transform .22s}
#celebration #winRatio{grid-row:7;display:flex;flex-direction:column;gap:.9cqw;font-size:max(12px,2.85cqw);line-height:1.25;max-width:100%;height:12cqw;justify-content:center;text-align:center;color:#c6d4cc;position:relative;z-index:2}
.rewardFooter{grid-row:4;z-index:2;width:100%;display:flex;justify-content:center}
#celebration #skipButton{margin:0;min-height:44px;min-width:160px;padding:10px 28px;border-radius:24px;border:1px solid #d0aa67;background:linear-gradient(#274748,#132b30);box-shadow:inset 0 1px #ffffff1f,0 4px 12px #0006;font-weight:800;font-size:max(13px,3cqw);letter-spacing:.06em}
.rewardWings,.rewardPennants{position:absolute;inset:0;pointer-events:none;z-index:-1}
.rewardWings i{position:absolute;top:32%;width:9cqw;height:21cqw;border:2px solid #aa8043;background:linear-gradient(90deg,#553c26,#f1d190 35%,#96703c 48%,#1d3837 52%);clip-path:polygon(0 8%,75% 0,100% 50%,75% 100%,0 92%,25% 50%);opacity:0;transition:opacity .25s,transform .32s cubic-bezier(.15,.8,.22,1)}
.rewardWings i:first-child{left:-5cqw;transform:translateX(4cqw)}
.rewardWings i:last-child{right:-5cqw;transform:translateX(-4cqw) scaleX(-1)}
.rewardPennants i{position:absolute;top:-7cqw;width:25cqw;height:10cqw;background:linear-gradient(#812c25,#481b18);border-top:1px solid #e2bb72;clip-path:polygon(0 0,100% 0,93% 100%,50% 75%,7% 100%);opacity:0;transform:translateY(6px);transition:opacity .3s,transform .35s}
.rewardPennants i:first-child{left:9cqw;rotate:-6deg}.rewardPennants i:last-child{right:9cqw;rotate:6deg}
.rewardCrest{position:absolute;left:50%;top:-14cqw;width:24cqw;height:24cqw;transform:translate(-50%,8px) scale(.8);opacity:0;transition:opacity .25s,transform .4s cubic-bezier(.18,.8,.2,1.15);filter:drop-shadow(0 4px 3px #0009);pointer-events:none}
.rewardCrest svg{display:block;width:100%;height:100%}
#celebration[data-tier="1"] .rewardPanel:before,#celebration[data-tier="2"] .rewardPanel:before,#celebration[data-tier="3"] .rewardPanel:before{opacity:1}
#celebration[data-tier="1"] .rewardRanks i:first-child,#celebration[data-tier="2"] .rewardRanks i:nth-child(-n+2),#celebration[data-tier="3"] .rewardRanks i{color:#ffe5a2;text-shadow:0 0 10px #e2b454}
#celebration[data-tier="2"] .rewardWings i,#celebration[data-tier="3"] .rewardWings i{opacity:1;transform:translateX(0)}
#celebration[data-tier="2"] .rewardWings i:last-child,#celebration[data-tier="3"] .rewardWings i:last-child{transform:translateX(0) scaleX(-1)}
#celebration[data-tier="2"] .rewardPanel{border-color:#a9dcc0;box-shadow:inset 0 0 0 1cqw #081a1a,inset 0 0 0 1.25cqw #dfc28677,0 0 5cqw #6fbcb22b,0 5cqw 10cqw #000a}
#celebration[data-tier="3"] .rewardCrest{opacity:1;transform:translate(-50%,0) scale(1)}
#celebration[data-tier="3"] .rewardPennants i{opacity:1;transform:translateY(0)}
#celebration[data-tier="3"] .rewardPanel{border-color:#fff1b3;box-shadow:inset 0 0 0 1cqw #081a1a,inset 0 0 0 1.25cqw #e8c277,0 0 7cqw #e0b45130,0 5cqw 10cqw #000a}
#celebration[data-tier="2"] .winLight{filter:none;opacity:.5;animation-duration:42s}#celebration[data-tier="3"] .winLight{filter:none;opacity:.75;animation-duration:42s}
#celebration[data-tier="2"] #winTier,#celebration[data-tier="3"] #winTier{color:#fff0bf;text-shadow:0 2px 1px #583c1b,0 4px 10px #000}
#celebration[data-phase="final"] .rewardSeal{opacity:1;transform:none}
.rewardImpact .rewardPanel:before{animation:rewardRing .37s ease-out}.rewardImpact #winTier{animation:rewardTitle .3s ease-out}
@keyframes rewardRing{0%{box-shadow:0 0 0 0 #fce6a6aa}100%{box-shadow:0 0 0 4cqw #fce6a600}}
@keyframes rewardTitle{0%{filter:brightness(1.6);transform:translateY(4px)}100%{filter:brightness(1);transform:translateY(0)}}
@media(max-height:720px) and (max-width:600px){#celebration{grid-template-rows:minmax(26cqw,1fr) auto minmax(3cqw,.3fr) 44px;padding-bottom:14px}.rewardPanel{grid-template-rows:7cqw 16cqw 6cqw 18cqw 5cqw 8cqw 13cqw;padding-top:4cqw;padding-bottom:3cqw}#celebration #winTier{height:16cqw;font-size:7cqw}.rewardAmountSlot{height:18cqw}.rewardCrest{top:-13cqw;width:22cqw;height:22cqw}}
@media(prefers-reduced-motion:reduce){#celebration .winLight{animation:none}.rewardPanel,.rewardPanel:before,.rewardCrest,.rewardWings i,.rewardPennants i,.rewardSeal{transition:none}.rewardImpact #winTier,.rewardImpact .rewardPanel:before{animation:none}}

/* The prize is a carved amount plaque, with open space for the title and explanation. */
#celebration{backdrop-filter:none}
.rewardPanel,#celebration[data-tier] .rewardPanel{border-color:transparent;background:none;box-shadow:none;filter:drop-shadow(0 5px 5px #0008)}
.rewardPanel:before,.rewardPanel:after{content:none}
.rewardAmountSlot{isolation:isolate}
.rewardAmountSlot:before,.rewardAmountSlot:after{content:'';position:absolute;pointer-events:none;clip-path:polygon(0 22%,7% 0,93% 0,100% 22%,100% 78%,93% 100%,7% 100%,0 78%)}
.rewardAmountSlot:before{inset:-2cqw -3.5cqw -7.5cqw;z-index:-2;background:linear-gradient(145deg,#735029 0%,#e8c680 14%,#fff0b5 19%,#a57636 23%,#f3d995 42%,#7a4b22 64%,#cf9e4e 83%,#fff0b5 87%,#865a2c 100%);transition:filter .3s}
.rewardAmountSlot:after{inset:-.35cqw -1.6cqw -5.6cqw;z-index:-1;background:radial-gradient(ellipse at 50% 0,#427b78 0,transparent 66%),linear-gradient(180deg,#163d3b,#082023 60%,#102b2a);box-shadow:inset 0 2px #fff0b5aa,inset 0 -4px #020e15,inset 0 0 14px #020d16}
#celebration #winAmount{text-shadow:0 1px #fff3c8,0 3px #ad7b3b,0 5px #513219,0 7px 10px #000a}
.rewardUnit{z-index:3;color:#ffe5a3;letter-spacing:.30em}
.rewardWings{z-index:0}
.rewardWings i{top:39cqw;height:21cqw;width:11cqw;border:0;background:linear-gradient(110deg,#58331d 0%,#fbe8a3 19%,#b07e36 32%,#f5d789 38%,#79502a 53%,#d6ac62 78%,#6d4124 100%)}
.rewardWings i:first-child{left:-4cqw}.rewardWings i:last-child{right:-4cqw}
.rewardPennants{z-index:0}
.rewardRanks,.rewardKicker{z-index:2}
.rewardSeal{visibility:hidden}
.rewardKicker{transform:translateY(-1.2cqw)}
#celebration #winRatio{color:#e0e3d7;text-shadow:0 2px 4px #000;font-size:max(12px,3cqw)}
#celebration[data-tier="2"] .rewardAmountSlot:before{filter:brightness(1.08)}
#celebration[data-tier="3"] .rewardAmountSlot:before{filter:brightness(1.18)}
.rewardImpact .rewardAmountSlot:before{animation:rewardMetal .4s ease-out}
@keyframes rewardMetal{0%{filter:brightness(1.8)}100%{filter:brightness(1.08)}}
@media(max-height:720px) and (max-width:600px){.rewardWings i{top:34cqw}}
@media(prefers-reduced-motion:reduce){.rewardImpact .rewardAmountSlot:before{animation:none}.rewardAmountSlot:before{transition:none}}

/* Long formatted amounts must not determine the intrinsic width of the grid. */
.rewardPanel{min-width:0;grid-template-columns:minmax(0,1fr)}
.rewardAmountSlot{min-width:0;max-width:100%}
#celebration #winTier,#celebration #winRatio{min-width:0;width:100%}

/* The previous ledger caption must not compete with the active reward explanation. */
#game:has(#celebration:not([hidden])) .messageArea{visibility:hidden}

/* Keep the feature breakdown and whole-round addition in the existing result slot. */
.messageArea.compactLedgerResult{padding-block:2px;gap:0}
.compactLedgerResult #message{display:none}
.compactLedgerResult #detail{display:grid;gap:2px;width:100%;min-width:0}
.compactLedgerResult .ledgerFormula{min-width:0;overflow-wrap:normal}
.compactLedgerResult .roundTotal{font-weight:700;color:var(--light)}
