*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#071e27;color:#f1e7ca;font-family:"Avenir Next",Avenir,system-ui,sans-serif}button{font:inherit}#game{width:100%;height:100dvh;min-width:280px;min-height:240px;position:relative;background:#071e27 url('./assets/environment-wide.png') center/cover no-repeat}#game:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#05192320,#051b2420 60%,#06171ee8);pointer-events:none}#game[data-feature=true]:before{background:linear-gradient(180deg,#19ad981f,#12877518 50%,#06171ed9);box-shadow:inset 0 0 140px #67efd636;transition:background 1s}slot-game-shell{position:relative;z-index:1}
.boot{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#071e27;color:#efd59b;gap:12px}.boot h1{font:32px Georgia,serif;letter-spacing:5px;margin:0}.boot p{font-size:13px;color:#a3c5c3}.boot-moon{font:72px Georgia,serif}.boot button{margin:8px;padding:12px 24px;border:1px solid #dfc384;border-radius:10px;background:#133e43;color:#ffe9b5;cursor:pointer}
.scene{position:relative;display:flex!important;flex-direction:column;align-items:center;justify-content:center;min-height:0;isolation:isolate;container-type:size}
.scene:after{content:'';position:absolute;inset:8% 5%;background:radial-gradient(ellipse,#072f3144,transparent 70%);z-index:-1;pointer-events:none}
.game-logo{flex:none;text-align:center;height:106px;position:relative;display:flex;justify-content:center;flex-direction:column;padding-bottom:12px;text-shadow:0 3px 18px #001e26,0 2px 3px #000}.game-logo .eyebrow{font-size:9px;letter-spacing:3.5px;font-weight:600;color:#cae0d7}.game-logo h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:5px;font-size:clamp(30px,4.2vw,62px);line-height:1.1;margin:5px 0;color:#fbe6b6;background:none;-webkit-text-fill-color:currentColor;text-shadow:0 2px 2px #000,0 0 15px #03222c;}.game-logo .tagline{font-size:10px;letter-spacing:3px;color:#d2c399;text-transform:uppercase}.logo-star{color:#f3d99d;position:absolute;left:-28px;top:35px;font-size:20px}.logo-star:last-child{left:auto;right:-22px}
.board-wrap{position:relative;flex:none;max-width:100%;width:var(--board-width,660px);padding:22px 10px 11px;border:1px solid #c0a976b3;border-radius:16px;background:linear-gradient(145deg,#be9e63,#46594d 3%,#112d31 5%,#214147 90%,#9e8151);box-shadow:0 22px 70px #0008,0 0 0 4px #163d3d,0 0 0 5px #bca57866,0 0 40px #41bda41a}
.board-wrap:before,.board-wrap:after{content:'✦';position:absolute;color:#efd7a0;font-size:20px;line-height:20px;z-index:4;top:-10px;left:-8px;text-shadow:0 0 10px #ffc75c}.board-wrap:after{left:auto;right:-8px}.board-topline{position:absolute;left:16px;right:16px;top:4px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:8px;letter-spacing:2px;color:#d6ca9e;text-transform:uppercase}.board-topline strong{font-weight:600;color:#eeddac;letter-spacing:1px}
.grid-shell{position:relative;width:100%;aspect-ratio:6/5;border:1px solid #ccb47777;border-radius:8px;background:linear-gradient(160deg,#153f40,#071d28);isolation:isolate;overflow:hidden;box-shadow:inset 0 0 35px #0007}.echo-layer,.symbol-layer,.fx-layer{position:absolute;inset:0}.echo-layer{display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(5,1fr)}.echo-cell{position:relative;border:1px solid #65968616;background:linear-gradient(140deg,#afdec808,transparent 70%);transition:background .4s,box-shadow .4s}.echo-cell:before{content:'·';position:absolute;inset:0;display:grid;place-items:center;color:#91b3a61c;font-family:Georgia,serif;font-size:35px}.echo-cell.charged{background:linear-gradient(145deg,#58dfbe24,#acd9910e);box-shadow:inset 0 0 20px #38d3b020,inset 0 0 0 1px #a1e5ba55}.echo-cell[data-charge="3"],.echo-cell[data-charge="4"],.echo-cell[data-charge="5"]{background:linear-gradient(145deg,#b8d87732,#17bfac1c);box-shadow:inset 0 0 0 1px #dfd08466,inset 0 0 20px #fbd69e19}.charge-label{position:absolute;left:5px;bottom:3px;font-size:clamp(9px,1.1vw,14px);line-height:1.1;font-weight:700;color:#d6ffcf;text-shadow:0 2px 4px #001c21;z-index:2;font-variant-numeric:tabular-nums}.echo-cell.impact{animation:echo-impact .5s ease-out}.symbol{position:absolute;left:0;top:0;width:calc(100% / 6);height:20%;display:flex;align-items:center;justify-content:center;transform:translate(calc(var(--col) * 100%),calc(var(--row) * 100%));will-change:transform;transition:transform var(--fall-time,420ms) cubic-bezier(.3,.1,.28,1);z-index:1}.symbol .art{width:91%;height:91%;background-image:url('./assets/treasures.png');background-size:300% 300%;background-repeat:no-repeat;filter:drop-shadow(0 6px 3px #0006);transition:filter .2s,opacity .25s,scale .25s}.symbol[data-symbol=scatter] .art{background-image:url('./assets/scatter.png');background-size:contain;background-position:center!important;width:96%;height:96%;filter:drop-shadow(0 0 5px #dfb55266)}.symbol.winner{z-index:3}.symbol.winner .art{filter:drop-shadow(0 0 9px #fff9c9bb) brightness(1.2);animation:win-breathe .6s ease-in-out infinite alternate}.symbol.inactive .art{opacity:.4;filter:saturate(.65)}.symbol.removing .art{scale:1.2;opacity:0;filter:brightness(2) drop-shadow(0 0 12px #cbf8c8)}.symbol.falling .art{animation:land .4s ease-out}.fx-layer{pointer-events:none;z-index:5;overflow:visible}.particle{position:absolute;width:9px;height:9px;border-radius:50%;background:#fff5c3;box-shadow:0 0 8px 3px #77ffe3,0 0 20px #e5c965;transform:translate(-50%,-50%)}
.board-bottomline{flex:none;margin-top:13px;font-size:10px;letter-spacing:1px;color:#d6e8df;text-shadow:0 1px 6px #000;text-align:center;min-height:16px}.board-bottomline strong{color:#fae5b1;font-weight:600}.compact-engine{position:absolute;width:42px;height:42px;right:8px;top:25px;display:none;z-index:4}.engine{position:relative;width:142px;height:142px;flex:none;filter:drop-shadow(0 12px 20px #0007)}.engine .ring{position:absolute;inset:8%;border-radius:50%;border:2px solid #d4b578;box-shadow:inset 0 0 8px #e8d7ab22,0 0 0 3px #1f5047,0 0 0 4px #a08c6377;background:repeating-conic-gradient(from 0deg,transparent 0deg 19deg,#f9da9399 19deg 20deg);mask-image:radial-gradient(transparent 58%,#000 60%);animation:orbit 60s linear infinite}.engine .ring.second{inset:20%;border:1px solid #a5d5c3;animation:orbit 22s linear infinite reverse;transform:rotateX(25deg)}.engine .needle{position:absolute;width:3px;height:85%;left:calc(50% - 1px);top:7.5%;background:linear-gradient(transparent,#fde3a3 20%,#af975c 80%,transparent);transform:rotate(-32deg);transition:transform .3s}.engine .needle:after{content:'';width:85%;height:3px;position:absolute;top:50%;left:0;background:#e3bf78}.engine .core{position:absolute;left:37%;top:37%;width:26%;height:26%;border-radius:50%;border:2px solid #ffeab4;background:radial-gradient(circle at 35% 30%,#efffed,#8fecd4 35%,#219487 65%,#103e41);box-shadow:0 0 20px #adfadc88}.engine[data-phase=prepare] .needle{transform:rotate(52deg)}.engine[data-phase=prepare] .core{box-shadow:0 0 34px 8px #bcffeaaa}.engine[data-phase=release] .needle{transform:rotate(160deg)}.engine[data-phase=impact] .core{box-shadow:0 0 30px #fae0a4}.engine-caption{font-size:9px;letter-spacing:2px;color:#d4cfac;margin:16px 0 9px}.observatory{width:180px;display:flex;flex-direction:column;align-items:center;text-align:center;color:#daeadf;margin-top:25px}.observatory .echo-number{font:38px Georgia,serif;color:#e5f7d8;line-height:1}.observatory .echo-explainer{font-size:11px;line-height:1.7;color:#b5d0c5;max-width:140px;margin:9px 0 25px}.observatory .tide-lantern{width:102px;height:112px;object-fit:contain;filter:drop-shadow(0 4px 13px #dbb96744);animation:lantern-sway 7s ease-in-out infinite alternate}.observatory .feature-caption{font:15px Georgia,serif;color:#f6dda5;margin-top:6px}.observatory .feature-hint{font-size:10px;color:#b5d0c5;line-height:1.65;margin-top:6px;max-width:140px}.game-hud{display:flex;align-items:center;justify-content:center;gap:14px;min-height:30px;font-size:11px;letter-spacing:.3px;text-shadow:0 2px 5px #00212c}.game-hud .echo-pill{border:1px solid #83b39666;padding:5px 12px;border-radius:20px;color:#cff4d9;background:#092b31c9;white-space:nowrap}.game-hud .echo-pill b{color:#ffeeab;font-variant-numeric:tabular-nums}.game-hud .feature-progress{font-size:11px;letter-spacing:1px;color:#f6ddb1}.game-hud .hud-message{color:#cbded6}
.ambient-stars{position:absolute;inset:0;pointer-events:none;overflow:hidden}.ambient-stars i{position:absolute;left:var(--x);top:var(--y);width:3px;height:3px;border-radius:50%;background:#f9e4a3;box-shadow:0 0 8px #f9e4a3;opacity:0;animation:twinkle var(--duration) ease-in-out var(--delay) infinite}
.ambient-world{position:absolute;inset:0;overflow:hidden;pointer-events:none;contain:strict}
.moonlight{position:absolute;left:calc(50% + min(9.1vw,13.65vh) - min(17vw,25.5vh));top:calc(50% - max(26.7vw,40vh) - min(17vw,25.5vh));width:min(34vw,51vh);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#f9edba24 0%,#c2f6df19 26%,#7ae9d810 45%,transparent 69%);mix-blend-mode:screen;animation:moon-breathe 7s ease-in-out infinite alternate}
.sea-mist{position:absolute;width:75%;height:30%;bottom:13%;opacity:.35;filter:blur(12px);background:radial-gradient(ellipse at 35% 60%,#86d4c63d,transparent 60%);animation:mist-drift 17s ease-in-out infinite alternate}
.sea-mist-left{left:-30%;--drift:14%}.sea-mist-right{right:-30%;bottom:24%;--drift:-14%;animation-delay:-9s;animation-duration:22s}
.sea-lights i{position:absolute;left:var(--x);top:var(--y);width:5px;height:5px;border-radius:50%;background:#d9f8bd;box-shadow:0 0 7px 2px #79edc4aa,0 0 18px #8becdc66;opacity:0;animation:sea-light-rise var(--duration) ease-in-out var(--delay) infinite}
.shooting-star{position:absolute;left:22%;top:7%;width:100px;height:1px;background:linear-gradient(90deg,transparent,#dbf4db);box-shadow:5px 0 5px #c4ffe8;opacity:0;transform:rotate(22deg);animation:shooting-star 18s linear -4s infinite}
@keyframes moon-breathe{from{opacity:.35;transform:translateY(4px) scale(.93)}to{opacity:.9;transform:translateY(-7px) scale(1.07)}}
@keyframes mist-drift{from{transform:translateX(0) translateY(8px);opacity:.24}to{transform:translateX(var(--drift)) translateY(-12px);opacity:.55}}
@keyframes sea-light-rise{0%{opacity:0;transform:translate(0,35px) scale(.6)}20%{opacity:.7}65%{opacity:.55}100%{opacity:0;transform:translate(var(--sway),-85px) scale(1.05)}}
@keyframes shooting-star{0%,80%{opacity:0;transform:translate(0,0) rotate(22deg)}81%{opacity:.7}89%,100%{opacity:0;transform:translate(250px,95px) rotate(22deg)}}
#game[data-suspended=true] .ambient-world *{animation-play-state:paused!important}
#game[data-reduced=true] .ambient-world *{animation:none!important;transition:none!important}
#game[data-reduced=true] .moonlight{opacity:.4}#game[data-reduced=true] .sea-lights i{opacity:.2}
@media(max-width:699px) and (orientation:portrait){.moonlight{left:calc(50% - 29vw);top:calc(50% - max(60vw,40vh) - 29vw);width:58vw}.sea-mist{width:110%;height:30%;bottom:20%}.sea-mist-left{left:-58%}.sea-mist-right{right:-58%;bottom:40%}.sea-lights i{width:4px;height:4px}}
@keyframes orbit{to{rotate:360deg}}@keyframes lantern-sway{from{transform:rotate(-3deg) translateY(0)}to{transform:rotate(3deg) translateY(-6px)}}@keyframes twinkle{0%,100%{opacity:.05;transform:translateY(0)}50%{opacity:.6;transform:translateY(-12px)}}@keyframes echo-impact{0%{box-shadow:inset 0 0 0 2px #f7e3aa,inset 0 0 40px #9dffeab0}100%{box-shadow:inset 0 0 0 1px #dceec777,inset 0 0 12px #9dffea20}}@keyframes win-breathe{from{scale:1.01}to{scale:1.09}}@keyframes land{0%{scale:.92 1.07}60%{scale:1.05 .95}100%{scale:1}}.scene[data-reduced=true] *,#game[data-reduced=true] .ambient-stars i,#game[data-reduced=true] .observatory *{animation:none!important;transition:none!important}
@media(max-width:699px) and (orientation:portrait){#game{background-image:url('./assets/environment-portrait.png');background-position:center}.game-logo{height:110px}.game-logo h2{font-size:clamp(27px,7.6vw,48px);letter-spacing:2px}.game-logo .eyebrow{font-size:7px;letter-spacing:2px}.game-logo .tagline{font-size:8px;letter-spacing:2px}.logo-star{display:none}.compact-engine{display:block;right:2px;top:47px;width:30px;height:30px}.compact-engine .engine{width:100%;height:100%}.board-wrap{padding:19px 5px 6px;border-radius:11px;box-shadow:0 18px 40px #0008,0 0 0 2px #173c3c,0 0 0 3px #c6ab6866}.board-topline{font-size:6px;letter-spacing:1px;left:8px;right:8px;top:4px}.board-bottomline{font-size:9px;letter-spacing:0;margin-top:12px}.charge-label{font-size:10px;left:3px;bottom:2px}.game-hud{font-size:9px;gap:7px;min-height:24px}.game-hud .echo-pill{padding:4px 8px}.game-hud .hud-message{font-size:9px}.game-hud .feature-progress{font-size:9px}}
@media(max-height:600px) and (min-width:700px){.game-logo{height:55px;padding-bottom:6px}.game-logo h2{font-size:30px;letter-spacing:3px;margin:0}.game-logo .eyebrow{display:none}.game-logo .tagline{font-size:7px}.game-logo .logo-star{display:none}.board-bottomline{font-size:8px;margin-top:7px}.board-wrap{padding-top:16px}.board-topline{font-size:6px}.compact-engine{display:block;right:3%;top:7px;width:35px;height:35px}.compact-engine .engine{width:100%;height:100%}}
@media(max-height:359px){.game-logo,.board-bottomline,.board-topline{display:none}.board-wrap{padding:3px;border-radius:5px;box-shadow:0 0 0 1px #bca57866}.board-wrap:before,.board-wrap:after{display:none}.grid-shell{border-radius:3px}.charge-label{font-size:7px;left:1px;bottom:0}.game-hud{min-height:12px;font-size:8px}.game-hud .echo-pill{padding:0 5px;font-size:8px}.game-hud .hud-message,.game-hud .feature-progress{font-size:8px}.compact-engine{display:block;right:10px;top:5px;width:26px;height:26px}.compact-engine .engine{width:100%;height:100%}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

@media(max-height:780px) and (min-width:700px){.game-logo{height:64px;padding-bottom:6px}.game-logo h2{font-size:38px;margin:1px 0}.game-logo .eyebrow{font-size:7px}.game-logo .tagline{font-size:8px}}
@media(max-height:500px) and (min-width:700px){.game-logo,.board-bottomline{display:none}.board-wrap{padding-top:18px;padding-bottom:5px}.game-hud{min-height:20px}.compact-engine{right:10%;top:20px;width:60px;height:60px}}
@media(max-width:699px) and (min-height:360px) and (max-height:700px) and (orientation:portrait){.game-logo{height:64px;padding-bottom:8px}.game-logo .eyebrow{display:none}.game-logo h2{font-size:27px}.game-logo .tagline{font-size:7px}.board-bottomline{display:none}.compact-engine{top:14px;width:23px;height:23px}}

/* Large wins are live animated typography over the visible game board. */
.celebration{--win-color:#e4fff4;position:absolute;inset:0;z-index:9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:12px;text-align:center;pointer-events:none;container-type:inline-size}
.celebration[hidden]{display:none}
.retrigger-celebration{position:absolute;inset:0;z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;pointer-events:none;text-align:center;container-type:inline-size;text-shadow:0 3px 0 #27443b,0 5px 10px #001720,0 0 5px #001720,0 0 24px #001720}
.retrigger-celebration[hidden]{display:none}
.retrigger-count{font:900 clamp(42px,20cqw,108px)/1 Georgia,serif;color:#e1fff0;letter-spacing:-2px;animation:win-text-bounce .8s cubic-bezier(.2,.7,.3,1) both}
.retrigger-label{max-width:94%;font:800 clamp(14px,5.5cqw,30px)/1.2 Georgia,serif;letter-spacing:1px;color:#ffe7aa;animation:win-text-bounce .7s .16s cubic-bezier(.2,.7,.3,1) both}
.retrigger-celebration.leaving{animation:retrigger-out .2s ease-in both}
@keyframes retrigger-out{to{opacity:0;transform:translateY(-12px) scale(1.04)}}
.celebration .result-title{font:900 clamp(32px,9cqw,84px)/1.08 Georgia,serif;letter-spacing:1px;color:var(--win-color);text-shadow:0 3px 0 #573c20,0 6px 14px #001b27,0 0 5px #001b27,0 0 32px #000;animation:win-text-bounce .85s cubic-bezier(.2,.7,.3,1) both}
.celebration .result-amount{max-width:100%;overflow-wrap:anywhere;font:700 clamp(34px,11cqw,104px)/1.1 Georgia,serif;letter-spacing:-1px;color:#ffefb8;text-shadow:0 4px 0 #58401d,0 6px 16px #001b27,0 0 5px #001b27,0 0 35px #000;font-variant-numeric:tabular-nums;animation:win-text-bounce .9s .12s cubic-bezier(.2,.7,.3,1) both}
.celebration[data-tier=great]{--win-color:#ffe6a2}.celebration[data-tier=huge]{--win-color:#ffd07d}.celebration[data-tier=insane],.celebration[data-tier=cap]{--win-color:#fff5d2}
.echo-cell[data-power=gold]{background:linear-gradient(145deg,#d9b35d38,#9c802d1c);box-shadow:inset 0 0 0 1px #e6c67488,inset 0 0 20px #fbd69e29}
.echo-cell[data-power=stellar]{background:linear-gradient(145deg,#d7aeff44,#8656e824);box-shadow:inset 0 0 0 1px #e5cbff99,inset 0 0 25px #cf8fff44}
.charge-label:not(:empty){padding:2px 4px;border-radius:4px;background:#09292ddb;box-shadow:0 1px 4px #00151f66}
.echo-cell.impact .charge-label{animation:charge-value-pop .45s ease-out;transform-origin:left bottom}
@keyframes charge-value-pop{0%{transform:scale(.6);filter:brightness(2)}45%{transform:scale(1.35)}75%{transform:scale(.95)}100%{transform:scale(1);filter:brightness(1)}}
.echo-cell[data-power=gold] .charge-label{color:#ffe299}.echo-cell[data-power=stellar] .charge-label{color:#f3d6ff}
.symbol.scatter-land .art{animation:scatter-chime .55s ease-out}
@keyframes win-text-bounce{0%{opacity:0;transform:translateY(25px) scale(.45)}48%{opacity:1;transform:translateY(-10px) scale(1.1)}70%{transform:translateY(4px) scale(.97)}87%{transform:translateY(-2px) scale(1.02)}100%{opacity:1;transform:none}}
@keyframes scatter-chime{0%{scale:.9;filter:brightness(1.7) drop-shadow(0 0 18px #f9e5a7)}50%{scale:1.1}100%{scale:1}}
@media(max-width:699px){.celebration{gap:12px}.celebration .result-title{font-size:clamp(27px,10cqw,48px)}.celebration .result-note{font-size:10px}}
@media(max-height:500px){.celebration{gap:6px}.celebration .result-title{font-size:clamp(20px,7cqw,42px)}.celebration .result-amount{font-size:clamp(24px,9cqw,54px)}.celebration .result-note{font-size:9px;margin-top:2px}}
@media(max-height:359px){.celebration{gap:3px}.celebration .result-title{font-size:22px}.celebration .result-amount{font-size:26px}}

/* Keep cell growth and the current group's arithmetic legible without covering the reels. */
.echo-cell{--charge-color:#b2f5d4}
.echo-cell[data-power=azure]{--charge-color:#8fddff;background:linear-gradient(145deg,#3fafff33,#237eae15);box-shadow:inset 0 0 0 1px #82d9ff88,inset 0 0 20px #3da5f326}
.echo-cell[data-power=gold]{--charge-color:#ffe299}
.echo-cell[data-power=violet]{--charge-color:#e4b6ff;background:linear-gradient(145deg,#bd7fff3b,#782cca24);box-shadow:inset 0 0 0 1px #dfb3ff99,inset 0 0 24px #b379ef32}
.echo-cell[data-power=stellar]{--charge-color:#fff8cf;background:linear-gradient(145deg,#ffe5a559,#bd91352c);box-shadow:inset 0 0 0 2px #fff1bcbb,inset 0 0 30px #ffe7a755}
.echo-cell[data-power] .charge-label{color:var(--charge-color)}
.echo-cell.contributing .charge-label{z-index:4;box-shadow:0 0 0 1px var(--charge-color),0 0 12px var(--charge-color);animation:multiplier-contribute .55s ease-in-out infinite alternate}
.echo-cell.impact .charge-label{animation:charge-value-pop .55s cubic-bezier(.2,.8,.25,1)}
@keyframes multiplier-contribute{to{filter:brightness(1.3);transform:scale(1.12)}}
.board-bottomline{height:42px;min-height:42px;max-width:100%;margin-top:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;letter-spacing:.3px}
.board-bottomline:not(.showing-multiplier){display:block;line-height:42px}
.award-name{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#c4ded6}
.multiplier-math{font-size:11px;line-height:1.2;color:#e4f6e9;text-wrap:balance;max-width:100%;text-align:center}
.multiplier-math strong{display:inline-block;font-size:19px;color:#ffe4a1;animation:charge-value-pop .45s ease-out}
.scene[data-anticipation=true] .grid-shell{box-shadow:inset 0 0 22px #f5c96025,0 0 0 1px #efcf87,0 0 22px #efcf8744}
.symbol.anticipated .art{filter:drop-shadow(0 0 10px #f0d49b88) brightness(1.12)}
#game[data-feature=true][data-feature-mode=super]:before{background:linear-gradient(180deg,#633eae33,#763b9918 50%,#06171ed9);box-shadow:inset 0 0 120px #ba8dff24}
.super-start{position:absolute;inset:0;z-index:7;display:grid;place-items:center;pointer-events:none;font:800 clamp(22px,4.5vw,40px)/1.1 Georgia,serif;letter-spacing:2px;color:#fff0c0;text-shadow:0 3px 1px #31223b,0 0 20px #352059;animation:win-text-bounce .7s both}
.super-start[hidden]{display:none}
.scene[data-seeding=true] .symbol-layer{opacity:.16;transition:opacity .2s}
.scene[data-seeding=true] .grid-shell{box-shadow:0 0 35px #cd9cff66}
.echo-cell.seeding{background:linear-gradient(135deg,#a26fed44,#58dcb433);box-shadow:inset 0 0 0 1px #dbc1ff99}
.echo-cell.seeding .charge-label{left:50%;bottom:50%;transform:translate(-50%,50%);padding:4px 7px;font-size:clamp(12px,2vw,23px);color:#f8eaff;background:#201e3bc9;animation:seed-cell .65s cubic-bezier(.2,.8,.3,1)}
@keyframes seed-cell{0%{opacity:0;scale:.4}55%{opacity:1;scale:1.3}80%{scale:.94}100%{scale:1}}
.scene[data-seed-docking=true] .charge-label{animation:none;transition-property:left,bottom,transform,font-size,padding,color,background-color;transition-duration:var(--seed-dock-time,560ms);transition-timing-function:cubic-bezier(.22,.75,.25,1)}
@media(max-width:699px){.board-bottomline{height:40px;min-height:40px;margin-top:7px}.board-bottomline:not(.showing-multiplier){display:block;line-height:40px;font-size:9px}.multiplier-math{font-size:10px}.multiplier-math strong{font-size:17px}.award-name{font-size:8px}}
@media(max-height:500px) and (min-width:700px){.board-bottomline{height:26px;min-height:26px;margin-top:5px;gap:0}.board-bottomline:not(.showing-multiplier){display:block;line-height:26px;font-size:8px}.award-name{display:none}.multiplier-math{font-size:9px}.multiplier-math strong{font-size:15px}.super-start{font-size:24px}}
@media(max-height:359px){.board-bottomline{display:none!important}.super-start{font-size:18px;letter-spacing:.5px}}
#game[data-suspended=true] .scene *{animation-play-state:paused!important}

/* Keep the playing field dominant; the treasure logo replaces the sidebar ornament. */
.game-logo{height:92px;padding:0 0 6px;width:100%;align-items:center}
.game-logo img{height:100%;width:min(520px,90%);object-fit:contain;filter:drop-shadow(0 3px 5px #00151d)}
.observatory,.compact-engine{display:none!important}
.symbol[data-symbol=scatter] .art{width:100%;height:100%;background-size:100% 100%;border-radius:5px;filter:drop-shadow(0 0 4px #ffd35a66)}
.board-bottomline{height:32px;min-height:32px;margin-top:5px}
.board-bottomline:not(.showing-multiplier){line-height:32px}
@media(max-height:780px) and (min-width:700px){.game-logo{height:66px}}
@media(max-width:699px) and (orientation:portrait){.game-logo{height:100px}.game-logo img{width:94%}}
@media(max-height:700px) and (max-width:699px){.game-logo{height:64px}}
@media(max-height:500px) and (min-width:700px){.game-logo{display:none}}
@media(max-height:359px){.game-logo{display:none}}

/* Spend vertical space on symbols rather than secondary captions. */
@media(min-width:1000px) and (min-height:600px){
 .game-logo{height:64px;padding-bottom:2px}
 .board-wrap{padding-top:20px;padding-bottom:7px}
 .board-bottomline{height:24px;min-height:24px;margin-top:2px}
 .board-bottomline:not(.showing-multiplier){line-height:24px}
 .game-hud{min-height:22px;font-size:10px}
 .game-hud .echo-pill{padding:2px 10px}
}
@media(max-width:699px) and (orientation:portrait){
 .game-logo{height:72px;padding-bottom:4px}
 .board-bottomline{height:24px;min-height:24px;margin-top:3px}
 .board-bottomline:not(.showing-multiplier){line-height:24px}
 .game-hud{min-height:22px}
}

/* Paper-lantern material is shared with the feature panels. */
.sky-lanterns{position:relative;display:block;align-self:stretch;width:100%;height:100%;pointer-events:none;overflow:hidden}
.sky-lantern{position:absolute;aspect-ratio:.8;filter:drop-shadow(0 0 18px #f6c06566)}
#game[data-reduced=true] .sky-lantern{animation:none}
#game[data-suspended=true] .sky-lantern{animation-play-state:paused}
@media(max-width:699px) and (max-height:700px) and (orientation:portrait){
 .game-logo{height:44px;padding-bottom:2px}
 .board-bottomline{display:none!important}
}

/* No temporary loading presentation before or after the introduction. */
slot-game-shell.startup-hidden{visibility:hidden;pointer-events:none}

/* The lantern trio uses scenery space without changing the centered reel geometry. */
.board-wrap{padding-top:27px}
.board-topline{top:8px;font-size:8px;letter-spacing:1px}
.symbol.winner:after{content:'';position:absolute;inset:8%;border-radius:22%;border:1px solid #ddffe477;box-shadow:inset 0 0 16px #e1ffc61a,0 0 12px #a4fff01f;pointer-events:none}
.symbol.inactive .art{opacity:.62;filter:saturate(.8)}
.symbol.removing .art{animation:none;scale:.82;filter:brightness(1.6);transition:opacity .16s,scale .21s,filter .16s}
.symbol.removing:after{opacity:0;transition:opacity .16s}
.symbol.scatter-trigger{z-index:4}
.symbol.scatter-trigger .art{animation:scatter-awaken .75s cubic-bezier(.2,.7,.2,1) both}
.symbol.scatter-trigger:after{content:'';position:absolute;inset:8%;border:1px solid #e6c98988;border-radius:28%;box-shadow:0 0 8px #e8c36b33;animation:scatter-heart .75s ease-out both;pointer-events:none}
@keyframes scatter-awaken{0%{transform:rotate(-2deg) scale(.99)}42%{transform:rotate(2deg) scale(1.035);filter:brightness(1.06) drop-shadow(0 0 4px #d6b46c77)}100%{transform:none;filter:brightness(1.02) drop-shadow(0 0 3px #d6b46c44)}}
@keyframes scatter-heart{0%{opacity:0;scale:.96}45%{opacity:.7;scale:1.02}100%{opacity:.3;scale:1}}
@keyframes scatter-chime{0%{scale:.96;filter:brightness(1.06) drop-shadow(0 0 4px #d6b46c66)}50%{scale:1.035}100%{scale:1;filter:brightness(1)}}
.pearl-burst{position:absolute;display:block;transform:translate(-50%,-50%);background:url('./assets/polish/pearl-burst.webp') 0 0/400% 200% no-repeat;pointer-events:none}
.burst-echo{opacity:.45;scale:.55}.burst-scatter{filter:sepia(.35) saturate(.8);scale:1.1}
.value-mote{position:absolute;width:5px;height:5px;border-radius:50%;background:#fff7bc;box-shadow:0 0 7px 2px #95ffdf;pointer-events:none}
.board-bottomline{height:34px;min-height:34px;display:flex!important;line-height:1.2;gap:1px;max-width:100%}
.board-bottomline:not(.showing-multiplier){display:block!important;line-height:34px}
.award-name{font-size:8px;letter-spacing:.7px}.multiplier-math{font-size:12px}.multiplier-math strong{font-size:18px}
.game-hud{position:relative;z-index:6;width:100%;gap:10px;min-height:32px;line-height:1.2}
.game-hud .echo-pill{padding:3px 7px;font-size:9px}.game-hud .hud-message{font-size:9px;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.award-journal{position:relative;flex:none;font-variant-numeric:tabular-nums;z-index:8;letter-spacing:0;text-shadow:none}
.award-journal summary{display:flex;align-items:center;justify-content:center;gap:7px;min-height:32px;padding:5px 9px;list-style:none;cursor:pointer;border:1px solid #b8c59466;border-radius:9px;background:linear-gradient(#1c4645ed,#103235ed);color:#dceddb;user-select:none}
.award-journal summary::-webkit-details-marker{display:none}.award-journal summary:focus-visible{outline:2px solid #ffe6a2;outline-offset:3px}
.journal-label{font-size:8px;letter-spacing:.8px}.journal-total{font-size:13px;color:#fff0b8}.journal-chevron{font-size:13px;color:#d4e1b4;line-height:1}.award-journal[open] .journal-chevron{rotate:180deg}
.journal-panel{position:absolute;left:0;bottom:calc(100% + 8px);width:320px;max-width:calc(100vw - 32px);max-height:min(340px,55dvh);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:14px;border:1px solid #bad0a785;border-radius:13px;background:linear-gradient(145deg,#174444f7,#092731fb);box-shadow:0 8px 32px #001219b3;backdrop-filter:blur(12px);text-align:left}
.journal-panel h3{margin:0 0 10px;color:#f2deb0;font-size:13px;font-weight:600;letter-spacing:.3px}.journal-rows{list-style:none;margin:0;padding:0}
.journal-row{display:flex;gap:9px;align-items:center;padding:9px 0;border-top:1px solid #b9d5b520;animation:journal-arrive .25s ease-out}
.journal-symbol{width:38px;height:38px;flex:none;background:url('./assets/treasures.png') 0 0/300% 300% no-repeat}
.journal-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.journal-copy strong{font-size:11px;color:#dcefe0;font-weight:500}.journal-formula{font-size:13px;color:#fff0ba;overflow-wrap:anywhere}.journal-terms{font-size:10px;line-height:1.5;color:#a3c9be;overflow-wrap:anywhere}
.journal-cap{padding:10px 0;border-top:1px solid #d5c17f55;font-size:11px;line-height:1.5;color:#f8d599}.journal-empty,.journal-rounding{font-size:10px;color:#a8c7bd;line-height:1.5;margin:8px 0 0}
.feature-bank{font-variant-numeric:tabular-nums;font-size:10px;color:#e1fbe5;white-space:nowrap}.feature-bank[hidden]{display:none}
#game[data-feature=true] .hud-message{display:none}#game[data-feature=true] .echo-pill{display:none}
@keyframes journal-arrive{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:none}}
/* A bounded, full-viewport lantern flood bridges base play into the bonus. */
.feature-bridge{--flood-rate:1;position:absolute;inset:0;z-index:12;pointer-events:none;overflow:hidden;container-type:size;isolation:isolate}
.feature-bridge[hidden]{display:none}
.feature-bridge:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 70%,#edcb7042,#173e362b 55%,#041f292e);animation:lantern-flood-glow calc(1400ms * var(--flood-rate)) ease-in-out both}
.flood-lantern{position:absolute;left:var(--flood-x);top:var(--flood-y);width:calc(clamp(36px,min(9cqw,15cqh),122px) * var(--depth));aspect-ratio:.8;animation:lantern-flood-rise calc(1150ms * var(--flood-rate)) cubic-bezier(.22,.65,.3,1) calc(var(--stagger) * var(--flood-rate)) both;will-change:transform,opacity}
.flood-lantern .paper-lantern-body{box-shadow:inset 0 0 12px #fff1bd,0 0 14px #ffdc844a}
@keyframes lantern-flood-rise{0%{opacity:0;transform:translate(-50%,110cqh) rotate(calc(var(--tilt) - 10deg)) scale(.75)}18%{opacity:calc(var(--flood-opacity) * .92)}38%,60%{opacity:var(--flood-opacity);transform:translate(-50%,-50%) rotate(var(--tilt)) scale(1)}100%{opacity:0;transform:translate(-50%,calc(-115cqh - 50%)) rotate(calc(var(--tilt) + 8deg)) scale(1.06)}}
@keyframes lantern-flood-glow{0%,100%{opacity:0}35%,62%{opacity:1}}
.feature-bridge[data-speed=fast]{--flood-rate:.5}
.feature-bridge:is([data-speed=turbo],[data-reduced=true]) .flood-lantern{display:none}
.feature-bridge:is([data-speed=turbo],[data-reduced=true]):before{animation:none;opacity:.22}
#game[data-suspended=true] .feature-bridge *{animation-play-state:paused!important}
@media(max-aspect-ratio:1/1){.flood-lantern{left:var(--phone-x);top:var(--phone-y);width:calc(clamp(28px,min(17cqw,10cqh),86px) * var(--depth))}}
@media(prefers-reduced-motion:reduce){.feature-bridge .flood-lantern{display:none}.feature-bridge:before{animation:none;opacity:.22}}
.win-radiance{position:absolute;inset:10% -8%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse,#8cffe52c,transparent 65%);animation:win-aura 1.4s ease-out both}
.win-particles{position:absolute;inset:15% 0 10%;z-index:-1;overflow:hidden;pointer-events:none}.win-mote{position:absolute;bottom:4%;width:var(--size);height:var(--size)}.light-mote{border-radius:50%;background:radial-gradient(#ffffdf,#baffd244,transparent 67%)}.treasure-mote{background:url('./assets/treasures.png') var(--sprite-x) var(--sprite-y)/300% 300% no-repeat;filter:drop-shadow(0 0 5px #ffe19180)}
.celebration{isolation:isolate}.celebration[data-tier=nice] .win-radiance{inset:28% 15%;background:radial-gradient(ellipse,#8cffe533,transparent 70%)}
.celebration[data-tier=great] .win-radiance{inset:10% -12%;background:radial-gradient(ellipse,#ffeab33b,transparent 64%)}
.celebration[data-tier=huge] .win-radiance{background:radial-gradient(ellipse,#eeb8754a,transparent 67%),conic-gradient(from 20deg,transparent,#ffecc717,transparent 30%,#fadb851b,transparent 60%)}
.celebration[data-tier=huge] .result-title{animation:win-heavy .85s cubic-bezier(.2,.7,.3,1) both;letter-spacing:2px}
.celebration[data-tier=insane] .win-radiance{inset:-6% -16%;background:radial-gradient(ellipse,#e2c1ff38,#6ddfcc20 40%,transparent 68%),repeating-conic-gradient(from 20deg,transparent 0 18deg,#d6fbff0b 20deg 24deg);animation:win-aura 1.4s ease-out both}
.celebration[data-tier=insane] .result-title{animation:win-expand 1s cubic-bezier(.2,.7,.3,1) both;color:#ecddff;text-shadow:0 3px 0 #493a62,0 0 10px #071e27,0 0 30px #c995fd66}
.celebration[data-tier=cap] .win-radiance{inset:-20%;background:radial-gradient(ellipse,#fff7c540,#c0ffdf1a 50%,transparent 70%),repeating-conic-gradient(transparent 0 16deg,#ffeca414 17deg 21deg);animation:maximum-resolve 1.8s ease-out both}
.celebration[data-tier=cap] .result-title{animation:win-crown 1s cubic-bezier(.2,.7,.3,1) both;color:#fff8d8;letter-spacing:2px}
@keyframes win-aura{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes win-heavy{0%{opacity:0;transform:translateY(-35px) scale(1.25)}50%{opacity:1;transform:translateY(7px) scale(.96)}75%{transform:translateY(-3px) scale(1.02)}100%{transform:none}}
@keyframes win-expand{0%{opacity:0;transform:scale(.65);letter-spacing:-3px}65%{opacity:1;transform:scale(1.06);letter-spacing:3px}100%{transform:none;letter-spacing:1px}}
@keyframes win-crown{0%{opacity:0;transform:translateY(-24px) scale(.8)}60%{opacity:1;transform:translateY(3px) scale(1.025)}100%{transform:none}}
@keyframes maximum-resolve{0%{opacity:0;transform:scale(.7)}30%{opacity:1;transform:scale(1.04)}100%{opacity:.75;transform:scale(1)}}
.retrigger-celebration:before{content:'';position:absolute;inset:15% 4%;z-index:-1;background:radial-gradient(ellipse,#b9ffe12e,#0b2b382a 45%,transparent 70%);animation:win-aura .6s both}.retrigger-count{color:#fff0b8}.retrigger-label{color:#ddffe9;letter-spacing:2px}
#game[data-feature=true] .sea-mist{filter:blur(12px) hue-rotate(-12deg);opacity:.42}#game[data-feature=true] .moonlight{background:radial-gradient(circle,#edffd52f,#87efdc20 38%,transparent 70%)}
#game:has(.sky-lanterns[data-phase=maximum]):before{box-shadow:inset 0 0 130px #fff2aa4a;transition:box-shadow .5s}
.boot.loading{background:transparent;justify-content:flex-end;padding:32px;z-index:2;text-shadow:0 2px 8px #00131d}.boot.loading p{margin:0;padding:10px 16px;border-radius:30px;background:#092a30dc;font-size:12px}.boot.loading progress{width:130px;height:3px;accent-color:#dbd7a4}.boot.loading h1{display:none}
@media(max-width:699px){.board-wrap{padding-top:24px}.board-topline{font-size:6px;top:7px;letter-spacing:.6px}.game-hud{gap:6px}.game-hud .hud-message,.game-hud .echo-pill{display:none}.game-hud .feature-progress{font-size:8px;letter-spacing:0}.feature-bank{font-size:9px}.journal-label{font-size:7px;letter-spacing:.4px}.journal-total{font-size:11px}.award-journal summary{padding:4px 7px}.board-bottomline{height:30px;min-height:30px;margin-top:3px}.board-bottomline:not(.showing-multiplier){line-height:30px}.multiplier-math{font-size:11px}.multiplier-math strong{font-size:16px}}
@media(max-height:500px){.board-wrap{padding-top:18px}.board-topline{font-size:6px;top:4px}.board-bottomline{height:25px;min-height:25px;margin-top:2px}.board-bottomline:not(.showing-multiplier){line-height:25px}.board-bottomline .award-name{display:none}.game-hud{min-height:26px}.award-journal summary{min-height:26px}.game-hud .hud-message{display:none}.journal-panel{max-height:55dvh}.game-hud .echo-pill{display:none}}
@media(max-height:359px){.board-wrap{padding-top:12px}.game-hud{min-height:24px}.award-journal summary{min-height:24px;padding:2px 6px}.journal-total{font-size:11px}.board-bottomline{height:20px;min-height:20px;font-size:8px}.board-bottomline:not(.showing-multiplier){line-height:20px;font-size:8px}.multiplier-math{font-size:9px}.multiplier-math strong{font-size:12px}.feature-bank{font-size:8px}.journal-panel{max-height:48dvh}.retrigger-label{letter-spacing:0}}
#game[data-reduced=true] .award-journal *{animation:none!important;transition:none!important}#game[data-suspended=true] .award-journal *{animation-play-state:paused!important}
/* The logo no longer needs room for a lantern beneath it. */
@media(min-height:501px){.game-logo{height:66px;padding-bottom:6px}}
@media(max-width:699px) and (min-height:501px){.game-logo{height:66px;padding-bottom:6px}}
@media(max-width:699px){.award-journal{position:static}.journal-panel{left:50%;transform:translateX(-50%)}}
@media(max-height:500px){.board-wrap{padding-top:16px}}
@media(max-height:359px){.board-wrap{padding-top:3px}}

/* Equal-speed, staggered lanes preserve space between lamps indefinitely. */
.sky-lanterns{--flotilla-width:clamp(42px,calc((100vw - var(--board-width)) / 2 - 20px),280px);position:absolute;left:calc(100% + 10px);top:0;width:var(--flotilla-width);height:100%;overflow:hidden;mask-image:linear-gradient(transparent,#000 8% 92%,transparent);container-type:size;z-index:4}
.sky-lantern{--lantern-x:24%;left:var(--lantern-x);width:clamp(10px,min(22cqw,17cqh),54px);top:var(--lantern-rest);transform:translateX(-50%);animation:lantern-flight var(--flight) linear var(--delay) infinite}
.sky-lantern[data-lane="1"]{--lantern-x:76%}
.sky-lantern .paper-lantern-body{transition:filter .17s,box-shadow .17s}
.sky-lanterns:is([data-phase=prepare],[data-phase=release],[data-phase=impact]) .sky-lantern.emitting .paper-lantern-body{filter:brightness(1.17);box-shadow:inset 0 0 14px #fff5cb,0 0 16px 5px #f8d48a88,0 0 35px #b6ffe655}
@keyframes lantern-flight{0%{top:var(--flight-start);opacity:0;transform:translateX(-50%) rotate(-3deg)}15%,80%{opacity:.86}50%{transform:translateX(-44%) rotate(3deg)}100%{top:var(--flight-end);opacity:0;transform:translateX(-50%) rotate(-3deg)}}
#game[data-reduced=true] .sky-lantern{top:var(--lantern-rest);opacity:.86;transform:translateX(-50%)}
/* On phones the lower sky belongs to the lamps; keep the reel width intact. */
slot-game-shell[data-layout=portrait]{--mobile-lantern-height:96px}
slot-game-shell[data-layout=portrait] .scene{padding-bottom:var(--mobile-lantern-height)}
slot-game-shell[data-layout=portrait] .sky-lanterns{left:0;top:calc(100% + 4px);width:100%;height:calc(var(--mobile-lantern-height) - 8px)}
slot-game-shell[data-layout=portrait] .sky-lantern{--lantern-x:18%;width:clamp(26px,min(41cqh,42px),42px);animation-name:lantern-flight-mobile}
slot-game-shell[data-layout=portrait] .sky-lantern[data-lane="1"]{--lantern-x:82%}
@keyframes lantern-flight-mobile{0%{top:130%;opacity:0;transform:translateX(-50%) rotate(-3deg)}15%,80%{opacity:.86}50%{transform:translateX(-44%) rotate(3deg)}100%{top:-70%;opacity:0;transform:translateX(-50%) rotate(-3deg)}}
#game[data-reduced=true] slot-game-shell[data-layout=portrait] .sky-lantern{top:calc(var(--lantern-rest) * 1.25 - 20%)}
@media(max-height:700px){slot-game-shell[data-layout=portrait]{--mobile-lantern-height:72px}}

.spin-status{width:100%;min-width:0;font-variant-numeric:tabular-nums;text-shadow:none}
.spins-card{padding:13px 8px 10px;text-align:center;border:1px solid #d6be7f;border-radius:12px;background:radial-gradient(ellipse at 50% 0,#73978144,transparent 70%),linear-gradient(#24534d,#102e34);box-shadow:inset 0 0 0 3px #112e32,inset 0 0 0 4px #c0ae7755,0 5px 15px #001c2466;margin-bottom:12px}
.spins-card[hidden]{display:none}.spins-card>span{display:block;color:#deebce;font-size:12px;font-weight:700;line-height:1.3;letter-spacing:1px}.spins-card>strong{display:block;color:#ffe6a2;font:700 56px/1.12 Georgia,serif;text-shadow:0 2px 0 #684d26;margin-top:4px}
/* A quiet, fixed window: blank before a hit, three latest rows once populated. */
.tumble-box{height:154px;padding:10px;border:1px solid #a9bd9680;border-radius:10px;background:linear-gradient(145deg,#173c3dd9,#092c32df);box-shadow:inset 0 0 0 2px #9bcab511,0 5px 15px #001c2455;text-align:left;overflow:hidden}
.tumble-box header{height:31px;border-bottom:1px solid #96b39f3b}
.tumble-box header[hidden]{display:none}
.tumble-inspect{display:flex;align-items:center;justify-content:space-between;gap:3px;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;height:30px;width:100%}
.tumble-inspect>span{color:#d0dfc0;font-size:8px;font-weight:600;letter-spacing:.3px;max-width:42px}.tumble-total{font-size:18px;color:#ffe6a2;font-weight:650}
.tumble-inspect:focus-visible{outline:2px solid #ffe6a2;outline-offset:1px;border-radius:4px}
.tumble-rows{padding:0;margin:9px 0 0;list-style:none;height:93px;overflow:hidden;overscroll-behavior:contain}
.tumble-row{display:grid;grid-template-columns:18px 27px minmax(0,1fr);gap:3px;align-items:center;height:31px;border-bottom:1px solid #c6d9b218}
.tumble-count{font-size:11px;color:#cddccc;text-align:center}.tumble-icon{width:27px;height:27px;background:url('./assets/treasures.png') 0 0/300% 300% no-repeat}
.tumble-value{font-size:12px;color:#f6e7b6;text-align:right;overflow-wrap:anywhere}.tumble-cap{height:31px;display:flex;align-items:center;justify-content:flex-end;font-size:10px;color:#f3cb94}
.mobile-spin-status{display:none}
.game-hud .feature-progress{display:none}
slot-game-shell:is([data-layout=portrait],[data-layout=mini]) .mobile-spin-status[data-feature=true]{display:block;width:auto}
.mobile-spin-status .tumble-box{display:none}
.mobile-spin-status .spins-card{display:flex;align-items:center;gap:8px;margin:0;padding:4px 10px;border-radius:8px}
.mobile-spin-status .spins-card[hidden]{display:none}.mobile-spin-status .spins-card>span{font-size:8px;letter-spacing:.4px}.mobile-spin-status .spins-card>strong{font-size:25px;margin:0;line-height:1}
slot-game-shell:is([data-layout=portrait],[data-layout=mini]) .game-hud{flex-wrap:nowrap;justify-content:center;gap:8px;min-height:0}
slot-game-shell[data-layout=portrait] .game-hud{flex-direction:column;gap:4px}
slot-game-shell:is([data-layout=portrait],[data-layout=mini]) .award-journal{position:static}
slot-game-shell:is([data-layout=portrait],[data-layout=mini]) .journal-panel{bottom:calc(100% + 8px);left:50%;transform:translateX(-50%)}
slot-game-shell:is([data-layout=portrait],[data-layout=mini]) .feature-bank{display:none}
slot-game-shell:is([data-layout=portrait],[data-layout=mini]) .board-bottomline{display:none!important}
@media(max-width:699px) and (max-height:700px){.game-logo{height:44px;padding-bottom:2px}}
slot-game-shell[data-layout=compact] .spins-card{padding:8px 6px;margin-bottom:8px}
slot-game-shell[data-layout=compact] .spins-card>strong{font-size:38px}
slot-game-shell[data-layout=compact] .spins-card>span{font-size:10px}
slot-game-shell[data-layout=compact] .tumble-box{height:124px;padding:10px}
slot-game-shell[data-layout=compact] .tumble-rows{height:62px}
@media(max-height:500px){
 slot-game-shell[data-layout=compact] .tumble-box{height:96px;padding:6px}
 slot-game-shell[data-layout=compact] .tumble-box header{height:26px}
 slot-game-shell[data-layout=compact] .tumble-inspect{height:25px}
 slot-game-shell[data-layout=compact] .tumble-total{font-size:15px}
 slot-game-shell[data-layout=compact] .tumble-rows{height:52px;margin-top:4px}
 slot-game-shell[data-layout=compact] .tumble-row{height:26px;grid-template-columns:16px 23px minmax(0,1fr)}
 slot-game-shell[data-layout=compact] .tumble-icon{width:23px;height:23px}
 slot-game-shell[data-layout=compact] .tumble-value{font-size:11px}
}
slot-game-shell[data-layout=mini] .mobile-spin-status .spins-card{padding:2px 5px;gap:5px}
slot-game-shell[data-layout=mini] .mobile-spin-status .spins-card>strong{font-size:20px}
slot-game-shell[data-layout=mini] .mobile-spin-status .spins-card>span{font-size:7px}

.launch-intro{position:absolute;inset:0;z-index:50;isolation:isolate;display:flex;flex-direction:column;align-items:center;padding:clamp(16px,3vh,30px) 5vw 16px;overflow:auto;background:#061c29;color:#f6edcf;text-align:center;animation:intro-arrive .65s ease-out both}
.intro-scene{position:absolute;inset:0;z-index:-2;background:#082b36 url('./assets/launch-background.webp') center/cover no-repeat}
.intro-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#02182018,#061f2655 38%,#031b26dc)}
.intro-glow{position:absolute;z-index:-1;top:4%;left:25%;width:50%;height:55%;background:radial-gradient(ellipse,#8eedce26,transparent 64%);animation:intro-light 6s ease-in-out infinite alternate;pointer-events:none}
.intro-brand{flex:none;font-size:11px;letter-spacing:5px;color:#f2d69c;line-height:1.5}.intro-brand span{letter-spacing:2px;color:#b6d5cd;font-size:9px;margin-left:8px}
.intro-content{flex:1;min-height:0;width:min(1140px,100%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(16px,3vh,32px)}
.intro-identity{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:100%}
.intro-keyart{display:block;object-fit:contain;min-height:0;width:min(480px,60vw);height:100%;max-height:42vh;filter:drop-shadow(0 8px 20px #00141c99);animation:intro-hover 6s ease-in-out infinite alternate;user-select:none}
.intro-identity p{flex:none;margin:3px 0 0;font-size:clamp(11px,1.1vw,15px);letter-spacing:1.5px;color:#dfefdf;text-shadow:0 2px 5px #00151d}
.intro-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;width:100%;flex:none}
.intro-card{position:relative;border:1px solid #b7c8a455;border-radius:16px;background:linear-gradient(145deg,#0c3d3ddf,#051f2ae8);padding:18px 23px 20px;box-shadow:inset 0 1px #e6d8a529,0 14px 25px #00101c4d;animation:intro-card-in .8s calc(.12s + var(--order)*.12s) cubic-bezier(.2,.8,.2,1) both}
.intro-card:before{content:'✦';position:absolute;top:-10px;left:calc(50% - 8px);color:#d9c28d;background:#14363b;padding:0 3px;font-size:12px}
.intro-card h2{font:700 clamp(12px,1.2vw,16px)/1.3 Georgia,serif;letter-spacing:1px;margin:12px 0 9px;color:#ffe4a8}
.intro-card p{font-size:clamp(11px,1vw,14px);line-height:1.65;color:#bed8d4;margin:0;max-width:285px;margin-inline:auto}.intro-card strong{color:#e8f4df;font-weight:650}
.intro-cell-demo,.intro-scatter-demo,.intro-max{height:68px;display:flex;align-items:center;justify-content:center}
.intro-cell-demo{gap:8px}.intro-cell-demo b{display:grid;place-items:center;width:58px;height:58px;border:1px solid #90d5b5;border-radius:9px;color:#d8ffe4;font:700 26px Georgia,serif;background:linear-gradient(145deg,#45896970,#163e3e);box-shadow:inset 0 0 18px #75f9c81f;animation:intro-cell-pulse 4.8s ease-in-out infinite}.intro-cell-demo b:nth-of-type(2){animation-delay:.55s;background:linear-gradient(145deg,#438eb066,#163e3e);border-color:#87c3d6;color:#c7f3ff}.intro-cell-demo b:nth-of-type(3){animation-delay:1.1s;background:linear-gradient(145deg,#a1844866,#173f3e);border-color:#d0b875;color:#ffe6a3}.intro-cell-demo>span{font-size:19px;color:#a7b697}
.intro-scatter-demo img{width:68px;height:68px;object-fit:contain;filter:drop-shadow(0 2px 9px #fee4a62a);animation:intro-scatter-bob 3.5s ease-in-out infinite alternate}.intro-scatter-demo img:nth-child(2){width:81px;height:81px;animation-delay:-1s}.intro-scatter-demo img:nth-child(3){animation-delay:-2s}
.intro-max{font:700 clamp(38px,4vw,55px)/1 Georgia,serif;color:#ffe6a4;letter-spacing:-2px;text-shadow:0 3px #624825,0 0 30px #c6a35438}.intro-max span{font-size:.7em;padding-left:4px}
.intro-footer{flex:none;display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:20px;width:100%}
.intro-enter{background:none;border:0;color:#fff0c4;min-height:46px;padding:8px 18px;cursor:pointer;font:700 clamp(15px,1.9vw,23px)/1.25 Georgia,serif;letter-spacing:1.7px;text-shadow:0 2px 4px #001722;animation:intro-prompt 3s ease-in-out infinite alternate}.intro-enter span{display:inline-block;margin-left:10px;color:#78d5bc;font-size:1.35em;transition:transform .2s}.intro-enter:hover span{transform:translateX(5px)}
.intro-enter:focus-visible,.intro-skip:has(:focus-visible){outline:2px solid #f7dda0;outline-offset:4px;border-radius:6px}
.intro-skip{display:flex;align-items:center;gap:9px;min-height:32px;font-size:12px;color:#b9cfc7;cursor:pointer}.intro-skip input{appearance:none;width:18px;height:18px;border:1px solid #c5bf91;border-radius:3px;background:#082a33;display:grid;place-items:center;margin:0}.intro-skip input:checked:after{content:'✓';font-size:14px;color:#ffedb1}.intro-skip input:focus-visible{outline:none}.intro-key-hint{font-size:9px;letter-spacing:1.5px;color:#97b4b1}
.launch-intro.leaving{animation:intro-depart .26s ease-in both;pointer-events:none}
@keyframes intro-arrive{from{opacity:0}to{opacity:1}}@keyframes intro-depart{to{opacity:0;transform:scale(1.035)}}@keyframes intro-card-in{from{opacity:0;transform:translateY(30px) scale(.92)}65%{opacity:1;transform:translateY(-4px) scale(1.01)}to{opacity:1;transform:none}}@keyframes intro-hover{from{transform:translateY(2px) rotate(-.4deg)}to{transform:translateY(-7px) rotate(.4deg)}}@keyframes intro-light{to{opacity:.45;transform:scale(1.1)}}@keyframes intro-cell-pulse{0%,60%,100%{transform:none;filter:brightness(1)}15%{transform:translateY(-4px) scale(1.06);filter:brightness(1.4)}}@keyframes intro-scatter-bob{to{transform:translateY(-4px) rotate(2deg)}}@keyframes intro-prompt{to{color:#e8d8a9}}
.launch-intro[data-reduced=true],.launch-intro[data-reduced=true] *{animation:none!important;transition:none!important}.launch-intro[data-suspended=true],.launch-intro[data-suspended=true] *{animation-play-state:paused!important}
@media(max-width:699px) and (orientation:portrait){.launch-intro{padding:14px 18px max(14px,env(safe-area-inset-bottom))}.intro-brand{font-size:9px}.intro-content{gap:18px}.intro-keyart{width:min(320px,77vw);max-height:32vh}.intro-identity p{font-size:10px;letter-spacing:.5px}.intro-features{grid-template-columns:1fr;gap:10px}.intro-card{display:grid;grid-template-columns:108px 1fr;column-gap:14px;align-items:center;text-align:left;padding:12px;border-radius:11px}.intro-card:before{display:none}.intro-card h2{font-size:11px;letter-spacing:.5px;margin:0 0 5px;grid-column:2}.intro-card p{font-size:11px;line-height:1.5;grid-column:2;max-width:none}.intro-cell-demo,.intro-scatter-demo,.intro-max{grid-row:1/3;height:58px}.intro-cell-demo{gap:2px}.intro-cell-demo b{width:30px;height:38px;font-size:17px;border-radius:5px}.intro-cell-demo>span{font-size:11px}.intro-scatter-demo img{width:35px;height:45px}.intro-scatter-demo img:nth-child(2){width:43px;height:54px}.intro-max{font-size:28px;letter-spacing:-1px}.intro-footer{padding-top:14px;gap:3px}.intro-enter{font-size:14px;letter-spacing:.8px;padding-inline:0}.intro-key-hint{display:none}}
@media(max-height:560px) and (orientation:landscape){.launch-intro{padding:12px 4vw}.intro-brand{position:absolute;top:16px;left:4vw;font-size:9px}.intro-content{flex-direction:row;gap:25px;width:100%}.intro-identity{width:27%;flex:none;height:100%}.intro-keyart{width:100%;max-height:70vh;height:auto}.intro-identity p{font-size:10px;letter-spacing:.3px}.intro-features{width:73%;gap:12px}.intro-card{padding:15px 10px}.intro-card h2{font-size:11px;letter-spacing:.4px}.intro-card p{font-size:11px}.intro-cell-demo{gap:3px}.intro-cell-demo b{width:38px;height:45px;font-size:22px}.intro-scatter-demo img{width:48px;height:55px}.intro-scatter-demo img:nth-child(2){width:55px;height:62px}.intro-max{font-size:38px}.intro-footer{flex-direction:row;justify-content:center;gap:24px;padding-top:10px}.intro-enter{font-size:14px;letter-spacing:.8px}.intro-key-hint{display:none}}
@media(max-height:680px) and (orientation:portrait){.intro-content{gap:12px}.intro-keyart{max-height:26vh}.intro-features{gap:8px}.intro-card{padding:9px 10px}.intro-footer{padding-top:6px}.intro-identity p{font-size:9px}}
@media(prefers-reduced-motion:reduce){.launch-intro,.launch-intro *{animation:none!important;transition:none!important}}
/* Mid-size embedded players must not inherit a desktop card's intrinsic width. */
@media(min-width:700px) and (max-width:999px){.intro-features{gap:12px}.intro-card{min-width:0;padding:15px 10px}.intro-card h2{font-size:11px;letter-spacing:.4px}.intro-card p{font-size:11px}.intro-cell-demo{gap:3px}.intro-cell-demo b{width:38px;height:45px;font-size:21px}.intro-scatter-demo img{width:46px;height:55px}.intro-scatter-demo img:nth-child(2){width:55px;height:62px}.intro-max{font-size:35px}}
@media(max-height:560px) and (orientation:landscape){.intro-features{width:auto;flex:1;min-width:0}}

/* Wide symbol-pile identity, shared with the reel header and lobby exports. */
.intro-keyart{width:min(960px,88vw);height:auto;max-height:34vh;object-fit:contain}
.intro-scatter-demo{gap:6px}.intro-scatter-demo img,.intro-scatter-demo img:nth-child(2){width:56px;height:56px;margin:0;object-fit:contain}
@media(max-width:699px) and (orientation:portrait){.intro-keyart{width:94vw;max-height:25vh}.intro-scatter-demo img,.intro-scatter-demo img:nth-child(2){width:40px;height:40px}}
@media(max-height:560px) and (orientation:landscape){.intro-keyart{width:100%;max-height:55vh}}

:root{--rbg-black:#080808;--rbg-yellow:#f5c542;--rbg-white:#f7f5ef}
.rbg-loader{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;box-sizing:border-box;padding:24px;background:var(--rbg-black);color:var(--rbg-white);font-family:Arial,Helvetica,sans-serif;text-align:center;overflow:auto;color-scheme:dark}
.rbg-loader[hidden]{display:none}
.rbg-loader__content{width:min(320px,78vw);max-width:100%;margin:auto}
.rbg-loader__logo{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:contain;margin:0 auto 30px}
.rbg-loader__progress{appearance:none;-webkit-appearance:none;display:block;width:84%;height:3px;margin:0 auto;border:0;border-radius:0;background:#323232;color:var(--rbg-yellow);overflow:hidden}
.rbg-loader__progress::-webkit-progress-bar{background:#323232}
.rbg-loader__progress::-webkit-progress-value{background:var(--rbg-yellow)}
.rbg-loader__progress::-moz-progress-bar{background:var(--rbg-yellow)}
.rbg-loader__status{margin:17px 0 0;color:#aaa9a4;font-size:11px;font-weight:400;line-height:1.6;letter-spacing:.04em;overflow-wrap:anywhere}
.rbg-loader__retry{display:block;margin:22px auto 0;padding:12px 22px;border:1px solid #696451;background:transparent;border-radius:3px;color:var(--rbg-white);font:600 12px Arial,Helvetica,sans-serif;cursor:pointer}
.rbg-loader__retry[hidden],.rbg-loader__progress[hidden]{display:none}
.rbg-loader__retry:hover{border-color:var(--rbg-yellow);color:var(--rbg-yellow)}
.rbg-loader__retry:focus-visible{outline:2px solid var(--rbg-yellow);outline-offset:5px}
.rbg-loader[data-state=error] .rbg-loader__status{color:#e5d8bd;font-size:13px}
@media(max-height:300px){.rbg-loader__content{width:220px}.rbg-loader__logo{margin-bottom:16px}.rbg-loader__status{margin-top:10px}}
/* The opaque dark master blends into the provider surface without a visible box. */
.rbg-loader__logo{mix-blend-mode:lighten}
/* Two clipped views of the same cached artwork keep the lettering perfectly still. */
.rbg-loader__brand{position:relative;width:100%;aspect-ratio:3/1;margin:0 auto 30px}
.rbg-loader__brand .rbg-loader__logo{margin:0;clip-path:inset(0 0 0 19%)}
.rbg-loader__bolt{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;clip-path:inset(0 81% 0 0);mix-blend-mode:lighten;transform-origin:10.5% 52%}
.rbg-loader:not([data-state=error]) .rbg-loader__bolt{animation:rbg-bolt-shake 3.6s ease-in-out infinite}
@keyframes rbg-bolt-shake{0%,4%,22%,100%{transform:translate(0,0) rotate(0)}7%,13%{transform:translate(-.7px,.2px) rotate(-1.7deg)}10%,16%{transform:translate(.7px,-.2px) rotate(1.7deg)}19%{transform:translate(-.3px,0) rotate(-.6deg)}}
.rbg-loader[data-suspended=true] .rbg-loader__bolt{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.rbg-loader .rbg-loader__bolt{animation:none!important}}
@media(max-height:300px){.rbg-loader__brand{margin-bottom:16px}}
