/* SpinRush v33 polish: typography, motion, safeguards, mobile. */
:root{--sr33-gold:#f3c868;--sr33-gold2:#b8862f;--sr33-ink:#0b0805;--sr33-glass:rgba(16,11,7,.86);--sr33-ease:cubic-bezier(.2,.8,.2,1)}
body.sr33{padding-bottom:calc(64px + env(safe-area-inset-bottom));font-feature-settings:"tnum" 1,"lnum" 1;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
#balance,#betValue,#deckBalance,#lastWin,#winAmount,.wallet b{font-variant-numeric:tabular-nums;letter-spacing:.01em}
/* Play-money notice */
.sr33-notice{position:fixed;z-index:900;left:0;right:0;bottom:0;display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;align-items:center;justify-content:center;padding:.55rem 1rem calc(.55rem + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(10,7,4,.78),rgba(6,4,2,.96));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid rgba(243,200,104,.35);font:500 12px/1.35 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:#e9dcc4;text-align:center}
.sr33-notice b{color:var(--sr33-gold);letter-spacing:.12em;font-weight:800}
.sr33-notice a{color:#ffe3a1;text-decoration:underline;text-underline-offset:2px}
.sr33-link{background:none;border:1px solid rgba(243,200,104,.55);color:var(--sr33-gold);border-radius:999px;padding:.28rem .8rem;font:700 11px/1 system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.sr33-link:hover{background:rgba(243,200,104,.12)}
/* Modals */
.sr33-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:1.2rem;background:radial-gradient(ellipse at 50% 30%,rgba(60,38,10,.55),rgba(0,0,0,.88));opacity:0;transition:opacity .22s var(--sr33-ease)}
.sr33-modal.open{opacity:1}
.sr33-card{width:min(460px,100%);padding:1.8rem 1.6rem 1.4rem;border-radius:22px;background:linear-gradient(160deg,#231709,#0d0906 60%);border:1px solid rgba(243,200,104,.55);box-shadow:0 30px 80px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,236,190,.25),0 0 0 6px rgba(243,200,104,.06);color:#efe4cf;font:400 15px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;transform:translateY(14px) scale(.97);transition:transform .3s var(--sr33-ease)}
.sr33-modal.open .sr33-card{transform:none}
.sr33-crest{font:800 11px/1 system-ui,sans-serif;letter-spacing:.38em;color:var(--sr33-gold);text-align:center;margin-bottom:.9rem}
.sr33-card h2{margin:0 0 .8rem;text-align:center;font:700 clamp(22px,5vw,28px)/1.15 Georgia,"Times New Roman",serif;background:linear-gradient(180deg,#fff1c7,#f3c868 55%,#b8862f);-webkit-background-clip:text;background-clip:text;color:transparent}
.sr33-card p{margin:.5rem 0}.sr33-card a{color:#ffe3a1}
.sr33-small{font-size:13px;color:#c9b99b}
.sr33-list{margin:.2rem 0 .4rem;padding-left:1.1rem}.sr33-list li{margin:.42rem 0}
.sr33-actions{display:flex;flex-direction:column;gap:.6rem;margin-top:1.2rem}
.sr33-btn{min-height:48px;border-radius:14px;border:1px solid rgba(243,200,104,.45);background:rgba(255,255,255,.04);color:#f2e6cf;font:700 15px/1 system-ui,sans-serif;letter-spacing:.04em;cursor:pointer;transition:transform .15s var(--sr33-ease),filter .15s}
.sr33-btn.gold{background:linear-gradient(180deg,#ffe08f,#e0a83f 55%,#a86f1e);color:#2a1702;border-color:#ffe7a8;box-shadow:0 8px 24px rgba(224,168,63,.35),inset 0 1px 0 rgba(255,255,255,.6)}
.sr33-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.sr33-btn:active{transform:translateY(1px)}
/* Lobby cards: lift, sheen, badges */
#gameGrid>*{position:relative;transition:transform .35s var(--sr33-ease),box-shadow .35s var(--sr33-ease),filter .35s}
#gameGrid>*:hover{transform:translateY(-6px) scale(1.015);box-shadow:0 22px 44px rgba(0,0,0,.55),0 0 0 1px rgba(243,200,104,.6),0 0 34px rgba(243,200,104,.22);z-index:2}
#gameGrid>*::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,transparent 35%,rgba(255,240,200,.28) 50%,transparent 65%);background-size:250% 100%;background-position:120% 0;opacity:0;transition:opacity .3s}
#gameGrid>*:hover::after{opacity:1;animation:sr33-sheen 1.1s var(--sr33-ease)}
@keyframes sr33-sheen{to{background-position:-60% 0}}
.sr33-badges{position:absolute;left:10px;top:10px;display:flex;gap:5px;z-index:3;pointer-events:none}
.sr33-badges span{padding:3px 7px;border-radius:999px;background:rgba(8,6,4,.82);border:1px solid rgba(243,200,104,.45);color:#f6e7c4;font:800 9.5px/1.2 system-ui,sans-serif;letter-spacing:.08em;backdrop-filter:blur(4px)}
.sr33-badges .vol-low{color:#9ff0b8;border-color:rgba(120,230,160,.55)}.sr33-badges .vol-medium{color:#ffd77a}.sr33-badges .vol-high{color:#ff9a8a;border-color:rgba(255,120,100,.6)}
/* Spin button breathing glow */
#spinBtn:not(:disabled){animation:sr33-breathe 2.6s ease-in-out infinite}
@keyframes sr33-breathe{50%{box-shadow:0 0 0 6px rgba(80,150,255,.12),0 0 38px rgba(80,170,255,.55)}}
#spinBtn:active{transform:scale(.96)}
/* Win celebration */
#winAnnouncement:not([hidden]){animation:sr33-pop .55s var(--sr33-ease)}
@keyframes sr33-pop{0%{transform:scale(.6);opacity:0;filter:blur(6px)}60%{transform:scale(1.06);opacity:1;filter:none}100%{transform:scale(1)}}
#winAmount{text-shadow:0 0 18px rgba(255,210,110,.75),0 2px 0 #6b3f07}
.sr33-burst{position:fixed;left:50%;top:45%;width:0;height:0;z-index:850;pointer-events:none}
.sr33-burst i{position:absolute;width:18px;height:18px;margin:-9px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff6cf,#f7c74e 45%,#a56a12 80%);box-shadow:0 0 10px rgba(255,200,80,.8);transform:scale(var(--s));animation:sr33-coin var(--d) cubic-bezier(.15,.7,.3,1) forwards}
@keyframes sr33-coin{to{transform:translate(var(--x),var(--y)) rotate(var(--r)) scale(var(--s));opacity:0}}
body.sr33-flash #gameView::before{content:"";position:fixed;inset:0;z-index:840;pointer-events:none;background:radial-gradient(circle at 50% 45%,rgba(255,215,120,.35),transparent 60%);animation:sr33-fade .65s ease-out forwards}
@keyframes sr33-fade{to{opacity:0}}
/* Mobile */
@media (max-width:640px){.sr33-notice{font-size:11px;gap:.2rem .7rem;padding:.45rem .6rem calc(.45rem + env(safe-area-inset-bottom))}.sr33-notice .sr33-help{display:block;width:100%}body.sr33{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.sr33-badges span{font-size:8.5px;padding:2px 6px}#gameGrid>*:hover{transform:none}}
@media (prefers-reduced-motion:reduce){#spinBtn,#winAnnouncement:not([hidden]),#gameGrid>*:hover::after{animation:none!important}#gameGrid>*{transition:none}}
.sr33-modal,.sr33-card,.sr33-notice{box-sizing:border-box}
@media (max-width:640px){.sr33-notice>span:not(.sr33-help){display:none}.sr33-notice .sr33-help{display:inline;width:auto}.sr33-notice .sr33-help a:first-child{display:none}body.sr33{padding-bottom:calc(58px + env(safe-area-inset-bottom))}}
@media (max-width:640px){html,body{overflow-x:hidden;max-width:100%}#filters{max-width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}#filters::-webkit-scrollbar{display:none}#collection>*:first-child{flex-wrap:wrap;gap:.3rem}}
@media (max-width:640px){.sr33-notice .sr33-sep{display:none}}
