:root{--ink:#19152f;--muted:#77738a;--purple:#6b4df4;--felt:#27204b;--felt2:#17122f;--gold:#ffc96b}.poker-app{min-height:100vh;padding:34px clamp(18px,5vw,72px) 42px;background:#f7f5ff;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,sans-serif}.poker-header{max-width:1080px;margin:auto;display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.poker-kicker,.panel-label{font-size:.72rem;font-weight:800;letter-spacing:.14em;color:var(--purple)}.poker-header h1{font-size:clamp(2.5rem,7vw,5.6rem);line-height:.9;letter-spacing:-.08em;margin:12px 0}.poker-header h1 em{color:var(--purple);font-style:normal}.poker-header p{color:var(--muted);margin:0}.poker-actions{display:flex;gap:8px}.icon-btn{border:0;border-radius:14px;background:#fff;box-shadow:0 5px 18px #23185014;font-size:1.15rem;width:46px;height:46px;cursor:pointer}.poker-stats{max-width:1080px;margin:28px auto 18px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.poker-stats div{background:#fff;border:1px solid #e8e4f4;border-radius:16px;padding:14px 16px}.poker-stats span{display:block;color:var(--muted);font-size:.72rem;font-weight:700}.poker-stats strong{font-size:1.45rem}.poker-table{max-width:1080px;margin:auto;background:radial-gradient(circle at 50% 0,#41377b,var(--felt) 55%,var(--felt2));border-radius:28px;padding:30px clamp(16px,5vw,58px) 26px;color:#fff;box-shadow:0 20px 50px #22194b35;text-align:center;transition:background .4s}.poker-app.midnight .poker-table{background:radial-gradient(circle at 50% 0,#174e67,#102d3d 60%,#0a1d2b)}.poker-app.sunset .poker-table{background:radial-gradient(circle at 50% 0,#8a4a46,#4c263e 60%,#28182d)}.table-message{font-weight:800;min-height:24px;margin-bottom:24px}.hand-label{font-size:.75rem;letter-spacing:.14em;font-weight:800;color:#c9c2e8}.hand-label small{letter-spacing:0;font-weight:500;color:#a7a0c8;margin-left:8px}.poker-hand{display:flex;justify-content:center;gap:clamp(6px,2vw,16px);margin:18px auto 28px;min-height:152px}.poker-card{width:clamp(56px,14vw,116px);aspect-ratio:2/2.85;background:#fff;border-radius:12px;color:#211839;position:relative;box-shadow:0 10px 18px #09051345;cursor:pointer;transition:transform .2s,box-shadow .2s}.poker-card:hover{transform:translateY(-5px)}.poker-card.held{transform:translateY(-14px);box-shadow:0 0 0 3px var(--gold),0 15px 26px #09051366}.poker-card.red{color:#c4465d}.corner{position:absolute;top:8px;left:9px;font-weight:900;font-size:clamp(.9rem,2.7vw,1.5rem);line-height:1}.corner.bottom{top:auto;left:auto;right:9px;bottom:8px;transform:rotate(180deg)}.card-center{font-size:clamp(1.6rem,5vw,3rem);position:absolute;inset:0;display:grid;place-items:center}.hold-label{position:absolute;bottom:-24px;left:0;right:0;font-size:.64rem;color:var(--gold);font-weight:800;letter-spacing:.1em}.poker-controls{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.poker-btn{border:1px solid #71669f;background:#33285b;color:#fff;border-radius:12px;padding:13px 19px;font-weight:800;cursor:pointer}.poker-btn.primary{background:#fff;color:#1d1737;border-color:#fff}.poker-btn:disabled{opacity:.4;cursor:not-allowed}.draw-note{font-size:.8rem;color:#aaa2c9;margin:16px 0 0}.progress-panel{max-width:1080px;margin:20px auto 0;background:#fff;border:1px solid #e8e4f4;border-radius:20px;padding:22px}.progress-panel h2{margin:6px 0;font-size:1.2rem}.progress-panel p{color:var(--muted);margin:0}.unlock-track{height:8px;background:#eeeaf8;border-radius:99px;margin:18px 0 10px;overflow:hidden}.unlock-track span{display:block;height:100%;width:20%;background:linear-gradient(90deg,var(--purple),#bd8cff);border-radius:99px;transition:width .4s}.unlock-list{display:flex;gap:14px;flex-wrap:wrap;font-size:.78rem;color:#9892a9}.unlock.active{color:var(--purple);font-weight:800}.poker-note{text-align:center;color:#8b8799;font-size:.78rem}.poker-app footer{text-align:center;margin-top:20px}.poker-app footer a{color:var(--purple);font-weight:700}.poker-app dialog{border:0;border-radius:22px;padding:30px;max-width:440px;color:var(--ink);box-shadow:0 20px 60px #160e3050}.dialog-close{float:right;border:0;background:#f0edf9;border-radius:50%;font-size:1.4rem;width:32px;height:32px;cursor:pointer}.help-steps{display:flex;gap:10px;margin:20px 0}.help-steps span{background:#f3f0fc;border-radius:10px;padding:10px;font-size:.8rem}.help-steps b{display:block;color:var(--purple);font-size:1.1rem}@media(max-width:620px){.poker-stats{grid-template-columns:repeat(2,1fr)}.poker-app{padding-top:22px}.poker-table{padding-top:24px}.poker-card{border-radius:9px}.poker-hand{min-height:112px}}

*,*::before,*::after{box-sizing:border-box}
body[data-game="pocket-poker"]{margin:0;overflow-x:hidden}
.poker-app{width:100%;min-width:0;overflow-x:clip}
.dealer-area{border-bottom:1px solid #ffffff33;margin-bottom:24px}
.match-score{display:flex;justify-content:center;align-items:center;gap:clamp(10px,5vw,45px);flex-wrap:wrap;margin:0 auto 20px;color:#e4def9;font-size:.8rem;font-weight:800}
.match-score strong{color:var(--gold);font-size:1.25rem;margin-left:4px}
.dealer-hand{margin-bottom:16px}
.poker-card.back{display:grid;place-items:center;background:repeating-linear-gradient(45deg,#4f448c 0 8px,#352967 8px 16px);border:3px solid #d2c8ff;color:#d2c8ff;font-size:2rem;cursor:default}
.poker-card:disabled{opacity:1;cursor:default}
.poker-card:disabled:hover{transform:none}
.bet-row{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0 15px;font-size:.8rem;font-weight:800}
.bet-row select{border:1px solid #a99bcc;border-radius:10px;padding:9px;background:#20193f;color:#fff;font:inherit}
@media(max-width:620px){
  .poker-hand{gap:clamp(3px,1vw,7px);margin:14px auto 24px}
  .poker-card{width:clamp(40px,13.5vw,72px);flex:0 1 auto}
  .poker-card .corner{font-size:clamp(.7rem,2.8vw,1rem);left:4px;top:5px}
  .poker-card .corner.bottom{left:auto;top:auto;right:4px;bottom:5px}
  .poker-card .card-center{font-size:clamp(1.25rem,5vw,2rem)}
  .poker-table{padding-left:12px;padding-right:12px}
}

/* Flexible per-hand chip stake */
.bet-row input[type="number"]{width:6.5rem;max-width:30vw;min-height:44px;border-radius:9px;border:1px solid #aaa0c5;background:#fff;color:#21183e;padding:0 10px;font:inherit}
.bet-row #allInBtn{min-height:44px;white-space:nowrap}
@media(max-width:420px){.bet-row{flex-wrap:wrap;gap:8px}.bet-row input[type="number"]{width:5.5rem}}
