[hidden]{display:none!important}.money-hud{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px;align-items:center;margin:8px 0 14px}.money-hud strong{display:block;font-size:1.15rem;font-variant-numeric:tabular-nums;margin:4px 0;color:var(--gold-2)}select{height:46px;width:100%;background:#090a0e;border:1px solid var(--line);border-radius:12px;color:var(--text);padding:0 12px;font:inherit}.utility{min-height:44px}.secondary-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.mode{font-size:.7rem;color:var(--muted);margin:8px 0}.brand-row{flex-wrap:wrap}.loading-screen[hidden]{display:none}.board-area{min-height:0}.grid{min-height:0}.sidebar{min-height:0}.help{font-size:.67rem}.rules{margin:12px 0}.rules:not([open]){padding:10px}.rules-title{margin:0}dialog{color:var(--text);background:#111218;border:1px solid #655227;border-radius:18px;padding:24px;max-width:min(680px,94vw);max-height:85dvh;line-height:1.5;overflow:auto}dialog::backdrop{background:#000b}dialog a{color:var(--gold-2)}dialog .utility{margin:12px 6px 0 0}#ids,#historyList{font-size:.75rem;overflow-wrap:anywhere}#connection{position:fixed;z-index:90;bottom:8px;left:50%;transform:translateX(-50%);background:#171820;border:1px solid var(--gold);border-radius:12px;padding:14px;width:min(620px,96vw);font-size:.85rem}#storageNotice{font-size:.7rem}
@media(max-width:760px){.brand-row{flex-wrap:nowrap}.utility{min-height:44px}.money-hud{margin:6px 0;gap:5px}.money-hud strong{font-size:1.05rem}.secondary-actions{margin-top:5px;gap:4px}.secondary-actions .utility{font-size:.6rem;padding:0 6px}.mode{margin:3px 0;font-size:.58rem}.rules:not([open]){margin:4px 0;padding:6px 8px}.grid{width:min(100%,max(144px,calc(100dvh - 395px)),420px)}.board-area{justify-content:center}.message{min-height:35px;font-size:.72rem}.topline{gap:4px}.legend span{padding:2px 4px}h1{font-size:1.8rem}}
@media(max-height:600px) and (orientation:landscape){.game{grid-template-columns:minmax(245px,36%) 1fr;grid-template-rows:1fr}.sidebar{padding:7px 12px}h1{font-size:1.9rem;margin:5px 0}.intro,.rules,.help{display:none}.brand-row{gap:4px}.brand{font-size:.5rem}.brand-mark{display:none}.utility{font-size:.58rem;padding:0 7px}.money-hud{margin:8px 0}.balance-label,.bet-label{font-size:.56rem}.money-hud strong{font-size:1.05rem}.secondary-actions{margin-top:6px}.grid{width:min(100%,calc(100dvh - 116px),420px)}.board-area{padding:6px 14px}.topline{margin-bottom:5px;gap:4px}.message{margin-top:6px;min-height:32px}.mode{font-size:.55rem}.legend span{font-size:.55rem;padding:2px 4px}.legend b{font-size:.55rem}.round{font-size:.62rem}}
[id="grid"]{flex-shrink:0;aspect-ratio:1;grid-template-rows:repeat(3,minmax(0,1fr))}.board-area{container-type:size}#grid{width:min(100%,calc(100cqh - 108px),640px)}.back .symbol-icon{overflow:hidden}.tile{min-width:0;min-height:0}

#ageGate{width:min(440px,calc(100vw - 32px));padding:24px}#ageGate h2{margin-top:0;color:var(--gold-2)}#ageActions{display:grid;gap:10px;margin-top:20px}#ageActions button{width:100%;min-height:48px}#ageBack{display:inline-flex;align-items:center;text-decoration:none}#ageGate::backdrop{background:#07080bf2}

/* A selected card stays face-down until its confirmed symbol can turn with it. */
.tile{touch-action:manipulation;transition:transform 90ms ease-out}
.tile-inner{transition:transform 180ms cubic-bezier(.22,.76,.2,1)}
.tile:enabled:active{transform:translateY(1px) scale(.975)}
#grid .tile:not(.revealed):hover .tile-inner{transform:none}
@media(hover:hover) and (pointer:fine){#grid.ready .tile:enabled:not(.revealed):hover .tile-inner{transform:translateY(-2px)}}
.tile.revealed:not(.unplayed):not(.decorative) .symbol-icon{animation:vaultSymbolSettle 180ms ease-out both}
.tile.revealed:not(.unplayed):not(.decorative) .back{overflow:hidden}
.tile.revealed:not(.unplayed):not(.decorative) .back::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 25%,#fff2 48%,transparent 70%);opacity:0;animation:vaultRevealGlint 240ms ease-out}
@keyframes vaultSymbolSettle{from{transform:scale(.94)}to{transform:scale(1)}}
@keyframes vaultRevealGlint{0%{opacity:0;transform:translateX(-35%)}35%{opacity:.65}100%{opacity:0;transform:translateX(35%)}}
.tile.opening,.tile.queued{border-color:var(--gold);box-shadow:inset 0 0 0 2px #e7bd5844}
#grid .tile.opening .tile-inner,#grid .tile.queued .tile-inner{transform:none}
.tile.opening:disabled,.tile.queued:disabled{opacity:1}
@media(prefers-reduced-motion:reduce){#grid .tile,#grid .tile-inner{transition:none}#grid .tile:active{transform:none}#grid .tile .symbol-icon,#grid .tile .back,#grid .tile .back::after{animation:none}}
.tile.decorative .back,.tile.unplayed .back{background:#14171b;border:1px dashed #68716b;color:#a6b0a7}
.tile.decorative .symbol-icon,.tile.unplayed .symbol-icon{opacity:.42;filter:saturate(.35);width:58%;height:58%}
.tile-note{position:absolute;bottom:8%;left:2px;right:2px;color:#c0c8c1;font-size:clamp(.45rem,1.3cqw,.7rem);font-weight:650;letter-spacing:.04em;text-transform:uppercase}
/* Stable server IDs retain their payout slots; the loot theme is presentation. */
.symbol-icon.cherry{color:#83cf98}.symbol-icon.lemon{color:#ead9a3}.symbol-icon.bell{color:#edbd4b}.symbol-icon.diamond{color:#a9becb}.symbol-icon.crown{color:#71d8f3}
