@layer splat-scene {
/* Approved B art family. Raster skins provide the painted surface; all
   symbols, amounts, button labels and hit areas remain independent. */
body{min-width:0;min-height:0;background:#071124 url('assets/alley-delivery-runtime-q94.webp') center/cover fixed}
body:before{background:linear-gradient(90deg,#090d2466,transparent 30%,transparent 70%,#090d2466)}
.wordmark{background:url('assets/logo-painted-v1-delivery-runtime-q94.webp') center/contain no-repeat;font-size:0!important;color:transparent;-webkit-text-stroke:0;text-shadow:none;transform:none;width:270px;height:120px;padding:0;max-width:none}
.wordmark i{display:none}.tagline{display:none}.preview-tag{font-size:8px;background:#0c1527d9;border:1px solid #567089;color:#d5e4e6}
.masthead{min-height:125px;padding:0 8px}.masthead .preview-tag{position:absolute;right:12px;top:13px;left:auto;bottom:auto;margin:0}
.hero{background-image:url('assets/painter-contact-v2-delivery-runtime-lossless.webp');background-size:200% 200%;transform-origin:0 0;will-change:transform}
.hero-float{animation:none}.hero-shadow{display:none}.presenter{z-index:8}
.symbol.premium{animation:none;transform-origin:50% 65%}
.premium-interior{position:absolute;inset:0;pointer-events:none}.premium-interior[hidden]{display:none}.premium-interior>.registered-art{width:100%;height:100%;display:block}
.prop-action{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none;fill:none;stroke:#ff9c79;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:80}
.cell[data-symbol=scatter] .prop-action{fill:#fff1be;stroke:#ffe18c;stroke-width:2}
.cell[data-symbol=mask] .prop-action{stroke:#adf6e7}.cell[data-symbol=boot] .prop-action{stroke:#e2b97e}
.game[data-state=playing] .symbol.premium,.game[data-state=playing] .symbol.premium::after{animation:none}
.game[data-state=playing] .cell.reeling .symbol.premium{animation:reel .14s linear infinite}.game[data-state=playing] .cell.landed .symbol.premium{animation:land .24s ease-out}
.board.showing-win .cell:not(.winning) .symbol{opacity:.32}
.board.showing-win .cell.painted:not(.winning)>.paint-fill{opacity:.32}
.cell.winning::before,.cell.win-result::before{display:none}
.cell.win-result::before{opacity:.45}.cell.winning .symbol{z-index:2;filter:drop-shadow(0 2px 2px #061326)}
.game.review-paused *,.game.review-paused *::before,.game.review-paused *::after{animation-play-state:paused!important}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.splat-lettering{display:block;height:1em;width:calc(var(--letter-width)*1em);max-width:100%;overflow:visible;fill:none;stroke:none}
.letter-face{fill:#fff0cf;stroke:#091529;stroke-width:5;stroke-linejoin:round;paint-order:stroke fill}
.letter-shadow{fill:#b83f3c;stroke:#091529;stroke-width:5;stroke-linejoin:round;transform:translateY(3px);opacity:.8}
.data-strip>span{display:flex;align-items:center;gap:8px}.data-strip strong{display:block;padding-left:0;font-size:26px}
.amount-controls{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;padding:1px;justify-self:stretch;width:100%;min-width:0}
.amount-controls #minus,.amount-controls #plus{width:44px;height:44px;min-width:44px;padding:8px;display:grid;place-items:center}
.amount-controls #amount{min-width:0;width:100%;padding:0;gap:1px;align-items:center}
.amount-controls #amount strong{display:grid;place-items:center;width:100%;min-width:0;font-size:26px;line-height:1}
.amount-controls #amount small{white-space:nowrap;font-size:10px;font-weight:700;line-height:1.1;letter-spacing:.04em;color:#e1faf5}
#amount .amount-heading{display:flex;align-items:center;justify-content:center;gap:4px}
#amount .amount-heading svg{width:10px;height:8px;fill:none;stroke:#e1faf5;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#amount:focus-visible,#minus:focus-visible,#plus:focus-visible{outline:2px solid #ffe4b4;outline-offset:2px}
.amount-controls #amount:disabled{opacity:1}
#amount:disabled .amount-heading svg{visibility:hidden}
.amount-controls:has(#amount:disabled){border-color:#466b79;box-shadow:inset 0 1px #213d4a,0 3px #070e22}
.amount-controls #minus .splat-lettering,.amount-controls #plus .splat-lettering{height:25px;width:25px}
.amount-controls .letter-shadow{fill:#137d8b}
.amount-options button{display:grid;place-items:center;font-size:26px;min-height:50px}
#spin-label{display:grid;place-items:center;transform:rotate(-3deg);font-size:25px}
#spin-label .splat-lettering{max-width:58px}#spin-label .letter-face{fill:#11172d;stroke:#11172d;stroke-width:1}#spin-label .letter-shadow{fill:#ffb28a;stroke:none;opacity:.8;transform:translateY(-2px)}
.paint-fill b .splat-lettering{max-width:92%;margin:auto}.wild-value .letter-face{fill:#ffe49d;stroke:#39142b;stroke-width:5}.wild-value .letter-shadow{fill:#a53732;stroke:#39142b;stroke-width:5}
.board-frame{border:0;background:transparent url('assets/board-painted-v1-delivery.webp') center/100% 100% no-repeat;box-shadow:none;border-radius:0;padding:0;aspect-ratio:1.10;overflow:visible}
.board{position:absolute;left:5.1%;right:5.1%;top:11.2%;bottom:11.7%;gap:1.1% 1%;border-radius:0;overflow:visible;grid-template-rows:repeat(4,minmax(0,1fr))}
.cell,.cell[data-tier=premium],.cell[data-tier=scatter]{aspect-ratio:auto;border:0;border-radius:8%;background:none;overflow:visible;min-height:0;container-type:size}
.cell.reeling{overflow:hidden}.board-region{z-index:auto}
.board.anticipating .cell.reeling{box-shadow:inset 0 0 14px #ffc84b99}
.game[data-state=playing] .board.anticipating .cell.reeling .symbol{animation-duration:.09s!important}
.symbol{height:99%;width:auto;inset:0;aspect-ratio:1}.symbol.premium{height:100%;width:auto;inset:0}
.registered-prop{display:block;width:100%;height:100%;overflow:hidden}
.registered-art{display:block;width:100%;height:100%;overflow:hidden;pointer-events:none}
.frame-drip{display:none}.mode-strip{padding:0 5.5%;position:relative;z-index:9;margin-bottom:-4%;height:15px;font-size:9px;letter-spacing:.07em;justify-content:flex-start;gap:10px}.mode-strip #round-label{font-size:.85em;color:#a9bad4}.mode-strip span:empty{display:none}
.cell.target{box-shadow:none}.cell.target:after{content:none}.cell.target .symbol{opacity:1}
.paint-fill,.cell[data-multiplier="2"] .paint-fill,.cell[data-multiplier="3"] .paint-fill{inset:-4%;background:transparent;transform:none!important;clip-path:inset(0 0 100% 0);font:900 clamp(24px,4vw,48px)/1 Impact,'Arial Black',sans-serif;letter-spacing:-.045em;gap:0;color:#fff6db;overflow:visible}
.paint-fill b{transform:rotate(-4deg);text-shadow:none;opacity:0;display:grid;place-items:center;width:94%;font-size:clamp(20px,52cqh,46px);line-height:1}
.cell.painted .paint-fill b{opacity:1}.wild-value{font:900 clamp(18px,3vw,31px)/1 'Arial Black',sans-serif;color:#fff1c6;text-shadow:2px 2px #653223;transform:rotate(-4deg)}
.cell[data-multiplier="2"] .paint-fill b,.cell[data-multiplier="3"] .paint-fill b{font-size:clamp(14px,30cqh,26px)}
.wild-value{font-size:clamp(16px,35cqh,30px)!important;line-height:1;display:grid;place-items:center;max-width:90%}
.paint-coat{inset:-4%;background:transparent;transform:none;opacity:0;filter:brightness(1.12);z-index:3}.cell.recoating .paint-coat{opacity:1}
.has-wild-material>.registered-art{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.wild-paint-interior{position:absolute;inset:0;mask-image:radial-gradient(ellipse 46% 17% at 50% 33%,#000 65%,transparent 100%);clip-path:inset(18% 8% 52% 8%);z-index:0;pointer-events:none}.wild-paint-interior[hidden]{display:none}
.wild-paint-interior>.registered-art{position:absolute;inset:0;width:100%;height:100%}
.has-wild-material>b,.has-wild-material>.wild-value{position:relative;z-index:2}
.status{min-height:24px;padding:0 8px 4px;font-size:11px;color:#dddcd0}
.console{margin-top:0}.data-strip{border:3px solid #129fac;border-radius:12px 9px 11px 10px;background:#071624;box-shadow:inset 0 2px #163949,0 2px #070d20;font-size:10px;padding:7px 12px}.data-strip strong{font-size:23px;font-weight:600}
.control-deck{background:#071729e8;border:0;border-radius:11px;padding:9px 5px 12px;box-shadow:0 4px #080e2677;gap:8px}
.small-button,.feature-button,.playback-button,.amount-controls{background:linear-gradient(155deg,#12374b,#09182a 70%);border:3px solid #129da9;border-radius:16px 13px 16px 12px;box-shadow:inset 1px 2px #46c4c530,inset -2px -3px #061b2e,0 3px #070e22}
.small-button svg{width:27px;height:27px;stroke-width:3}.feature-button{font-weight:700}.amount-controls #minus,.amount-controls #plus{background:#123750;border:2px solid #041629;border-radius:50%;box-shadow:inset 2px 2px #29647a;font-size:29px}
.spin{transform:rotate(-6deg)}.spin-face{border:4px solid #071224;outline:3px solid #ff6954;background:#ff6251;border-radius:49% 46% 50% 45%;box-shadow:inset 0 0 0 3px #feaa80,inset -5px -5px #d9423c,3px 6px #040c25}
/* Keyboard focus follows the painted round face, never the rotated hit box. */
#spin:focus-visible{outline:none}
#spin:focus-visible .spin-face{outline:3px solid #ffcf72;outline-offset:4px}
#spin-label{font-family:'Arial Black',Impact,sans-serif;font-weight:1000;font-style:italic;letter-spacing:-.09em}
.spin .drip{border:1px solid #cc3e36;border-top:0}.drip-a{height:26px;width:9px}.drip-b{height:17px}.droplet{display:none}.preview-note{font-size:8px;letter-spacing:.09em;margin-top:8px}
.motion-review{position:fixed;right:8px;top:8px;width:230px;padding:12px;background:#081624f5;border:2px solid #169da9;border-radius:10px;z-index:30;font-size:12px}.motion-review[hidden]{display:none}.motion-review label{display:block;margin:10px 0}.motion-review select{max-width:170px}.motion-review input{width:100%}.motion-review button{min-height:36px;background:#18394a;border:1px solid #37b3ba;border-radius:6px;margin-right:5px}.motion-review output{display:block;margin-top:9px}.motion-review p{font-size:10px;color:#a9bad4}
.motion-review summary{font-weight:700;cursor:pointer}.motion-review:has(details:not([open])){width:auto;padding:7px 10px}
/* Canonical geometry. Painted surfaces above remain registered to their assets. */
.game{width:var(--cabinet-width);min-height:100svh;grid-template-columns:var(--board-width) minmax(0,1fr);grid-template-areas:'masthead presenter' 'board presenter' 'console console' 'foot foot';gap:0;padding:4px 0;justify-content:center;align-content:center}
.masthead{min-height:var(--head);padding:0;position:relative}.wordmark{position:absolute;left:12px;bottom:0;top:auto;width:170px;max-width:60%;height:var(--head);margin:0}.masthead .preview-tag{position:absolute;right:10px;left:auto;top:auto;bottom:5px;font-size:7px}
.presenter{grid-area:presenter;position:relative;top:auto;right:auto;width:100%;height:auto;min-height:0;align-self:stretch;justify-self:stretch;z-index:8}.presenter .hero-float{width:100%;height:auto;aspect-ratio:1;left:0;right:auto;top:50%;bottom:auto;transform:translateY(-50%)}
.game[data-layout=landscape] .presenter .hero-float{width:100%;left:0}
.board-region{width:var(--board-width);justify-self:center;z-index:auto}.board-frame{width:100%;aspect-ratio:1.25;margin:0;padding:0;border:0}.mode-strip{height:14px;margin-bottom:-2%;font-size:8px}.status{min-height:22px;padding:0 5px 4px;font-size:11px}
.console{width:100%;max-width:none;margin:0;justify-self:stretch}.data-strip{display:flex;padding:4px 10px;font-size:9px}.data-strip strong{font-size:23px}
.game[data-layout=landscape] .console{width:max(100%,650px);max-width:calc(100vw - 10px);justify-self:center}
.game[data-layout=landscape] .board-frame{margin-bottom:-4%}
.control-deck{grid-template-columns:auto minmax(145px,1fr) 44px 44px 72px;grid-template-rows:76px;gap:5px;padding:4px 4px 10px;min-width:0}
.service-controls{grid-column:auto;grid-row:auto;gap:4px}.small-button{width:44px;height:44px}.feature-button{height:44px;padding:0 7px;font-size:10px}.amount-controls{grid-column:auto;grid-row:auto;height:50px;min-width:0;width:100%;justify-self:stretch}.amount-controls #amount{min-width:44px}.amount-controls #amount strong{font-size:23px}.playback-button{height:50px;grid-column:auto;grid-row:auto}#turbo,#auto{grid-column:auto;grid-row:auto}.spin{grid-column:auto;grid-row:auto;width:66px;height:74px;margin:0}.preview-note{display:block;margin:4px 0;font-size:7px}
.game[data-layout=landscape] .service-controls{grid-column:1;grid-row:1}.game[data-layout=landscape] .amount-controls{grid-column:2;grid-row:1}.game[data-layout=landscape] #turbo{grid-column:3;grid-row:1}.game[data-layout=landscape] #auto{grid-column:4;grid-row:1}.game[data-layout=landscape] .spin{grid-column:5;grid-row:1}
/* Keep the painted button's aspect ratio and give it clear desktop priority.
   Its extra height sits within the existing 76px row + 14px deck padding. */
@media(min-width:641px) and (min-height:471px){
  .game[data-layout=landscape] .control-deck{grid-template-columns:auto minmax(145px,1fr) 44px 44px 82px}
  .game[data-layout=landscape] .spin{width:76px;height:85px}
}
.feature-progress{display:none;color:#ffe7c6;font-size:12px;line-height:1.25;padding:8px}.game[data-feature-active=true] .amount-controls,.game[data-feature-active=true] #features,.game[data-feature-active=true] #auto:not([aria-pressed=true]){display:none}.game[data-feature-active=true] .feature-progress{display:block;grid-column:2;grid-row:1}.game.dialog-paused *{animation-play-state:paused!important}
.game[data-layout=portrait]{grid-template-columns:1fr;grid-template-areas:'masthead' 'board' 'console' 'foot';padding:4px 0}
.game[data-layout=portrait] .wordmark{width:49%;max-width:none;left:3px;top:0;bottom:auto;height:85%}.game[data-layout=portrait] .masthead .preview-tag{left:8px;right:auto;bottom:2px}
.game[data-layout=portrait] .presenter{position:absolute;grid-area:auto;right:0;top:0;width:56%;height:var(--head)}.game[data-layout=portrait] .presenter .hero-float{width:min(100%,calc(var(--head) + 24px));height:auto;left:auto;right:0;top:auto;bottom:-10px;transform:none}
.game[data-layout=portrait] .control-deck{grid-template-columns:minmax(132px,1fr) 44px 44px 66px;grid-template-rows:44px 50px;gap:4px;padding:5px 0 10px}
.game[data-layout=portrait] .service-controls{grid-column:1/4;grid-row:1}.game[data-layout=portrait] .amount-controls{grid-column:1;grid-row:2}.game[data-layout=portrait] #turbo{grid-column:2;grid-row:2}.game[data-layout=portrait] #auto{grid-column:3;grid-row:2}.game[data-layout=portrait] .spin{grid-column:4;grid-row:1/3}.game[data-layout=portrait] .feature-progress{grid-column:1;grid-row:2;padding:4px;font-size:11px}
.game[data-layout=compact]{grid-template-columns:var(--board-width) 150px;grid-template-rows:60px 156px;grid-template-areas:'board presenter' 'board console';min-height:100svh;padding:2px 0;align-content:center;column-gap:4px}
.game[data-layout=compact] .masthead,.game[data-layout=compact] .status,.game[data-layout=compact] .preview-note,.game[data-layout=compact] .data-strip{display:none}.game[data-layout=compact] .board-region{align-self:center}.game[data-layout=compact] .presenter .hero-float{width:70px;left:40px;top:50%}.game[data-layout=compact] .mode-strip{font-size:7px;gap:3px}
.game[data-layout=compact] .control-deck{grid-template-columns:44px 44px 54px;grid-template-rows:44px 44px 56px;gap:3px;padding:0;margin:0;box-shadow:none}
.game[data-layout=compact] .spin .drip{height:14px}
.game[data-layout=compact] .presenter .hero-float{width:60px;left:45px}
.game[data-layout=compact] .service-controls{grid-column:1/4;grid-row:1;gap:3px}.game[data-layout=compact] .feature-button{width:54px;padding:0;font-size:8px}.game[data-layout=compact] .amount-controls{grid-column:1/4;grid-row:2;height:44px}.game[data-layout=compact] .amount-controls #amount strong{font-size:19px}.game[data-layout=compact] #turbo{grid-column:1;grid-row:3;height:44px}.game[data-layout=compact] #auto{grid-column:2;grid-row:3;height:44px}.game[data-layout=compact] .spin{grid-column:3;grid-row:3;width:48px;height:50px}.game[data-layout=compact] #spin-label{font-size:19px}.game[data-layout=compact] .feature-progress{grid-column:1/4;grid-row:2;font-size:11px;padding:3px}
@media(min-height:351px) and (max-width:640px) and (min-aspect-ratio:1.1001/1){.game[data-layout=landscape] .control-deck{grid-template-columns:minmax(132px,1fr) 44px 44px 66px;grid-template-rows:44px 50px}.game[data-layout=landscape] .service-controls{grid-column:1/4;grid-row:1}.game[data-layout=landscape] .amount-controls{grid-column:1;grid-row:2}.game[data-layout=landscape] #turbo{grid-column:2;grid-row:2}.game[data-layout=landscape] #auto{grid-column:3;grid-row:2}.game[data-layout=landscape] .spin{grid-column:4;grid-row:1/3}.game[data-layout=landscape][data-state=playing] .feature-progress{grid-column:1;grid-row:2}}
@media(max-height:650px){.preview-note{display:none}}
@media(max-height:470px) and (min-aspect-ratio:1.1001/1){.game[data-layout=landscape] .data-strip,.game[data-layout=landscape] .preview-note{display:none}}
@media(max-aspect-ratio:1.1/1){.feature-dialog{width:calc(100vw - 16px);padding:16px 14px 12px}.feature-dialog .offer{grid-template-columns:44px minmax(0,1fr);gap:6px 8px;margin:8px 0;padding:9px}.feature-dialog .offer-art{width:44px;height:44px}.feature-dialog .offer button{min-height:44px}.feature-dialog .offer p{font-size:12px;margin:4px 0}.motion-review{top:auto;bottom:0}}
.game:is([data-runtime=local],[data-runtime=stake]) .data-strip>span:has(#round-count),.game:is([data-runtime=local],[data-runtime=stake]) .data-strip>span:has(#paint-count){display:none}
.game:is([data-runtime=local],[data-runtime=stake]) .data-strip strong{font-size:18px;max-width:100%;min-width:0}.game:is([data-runtime=local],[data-runtime=stake]) .data-strip>span{min-width:0;max-width:50%;font-size:8px;gap:5px}.game:is([data-runtime=local],[data-runtime=stake]) .data-strip>span strong .splat-lettering{max-width:100%}
.rules-table{border-collapse:collapse;width:100%;font-size:12px;margin:12px 0}.rules-table th,.rules-table td{padding:8px 4px;border-bottom:1px solid #265365;text-align:left}.dialog details summary{cursor:pointer;min-height:44px;padding:10px 0}
.info-dialog{width:min(610px,calc(100vw - 24px));background:linear-gradient(150deg,#123d4b,#0b192b 45%);padding-top:16px}
.dialog>.close{position:sticky;float:right;top:0;z-index:2;right:auto;margin:-6px -8px 0 8px;border-radius:50%;background:#102b3b;box-shadow:0 2px 5px #031323}
.info-dialog h1{font-size:28px;margin-top:8px}.info-section{position:relative;padding:18px 0;border-bottom:1px solid #2b5262}.info-section h2{font:italic 21px Impact,'Arial Black',sans-serif;color:#ffd491;letter-spacing:.025em;margin-bottom:12px}.info-section p{margin:8px 0}.info-feature-art{position:relative;width:66px;height:66px;float:right;margin:0 0 6px 12px}.info-modes{display:grid;grid-template-columns:1fr 1fr;gap:12px}.info-mode{padding-left:10px;border-left:3px solid #ff6754}.info-mode strong{font:18px Impact,'Arial Black',sans-serif;color:#ffdeac}.info-mode p{font-size:12px;margin:5px 0}.info-pay-art{position:relative;display:inline-block;width:42px;height:42px;flex:0 0 42px;vertical-align:middle}.info-dialog .rules-table th[scope=row]{font-weight:400;display:flex;gap:7px;align-items:center}.info-dialog .rules-table td{text-align:center;white-space:nowrap;color:#ffd58d;font-weight:700;font-size:14px}.info-dialog .rules-table th[scope=col]:not(:first-child){text-align:center}.info-spirit-values{display:grid;gap:10px;margin-top:16px}.info-spirit-value{display:grid;grid-template-columns:46px 1fr;align-items:center;gap:0 8px}.info-spirit-value .info-pay-art{grid-row:span 2}.info-spirit-value strong{font-size:13px;color:#ffda9c}.info-spirit-value>span{font-size:13px;line-height:1.6}.info-line-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.info-line{display:flex;align-items:center;gap:4px;font-size:12px}.info-line svg{width:100%;height:auto}.info-line circle{fill:#235360}.info-line polyline{fill:none;stroke:#ff9271;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.info-dialog details>summary{font:18px Impact,'Arial Black',sans-serif;color:#ffcc99;padding:16px 0}.info-dialog .motion-setting[hidden]{display:none}.info-dialog #reconnect{margin-top:12px}
.auto-dialog{background:linear-gradient(140deg,#163f4d,#0b192c)}.auto-count-options{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.auto-count-options button{min-width:46px;min-height:46px;border-radius:50%;border:2px solid #199fa9;background:#102d40;color:#fff1ca;font:22px Impact,'Arial Black',sans-serif;box-shadow:0 3px #061623}.auto-count-options button[aria-pressed=true]{border-color:#ffd28e;background:#ff6754;color:#0b1828}.auto-count-options button:focus-visible{outline:3px solid #ffce83;outline-offset:3px}.auto-dialog #start-auto{width:100%;margin-top:4px}.auto-dialog #auto-cost{min-height:42px;font-size:13px!important;line-height:1.5!important}
@media(max-width:380px){.info-dialog{padding:16px 12px}.info-dialog h1{font-size:24px}.info-modes{grid-template-columns:1fr}.info-line-grid{grid-template-columns:repeat(3,1fr)}.info-dialog .rules-table{font-size:11px}.info-dialog .rules-table td{font-size:12px;padding:8px 2px}.info-pay-art{width:34px;height:34px;flex-basis:34px}.info-feature-art{width:54px;height:54px}}
.game:is([data-runtime=local],[data-runtime=stake])[data-layout=compact] .data-strip{display:flex;position:absolute;bottom:100%;right:0;width:150px;flex-direction:column;padding:2px}.game:is([data-runtime=local],[data-runtime=stake])[data-layout=compact] .data-strip>span{max-width:100%;font-size:7px;gap:3px}.game:is([data-runtime=local],[data-runtime=stake])[data-layout=compact] .data-strip strong{font-size:12px}
@media(max-height:470px) and (min-aspect-ratio:1.1001/1){.game:is([data-runtime=local],[data-runtime=stake])[data-layout=landscape] .data-strip{display:flex;min-height:24px;padding:1px 8px;border-width:2px}.game:is([data-runtime=local],[data-runtime=stake])[data-layout=landscape] .data-strip strong{font-size:12px}}
.summary-award{display:block;margin:18px 0;font-size:clamp(22px,6vw,42px);color:var(--cream);max-width:100%}.summary-award .art-text{max-width:100%}.round-summary{text-align:center}.round-summary .fine-print{line-height:1.6}
.feature-dialog{width:min(580px,calc(100vw - 24px));background:linear-gradient(145deg,#073749,#10182b 65%);border:3px solid #00bbc1;box-shadow:0 0 0 4px #071827,0 24px 100px #000c}
.feature-dialog h1{font-size:36px;text-shadow:3px 3px #060e21;transform:rotate(-2deg)}
.life-symbol{background:none!important;overflow:visible}
.symbol.premium,.life-symbol[data-life-key=collector],.life-symbol[data-life-key=lifeScatter]{height:108%;top:-4%;bottom:auto}
.life-symbol .registered-art{position:absolute;inset:0;overflow:hidden}
.spirit-value{position:absolute;left:var(--sign-x,50%);top:var(--sign-y,68%);transform:translate(-50%,-50%);width:var(--sign-width,36%);height:var(--sign-height,14%);display:grid;place-items:center;line-height:1;padding:0;border:0;background:none;color:#fff4d1;z-index:2}
.spirit-value .splat-lettering{position:absolute;inset:0;height:100%;width:100%;max-width:100%;overflow:hidden}
.life-symbol[data-life-pose^="suction:"] .spirit-value{width:30%;height:12%}
.life-symbol[data-unified=true] .spirit-value{width:36%;height:14%}
.spirit-value .letter-face{fill:#f7c553;stroke:#171629;stroke-width:4}.spirit-value .letter-shadow{fill:#d75147;stroke:#171629;stroke-width:4}
.life-symbol[data-life-key^=spirit]{height:113%;top:-6.5%;bottom:auto;left:0;right:0}
.life-transition{position:fixed;inset:0;z-index:18;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#14102ded url('assets/life-matrix-v1-delivery.webp') center/cover;pointer-events:none;box-shadow:inset 0 0 140px #080c1deb}.life-transition[hidden]{display:none}.life-transition h1{width:min(86vw,800px);font-size:clamp(36px,10vw,120px);filter:drop-shadow(0 8px #100d20)}.life-transition h1 .splat-lettering{width:100%;height:auto}.life-transition .letter-face{fill:#f7c553;stroke:#170e25;stroke-width:8}.life-transition p{color:#fff1c3;font-weight:900;font-size:clamp(14px,2vw,25px);letter-spacing:.07em;text-shadow:2px 3px #09101e}
.splat-win{position:fixed;inset:0;background:#070d22d9;z-index:30;display:grid;place-items:center;cursor:pointer;touch-action:manipulation}.splat-coins{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.splat-win-plate{position:relative;width:min(88vw,660px);padding:24px 18px;text-align:center;isolation:isolate}.splat-win-plate:before{content:'';position:absolute;inset:0;background:#17203bf2;border:5px solid #ff765a;box-shadow:0 0 0 5px #090f24,inset 0 0 0 3px #ffc569;transform:rotate(-2deg);border-radius:28px 15px 30px 12px;z-index:-1}.splat-win-plate h1{margin:0 auto 18px;font-size:clamp(42px,8vw,94px);max-width:95%;display:grid;place-items:center}.splat-win-plate h1 .splat-lettering{height:auto;width:100%}.splat-win-plate h1 .letter-face{fill:#ff7759;stroke-width:8}.splat-win-plate[data-tier='1'] h1 .letter-face{fill:#19dbc9}.splat-win-plate[data-tier='2'] h1 .letter-face{fill:#f7c553}.splat-win-plate>strong{display:grid;place-items:center;font-size:clamp(34px,6vw,76px);max-width:95%;margin:auto}.splat-win-plate>strong .splat-lettering{max-width:100%}.splat-win-plate>strong .letter-face{fill:#ffd987;stroke-width:7}.splat-win-plate small{display:block;font-size:12px;margin-top:20px;color:#edd6b8}
.life-bonus .cell{background:#1a173ab8;border-color:#615179;box-shadow:inset 0 0 12px #090e20a8}
.life-bonus .board-frame{background:#21192e url('assets/life-matrix-v1-delivery.webp') center/cover;border:0;border-radius:15px;box-sizing:border-box;box-shadow:inset 0 0 0 4px #d8a451,0 0 0 4px #100f24,0 9px 0 #080e2266}
.life-bonus .board{left:5.1%;right:5.1%;top:11.2%;bottom:11.7%}
.life-bonus .mode-strip{margin-bottom:3px}
.actor-echo{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.copy-echo{position:absolute;inset:0;pointer-events:none;z-index:3;background:none}
.game.review-paused .cell.landed .symbol{animation:none;transform:none}
.collector-label{position:absolute;left:12%;right:12%;bottom:14%;text-align:center;font-size:clamp(8px,1.2vw,18px);color:#fff1d1;line-height:1;z-index:2}
.life-flight-layer{position:fixed;inset:0;pointer-events:none;z-index:15;overflow:hidden}
.life-vortex{position:absolute;overflow:visible;pointer-events:none}
.life-suction-stream{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;fill:none;stroke-width:1.4;stroke-linecap:round}
.life-flight{position:absolute!important;right:auto!important;bottom:auto!important;max-width:none!important;max-height:none!important;transform-origin:center;pointer-events:none}
.life-transform-actor{position:relative;flex:none;width:min(72vw,46vh,420px);aspect-ratio:1;isolation:isolate}
.life-transform-actor>.registered-art{position:absolute;inset:0;width:100%;height:100%}
.life-transition h1{margin:0}.life-transition p{margin:8px 12px 0;text-align:center}
@media(max-height:300px){.life-transform-actor{width:48vh}.life-transition h1{width:min(65vw,380px)}.life-transition p{font-size:10px;margin-top:2px}}
.life-collected{background:#082430!important}.life-collected::after{content:'';position:absolute;inset:39%;border:2px solid #237079;border-radius:50%;opacity:.4}
.life-source{outline:none}
.life-collected::after{display:none}
.copy-selection{position:absolute;inset:3%;pointer-events:none;z-index:8}
.copy-selection>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;stroke-linecap:round;stroke-linejoin:round}
.copy-underpaint{stroke:#171629;stroke-width:9}
.copy-ink{stroke:#c57fff;stroke-width:5}
.copy-caption{position:absolute;left:25%;top:-9%;width:50%;height:15%;filter:drop-shadow(1px 2px #171629)}
.copy-caption .splat-lettering{width:100%;height:100%}.copy-caption .letter-face{fill:#d4a4ff;stroke-width:5}
.copy-selection.chosen .copy-ink{stroke:#ffe18c}.copy-selection.chosen .letter-face{fill:#ffe18c}
.boost-flight{position:absolute;height:28px;min-width:0;display:grid;place-items:center;transform:translate(-50%,-50%);z-index:2;filter:drop-shadow(2px 3px #7f2c68);pointer-events:none}
.boost-flight .splat-lettering{height:100%;width:auto}.boost-flight .letter-face{fill:#ffd86e}
.boosted-value .spirit-value{filter:drop-shadow(0 0 6px #ffd966)}
.life-collection{position:absolute;top:-28px;left:50%;transform:translateX(-50%);max-width:90%;padding:3px 10px;border:0;border-radius:0;background:none;color:#fff0c9;font-size:clamp(12px,1.5vw,20px);white-space:nowrap;z-index:9;box-shadow:none;filter:drop-shadow(0 2px 2px #080e23);text-shadow:0 1px 3px #080e23,1px 0 2px #080e23,-1px 0 2px #080e23}
.life-scene:has(.life-collection:not([hidden])) .status{visibility:hidden}
.life-collection[hidden]{display:none}.board-region{position:relative}
.life-scene .mode-strip{color:#ffda91}.life-scene .hero-shadow{opacity:.25}
.feature-dialog .offer.life{border-color:#ffd58d}.feature-dialog .offer.life::before{background:#ffd58d}
.life-scene .symbol[data-life-key=empty]{opacity:0}
@media(max-aspect-ratio:1.1/1){.spirit-value{font-size:clamp(12px,3.6vw,18px)}.collector-label{font-size:clamp(8px,2.1vw,12px)}.life-collection{font-size:12px;padding:2px 8px}}
.feature-dialog .offer{position:relative;grid-template-columns:94px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 12px;border:2px solid #0799a3;border-radius:12px 18px 14px 9px;background:linear-gradient(115deg,#174951,#071b2e 56%);box-shadow:3px 4px #050d20;overflow:hidden}
.feature-dialog .offer::before{content:'';position:absolute;left:0;top:0;width:100%;height:5px;background:var(--coral);clip-path:polygon(0 0,100% 0,100% 50%,78% 50%,77% 100%,74% 50%,29% 50%,27% 100%,24% 50%,0 50%)}
.feature-dialog .offer h2{font:900 italic 19px/1.05 Impact,'Arial Black',sans-serif;letter-spacing:.025em;color:#fff1ca;text-shadow:2px 2px #03101a}
.feature-dialog .offer button{grid-column:auto;justify-self:end;min-height:46px;padding:10px 12px;border:2px solid #ffc797;background:var(--coral);color:#0c1928;box-shadow:2px 3px #06101f;letter-spacing:0;font-weight:900}
.feature-dialog .feature-illustration{position:relative;grid-row:auto;align-self:center;width:90px;height:90px;transform:none;background:none}
.feature-illustration .symbol{position:absolute;inset:0;width:100%;height:100%}
.feature-art-badge{position:absolute;right:-5px;bottom:-6px;font-size:22px;background:#09212d;border:2px solid #ffaf76;border-radius:7px;padding:2px 5px;transform:rotate(-6deg)}
@media(max-width:600px){.feature-dialog .offer{grid-template-columns:64px minmax(0,1fr);gap:8px 12px;padding:12px}.feature-dialog .feature-illustration{width:62px;height:62px;grid-row:span 2}.feature-dialog .offer button{grid-column:2;justify-self:start;min-height:44px}.feature-dialog .offer h2{font-size:17px}.feature-art-badge{font-size:17px}.feature-dialog h1{font-size:30px}}
.load-recovery{position:fixed;z-index:30;left:50%;top:50%;transform:translate(-50%,-50%);width:min(360px,calc(100% - 24px));max-height:calc(100svh - 20px);overflow:auto;padding:20px;background:#09182df5;border:3px solid var(--teal);border-radius:15px;box-shadow:0 8px 50px #000b;text-align:center}.load-recovery[hidden]{display:none}.load-recovery h1{font-size:19px}.load-recovery p{font-size:14px;line-height:1.5}

/* Illustrated result title atlas, with transparent space for the BAVA fountain. */
.splat-win-plate:before{display:none}
.splat-win-plate{width:min(92vw,840px,calc((100dvh - 112px)*4.5));padding:0 12px;container-type:inline-size}
.splat-win-plate h1{width:100%;max-width:100%;aspect-ratio:4.5;position:relative;margin:0 auto min(22px,4dvh)}
.splat-win-plate h1>.registered-art{position:absolute;inset:0;width:100%;height:100%}
.splat-win-plate>strong{filter:drop-shadow(0 6px 0 #ec6955);padding:8px 0;font-size:min(clamp(34px,min(6vw,20dvh),76px),calc(90cqw / var(--win-amount-ratio,1)))}
.splat-win-plate small{margin-top:min(20px,4dvh)}
.life-collection{display:flex;align-items:center;justify-content:center;gap:8px}
.life-collection>strong{height:24px;min-width:48px;display:grid;place-items:center}
.life-collection>strong .splat-lettering{height:100%;width:auto;max-width:145px}
.life-collection>strong .letter-face{fill:#f7c553;stroke-width:7}
.game[data-layout=compact] .life-collection{top:47px;left:0;transform:none;box-sizing:border-box;width:100%;max-width:100%;height:44px;padding:2px 4px;gap:1px;flex-direction:column;font-size:8px;line-height:10px;white-space:normal;text-align:center}
.game[data-layout=compact] .life-collection>strong{min-width:0;width:100%;height:20px}
.game[data-layout=compact] .life-collection>strong .splat-lettering{width:100%;height:20px;max-height:20px;max-width:100%}
.game[data-layout=compact]:has(.life-collection:not([hidden])) .feature-progress{visibility:hidden}
.life-bonus .life-collected{background:#231d30a8!important}
.life-bonus .hero-float{animation:none}

.life-symbol[data-life-key=spiritMultiplier] .spirit-value{width:40%;height:14%}
.life-symbol[data-life-key=spiritCopy] .spirit-value{width:44%;height:14%}
.game[data-state=requesting] .cell.reeling .symbol.premium{animation:reel .14s linear infinite}.bonus-entry-symbol{position:relative;width:clamp(90px,22vw,175px);aspect-ratio:1}.paint-bonus-transition{background:#091a2be8 url("assets/alley-delivery-runtime-q94.webp") center/cover}.paint-bonus-transition h1 .letter-face{fill:#ff654c}.paint-bonus-transition p{padding:0 18px;text-align:center}
.game[data-layout=portrait] .presenter .hero-float{width:min(100%,calc(var(--head) + 38px));right:5px}

.game [hidden]{display:none!important}

.jurisdiction-status{font-size:9px;text-align:center;color:#b8d9df;padding:2px}.game[data-layout=compact] .jurisdiction-status{position:absolute;right:0;bottom:0;font-size:7px;background:#071624;max-width:150px}

/* Reserve separate presenter and wallet lanes in 400ª225 popout. */
.game:is([data-runtime=local],[data-runtime=stake])[data-layout=compact] .data-strip{width:112px;min-height:43px}
.game:is([data-runtime=local],[data-runtime=stake])[data-layout=compact] .presenter .hero-float{width:34px;left:0;top:50%}
.game:is([data-runtime=local],[data-runtime=stake])[data-layout=compact] .data-strip strong{font-size:10px}

/* Every LIFE socket rolls a result-independent spirit buffer until its reel stops. */
.life-reel-window{position:absolute;inset:0;overflow:hidden;z-index:5;pointer-events:none}.life-reel-track{position:absolute;inset:0;height:500%;will-change:transform}.life-reel-item{position:relative;height:20%;width:100%;overflow:hidden}.life-reel-item>.symbol{inset:0;height:99%;animation:none!important;filter:none!important;opacity:1!important}.cell.life-reeling>.symbol{visibility:hidden}.life-reel-item .spirit-value{display:none}.life-transition{background-color:#14102d}.life-transition.life-return{background-image:url("assets/alley-delivery-runtime-q94.webp")}
.cell.life-reeling>.paint-fill,.cell.life-reeling>.paint-coat{visibility:hidden}
.reel-result-item>.symbol{inset:0;height:99%}.reel-result-item>.symbol.premium,.reel-result-item>.life-symbol[data-life-key=collector],.reel-result-item>.life-symbol[data-life-key=lifeScatter]{height:108%;top:-4%;bottom:auto}.cell.reel-aligned.landed>.symbol{animation:none!important}
.cell.painted>.symbol{visibility:hidden}

/* Shallow landscape: reserve an independent right lane instead of making the
   Matrix pay for a wide bottom console. Mode labels remain at the board. */
.game[data-layout=side-console]{grid-template-columns:var(--board-width) 244px;grid-template-rows:minmax(0,1fr) auto;grid-template-areas:'board presenter' 'board console';column-gap:8px;align-content:center;align-items:center;min-height:100svh;padding:4px 0}
.game[data-layout=side-console] .masthead,.game[data-layout=side-console] .preview-note{display:none}
.game[data-layout=side-console] .board-region{align-self:center}
.game[data-layout=side-console] .presenter{align-self:stretch;container-type:size}
.game[data-layout=side-console] .presenter .hero-float{width:min(100cqw,100cqh);left:50%;top:50%;transform:translate(-50%,-50%)}
.game[data-layout=side-console] .console{width:244px;position:relative;align-self:end}
.game[data-layout=side-console] .data-strip{min-height:30px;padding:2px 6px;gap:5px}
.game[data-layout=side-console] .data-strip>span{font-size:7px;gap:3px}
.game[data-layout=side-console] .data-strip strong{font-size:14px}
.game[data-layout=side-console] .control-deck{grid-template-columns:44px 44px minmax(66px,1fr);grid-template-rows:44px 48px 74px;gap:4px;padding:4px 4px 10px}
.game[data-layout=side-console] .service-controls{grid-column:1/4;grid-row:1}
.game[data-layout=side-console] .amount-controls{grid-column:1/4;grid-row:2;height:48px}
.game[data-layout=side-console] #turbo{grid-column:1;grid-row:3}
.game[data-layout=side-console] #auto{grid-column:2;grid-row:3}
.game[data-layout=side-console] .spin{grid-column:3;grid-row:3;justify-self:end}
.game[data-layout=side-console] .feature-progress{grid-column:1/4;grid-row:2;padding:4px;font-size:11px}
.game[data-layout=side-console] .life-collection{left:50%;top:-29px;font-size:11px;padding:2px 5px;gap:4px}
.game[data-layout=side-console] .life-collection>strong{height:20px}
/* The bonus total owns the console's middle row, below the service buttons.
   Keeping it above the console put the amount underneath the actor's feet. */
.game.life-bonus[data-layout=side-console] .life-collection{top:84px;max-width:calc(100% - 12px)}
.game.life-bonus[data-layout=side-console]:has(.life-collection:not([hidden])) .feature-progress{visibility:hidden}
.game[data-layout=side-console] .control-deck{padding-bottom:22px}
.game[data-layout=side-console] .spin{margin-bottom:0}

/* The authoritative final amount is the center of the result composition. */
.summary-award{display:grid;place-items:center;min-width:0}
.summary-award>.splat-lettering{margin-inline:auto}
.primary-dialog-button{font-family:Impact,'Arial Black',sans-serif;letter-spacing:.035em;font-size:18px}
.feature-details{margin-top:5px}
.feature-details>summary{cursor:pointer;min-height:24px;display:flex;align-items:center;gap:5px;font-size:11px;color:#d5edef}
.feature-details>summary::before{content:'+';font-size:17px}
.feature-details[open]>summary::before{content:'−'}
.feature-details p{margin-top:5px!important}
@media(min-width:1200px) and (min-height:800px){
  .game[data-layout=landscape] .wordmark{width:235px;max-width:60%}
  .game[data-layout=landscape] .control-deck{grid-template-columns:auto minmax(190px,1fr) 56px 56px 96px;grid-template-rows:100px;gap:8px}
  .game[data-layout=landscape] .small-button{width:56px;height:56px}
  .game[data-layout=landscape] .feature-button{height:56px;font-size:14px;padding:0 12px}
  .game[data-layout=landscape] .amount-controls{height:62px;grid-template-columns:56px minmax(0,1fr) 56px}
  .game[data-layout=landscape] .amount-controls #minus,.game[data-layout=landscape] .amount-controls #plus{width:56px;height:56px}
  .game[data-layout=landscape] .amount-controls #amount strong{font-size:30px}
  .game[data-layout=landscape] .amount-controls #amount small{font-size:9px}
  .game[data-layout=landscape] .playback-button{height:62px}
  .game[data-layout=landscape] .spin{width:90px;height:100px}
  .game[data-layout=landscape] #spin-label{font-size:33px}
  .game[data-layout=landscape] #spin-label .splat-lettering{max-width:80px}
  .game[data-layout=landscape] .data-strip strong{font-size:22px}
}
@media(max-width:600px){
  .feature-dialog{padding:14px 10px 10px}
  .feature-dialog .dialog-intro{font-size:12px;margin-bottom:10px}
  .feature-dialog .offer{grid-template-columns:44px minmax(0,1fr) 66px;gap:7px;padding:9px 7px;margin:8px 0}
  .feature-dialog .feature-illustration{width:44px;height:44px;grid-row:auto}
  .feature-dialog .offer button{grid-column:3;grid-row:1;justify-self:stretch;padding:4px;font-size:11px}
  .feature-dialog .offer h2{font-size:15px}
  .feature-art-badge{font-size:13px;right:-2px;bottom:-2px}
  .feature-dialog .fine-print{font-size:10px;line-height:1.4;margin:10px 0 0}
}
.winning-award{position:absolute;z-index:16;pointer-events:none;transform:translate(-50%,-50%);height:clamp(22px,4.2vw,40px);max-width:75%;padding:5px 10px;border-radius:12px;background:#10172bea;box-shadow:0 2px 0 #030a16,0 0 12px #ffc65c44;color:#ffe4a0;display:flex;align-items:center;justify-content:center}
.winning-award .splat-lettering{height:100%;max-width:100%}
.connection-recovery{background:#ff6653;border:2px solid #ffe4a0;color:#10172b;border-radius:8px;padding:4px 12px;font:700 12px inherit;justify-self:center}
/* Feature cards share SPLAT materials, with four distinct action compositions. */
.feature-dialog .offer{grid-template-columns:148px minmax(0,1fr) auto;gap:7px 14px;border-color:#18b9ba}
.feature-dialog .feature-scene{position:relative;grid-column:1;grid-row:1/4;width:148px;height:116px;background:linear-gradient(155deg,#155367,#0a1b32);border:2px solid #092032;border-radius:20px 10px 18px 9px;isolation:isolate;overflow:hidden;transform:none}
.feature-dialog .feature-scene:before{content:'';position:absolute;inset:0;border-top:7px solid #ff6754;border-bottom:3px solid #126b79;border-radius:inherit;opacity:.9}
.feature-socket{position:absolute;width:66px;height:66px;top:17px;left:2px}
.feature-socket-1{left:40px;top:6px;z-index:2}.feature-socket-2{left:79px;top:25px;z-index:3}
.feature-socket .symbol{position:absolute;inset:0;height:100%;width:100%;aspect-ratio:1;animation:none;filter:none}
.feature-scene .feature-art-badge{bottom:22px;right:4px;font-size:18px;z-index:4;transform:rotate(-4deg)}
.feature-art-caption{position:absolute;bottom:5px;left:0;right:0;text-align:center;font-size:9px;font-weight:900;letter-spacing:.07em;color:#ffe8c2;z-index:4}
.offer[data-skin=sticky] .feature-scene:before{border-color:#ffb959}.offer[data-skin=sticky] .feature-scene{background:linear-gradient(140deg,#5f3942,#10243d)}
.offer[data-skin=wide] .feature-socket-1{left:69px;top:6px;width:49px;height:49px}.offer[data-skin=wide] .feature-socket-2{left:69px;top:44px;width:49px;height:49px}.offer[data-skin=wide] .feature-art-badge{left:5px;right:auto;bottom:22px}.offer[data-skin=wide] .feature-scene:before{border-top-color:#ffc45b}
.offer[data-skin=life] .feature-scene{background:linear-gradient(135deg,#4d2760,#12263c)}.offer[data-skin=life] .feature-scene:before{border-top-color:#46dfd0}
.feature-dialog .offer>div:not(.offer-art){grid-column:2;grid-row:1}.feature-dialog .offer>button{grid-column:3;grid-row:1/3;min-height:44px;max-width:140px;white-space:normal;justify-self:stretch;background:#ff6754;color:#08152b;border:2px solid #ffc393;font-weight:900;letter-spacing:.02em;padding:9px 12px;box-shadow:0 3px #752e36}
.feature-full-cost{grid-column:2;grid-row:2;display:grid;gap:3px;min-width:0}.feature-full-cost strong{display:block;width:100%;height:27px}.feature-full-cost .splat-lettering{height:100%;width:auto;max-width:100%}.feature-full-cost small{font-size:9px;color:#b8d4dc}
.game[data-mode=sticky] .mode-strip{color:#ffe0a0}.game[data-mode=wide] .mode-strip{color:#ffbd72}.game[data-mode=life] .mode-strip{color:#b5fff1}
@media(max-width:600px){.feature-dialog .offer{grid-template-columns:100px minmax(0,1fr);padding:10px;gap:5px 10px}.feature-dialog .feature-scene{width:100px;height:110px}.feature-socket{width:50px;height:50px;left:0;top:12px}.feature-socket-1{left:23px;top:5px}.feature-socket-2{left:47px;top:29px}.offer[data-skin=wide] .feature-socket-1,.offer[data-skin=wide] .feature-socket-2{left:48px;width:44px;height:44px}.feature-scene .feature-art-badge{font-size:16px}.feature-art-caption{font-size:8px}.feature-dialog .offer>button{grid-column:2;grid-row:3;justify-self:start;min-height:44px;width:100%;max-width:180px}.feature-dialog .offer h2{font-size:16px}.feature-full-cost strong{height:24px}}
@media(max-width:360px){.feature-dialog .offer{grid-template-columns:82px minmax(0,1fr);padding:8px;gap:5px 8px}.feature-dialog .feature-scene{width:82px;height:110px}.feature-socket-1{left:16px}.feature-socket-2{left:32px}.offer[data-skin=wide] .feature-socket-1,.offer[data-skin=wide] .feature-socket-2{left:35px}.feature-art-caption{font-size:7px}.feature-dialog .offer h2{font-size:14px}}
/* Measured embedded viewport; do not conceal overflow with root clipping. */
/* The cabinet owns the containing viewport, not document flow. Keeping its
   stage fixed prevents transient scrollbars from shrinking the layout after
   rotation, while retaining visible overflow for measured feature acting. */
.game[data-layout]{position:fixed;inset:0;margin-inline:auto;min-height:0}
.scatter-reel-frame{position:absolute;z-index:7;pointer-events:none}
.game[data-mode=super] :is(.paint-fill,.paint-coat)>.registered-art{filter:url(#splat-gold-paint)}
.offer[hidden]{display:none!important}
.paint-bonus-transition{background:none!important;overflow:hidden;isolation:isolate;box-shadow:none}
.paint-bonus-transition>.paint-curtain-art{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.paint-curtain-ink{fill:#0c2039;stroke:#091323;stroke-width:34}
.paint-curtain-fill{fill:#0c2039;stroke:#ff654c;stroke-width:16}
.paint-bonus-transition h1 .letter-face{fill:#fff0cc;stroke:#0a2033;stroke-width:6}
.paint-bonus-transition p{color:#0a2033;text-shadow:none;letter-spacing:.025em}
.paint-bonus-transition .bonus-entry-symbol[hidden]{display:none}
#symbol-guide>[hidden]{display:none!important}
.scatter-reel-frame>svg{width:100%;height:100%;overflow:visible;fill:none;stroke-linecap:round;stroke-linejoin:round}
.reel-paint-ink{stroke:#091727;stroke-width:var(--ink);fill:none}
.reel-paint-edge{stroke:#ff5946;stroke-width:var(--paint);fill:none}
.reel-paint-drip{fill:#ff5946;stroke:#091727;stroke-width:1.3}
.reel-wet-drop{animation:scatter-wet-drip 1.2s ease-in-out infinite}
.reel-wet-drop-late{animation-delay:-.65s}
.reel-paint-splash{fill:#ff5946;stroke:#091727;stroke-width:1.3}
.reel-paint-shine-trail{stroke:#ff9765;stroke-width:5;stroke-dasharray:140 860;animation:scatter-paint-flow 1.45s linear infinite;opacity:.8}
.reel-paint-shine{stroke:#ffe0af;stroke-width:2.5;stroke-dasharray:48 952;animation:scatter-paint-flow 1.45s linear infinite;opacity:.95}
.reel-paint-gloss{stroke:#ffe9c6;stroke-width:1.3;opacity:.9}
.board.anticipating:has(.scatter-reel-frame) .cell.reeling{box-shadow:none}
.board.anticipating:has(.scatter-reel-frame){overflow:visible}
@keyframes scatter-wet-drip{0%,100%{transform:scaleY(.93)}50%{transform:scaleY(1.2)}}
@keyframes scatter-paint-flow{to{stroke-dashoffset:-1000}}
@media(prefers-reduced-motion:reduce){.scatter-reel-frame *{animation:none!important}}
.distant-spirits{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0;contain:strict}
.spin-boss-art{width:100%;height:100%;display:block;overflow:visible}
.life-reel-item .reel-outgoing-life .spirit-value{display:block}
.life-reel-item>.reel-outgoing-life{inset:0;height:99%}
.life-reel-item>.reel-outgoing-life[data-life-key=collector],.life-reel-item>.reel-outgoing-life[data-life-key=lifeScatter]{height:108%;top:-4%;bottom:auto}
.boss-spin-label{position:absolute;left:31.8%;top:58.1%;width:36.4%;height:16.5%;display:block}
.boss-spin-label .art-lettering{width:100%;height:100%}
.spin-grant-flight{position:fixed;width:110px;height:34px;transform:translate(-50%,-50%);pointer-events:none;z-index:25;filter:drop-shadow(0 3px 2px #06162b)}
.spin-grant-flight[hidden]{display:none}
.distant-spirits>svg{position:absolute;width:clamp(20px,3vw,38px);height:auto;opacity:0;top:8%;animation:distant-spirit-flight 47s linear infinite}
.distant-spirits>svg:nth-child(2){top:16%;width:clamp(16px,2vw,28px);animation-duration:61s;animation-delay:-24s;animation-direction:reverse}
@keyframes distant-spirit-flight{0%,72%{opacity:0;transform:translateX(-60px) translateY(0)}75%{opacity:.36;transform:translateX(-40px) translateY(3px)}82%{opacity:.36;transform:translateX(35vw) translateY(-8px)}89%{opacity:.36;transform:translateX(75vw) translateY(4px)}94%,100%{opacity:0;transform:translateX(calc(100vw + 60px)) translateY(-3px)}}
.reduced-motion~.distant-spirits,body:has(.reduced-motion) .distant-spirits,body:has(.dialog[open]) .distant-spirits{display:none}
@media(prefers-reduced-motion:reduce){.distant-spirits{display:none}}
@media(max-width:330px){.game[data-layout=portrait] .control-deck{grid-template-columns:minmax(0,1fr) 44px 44px 60px}.game[data-layout=portrait] .amount-controls{min-width:0}.game[data-layout=portrait] .spin{width:60px;height:67px}}

/* Award lettering is part of SPLAT's ink/paint art, registered over the
   actual winning group. No generic dark badge behind the amount. */
.winning-award{height:var(--award-height,36px);font-size:var(--award-height,36px);padding:0;max-width:82%;background:none;border-radius:0;box-shadow:none;overflow:visible;filter:drop-shadow(0 3px 1px #051023aa);animation:award-reveal .22s cubic-bezier(.22,.75,.25,1) both}
.winning-award .splat-lettering{overflow:visible}
.splat-award-lettering path{stroke-linejoin:round;paint-order:stroke fill}
.award-rim{fill:#18d7ca;stroke:#091727;stroke-width:15;transform:translate(1px,3px)}
.award-depth{fill:#f15b46;stroke:#f15b46;stroke-width:10;transform:translate(1px,5px)}
.award-ink{fill:#172033;stroke:#172033;stroke-width:7}
.award-face{fill:var(--award-face,#ffda73);stroke:#fff0b4;stroke-width:1}
.award-glint{fill:none;stroke:#fffbe0;stroke-width:1;opacity:.45;transform:translateY(-.7px)}
@keyframes award-reveal{from{transform:translate(-50%,-50%) scale(.96)}to{transform:translate(-50%,-50%) scale(1)}}
@media(prefers-reduced-motion:reduce){.winning-award{animation:none}}
.splat-win-plate>strong{filter:drop-shadow(0 5px 2px #051023bb)}
.round-summary{overflow:visible;background:linear-gradient(145deg,#123e54,#0d1c35 70%);border:4px solid #10c6c6;box-shadow:0 0 0 4px #091727,0 7px 0 #071326;padding:28px 24px 24px}
.round-summary::before{content:'';position:absolute;left:8px;right:8px;top:0;height:18px;background:#ff604b;clip-path:polygon(0 0,100% 0,100% 35%,87% 28%,86% 85%,84% 100%,82% 38%,49% 35%,48% 92%,46% 100%,44% 35%,12% 27%,11% 75%,9% 100%,7% 30%,0 34%);pointer-events:none}
#summary-title{font-size:clamp(26px,6vw,42px);margin:8px auto 14px;max-width:95%}
#summary-title .letter-face{fill:#ff7658;stroke-width:6}
#summary-title .letter-shadow{fill:#13c6c4}
#summary-title .splat-lettering{margin-inline:auto}
#summary-mode{color:#bcefeb;font-weight:800;letter-spacing:.08em;font-size:12px}
.summary-award{font-size:clamp(36px,12vw,66px);margin:22px auto 24px;filter:drop-shadow(0 4px 1px #061526aa)}
.summary-award .splat-lettering{height:1em;max-width:100%;overflow:visible}
.round-summary .primary-dialog-button{border:3px solid #091727;background:#ff654c;box-shadow:0 3px 0 #071326;color:#101a2b}
.round-summary .fine-print{font-size:11px;color:#c3d5e4;line-height:1.55}
.mode-strip:has(.bonus-counter){height:38px;margin-bottom:3px;justify-content:flex-start;padding:0 6px;gap:12px}
.mode-strip:has(.bonus-counter) #mode-label{flex:none;max-width:100px}
.mode-strip #round-label.bonus-counter{display:flex;align-items:center;gap:5px;flex:none;font-size:27px;color:#fff0c4;letter-spacing:0;filter:drop-shadow(0 2px 0 #071624)}
.bonus-counter small{font:900 10px/1 'Arial Black',sans-serif;color:#b8fff0;letter-spacing:.05em}
.bonus-counter b{display:grid;place-items:center;min-width:20px;height:30px}
.bonus-counter b .splat-lettering{height:100%;width:auto}
.bonus-counter i{font:900 22px/1 'Arial Black',sans-serif;color:#ff775a}
.bonus-counter .letter-face{fill:#ffdb85;stroke:#091727;stroke-width:3}
.bonus-counter .letter-shadow{fill:#ff6551}
.life-symbol[data-life-key^=spirit]{height:123%;top:-11.5%}
.life-symbol .spirit-value,.life-symbol[data-unified=true] .spirit-value,.life-symbol[data-life-pose^="suction:"] .spirit-value{width:58%;height:24%;filter:drop-shadow(0 2px 1px #091020)}
.spirit-value .splat-lettering{overflow:visible}
.spirit-value[data-value-tier=common] .letter-face{fill:#fff5c2}
.spirit-value[data-value-tier=rare] .letter-face{fill:#86ffe8}
.spirit-value[data-value-tier=epic] .letter-face{fill:#efb3ff}
.spirit-value[data-value-tier=ultra] .letter-face{fill:#ffdb75}
.spirit-value .letter-face{stroke:#14102b;stroke-width:3}
.total-win-show h1 .letter-face{fill:#ffdb75;stroke:#091727;stroke-width:3}
.total-win-show .splat-win-plate{width:min(96vw,960px,calc((100dvh - 112px)*3))}
.total-win-show .splat-win-plate h1{aspect-ratio:3}
.total-win-detail{font-size:clamp(11px,2.6vw,15px);line-height:1.4;color:#f6d9ac;margin:12px auto 0;max-width:92%}
.life-reel-item>.reel-outgoing-wild{inset:0;height:100%;background:none}
.mode-strip:has(.bonus-counter){display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.mode-strip #round-label.bonus-counter{margin:0;gap:8px}
.bonus-counter small{font-size:11px;max-width:56px;line-height:1.15;color:#b8fff0}
.bonus-counter b{height:34px;min-width:25px}
.round-summary #summary-title{width:min(100%,420px);aspect-ratio:3.4;position:relative}
.round-summary #summary-title .registered-art{position:absolute;inset:0;width:100%;height:100%}
.game[data-layout=compact] .mode-strip:has(.bonus-counter){height:25px;margin-bottom:0}
.game[data-layout=compact] .bonus-counter b{height:21px}
.game[data-layout=compact] .bonus-counter small{font-size:7px}
.game[data-layout=compact] .bonus-counter i{font-size:17px}
.mode-strip{height:38px;margin-bottom:3px;padding:0 6px}
.game[data-layout=compact] .mode-strip{height:25px;margin-bottom:0}
.total-win-continue{display:block;margin:18px auto 0;min-width:150px;min-height:48px;border:3px solid #091727;border-radius:20px 11px;background:#ff7658;color:#10172b;font:900 18px/1 'Arial Black',sans-serif;box-shadow:0 3px 0 #071326;cursor:pointer;touch-action:manipulation}
.total-win-continue:disabled{opacity:.5;cursor:default}
.total-win-show .splat-win-plate{width:min(92vw,900px,calc((100dvh - 210px)*3));padding:0 10px;box-sizing:border-box}
/* The compact host needs its own height budget: 210px of fixed reserve
   left a 45px-wide title at 400x225 and pushed CONTINUE outside the screen. */
@media(max-height:500px){
  .total-win-show{padding:8px 10px;box-sizing:border-box}
  .total-win-show .splat-win-plate{width:min(92vw,900px,calc((100dvh - 128px)*3));padding:0}
  .total-win-show .splat-win-plate h1{margin-bottom:4px}
  .total-win-show .splat-win-plate>strong{padding:2px 0;font-size:min(clamp(24px,8dvh,44px),calc(94cqw / var(--win-amount-ratio,1)))}
  .total-win-show .splat-win-plate small{display:none}
  .total-win-show .total-win-detail{font-size:10px;line-height:1.2;margin:4px auto 0;max-width:100%}
  .total-win-show .total-win-continue{min-height:44px;min-width:140px;margin-top:6px;font-size:14px}
}

/* Reviewed reference principle: group the available action and amount;
   keep a readable data line, rather than isolated sockets in a broad slab.
   SPLAT's inked rim is nine-sliced so the drawn corners stay proportionate. */
.total-win-result{display:grid;grid-template-columns:minmax(0,.28fr) minmax(0,.72fr);align-items:center;gap:10px;width:100%;min-width:0;container-type:inline-size}
.total-win-performer{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;pointer-events:none}
.total-win-result>strong{display:grid;place-items:center;min-width:0;max-width:100%;padding:8px 0;font-size:min(clamp(30px,6vw,76px),calc(66cqw / var(--win-amount-ratio,1)));filter:drop-shadow(0 5px 2px #051023bb)}
.total-win-result>strong .splat-lettering{max-width:100%}.total-win-result>strong .letter-face{fill:#ffd987;stroke-width:7}
@media(max-height:500px){.total-win-show .splat-win-plate h1{width:min(100%,calc(25dvh * 3));margin-bottom:4px}.total-win-result{grid-template-columns:minmax(0,.22fr) minmax(0,.78fr);gap:4px}.total-win-performer{max-height:26dvh}.total-win-result>strong{padding:2px 0;font-size:min(clamp(22px,8dvh,44px),calc(72cqw / var(--win-amount-ratio,1)))}}

/* Reviewed reference principle: group the available action and amount;
   keep a readable data line, rather than isolated sockets in a broad slab.
   SPLAT's inked rim is nine-sliced so the drawn corners stay proportionate. */
.console{position:relative;isolation:isolate}
.console::before{content:'';position:absolute;inset:0;z-index:-1;border:12px solid transparent;border-image:none 18 fill / 12px stretch;pointer-events:none}
.console .data-strip{min-height:30px;border:0;border-radius:0;background:none;box-shadow:none;padding:4px 16px;color:#a6d9d6;font-size:10px}
.console .data-strip strong{font-size:24px}
.console .control-deck{background:none;box-shadow:none;border:0;border-radius:0;margin-top:0;padding:4px 12px 9px;gap:7px}
.console .service-controls{gap:6px}
.console .small-button{background:#123c4b;border:2px solid #071a29;border-radius:50%;box-shadow:inset 0 1px #30777e,0 2px #051522;color:#e5eee2}
.console .small-button:hover:not(:disabled){background:#205461}
.console .feature-button{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:92px;padding:0 8px;background:#164752;border:2px solid #071a29;border-radius:9px 12px 8px 11px;box-shadow:inset 0 2px #327c7a,0 2px #051522;color:#ffdf9b;font-size:11px;font-weight:800}
.console .feature-button svg{width:22px;height:22px;fill:#ff7658;stroke:#081c29;stroke-width:1.8;stroke-linejoin:round;flex:none}
.console .amount-controls{background:#123b4a;border:2px solid #071a29;border-radius:13px 10px 12px 10px;box-shadow:inset 0 2px #2b7275,0 2px #051522;padding:1px;max-width:none}
.console .amount-controls #minus,.console .amount-controls #plus{background:#1d4b58;border:2px solid #0b2838;border-radius:50%;box-shadow:none}
.console .amount-controls #minus:hover:not(:disabled),.console .amount-controls #plus:hover:not(:disabled){background:#2b6870}
.console .amount-controls #amount strong{font-size:27px}
.console .playback-button{background:#102f40;border:2px solid #071a29;border-radius:10px 8px 11px 8px;box-shadow:inset 0 1px #29616e,0 2px #051522;color:#d4eee5}
.console .playback-button small{font-size:9px;line-height:1.1}
.console .playback-button[aria-pressed=true]{background:#6b343c;box-shadow:inset 0 2px #d47663,0 2px #051522;color:#ffe4b0}
.console button:focus-visible{outline:2px solid #ffe4b4;outline-offset:2px}
.game[data-layout=landscape] .console{width:min(100%,760px);max-width:calc(100vw - 10px)}
.game[data-layout=landscape] .console .amount-controls{justify-self:stretch}
.game[data-layout=portrait] .console .control-deck{padding:5px 6px 10px;gap:5px}
.game[data-layout=portrait] .console .amount-controls #amount strong{font-size:23px}
.game[data-layout=compact] .console::before{display:none}
.game[data-layout=compact] .console .control-deck{padding:0;gap:3px}
.game[data-layout=compact] .console .feature-button{min-width:0;font-size:8px;padding:0 5px}
.game[data-layout=compact] .console .feature-button svg{display:none}
.game[data-layout=compact] .console .amount-controls #amount strong{font-size:20px}
.game[data-layout=compact] .console .data-strip{padding:2px;background:#0b2637}
@media(max-width:330px){.game[data-layout=portrait] .console .control-deck{column-gap:4px}}
/* Bonus actions form their own row. Retain the base allocation so the Matrix
   does not jump, but do not paint a tall empty panel for hidden wager controls. */
.game[data-layout=portrait][data-feature-active=true] .console::before{bottom:55px}
.game[data-layout=portrait][data-feature-active=true] .console .control-deck{grid-template-columns:auto minmax(0,1fr) 44px;grid-template-rows:44px 50px}
.game[data-layout=portrait][data-feature-active=true] .console .service-controls{grid-column:1;grid-row:1}
.game[data-layout=portrait][data-feature-active=true] .console #turbo{grid-column:3;grid-row:1}
.game[data-layout=portrait][data-feature-active=true] .console .feature-progress{grid-column:2;grid-row:1;align-self:center;text-align:center;padding:0 6px;font-size:11px}
.game[data-layout=portrait][data-feature-active=true]:has(#auto[aria-pressed=true]) .console .control-deck{grid-template-columns:auto minmax(0,1fr) 44px 44px}
.game[data-layout=portrait][data-feature-active=true]:has(#auto[aria-pressed=true]) .console #auto{grid-column:4;grid-row:1}
.mode-strip #round-label.bonus-counter{justify-self:center;display:inline-flex;align-items:center;justify-content:center;gap:5px;--counter-height:30px}
.bonus-counter small{font-size:11px;line-height:1;white-space:nowrap;max-width:none}
.bonus-counter b{flex:none;min-width:0;width:calc(var(--counter-ratio,.58)*var(--counter-height));height:var(--counter-height)}
.bonus-counter b .splat-lettering{width:100%;height:100%;max-width:none}
.game[data-layout=compact] .mode-strip #round-label.bonus-counter{--counter-height:21px;gap:3px}
.game[data-layout=compact] .bonus-counter small{font-size:7px}
@media(max-height:450px){.round-summary{padding:12px 22px}.summary-award{margin:8px auto}#summary-title{font-size:26px;margin:6px auto}#summary-mode{margin:6px}.round-summary .fine-print{margin:8px}}

/* Preserve the same family geometry through travel, landing and rest. */
.life-reel-item>.symbol.premium,.life-reel-item>.life-symbol[data-life-key=collector],.life-reel-item>.life-symbol[data-life-key=lifeScatter]{height:108%;top:-4%;bottom:auto}
.life-reel-item>.life-symbol[data-life-key^=spirit]{height:123%;top:-11.5%;bottom:auto}

/* The native graveyard is a full scene, with no enclosing panel. The selected
   film keeps its complete composition when a device rotates during playback. */
.life-transition.life-cinema{position:fixed;inset:0;z-index:120;display:block;padding:0;background:none;box-shadow:none;border:0;border-radius:0;opacity:1;isolation:isolate;overflow:hidden;pointer-events:auto}
.life-transition.life-cinema::before,.life-transition.life-cinema::after{display:none}
.life-cinema.life-cinema-world{background:#081b30}
.life-cinema>.life-cinema-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;max-width:none;margin:0;display:block}
.life-cinema>.life-cinema-video[hidden]{display:none}
.life-cinema>.life-cinema-fog{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}
.life-cinema>.life-cinema-title{position:absolute;top:2%;left:0;right:0;width:min(86vw,90dvh);height:auto;margin:auto;z-index:2;pointer-events:none;will-change:transform}
.life-cinema-title picture,.life-cinema-title img{display:block;width:100%;height:auto!important;max-width:none}
.life-cinema>.life-cinema-revival{position:absolute;right:8%;bottom:16%;width:min(38vw,58dvh,450px);aspect-ratio:1;z-index:2;pointer-events:none}
.life-cinema-revival>.registered-art{position:absolute;inset:0;width:100%;height:100%}
.life-cinema>.life-cinema-revival[hidden]{display:none}
@media(max-aspect-ratio:1/1){.life-cinema>.life-cinema-revival{right:16%;bottom:21%;width:min(68vw,44dvh)}}
.life-cinema>.life-cinema-detail{position:absolute;bottom:13%;left:0;right:0;text-align:center;color:#fff0ce;font:700 clamp(14px,2vw,22px) Outfit,sans-serif;text-shadow:0 2px 3px #03101f;z-index:2;margin:0}
.life-cinema>.life-cinema-title[hidden],.life-cinema>.life-cinema-detail[hidden]{display:none}
.life-cinema>.life-cinema-skip,.life-cinema>.life-cinema-sound{position:absolute;bottom:max(14px,env(safe-area-inset-bottom));min-width:88px;min-height:44px;width:auto;height:auto;background:none;border:0;border-radius:0;box-shadow:none;padding:8px;color:#fff0ce;text-shadow:0 2px 3px #03101f;cursor:pointer;z-index:4;font:700 12px Outfit,sans-serif;letter-spacing:.08em}
.life-cinema>.life-cinema-skip{right:max(12px,env(safe-area-inset-right))}.life-cinema-skip svg{width:58px;height:28px;filter:drop-shadow(0 2px #081b30)}
.life-cinema>.life-cinema-sound{left:max(12px,env(safe-area-inset-left))}
.life-cinema button:focus-visible{outline:none;text-decoration:underline;text-underline-offset:6px;filter:drop-shadow(0 2px #ffe8b1)}
@media(max-aspect-ratio:1/1){.life-cinema>.life-cinema-title{top:12%;width:80%}}
@media(max-height:280px){.life-cinema>.life-cinema-title{top:2%;width:min(86vw,95dvh)}.life-cinema>.life-cinema-skip,.life-cinema>.life-cinema-sound{bottom:2px}}

/* A persistent service header keeps Close reachable without placing it over
   a partially visible feature price/action while the cards scroll underneath. */
.dialog.feature-dialog{padding-top:0}
.feature-dialog-header{position:sticky;top:0;z-index:3;margin:0 -4px 10px;padding:14px 4px 10px;background:#0b2c3a}
.feature-dialog-header>.close{position:absolute;top:4px;right:0;z-index:1;float:none;margin:0;background:#0b2c3a;border-radius:50%}
.feature-dialog-header h1{margin-right:42px}
.feature-dialog .feature-dialog-header .dialog-intro{margin-bottom:0}

/* Premium housings register to the Matrix cell, independently of the square
   figure/action canvas. The same geometry is used in travel and landed items. */
.symbol.premium[data-premium-key],.life-reel-item>.symbol.premium[data-premium-key],.reel-result-item>.symbol.premium[data-premium-key]{inset:0;width:100%;height:100%;aspect-ratio:auto;margin:0;overflow:visible;container-type:size}
.premium-housing{position:absolute;inset:-3.5%;display:grid;grid-template-columns:min(15cqw,15cqh) 1fr min(15cqw,15cqh);grid-template-rows:min(15cqw,15cqh) 1fr min(15cqw,15cqh);background:#301c35;border-radius:14%;pointer-events:none}
.premium-housing>svg{display:block;width:100%;height:100%;overflow:hidden}
.premium-housing>.premium-clip-defs{position:absolute;width:0;height:0}
.premium-figure{position:absolute;width:min(108cqw,108cqh);height:min(108cqw,108cqh);left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none}
.premium-figure>.registered-art{position:absolute;inset:0}
.symbol[data-premium-key=ghost]>.premium-figure,.symbol[data-premium-key=stencil]>.premium-figure{margin-top:-6cqh}

/* LIFE's square trigger must be centred inside the rectangular Matrix cell.
   Keep the full-cell travel/landing owner and centre both registered layers
   within it; changing the outer transform would fight the reel's soft stop. */
.symbol.life-symbol[data-life-key=lifeScatter],.life-reel-item>.life-symbol[data-life-key=lifeScatter],.life-reel-item>.reel-outgoing-life[data-life-key=lifeScatter],.reel-result-item>.life-symbol[data-life-key=lifeScatter]{inset:0;width:100%;height:100%;aspect-ratio:auto;margin:0;container-type:size}
.life-symbol[data-life-key=lifeScatter]>.registered-art{inset:auto;left:calc(50% - min(54cqw,54cqh));top:calc(50% - min(54cqw,54cqh));margin:0;width:min(108cqw,108cqh);height:min(108cqw,108cqh)}

}
