/* SpinRush v34 "sharp" design layer: 2 fonts, 8px grid, 12px radius, gold for primary only, crisp imaging. */
:root{--r:12px;--ui:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;--display:Cinzel,Georgia,serif;--line:rgba(255,255,255,.12);--muted:#CFC6B4;--gold-grad:linear-gradient(180deg,#fff0b8 0%,#f5cf6b 28%,#d9a23c 62%,#9c6619 100%);--panel:rgba(14,11,8,.88)}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.mq{font-family:var(--ui)!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:geometricPrecision}
/* Crisp imaging: never stretch art, high-quality scaling, no blur filters on art */
img,.poster-art,.scene-art,.game-world,.painted-symbol,.sr-tile img{image-rendering:auto;image-rendering:high-quality}
body.mq.signature29 .reference-poster .poster-art{background-size:cover!important;background-position:center 30%!important;filter:none!important;transform:translateZ(0)}
.poster-art,.scene-art,.game-world{backface-visibility:hidden}
/* Numbers & UI: one clean sans with tabular figures (Manrope); Cinzel reserved for titles and jackpots */
html body.mq #balance,html body.mq #betValue,html body.mq #deckBalance,html body.mq #lastWin,html body.mq #stageRemaining,html body.mq .meter strong,html body.mq .bet-control strong,html body.mq .wallet b,#balance,#betValue,#deckBalance,#lastWin,#remaining,#featureTotal,#landingBalance,#loungeBalance,.wallet b,.meter b,.meter strong,.bet-control b,.bet-control strong,.stage-meters b,.stage-meters strong{font-family:var(--ui)!important;font-variant-numeric:tabular-nums lining-nums!important;font-weight:800!important;letter-spacing:0!important}
h1,h2,#gameTitle,.jp-prize>b,#winAmount,.sr33-card h2{font-family:var(--display)!important}
.jp-prize>b,#winAmount{font-variant-numeric:tabular-nums lining-nums}
/* Micro labels: min 11px desktop / 12px phone, readable contrast */
.meter small,.meter span,.wallet small,.bet-control small,.deck-secondary small,.jp-prize>span,.jp-prize small,.eyebrow,.section-kicker,.stage-caption span,.game-bottom-line,.sidebar-label,.demo-pill{font-size:11px!important;color:var(--muted)!important;letter-spacing:.08em!important;font-family:var(--ui)!important}
/* 8px grid, single radius, consistent borders */
.meter,.wallet,.bet-control,.deck-secondary,.glass-button,.back-button,.round-button,.jp-prize,.control-deck,.feature-panel,.title-panel,.sr33-card,.sr33-btn,.search,.filters button,#filters button,.dialog{border-radius:var(--r)!important}
.meter,.wallet,.deck-secondary,.glass-button,.back-button,.round-button,.bet-control,#filters button,.search{border:1px solid var(--line)!important;background:rgba(18,15,12,.82)!important;box-shadow:none!important}
.control-deck{border:1px solid var(--line)!important;background:var(--panel)!important;box-shadow:0 8px 32px rgba(0,0,0,.5)!important;padding:8px!important;gap:8px!important}
/* Gold only for primary actions + jackpots */
#filters button.active,#filters button.selected,#filters button[aria-pressed=true],.nav-link.selected{background:rgba(245,207,107,.14)!important;border-color:rgba(245,207,107,.6)!important;color:#ffe6a6!important}
.spin-button,#spinBtn,.poster-button .play,#heroPlay,.sr33-btn.gold{background:var(--gold-grad)!important;color:#2a1600!important;border:1px solid #ffe7a3!important;box-shadow:0 8px 24px rgba(217,162,60,.35),inset 0 1px 0 rgba(255,255,255,.7),inset 0 -3px 6px rgba(120,70,10,.45)!important;text-shadow:0 1px 0 rgba(255,255,255,.4)!important}
#spinBtn *{color:#2a1600!important;text-shadow:none!important}
#spinBtn:not(:disabled){animation:sr34-breathe 2.8s ease-in-out infinite!important}
@keyframes sr34-breathe{50%{box-shadow:0 0 0 6px rgba(245,207,107,.14),0 0 36px rgba(245,207,107,.5),inset 0 1px 0 rgba(255,255,255,.7)}}
/* Lobby hero: logo + one line */
.signature-promise,.discovery-top>div:first-child,#collection .eyebrow{display:none!important}
.signature-entrance{display:flex!important;flex-direction:column;align-items:center;gap:8px;padding:24px 16px 8px!important}
.signature-entrance::after{content:"29 original worlds · free play money · 18+";font:600 14px/1.4 var(--ui);letter-spacing:.12em;color:var(--muted);text-transform:uppercase}
.discovery-top{justify-content:center!important}
/* Lobby tiles: 4:5 posters, whole tile clickable, badges one corner, hover lift */
#gameGrid .poster-button{aspect-ratio:4/5!important;height:auto!important;border-radius:var(--r)!important;overflow:hidden;border:1px solid rgba(245,207,107,.28)!important;cursor:pointer}
#gameGrid .game-card{border-radius:var(--r)!important}
#gameGrid .game-card .sr33-badges{left:8px;top:8px}
#gameGrid .game-card .favourite,#gameGrid .game-card [data-favourite]{top:8px!important;right:8px!important}
#gameGrid>*:hover{transform:translateY(-4px)!important;box-shadow:0 16px 40px rgba(0,0,0,.6),0 0 0 1px rgba(245,207,107,.7),0 0 32px rgba(245,207,107,.25)!important}
/* Game screen */
.stage-caption #stageLabel{display:none!important}
.game-bottom-line{opacity:.8}
.marquee-frame{border-width:1px!important;border-color:rgba(245,207,107,.55)!important;border-radius:var(--r)!important;box-shadow:0 0 0 1px rgba(0,0,0,.6),0 24px 64px rgba(0,0,0,.65)!important}
.reel-viewport{background:#07060a!important}
.sr-reel+.sr-reel,.reels>*+*{box-shadow:inset 1px 0 0 rgba(255,255,255,.08)!important}
.sr-tile{border:0!important;box-shadow:none!important;background:transparent!important}
.reels.spinning .sr-strip,.sr-reel.spinning .sr-strip{filter:blur(1.6px)}
#resultRibbon:empty{display:none}
/* Jackpots: GRAND hero, others equal */
html body.mq .jp-cabinet .jp-ladder{display:grid!important;grid-template-columns:1fr 1fr 1.7fr 1fr!important;grid-template-areas:"mini minor grand major";gap:8px!important;align-items:stretch}
html body.mq .jp-cabinet .jp-prize{padding:8px!important;min-width:0;width:auto!important;transform:none!important;margin:0!important}
html body.mq .jp-cabinet .jp-mini{grid-area:mini}html body.mq .jp-cabinet .jp-minor{grid-area:minor}html body.mq .jp-cabinet .jp-major{grid-area:major}
html body.mq .jp-cabinet .jp-grand{grid-area:grand;background:linear-gradient(180deg,rgba(96,22,10,.96),rgba(40,8,4,.96))!important;border:1px solid rgba(245,207,107,.9)!important}
html body.mq .jp-cabinet .jp-grand>b{font-size:clamp(18px,2.2vw,28px)!important}
@media (min-width:900px){
 .game-view-dim,#gameView::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 52% 62% at 50% 55%,rgba(0,0,0,.55),rgba(0,0,0,.25) 70%,transparent)}
 #gameView .cabinet-layout,#gameView .game-top,#gameView .jp-cabinet,#gameView .control-deck{position:relative;z-index:2}
 #gameView .cabinet-layout{grid-template-columns:minmax(0,1fr)!important;max-width:880px!important;margin-inline:auto!important}
 html body.mq #gameView .stage{width:min(820px,calc((100vh - 550px)*1.25 + 24px))!important;max-width:100%!important;margin-inline:auto!important}
 #gameView .title-panel,#gameView .feature-panel{display:none!important}
 body.sr34-drawer #gameView .title-panel,body.sr34-drawer #gameView .feature-panel{display:block!important;position:fixed!important;right:16px;width:300px;z-index:60;background:var(--panel)!important;border:1px solid var(--line)!important;backdrop-filter:blur(12px);padding:16px!important;max-height:40vh;overflow:auto}
 body.sr34-drawer #gameView .title-panel{top:96px}
 body.sr34-drawer #gameView .feature-panel{top:calc(96px + 41vh)}
}
.sr34-info{position:fixed;right:16px;top:50%;z-index:61;writing-mode:vertical-rl;padding:16px 8px;border-radius:var(--r);border:1px solid var(--line);background:var(--panel);color:#f1e7d2;font:700 12px/1 var(--ui);letter-spacing:.16em;cursor:pointer}
body:not(.in-game) .sr34-info{display:none}
/* Phone */
@media (max-width:640px){
 .meter small,.meter span,.wallet small,.bet-control small,.deck-secondary small,.jp-prize>span,.jp-prize small,.eyebrow,.stage-caption span,.game-bottom-line{font-size:12px!important}
 html body.mq .jp-cabinet .jp-ladder{grid-template-columns:repeat(3,1fr)!important;grid-template-areas:"grand grand grand" "minor major mini"!important}
 html body.mq .jp-cabinet .jp-grand>b{font-size:22px!important}
 html body.mq #gameView .control-deck{display:grid!important;grid-template-columns:repeat(5,1fr) 96px!important;grid-template-rows:auto 40px!important;gap:8px!important;align-items:stretch}
 html body.mq #gameView .control-deck .bet-control{grid-column:1/6!important;grid-row:1!important;width:auto!important;min-width:0!important}
 html body.mq #gameView .control-deck #spinBtn{grid-column:6!important;grid-row:1/3!important;width:96px!important;height:96px!important;min-width:0!important;margin:0!important;align-self:center;border-radius:50%!important}
 html body.mq #gameView .control-deck .deck-secondary{grid-row:2!important;grid-column:auto!important;width:auto!important;min-width:0!important;height:40px!important;min-height:0!important;padding:0!important;display:flex!important;align-items:center;justify-content:center;font-size:16px!important}
 html body.mq #gameView .control-deck .deck-secondary small{display:none!important}
 html body.mq #gameView .control-deck .deck-secondary b{font-size:13px!important}
 .sr34-info{display:none!important}
 .sr34-info{top:auto;bottom:72px;writing-mode:horizontal-tb;padding:8px 12px}
 .stage-meters{gap:8px!important}
}
/* 18+ bar slightly higher contrast */
.sr33-notice{background:#090604!important;color:#f3ead8!important;border-top:1px solid rgba(245,207,107,.5)!important}
.sr33-notice a{color:#ffe2a0!important}
.signature-entrance img{max-width:min(560px,88vw)!important;height:auto!important}
.discovery-top{margin-top:8px!important}
html body.mq .signature-entrance{min-height:0!important;height:auto!important}
@media (min-width:900px){html body.mq #gameView #gameTitle{font-size:clamp(28px,3.2vw,44px)!important;margin:0!important}html body.mq #gameView .jp-cabinet .jp-prize{padding:6px 8px!important}html body.mq #gameView .stage-meters{margin-top:8px!important}}
@media (max-width:640px){#collectionCount,.collection-head small,#collection>*:first-child>span:last-child{display:none!important}}

/* v35: phone icon row above the 18+ bar at 390x844 (balance already shown in masthead) */
@media (max-width:600px){html body.mq #gameView .stage-meters{display:none!important}html body.mq #gameView .control-deck{margin-bottom:64px}}
/* v35: relic / ladder feature emphasis */
#featureMode{letter-spacing:.08em}
