:root{color-scheme:dark;--bg:#0b1514;--panel:#132421;--gold:#dfbd7c;--muted:#a6b8af;--line:#ffffff18;--ink:#f3f0e6;--green:#81c9ac}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 20%,#213d32 0,transparent 65%),var(--bg);color:var(--ink);font:15px/1.5 'Segoe UI',sans-serif;min-height:100vh}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button:disabled{opacity:.4;cursor:not-allowed}button:not(:disabled):hover{filter:brightness(1.12)}.lounge-nav{max-width:1120px;margin:auto;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:16px}.brand{font-weight:700;letter-spacing:1px;text-decoration:none}.brand span{color:var(--gold)}.back-btn{color:var(--muted);text-decoration:none;font-size:13px}.session-tag,.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--gold)}.session-tag{border:1px solid #dfbd7c44;border-radius:30px;padding:6px 12px}.lounge{max-width:1120px;margin:auto;padding:36px 28px 28px}.game-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}h1{font:400 clamp(32px,5vw,48px)/1.1 Georgia,serif;margin:10px 0;color:var(--ink)}.subtitle{color:var(--muted);margin:0;max-width:620px}.game-number{font:64px Georgia,serif;color:#dfbd7c30}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:24px;align-items:start}.play-stage{min-width:0}.table-surface{background:radial-gradient(ellipse at 50% 45%,#246047,#133d30);border:1px solid #dfbd7c55;border-radius:28px;padding:24px;box-shadow:inset 0 0 0 7px #0b201b66,0 20px 50px #0003;position:relative}.seat{display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:.5px;color:#c8dbcf;margin-bottom:12px}.seat strong{color:white;font-size:14px}.seat span:last-child{font-variant-numeric:tabular-nums}.hand,.community-cards{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;min-height:98px;padding:8px 0 16px}.cpu-hand .card{width:43px;height:61px}.cpu-hand{min-height:70px}.table-divider{display:flex;align-items:center;gap:14px;color:#c3d8ca;font-size:10px;letter-spacing:2px;text-transform:uppercase;margin:14px 0}.table-divider:before,.table-divider:after{content:'';height:1px;background:#ffffff20;flex:1}.card{flex-shrink:0;width:64px;height:90px;border:1px solid #dcd7c9;border-radius:7px;background:linear-gradient(135deg,#fffef6,#e6e5dc);color:#202c29;position:relative;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 6px #0003;font:25px Georgia,serif;padding:0;transition:transform .18s,box-shadow .18s}.card.red{color:#ac3044}.card-corner{position:absolute;top:5px;left:6px;font:bold 12px/1.05 Georgia,serif;text-align:center}.card-corner.br{top:auto;left:auto;bottom:5px;right:6px;transform:rotate(180deg)}.card.back,.deck-btn{background:repeating-linear-gradient(45deg,#173e35 0 3px,#244c40 3px 4px);border:3px solid #e3d6b5;color:#dfbd7c}.card.back:after{content:'✦';border:1px solid #dfbd7c77;width:65%;height:75%;display:grid;place-items:center;border-radius:3px}.card.playable{cursor:pointer}.card.playable:hover,.card.selected{transform:translateY(-7px);box-shadow:0 0 0 3px var(--gold),0 8px 15px #0004}.card.selected:after{content:'✓';position:absolute;bottom:4px;left:5px;font:12px sans-serif;color:#176b4e}.card-placeholder{border:1px dashed #ffffff30;background:#00000012;box-shadow:none;color:#ffffff22}.hand-rank{text-align:center;font-size:13px;color:#e6cc95;min-height:20px}.table-middle{display:flex;gap:24px;justify-content:center;align-items:center;padding:14px 0}.pile{text-align:center}.pile small{display:block;color:#b7cbbf;margin-top:8px;font-size:10px;letter-spacing:1px}.deck-btn{width:64px;height:90px;border-radius:7px;font-size:28px}.status{padding:16px 18px;background:#14251f;border:1px solid var(--line);border-radius:12px;margin:16px 0;color:#d8e7de;min-height:58px;font-size:14px}.status.error{color:#ffadb6}.status.success{color:#9bddbd}.controls{display:flex;gap:10px;flex-wrap:wrap}.btn{min-height:44px;border:1px solid #ffffff25;border-radius:8px;padding:11px 18px;background:#1d342d;color:var(--ink);font-size:13px;font-weight:600}.btn.primary{background:var(--gold);border-color:var(--gold);color:#20261d}.btn.danger{color:#efb0b6}.side-panel{background:#13211e;border:1px solid var(--line);border-radius:16px;padding:22px;margin-bottom:16px}.side-panel h2{font:24px Georgia,serif;margin:0 0 12px}.side-panel p,.side-panel li{font-size:13px;color:var(--muted);line-height:1.7}.side-panel ul{padding-left:18px}.rule-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:10px 0;font-size:12px;color:var(--muted)}.rule-row strong{color:var(--ink)}.side-mark{font:48px Georgia,serif;color:var(--gold);margin-bottom:12px}.game-footer{margin-top:26px;font-size:11px;color:#8ea298;display:flex;justify-content:space-between;gap:16px}.suit-picker{display:flex;gap:8px;justify-content:center;margin:12px 0}.suit-picker:empty{display:none}.suit-picker button{font-size:26px}.result{padding:16px;border:1px solid #dfbd7c66;border-radius:12px;margin-top:16px;color:var(--gold)}[hidden]{display:none!important}.slot-stage{padding:28px;border-radius:24px;background:linear-gradient(160deg,#263b35,#101b19);border:1px solid #dfbd7c66;box-shadow:0 22px 60px #0004}.slot-brand{text-align:center;letter-spacing:4px;font-size:11px;color:var(--gold);margin-bottom:24px}.slot-brand strong{display:block;font:36px Georgia,serif;letter-spacing:0;margin-top:8px;color:var(--ink)}.wallet-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:24px}.wallet-item{padding:12px;background:#0003;border:1px solid var(--line);border-radius:9px;text-align:center;min-width:0}.w-label{font-size:10px;letter-spacing:1px;color:var(--muted);text-transform:uppercase}.w-value{font-size:23px;font-weight:600;color:var(--gold);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.slot-window{padding:12px;background:#07120f;border:1px solid #dfbd7c55;border-radius:18px;box-shadow:inset 0 4px 15px #0008}.slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.reel{aspect-ratio:1.1;background:linear-gradient(#f6f0db,#d6d4bd);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:clamp(28px,5vw,52px);border:2px solid #fff4;box-shadow:inset 0 1px 2px #fff8;color:#21362d}.reel.spinning{animation:reelPulse .15s infinite alternate}.reel.win{background:#fff0ae;border-color:#f0be56;box-shadow:0 0 18px #dfbd7c77}.slot-controls{display:flex;justify-content:center;gap:10px;align-items:center;flex-wrap:wrap;margin-top:22px}.slot-controls .spin{min-width:150px}.slot-controls .active{background:#305e49;border-color:#81c9ac}.bet-setting{text-align:center;font-size:12px;color:var(--muted)}.bet-setting strong{display:block;color:var(--ink);font-size:20px}.rules-details summary{cursor:pointer;color:var(--gold)}@keyframes reelPulse{to{transform:translateY(2px);filter:blur(1px)}}@media(max-width:850px){.play-layout{grid-template-columns:1fr}.game-aside{display:grid;grid-template-columns:1fr 1fr;gap:16px}.side-panel{margin:0}.game-number{display:none}}@media(max-width:520px){.lounge-nav{padding:16px}.session-tag{display:none}.lounge{padding:24px 12px}.game-heading{margin-bottom:22px}.table-surface{padding:18px 10px;border-radius:18px}.card{width:48px;height:70px;font-size:22px}.card-corner{font-size:10px;left:4px}.hand,.community-cards{gap:5px;min-height:80px}.cpu-hand .card{width:30px;height:44px}.cpu-hand{min-height:50px}.game-aside{grid-template-columns:1fr}.slot-stage{padding:18px 12px}.slot-window{padding:8px}.reel{border-radius:7px}.slot-controls{gap:7px}.btn{padding:10px 13px}.game-footer{flex-direction:column;gap:4px}.w-value{font-size:19px}}body[data-game=panic-tower],body[data-game=snake-royale]{--arc:#ff6b00;--arc2:#ffd600;--stage:#0d1512}
body[data-game=snake-royale]{--arc:#59ff9c;--arc2:#22c7ff}
.arcade-stage{padding:22px;border-radius:22px;background:linear-gradient(165deg,#20382f,#0d1714 70%);border:1px solid #dfbd7c55;box-shadow:0 22px 60px #0006;position:relative;overflow:hidden}
.arcade-stage:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% -15%,color-mix(in srgb,var(--arc) 26%,transparent),transparent 55%);pointer-events:none}
.arcade-hud{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:16px;position:relative}
.arcade-hud .wallet-item .w-value{color:var(--arc)}
.arcade-frame{position:relative;padding:10px;background:#071009;border:1px solid #dfbd7c44;border-radius:16px;box-shadow:inset 0 5px 22px #000c}
.arcade-frame canvas{display:block;width:100%;height:auto;border-radius:10px;background:var(--stage);touch-action:none}
.arcade-overlay{position:absolute;inset:10px;border-radius:10px;display:grid;place-items:center;background:rgba(5,10,8,.86);backdrop-filter:blur(5px);text-align:center;padding:24px;z-index:5}
.arcade-overlay[hidden]{display:none!important}
.arcade-overlay .big{font:400 clamp(34px,6vw,58px)/1 Georgia,serif;color:var(--arc);margin:0 0 8px;text-shadow:0 0 30px color-mix(in srgb,var(--arc) 55%,transparent)}
.arcade-overlay p{color:var(--muted);margin:0 0 6px}
.arcade-overlay .score-line{font-size:15px;color:var(--ink)}
.arcade-overlay .score-line strong{color:var(--arc2);font-size:22px}
.tower-controls{position:relative;border:1px solid #dfbd7c55;border-radius:12px;padding:14px 16px;margin-bottom:14px;background:#07100999}
.tower-controls p{margin:7px 0;color:var(--muted);font-size:12px}.tower-controls .tower-jump{display:flex;align-items:center;flex-wrap:wrap;gap:10px;color:var(--ink);font-size:14px;margin-top:0}.tower-jump>strong{color:var(--arc);letter-spacing:1px}.tower-controls kbd{display:inline-block;min-width:24px;padding:2px 6px;border:1px solid #ffffff40;border-bottom-width:3px;border-radius:5px;background:#ffffff0d;color:var(--ink);font-family:inherit;font-size:12px;font-weight:600;line-height:1.5;text-align:center}.tower-key-list{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:10px;font-size:12px;color:var(--ink)}.tower-touch-help{margin-bottom:0!important}body[data-game=panic-tower] .dpad button small{display:block;font-size:11px;line-height:1.1}
.arcade-keys{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:16px}
.kbd{font-size:11px;border:1px solid #ffffff2c;border-bottom-width:3px;border-radius:8px;padding:7px 10px;background:#00000040;color:var(--ink)}
.dpad{display:none;grid-template-columns:repeat(3,58px);grid-template-rows:repeat(3,52px);gap:6px;justify-content:center;margin:16px auto 0}
.dpad button{border-radius:12px;border:1px solid var(--arc);background:color-mix(in srgb,var(--arc) 16%,#0c1714);color:var(--ink);font-size:20px;touch-action:none}
.dpad button:active{background:var(--arc);color:#08110d}
.arcade-bar{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:18px}
.arcade-bar .btn.active{background:#305e49;border-color:#81c9ac}
.best-line{margin-top:12px;text-align:center;font-size:12px;color:var(--muted)}
.best-line strong{color:var(--arc2)}
.float-chip{position:absolute;top:16px;right:16px;background:#00000070;border:1px solid var(--arc);color:var(--arc2);font-size:11px;letter-spacing:2px;text-transform:uppercase;padding:7px 12px;border-radius:30px;z-index:6}
@media(max-width:640px){.arcade-stage{padding:14px 10px}.dpad{display:grid}.arcade-hud{gap:6px}.w-value{font-size:17px!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
