/* Aurora Prestige 4.0 — Portoro. One masthead, one play surface, one marble console. */
:root{--bg:#0c0d0c;--panel:#171816;--cyan:#d8bd83;--gold:#dfc58f;--text:#f5eddc;--muted:#c4b9a3;--line:#b79b633d;--row:218px;--edge:0px}
body,body[data-theme=eclipse]{--cyan:#d8bd83;background:#0c0d0c;color:var(--text);-webkit-font-smoothing:antialiased}
body{font-family:'Manrope',Arial,sans-serif}button,input,select{font-family:inherit}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #e3c994;outline-offset:4px}
summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
/* These three adjoining surfaces are opaque: no lettering straddles the photograph. */
.topbar{width:calc(100% - 48px);max-width:1100px;min-height:76px;height:auto;margin:24px auto 0;padding:14px 28px;display:grid;grid-template-columns:1fr auto 1fr;gap:16px;background:#121410;border:1px solid #b59a644d;border-bottom:0;border-radius:8px 8px 0 0;position:relative;z-index:10}
.topbar .brand{grid-column:2;grid-row:1;justify-self:center;display:flex;flex-direction:column;gap:3px;line-height:1.2;white-space:nowrap;text-align:center;text-shadow:none;color:#e7d3ac;font:400 24px/1.15 Georgia,'Times New Roman',serif;letter-spacing:.22em;padding-left:.22em}
.topbar .brand>span:last-child{display:block;font:500 12px/1.4 'Manrope',sans-serif;letter-spacing:.19em;color:#cbb895}
.topbar .version-button,.candidate .topbar .version-button{grid-column:1;grid-row:1;justify-self:start;margin:0;order:initial;color:#c1b194;font-size:12px;font-variant-numeric:tabular-nums}
.utility-menu{grid-column:3;grid-row:1;justify-self:end;position:relative;color:#d7c5a5;font-size:14px}
.utility-menu>summary{padding:12px 0 12px 10px}.utility-menu>summary::after{content:'⌄';margin-left:8px}
.utility-menu nav{position:absolute;right:0;top:100%;height:auto;min-width:156px;display:grid;gap:0;padding:8px;background:#1b1c17;border:1px solid var(--line);border-radius:5px;box-shadow:0 16px 35px #0008}
.utility-menu:not([open]) nav{display:none}.utility-menu .nav{text-align:left;padding:12px;border:0;border-radius:3px;font-size:14px}.utility-menu .nav:hover{background:#ffffff09}
.candidate .topbar #rules-open{grid-column:3;grid-row:1;justify-self:end;font-size:14px;color:#d7c5a5}
main{max-width:1148px;padding:0 24px 24px;margin:auto}
.arena{min-height:0;border:1px solid #b59a644d;border-top:0;border-radius:0 0 8px 8px;background:#10120f;box-shadow:0 28px 80px #0008}
.ambient{inset:148px 0 0;background:linear-gradient(180deg,#11130f12,#10120f80 35%,#10120ff2 78%),url('lounge-prive-v032.png') center 30%/cover;opacity:1;filter:saturate(.65);animation:none;transform:none}
body[data-theme=eclipse] .ambient{filter:brightness(.8) saturate(.5)}
.arena::before,.arena::after,.nebula-flow,.particles,#reel-mist{display:none}.world-fx{opacity:.16}
.stage-bar{height:auto;min-height:44px;padding:0 28px;gap:12px;background:#121410;flex-wrap:wrap}
.demo-badge{font-size:12px;letter-spacing:.025em;color:#c5bba6;white-space:normal}
.stage-actions{display:flex;align-items:center;gap:22px}.stage-bar .text-btn,.stage-actions #cinema{color:#d4c6af;font-size:14px;min-height:44px;letter-spacing:0}
.audio-toggle::before{content:'♪';margin-right:7px;color:#dfc58f}.audio-toggle[aria-pressed=false]::before{opacity:.45}
#game-view .game-heading,.candidate .game-heading,.cinema-mode #game-view .game-heading{height:auto;min-height:134px;padding:22px 20px 24px;gap:0;background:#121410;border-bottom:1px solid #b59a642e;filter:none}
#game-title,.candidate .game-heading h1{margin:0;padding-left:.16em;font:400 clamp(46px,5vw,68px)/1 Georgia,'Times New Roman',serif;letter-spacing:.16em;color:#e8d4ad;background:none;-webkit-text-fill-color:currentColor;filter:none;text-shadow:none}
#game-title span,.candidate .game-heading h1 span{display:block;margin-top:13px;padding-left:.55em;font:500 13px/1.5 'Manrope',sans-serif;letter-spacing:.55em;color:#cdbb99;background:none;text-shadow:none}
.game-content,.cinema-mode .game-content{width:min(780px,calc(100% - 64px));margin:0 auto;padding:24px 0 30px}
.game-options::details-content{display:contents}
/* All states share a single, exact-height viewport. No per-symbol panel. */
.reel-area,.cinema-mode .reel-area{margin:0;padding:0;background:none;border:0;box-shadow:none;border-radius:0}
.reel-area::before,.reel::before,.reel::after,.symbol.center::after{display:none!important;content:none!important}
.reel-area::after{content:"";display:block;position:absolute;left:0;right:0;bottom:0;height:26px;background:#10120f;z-index:0;pointer-events:none}
.payline,.line-marker{display:none}
.reels{--row:218px;--edge:0px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;overflow:hidden;isolation:isolate}
.reels .reel{height:var(--row);min-height:0;display:block;position:relative;overflow:hidden;contain:paint;clip-path:inset(0)}
.reels .symbol.center{height:var(--row);min-height:0;display:flex;align-items:center;justify-content:center;padding:4px 0 30px;position:relative;overflow:hidden}
.reels .symbol.dim{display:none!important}.reels .reel:not(.is-travelling)>.reel-strip{display:none!important}
.reels .symbol.center .symbol-art,.reels .strip-cell .symbol-art{width:min(calc(var(--row) - 34px),100%);height:auto;aspect-ratio:1;max-width:100%;flex:none}
.reels .strip-cell{height:var(--row);min-height:var(--row);padding:4px 0 30px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.reels .symbol.center small{bottom:0;left:0;right:0;padding:4px 2px;min-height:24px;color:#d9c8a9;font-size:12px;line-height:1.5;letter-spacing:.06em;text-align:center;text-shadow:0 1px 4px #000}
/* The old atlas backgrounds are never drawn, including during FX and replays. */
.symbol-art,.symbol-art.evo-1,.symbol-art.evo-2,.symbol-art.evo-3,.symbol-art.evo-4,.symbol-art.evo-5{display:flex;align-items:center;justify-content:center;background:none!important;clip-path:none!important;mask-image:none!important;-webkit-mask-image:none!important;mix-blend-mode:normal;filter:none!important}
.symbol-art::before,.symbol-art::after{content:none!important;display:none!important}
.symbol-art>canvas{display:block;width:92%;height:92%;overflow:hidden;flex:none;pointer-events:none}
.result{min-height:90px;padding:16px 12px 20px;gap:3px;text-align:center;justify-content:center;background:#10120f;margin:16px 0 0;border-top:1px solid #b59a642b}
#result-kicker{font-size:12px;line-height:1.5;letter-spacing:.08em;color:#d8bd83;text-transform:uppercase}
#result-title{font:500 21px/1.45 'Manrope',sans-serif;letter-spacing:0;color:#f1e5cd;font-variant-numeric:tabular-nums}
.result.win #result-title{font-size:27px;color:#efd398}#result-detail{font-size:13px;line-height:1.6;color:#c8bca7;letter-spacing:0;font-variant-numeric:tabular-nums}
#result-kicker:empty,#result-detail:empty{display:none}
/* The marble is a standalone original photographic asset, not a CSS imitation. */
.table-dock{position:relative;isolation:isolate;border:1px solid #c3a3698c;border-radius:7px;background:#11120f;box-shadow:0 6px 0 #342c20,0 7px 0 #a083474f,0 25px 46px #0008;overflow:hidden}
.controls{position:relative;margin:0;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr) minmax(148px,.85fr);grid-template-areas:'balance stake spin' 'bets bets spin';gap:22px 28px;align-items:center;padding:32px 30px 30px;border:0;border-radius:0;background:linear-gradient(90deg,#090b0908,#090b091c),url('portoro-marble-v4.png') center/100% 100%;box-shadow:inset 0 1px #f2d5a255;isolation:isolate}
.controls::before{content:'';position:absolute;inset:9px;border:1px solid #bda06d45;pointer-events:none;z-index:-1;border-radius:2px}
.controls>.metric{grid-area:balance;align-self:center;min-width:0;padding:0}
.controls .metric>span,.controls .stake-control label{font-size:14px;font-weight:500;letter-spacing:.09em;line-height:1.7;color:#dbcaaa;text-shadow:0 1px 3px #000}
.controls .metric strong{display:block;font:500 clamp(25px,3vw,34px)/1.7 'Manrope',sans-serif;letter-spacing:0;font-variant-numeric:tabular-nums lining-nums;color:#fff0d5;overflow-wrap:anywhere;text-shadow:0 2px 5px #000}
.controls>.stake-control{grid-area:stake;padding-left:0;border:0;align-self:center;min-width:0}.stake-heading{gap:8px;align-items:center}
.stake-input-wrap{display:flex;align-items:center;gap:8px;margin-top:3px;padding:0 12px;border:1px solid #bea2728f;border-radius:3px;background:#11130fee;box-shadow:inset 0 2px 7px #0005}
.stake-input-wrap:focus-within{border-color:#f0cf8e;box-shadow:0 0 0 3px #d9bd8320}
.stake-input-wrap input{width:100%;min-width:0;height:57px;padding:6px 0;font:500 28px/1.5 'Manrope',sans-serif;letter-spacing:0;font-variant-numeric:tabular-nums lining-nums;color:#fff0d5;background:none;border:0;box-shadow:none}
.stake-input-wrap>span{font-size:12px;color:#c8b896}
.controls>.spin{grid-area:spin;align-self:stretch;min-height:124px;border:1px solid #ffe4b0;border-radius:4px;padding:20px;display:flex;flex-direction:column-reverse;align-items:center;justify-content:center;gap:14px;background:linear-gradient(125deg,#f4dfaf,#d2ae71 65%,#b88c4e);color:#292111;font:700 15px/1.4 'Manrope',sans-serif;letter-spacing:.16em;box-shadow:0 4px 0 #705530,0 10px 22px #0005,inset 0 1px #fff8dc;transition:transform .15s,filter .15s}
.spin-orb{display:block;font:400 37px/1 'Manrope',sans-serif}.spin:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}.spin:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #705530}.controls>.spin:disabled{opacity:.5;filter:saturate(.5)}
.bet-options{grid-area:bets;padding:0;border:0;min-width:0}.bet-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0;background:none;border:0;border-radius:0}
.bet-chips button{min-width:0;min-height:47px;padding:9px 7px;border:1px solid #9f8d698c;border-radius:3px;background:#11130ff2;color:#e9dbbc;font-size:15px;font-weight:500;letter-spacing:.03em;box-shadow:0 2px 4px #0004;white-space:nowrap;font-variant-numeric:tabular-nums}
.bet-chips button[aria-pressed=true]{background:#dac08b;color:#242016;border-color:#efd6a6;box-shadow:inset 0 1px #fff1ca55}.bet-chips button:hover:not(:disabled){border-color:#efd6a6}.bet-options [hidden],.bet-error[hidden]{display:none}
.bet-hint{display:none}.bet-error{font-size:14px;line-height:1.5;color:#ffe0d2;background:#261915;margin:12px 0 0;padding:8px 10px;border-radius:3px}#bet-levels{background:#171813;color:#f0dfbd;font-size:14px}
/* Footer copy and settings live wholly on this opaque rail, below the marble. */
.console-bottom{display:grid;grid-template-columns:1fr auto;align-items:start;padding:0 24px;gap:0 20px;background:#151711;border-top:1px solid #bfa16b66;position:relative}
.game-options{display:contents;margin:0;border:0}.game-options>summary{grid-column:1;grid-row:1;justify-self:start;min-height:52px;padding:15px 0;font-size:14px;line-height:1.5;color:#cbbc9f}
.game-options>summary::after,.session-drawer>summary::after{content:'+';margin-left:12px;color:#dfc58f}.game-options[open]>summary::after,.session-drawer[open]>summary::after{content:'−'}
.game-options:not([open])>:not(summary){display:none}.game-options>.settings,.game-options>.music-deck{grid-column:1/-1}
.settings{border:0;border-top:1px solid #ad986a30;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px 24px;padding:15px 0}.settings button{font-size:14px;min-height:40px;color:#d7c7a9}.settings #effects-open{border:0;color:#dfc58f}.audio-volume{font-size:14px;color:#cbbb9e;gap:10px}.audio-volume input{accent-color:#d0ae72}
.music-deck,.candidate .music-deck{display:flex;width:100%;margin:0;padding:12px 0 20px;gap:14px;justify-content:space-between;align-items:center;border:0;border-top:1px solid #c5a97526;border-radius:0;background:none;box-shadow:none;backdrop-filter:none}.music-deck strong{color:#d9c8a9;font-size:14px;font-weight:500;letter-spacing:0}.music-deck #music-status{font-size:12px;line-height:1.5;color:#bcae95}.music-deck #music-direct{display:block;font-size:12px;color:#cfb783}
.arena-footer{grid-column:2;grid-row:1;justify-content:flex-end;align-items:center;min-height:52px;margin:0;padding:15px 0;border:0;background:#151711;color:#c0b295;font-size:12px;line-height:1.75;text-align:right}
.session-drawer{max-width:780px;margin:14px auto 0;padding:0 20px;background:#10120f;border:1px solid #b59a6424;border-radius:4px}.session-drawer>summary{padding:13px 0;min-height:46px;color:#bfb197;font-size:14px;line-height:1.5}.below-game{margin:8px 0 12px;padding:0;gap:16px}.below-game .eyebrow{display:none}.below-game p{color:#c6baa1;font-size:14px;margin:0}.session-actions .text-btn{font-size:13px}.history li{background:#191c15;border-color:#c5a97526}.history .positive{color:#e4c38a}.history li.empty-history{color:#bbae96}.footnote{color:#b6a991}
/* Secondary views keep the same restrained palette. */
.panel,dialog{background:#191b16;border-color:#b79b6345;color:#e5dbc7}dialog::backdrop{background:#090b08ce}dialog{border-radius:8px}dialog p{font-size:15px;line-height:1.7;color:#cbbfa8}dialog h2{color:#ecd9b4;letter-spacing:0}dialog .eyebrow{color:#cdb17e}.dialog-head button{background:none;color:#e1cfaa}.panel input,.panel select{background:#10120e;border-color:#c5a97545}.payrow{border-color:#c5a97526}.payrow b{color:#e2c994}.payrow span{color:#c8baa0}
.symbol-legend{margin:15px 0 4px;padding:0;gap:0}.legend-item{padding:6px 12px;border-color:#c5a97526}.legend-item>span:not(.symbol-art){font-size:12px;letter-spacing:0;color:#c6b89c}.legend-item b{font-size:15px;font-weight:600;line-height:1.4;color:#d8be8b}.legend-item .symbol-art{width:42px;height:42px}
.preview-stage{background:none;border:0}.preview-stage::before{background:linear-gradient(#14110f5c,#100e0cbb),url('lounge-prive-v032.png') center 35%/cover}.effect-choices button{background:#242017;border-color:#c5a97536;color:#d8c6a7}.effect-choices button[aria-pressed=true]{border-color:#dbbb7e;background:#c9a46314}.effect-choices button:hover{background:#332a1b}#preview-label{color:#cfbfa2}.lineage-form strong,.lineage-form span{color:#d7c3a0}.preview-disclaimer,.evolution-note{color:#c4b69c}
.candidate #session-state{font-size:12px;color:#c4b69c}.candidate #session-state:empty{display:none}.candidate .stage-bar .audio-toggle{margin-left:auto}.cinema-mode .session-drawer{display:none}.cinema-mode .arena{min-height:100svh}.lab-view .topbar{border-bottom:1px solid #b59a644d;border-radius:8px}
@media(max-width:760px){
 .topbar{width:calc(100% - 20px);margin:10px auto 0;min-height:72px;padding:12px 16px;gap:10px;border-radius:6px 6px 0 0}.topbar .brand{font-size:22px}.topbar .brand>span:last-child{font-size:12px}.utility-menu>summary{font-size:13px}main{padding:0 10px 18px}.arena{border-radius:0 0 6px 6px}
 .stage-bar{min-height:42px;padding:0 16px;gap:6px}.demo-badge{font-size:12px;letter-spacing:0}.stage-actions{gap:14px}.stage-bar .text-btn,.stage-actions #cinema{font-size:13px}.audio-toggle::before{display:none}
 #game-view .game-heading,.candidate .game-heading,.cinema-mode #game-view .game-heading{min-height:111px;padding:16px 12px 20px}#game-title,.candidate .game-heading h1{font-size:clamp(36px,10vw,49px);letter-spacing:.12em;padding-left:.12em}#game-title span,.candidate .game-heading h1 span{margin-top:11px;font-size:12px;letter-spacing:.48em;padding-left:.48em}
 .ambient{inset:153px 0 0;background-size:auto 820px;background-position:center top}.game-content,.cinema-mode .game-content{width:calc(100% - 24px);padding:20px 0 23px}.reels{--row:158px;gap:4px}.reels .symbol.center small{font-size:12px;letter-spacing:0}.reels .symbol.center .symbol-art,.reels .strip-cell .symbol-art{width:100%}
 .result{min-height:79px;margin-top:9px;padding:12px 8px 15px}#result-title{font-size:20px}.result.win #result-title{font-size:24px}#result-detail{font-size:12px;line-height:1.6}
 .table-dock{border-radius:5px}.controls{padding:24px 20px 22px;gap:17px 18px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:'balance stake' 'bets bets' 'spin spin';background-size:cover;background-position:50% 45%}.controls::before{inset:7px}.controls .metric>span,.controls .stake-control label{font-size:13px;letter-spacing:.06em}.controls .metric strong{font-size:clamp(22px,6vw,29px);line-height:1.9}.stake-input-wrap{padding:0 10px;gap:4px}.stake-input-wrap input{height:49px;font-size:24px}
 .controls>.spin{min-height:59px;padding:14px 20px;flex-direction:row;gap:18px;font-size:15px;letter-spacing:.12em}.spin-orb{font-size:28px}.bet-chips{gap:8px}.bet-chips button{min-height:45px;font-size:14px}
 .console-bottom{padding:0 18px;gap:0 10px}.game-options>summary{font-size:13px;min-height:48px;padding:14px 0}.arena-footer{font-size:12px;min-height:48px;padding:14px 0;white-space:normal}.settings{gap:4px 18px}.music-deck #music-direct{max-width:110px;text-align:right}
 .session-drawer{margin:12px 12px 0;padding:0 14px}.symbol-legend{margin:11px 0 2px}.legend-item{grid-template-rows:35px 18px 22px;padding:3px}.legend-item .symbol-art{width:36px;height:36px}.legend-item>span:not(.symbol-art){font-size:12px}.legend-item b{font-size:14px}
}
@media(max-width:380px){.stage-bar{padding:0 12px}.stage-actions{gap:10px}.stage-bar .text-btn,.stage-actions #cinema{font-size:12px}.game-content,.cinema-mode .game-content{width:calc(100% - 18px)}.controls{padding:21px 15px;gap:16px 12px}.controls .metric strong{font-size:23px}.stake-input-wrap input{font-size:21px}.stake-input-wrap{padding:0 8px}.reels{--row:148px}.console-bottom{padding:0 13px;gap:8px}.game-options>summary{font-size:12px}.arena-footer{font-size:12px}.topbar .brand>span:last-child{display:block}}
@media(orientation:landscape) and (max-height:620px){.cinema-mode #game-view .game-heading{min-height:80px;padding:12px}.cinema-mode #game-title{font-size:36px}.cinema-mode #game-title span{margin-top:7px;font-size:12px}.cinema-mode .game-content{padding-top:12px}.cinema-mode .reels{--row:136px}.cinema-mode .result{min-height:64px}.cinema-mode .ambient{background-size:cover}}
@media(prefers-reduced-motion:reduce){.world-fx{display:none}}

/* 4.1 — visible Portoro veining, a dedicated vault scene and direct object inspection. */
.topbar{min-height:64px;padding-top:8px;padding-bottom:8px;background:#10130f;border-bottom:1px solid #c7aa713b}
.topbar .brand{font-size:23px;line-height:1.15}.topbar .brand>span:last-child{color:#dbc39a;letter-spacing:.2em}
.stage-bar,#game-view .game-heading,.candidate .game-heading,.cinema-mode #game-view .game-heading{background:#10130f}
#game-view .game-heading,.candidate .game-heading,.cinema-mode #game-view .game-heading{min-height:105px;padding:16px 20px 20px}
#game-title,.candidate .game-heading h1{font-size:clamp(44px,5vw,62px)}
.ambient{inset:149px 0 auto;height:390px;background-image:url('prestige-vault-v41.png');background-size:cover;background-position:center 48%;background-repeat:no-repeat;filter:none;opacity:1}
body[data-theme=eclipse] .ambient{filter:brightness(.88) saturate(.85)}
.game-content,.cinema-mode .game-content{width:min(800px,calc(100% - 54px));padding:22px 0 24px}
.reels{--row:212px}.reels .symbol.center{width:100%;font:inherit;color:inherit;border:0;border-radius:0;-webkit-appearance:none;appearance:none;cursor:zoom-in}
.reels .symbol.center:focus-visible{outline:1px solid #dfc58f;outline-offset:-4px}.reels .symbol.center:hover .symbol-art{transform:translateY(-3px)}
.reels.spinning .symbol.center{cursor:default}.reels.spinning .symbol.center:hover .symbol-art{transform:none}
.result{min-height:78px;padding:12px 10px 16px;margin-top:12px}
/* Show the richly veined corner of the slab rather than its plain centre. */
.table-dock{border:1px solid #e0bd7d;border-radius:5px;box-shadow:0 7px 0 #544029,0 8px 0 #c7a16575,0 24px 50px #000a}
.controls{padding:26px 25px 24px;gap:18px 22px;background-image:url('portoro-marble-v4.png');background-size:150% auto;background-position:left top;background-repeat:no-repeat;background-color:#171511;box-shadow:inset 0 1px #fff0c48c}
.controls::before{inset:6px;border-color:#efd29b70;border-radius:2px}
.controls>.metric,.controls>.stake-control{background:#10130ff5;border:1px solid #c7a8704a;border-radius:3px;padding:11px 14px;align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-width:0;box-shadow:0 3px 9px #0004}
.controls .metric strong{font-size:30px;line-height:1.8}.controls .metric>span,.controls .stake-control label{color:#dccba8;font-size:13px;letter-spacing:.09em}
.stake-input-wrap{background:#090c08;border-color:#d6b57b7a;margin-top:4px}.stake-input-wrap input{height:49px;font-size:27px}
.controls>.spin{min-height:146px;background:linear-gradient(125deg,#fff0cb,#e0bb7a 62%,#c69752);color:#251d0e;border:1px solid #fff0c4;box-shadow:0 4px #806037,inset 0 1px #fffae7,0 10px 18px #0006;font-size:16px;letter-spacing:.14em}
.controls>.spin .spin-orb{font-size:38px}.bet-chips button{min-height:46px;background:#10130ff5;border-color:#d5ba87a1}.bet-chips button[aria-pressed=true]{background:#e1c48c;color:#241d10;border-color:#ffe6b6}
.console-bottom,.arena-footer{background:#10130f}.console-bottom{padding:0 22px;border-top:1px solid #e0bd7d6b}.game-options>summary{color:#ddcaab}.arena-footer{color:#cbb997}.session-drawer{background:#10130f}
/* The existing five-form gallery becomes an explorable product display. */
#effects-dialog{max-width:860px;padding:24px;background:#10130f}.preview-disclaimer{margin:6px 0 18px;font-size:14px;color:#cbbb9f}.evolution-picker{font-size:14px;color:#d6c6a6}
.lineage-form{appearance:none;text-align:center;cursor:pointer;border:1px solid #bea16b30;border-radius:3px;background:#171b14;color:#ead6ae;gap:5px;padding:10px 6px;min-width:0}
.lineage-form.is-selected{border-color:#e1bd78;background:#27271b}.lineage-form:hover{border-color:#d8bc84}.lineage-form .symbol-art{width:min(100%,112px);height:auto;aspect-ratio:1}.lineage-form strong{font-size:13px;font-weight:500}.lineage-form>span:not(.symbol-art){font-size:12px;color:#bdb08f}
.preview-stage{height:370px;overflow:hidden;border-radius:4px}.preview-stage::before{background:url('prestige-vault-v41.png') center 45%/cover}
.preview-stage #preview-art{inset:0;gap:8px;perspective:900px;--inspect-x:0deg;--inspect-y:0deg}
.preview-stage #preview-art>.symbol-art{width:min(285px,80%);height:auto;aspect-ratio:1;transform:rotateX(var(--inspect-x)) rotateY(var(--inspect-y));transition:transform .15s ease-out}
.preview-final-caption{color:#ead5ab;font-size:14px;background:#10130ff0;padding:6px 16px;line-height:1.5;border:0}
.effect-choices{gap:8px}.effect-choices button{border-radius:3px}#preview-label{font-size:14px;line-height:1.65}
@media(max-width:760px){
 .topbar{min-height:60px;margin-top:8px;padding:8px 15px}.topbar .brand{font-size:20px;gap:2px}.topbar .brand>span:last-child{font-size:12px}.stage-bar{min-height:40px;padding:0 14px}.stage-actions{gap:12px}
 #game-view .game-heading,.candidate .game-heading,.cinema-mode #game-view .game-heading{min-height:88px;padding:9px 12px 16px}#game-title,.candidate .game-heading h1{font-size:clamp(34px,9.5vw,43px)}#game-title span,.candidate .game-heading h1 span{margin-top:9px}
 .ambient{inset:127px 0 auto;height:245px;background-size:cover;background-position:center 48%}.game-content,.cinema-mode .game-content{width:calc(100% - 20px);padding:16px 0 20px}.reels{--row:148px;gap:4px}.reels .symbol.center{padding-bottom:28px}.reels .strip-cell{padding-bottom:28px}
 .result{min-height:70px;padding:10px 8px 12px;margin-top:8px}#result-title{font-size:19px}
 .controls{padding:20px 17px;gap:14px 12px;background-size:155% auto;background-position:0 0}.controls>.metric,.controls>.stake-control{padding:9px 10px}.controls .metric strong{font-size:clamp(22px,5.7vw,28px);line-height:1.9}.controls .metric>span,.controls .stake-control label{font-size:12px;letter-spacing:.06em}
 .stake-input-wrap{padding:0 7px}.stake-input-wrap input{height:40px;font-size:23px}.controls>.spin{min-height:58px;padding:13px 20px;font-size:16px}.controls>.spin .spin-orb{font-size:29px}.bet-chips{gap:7px}.bet-chips button{min-height:44px}.console-bottom{padding:0 16px}.game-options>summary,.arena-footer{min-height:46px;padding:12px 0}
 #effects-dialog{padding:18px;width:calc(100% - 22px)}.preview-stage{height:300px}.preview-stage #preview-art>.symbol-art{width:min(235px,82%)}.evolution-lineage{grid-template-columns:repeat(5,minmax(108px,1fr));gap:7px}.lineage-form .symbol-art{width:88px;height:88px}
}
@media(max-width:380px){.controls{padding:18px 13px;gap:12px 9px}.controls>.metric,.controls>.stake-control{padding:9px 8px}.controls .metric strong{font-size:22px}.stake-input-wrap input{font-size:20px}.stage-actions{gap:9px}.stage-bar{padding:0 11px}.reels{--row:138px}}
@media(prefers-reduced-motion:reduce){.reels .symbol.center:hover .symbol-art,.preview-stage #preview-art>.symbol-art{transform:none!important}}
body[data-motion=calm] .reels .symbol.center:hover .symbol-art,body[data-motion=calm] .preview-stage #preview-art>.symbol-art{transform:none!important}

/* 4.2 — keep the entire payout row on one opaque shelf, immediately below the slab. */
.payout-shelf{position:relative;margin:0;padding:10px 15px 12px;background:#10130f;border-top:1px solid #e0bd7d6b;isolation:isolate}
.payout-shelf .symbol-legend{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;margin:0;padding:0;gap:0;background:none}
.payout-shelf .legend-item{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:48px auto auto;justify-items:center;align-items:center;gap:4px;min-width:0;margin:0;padding:0 6px;text-align:center;border-right:1px solid #c5a97526}
.payout-shelf .legend-item:last-child{border-right:0}
.payout-shelf .legend-item .symbol-art{grid-row:1;width:48px;height:48px}
.payout-shelf .legend-item>span:not(.symbol-art){color:#d8c8ab;font-size:12px;line-height:1.5;white-space:nowrap}
.payout-shelf .legend-item b{color:#e6c98f;font-size:16px;line-height:1.5;font-variant-numeric:tabular-nums}
.payout-shelf+.console-bottom{border-top-color:#c5a97526}
@media(max-width:760px){
 .payout-shelf{padding:8px 8px 10px}
 .payout-shelf .legend-item{grid-template-rows:38px auto auto;gap:3px;padding:0 2px}
 .payout-shelf .legend-item .symbol-art{width:38px;height:38px}
 .payout-shelf .legend-item>span:not(.symbol-art){font-size:11px}
 .payout-shelf .legend-item b{font-size:15px}
}

/* 4.3 — one softly lit backdrop behind the title, with crisp lettering above it. */
.stage-header{position:relative;isolation:isolate;overflow:hidden;background:#10130f;border-bottom:1px solid #c7aa7145}
.stage-header::before{content:'';position:absolute;inset:-6px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#10130f94 0%,#10130f66 44%,#10130fb8 100%),url('prestige-vault-v41.png') center 20%/cover no-repeat;filter:blur(2.5px)}
.stage-header .stage-bar,#game-view .stage-header .game-heading,.candidate .stage-header .game-heading,.cinema-mode #game-view .stage-header .game-heading{background:transparent;border-bottom:0}
.stage-header .game-heading h1{text-shadow:0 2px 12px #0009}
.stage-header .game-heading h1 span,.stage-header .demo-badge,.stage-header .text-btn{color:#ecdcc0;text-shadow:0 1px 5px #000}
.topbar .brand,.topbar .brand>span{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:normal;color:#e7d3ac}
.topbar .brand{gap:4px;font-size:23px;line-height:1.15;letter-spacing:.22em}
.topbar .brand>span:last-child{font-family:inherit;font-weight:inherit;font-style:normal;font-size:14px;line-height:1.3;letter-spacing:.18em}
.game-options[open]>.settings{padding-top:14px;padding-bottom:14px}
.game-options[open]>.music-deck{padding-bottom:18px}
.session-drawer[open]{padding-bottom:9px}
@media(max-width:760px){
 .stage-header::before{background-position:center 17%;filter:blur(2px)}
 .topbar .brand{font-size:21px;gap:3px}
 .topbar .brand>span:last-child{font-size:13px;line-height:1.3}
 .game-options[open]>.settings{gap:8px 18px;padding-top:12px;padding-bottom:12px}
}

/* 4.4: a mechanical assembly, with a continuous painted core and one lock cue. */
.fx-host.fx-evolve .fx-hero .symbol-art{animation:none!important;filter:none!important;will-change:auto}
 .fx-host.fx-upgrade .fx-hero .fx-form-before{animation:prestige-core-hold var(--reward-impact) linear both!important}
 .fx-host.fx-upgrade .fx-hero .fx-form-after{animation:prestige-lock 180ms var(--reward-impact) ease-out both!important}
 .fx-host.fx-upgrade .fx-hero .fx-mechanical-part{clip-path:var(--part-clip)!important;animation:prestige-seat 680ms var(--part-delay) cubic-bezier(.2,.8,.2,1) both!important}
.fx-host .fx-form-display{animation:none!important}
.fx-host.fx-evolve .fx-card{animation:prestige-award 220ms var(--reward-impact) ease-out both!important}
.fx-host.fx-evolve::before{background:#10120ff2;animation:effect-fade 160ms ease-out both}
.fx-host .fx-evolution-label{font:400 clamp(21px,4vw,34px)/1.25 Georgia,serif;letter-spacing:.05em!important;color:#ead4a8;text-shadow:none;background:none}
.fx-host .fx-amount{font-variant-numeric:tabular-nums;text-shadow:none!important}
.fx-host .fx-title{font-size:14px!important;letter-spacing:.1em!important;font-weight:400}
.fx-host.fx-static .fx-hero{--hero-size:210px}
.fx-host.fx-calm .fx-mechanical-part,.fx-host.fx-calm .fx-form-before{display:none!important}
.fx-host.fx-calm .fx-hero .fx-form-after,.fx-host.fx-calm .fx-card{animation:none!important;opacity:1}
@keyframes prestige-core-hold{0%,84%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.96)}}
@keyframes prestige-seat{from{opacity:0;transform:translate(var(--part-x),var(--part-y))}22%{opacity:1}to{opacity:1;transform:translate(0,0)}}
@keyframes prestige-lock{from{opacity:0;transform:scale(1)}to{opacity:1;transform:scale(1)}}
@keyframes prestige-award{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}
@media(prefers-reduced-motion:reduce){.fx-host .fx-mechanical-part,.fx-host .fx-form-before{display:none!important}.fx-host .fx-form-after,.fx-host .fx-card{animation:none!important;opacity:1}}
/* Settled pieces never inherit the old glints, brightness pulses or scale kicks. */
.reels .symbol.center,.reels .symbol-art{animation:none!important;opacity:1}
.fx-partial .fx-card{background:#151913f2;border-color:#bbad8a55;backdrop-filter:none}
.fx-partial .fx-title,.fx-partial .fx-amount,.fx-partial .fx-detail{color:#d6cdbb;text-shadow:none}
@media(prefers-reduced-motion:reduce){.fx-host.fx-upgrade .fx-hero .fx-form-after{animation:none!important;opacity:1}}
.preview-stage .fx-host.fx-evolve{--fx-origin:28%;--hero-size:150px}
.preview-stage .fx-host.fx-evolve .fx-card{top:calc(var(--fx-origin) + 78px);padding:5px 8px 8px;gap:2px}
.preview-stage .fx-host .fx-evolution-label{font-size:20px;line-height:1.25}
.preview-stage .fx-host .fx-amount{font-size:34px;line-height:1.2}
.preview-stage .fx-host .fx-kicker{margin-bottom:2px;font-size:9px}
.preview-stage .fx-host .fx-detail{font-size:11px;line-height:1.3}
/* 4.5: one centered word, with no ornamental spin arrow. */
.controls>.spin{display:flex;align-items:center;justify-content:center;flex-direction:row;text-align:center;gap:0}
.controls>.spin>span{margin:0}
