:root{font-family:DM Sans,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color:#ffffffeb;background:#0f1f0f;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;height:100vh;overflow:hidden;background:radial-gradient(ellipse 120% 80% at 50% 0%,#1a3d1a 0%,transparent 55%),radial-gradient(ellipse 100% 60% at 50% 100%,#0d2d0d 0%,transparent 50%),#0f1f0f}#root{height:100%;overflow:hidden}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#00000040;color:inherit;cursor:pointer;transition:border-color .2s,background-color .2s}button:hover:not(:disabled){border-color:#fff3;background-color:#ffffff14}button:focus-visible{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}.playing-card{width:52px;height:72px;border-radius:6px;border:1px solid rgba(0,0,0,.2);background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;font-size:1rem;box-shadow:0 2px 6px #0003;flex-shrink:0;transition:transform .15s ease,box-shadow .15s ease}.playing-card.small{width:42px;height:58px;font-size:.78rem}.playing-card.spade,.playing-card.club{color:#1a1a1a}.playing-card.heart,.playing-card.diamond{color:#c22}.playing-card .rank{line-height:1}.playing-card .suit{font-size:1.2em;line-height:1}.playing-card.small .suit{font-size:1.1em}.playing-card.face-down{background:linear-gradient(135deg,#1a3a5c,#2d5a87);border-color:#ffffff1a}.playing-card.face-down .card-back{width:80%;height:85%;border:2px solid rgba(255,255,255,.3);border-radius:4px;background:repeating-linear-gradient(-45deg,transparent,transparent 4px,rgba(255,255,255,.03) 4px,rgba(255,255,255,.03) 8px)}.playing-card[role=button]{cursor:pointer}.playing-card[role=button]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000040}.playing-card.selected{outline:3px solid #f0c14b;outline-offset:2px;transform:translateY(-4px);z-index:1}.board-view{display:flex;flex-direction:column;align-items:center;gap:6px;padding:4px 8px;border-radius:8px;border:1px solid transparent}.board-view.showdown-board-a{border-color:#42e0ffe6;background:#2891be47;box-shadow:0 0 14px #42e0ff4d}.board-view.showdown-board-b{border-color:#d25effe6;background:#843eb647;box-shadow:0 0 14px #d25eff4d}.board-cards{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;justify-content:flex-start;width:276px;box-sizing:content-box}.board-flop{display:flex;gap:4px}.board-flop-card{display:flex}.board-flop-casino-deal{position:relative;width:164px;height:72px;gap:0}.board-flop-casino-deal .board-flop-card{--target-x: 0px;--delay: 0ms;position:absolute;top:0;left:var(--target-x);animation:flop-casino-drag-deal .42s ease-out both;animation-delay:var(--delay)}.board-flop-casino-deal .board-flop-slot-0{--target-x: 0px;--delay: 0ms;z-index:3}.board-flop-casino-deal .board-flop-slot-1{--target-x: 56px;--delay: .14s;z-index:2}.board-flop-casino-deal .board-flop-slot-2{--target-x: 112px;--delay: .28s;z-index:1}.board-turn-river{display:flex;gap:4px}.board-card-reveal{animation:board-card-deal-in .24s ease-out both}@keyframes flop-casino-drag-deal{0%{opacity:0;transform:translate(calc(0px - var(--target-x))) translateY(-4px) rotate(-7deg) scale(.98)}25%{opacity:1}to{opacity:1;transform:translate(0) translateY(0) rotate(0) scale(1)}}@keyframes board-card-deal-in{0%{opacity:0;transform:translateY(-10px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}.hand-selector{display:flex;flex-direction:column;gap:.2rem;width:502px;min-width:502px;max-width:100%;margin:0 auto;min-height:220px;box-sizing:border-box}.hand-selector-pool{display:flex;flex-direction:column;gap:2px;flex-shrink:0;width:100%}.pool-label{font-size:.72rem;color:#fffc}.pool-cards{display:flex;flex-wrap:nowrap;gap:4px;width:502px;min-width:502px;min-height:58px;align-items:center;box-sizing:border-box}.pool-cards.pool-cards-drag-over{outline:2px dashed rgba(255,255,255,.45);outline-offset:2px;border-radius:6px}.pool-card-wrap{cursor:grab;transition:opacity .15s,transform .15s}.pool-card-wrap:active{cursor:grabbing}.pool-card-wrap:hover{transform:translateY(-2px)}.pool-card-wrap.dragging{opacity:.6}.pool-card-wrap.drag-over{outline:2px dashed rgba(255,255,255,.5);outline-offset:2px;border-radius:6px}.slot-card-wrap{cursor:grab;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.slot-card-wrap:active{cursor:grabbing}.slot-cell.drag-over{background:#ffffff1f;border-color:#ffffff80}.hand-slots{display:flex;flex-direction:column;margin-top:.35rem;gap:4px;flex-shrink:0}.hand-slots-in-seat{margin-top:2px;width:100%}.hand-slot-row{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;min-height:48px}.slot-label{font-size:.72rem;font-weight:600;color:#ffffffe6;min-width:120px}.hand-slots-in-seat .slot-label{min-width:64px}.slot-cards{display:flex;gap:4px;flex-wrap:nowrap;min-width:226px}.hand-slots-in-seat .slot-cards{min-width:0}.slot-cell{width:42px;height:58px;border:2px dashed rgba(255,255,255,.3);border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,border-color .15s}.slot-cell.empty:hover{background:#ffffff14;border-color:#ffffff80}.slot-cell.filled{border-style:solid;border-color:#fff3;padding:0}.slot-placeholder{font-size:1.2rem;color:#fff6}.player-seat{display:flex;flex-direction:column;align-items:center;gap:4px;padding:5px 6px;border-radius:8px;background:#00000040;border:1px solid rgba(255,255,255,.1);min-width:120px;width:100%;max-width:100%}.player-seat.seat-not-ready{background:#802c2c4d;border-color:#eb727261}.player-seat.seat-is-ready{background:#2e632e52;border-color:#7fc97f73}.seat-header-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:6px}.seats-container .player-seat{max-height:none;overflow:visible}.player-seat.seat-bottom{min-height:280px;border-width:2px}.seat-name{font-size:.82rem;font-weight:700;color:#fffffff2;display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:center;text-align:center;flex:1 1 auto}.seat-score-panel{display:flex;align-items:center;gap:6px;padding:3px 6px;border-left:1px solid rgba(255,255,255,.25);background:#00000038;border-radius:6px;flex-shrink:0}.seat-score-label{font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:#ffffffbf}.seat-score-group{display:flex;align-items:center;gap:4px;flex-shrink:0}.seat-score{font-size:.68rem;font-weight:700;padding:2px 6px;border-radius:4px;white-space:nowrap}.seat-score-total{background:#5dabff47;color:#d8edff}.seat-score-round{background:#fff3;color:#ffffffe6}.seat-score-round-positive{background:#f0c14b4d;color:#f0c14b}.seat-cards-row{display:flex;gap:4px;flex-wrap:wrap;justify-content:center;max-width:100%}.seat-cards-row .playing-card{margin-left:0}.seat-melds{display:flex;flex-direction:column;gap:4px;width:100%;max-width:520px;flex-shrink:0}.seat-meld{padding:3px 4px;border-radius:5px;background:#0003;min-height:0}.seat-meld-won-board-a{box-shadow:0 0 0 2px #42e0ffd9,0 0 12px #42e0ff59;background:#2891be47}.seat-meld-won-board-b{box-shadow:0 0 0 2px #d25effd9,0 0 12px #d25eff59;background:#843eb647}.seat-meld-won-five,.seat-meld-won-both{box-shadow:0 0 0 2px #ffa34fe6,0 0 14px #ff5cbb59;background:linear-gradient(90deg,#42e0ff47,#d25eff47)}.seat-meld-label{font-size:.62rem;font-weight:600;color:#fffc;margin-bottom:2px;min-height:1.2em;display:flex;align-items:center;gap:4px;flex-wrap:wrap;flex-shrink:0}.seat-meld-cards{display:flex;gap:4px;flex-wrap:nowrap;min-height:0}.seat-meld-cards .playing-card{margin-left:0}.game-table-wrap{height:100%;min-height:0;padding:.35rem .5rem;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;overflow:visible}.poker-table{position:relative;flex:0 0 auto;min-height:0;width:min(92vw,640px);aspect-ratio:2 / 1;max-height:none;background:linear-gradient(160deg,#0d3d0d,#1a5c1a,#0f4d0f 70%,#0d3d0d);border-radius:50%;box-shadow:inset 0 0 60px #00000059,0 6px 24px #0006;border:4px solid rgba(140,100,60,.7);display:flex;align-items:center;justify-content:center}.your-area{flex:0 0 auto;width:100%;max-width:min(92vw,640px);margin-top:.4rem;display:flex;flex-direction:column;align-items:center;gap:.35rem}.your-area .player-seat.seat-bottom{width:100%}.your-area.your-area-compact{width:auto;max-width:none}.your-area.your-area-editing .player-seat.seat-bottom{width:100%;min-width:0;max-width:min(92vw,640px)}.your-area.your-area-compact .player-seat.seat-bottom{width:auto;min-width:240px;max-width:420px}.table-header{position:absolute;top:6px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:2}.round-badge,.phase-badge{font-size:.7rem;padding:3px 8px;border-radius:5px;background:#00000059;color:#fffffff2;text-transform:capitalize}.table-surface{display:flex;flex-direction:column;align-items:center;gap:6px;z-index:1}.table-boards{display:flex;flex-direction:column;align-items:center;gap:5px}.seats-container{position:absolute;inset:0;pointer-events:none}.seats-container>*{pointer-events:auto}.seats-container .player-seat{position:absolute}.seats-container .player-seat.seat-show-melds{width:auto;min-width:240px;max-width:420px}.seat-top{top:2%;left:50%;transform:translate(-50%);max-width:56%}.seat-top-left{top:3%;left:0;width:min(42%,400px);transform:translate(-52%)}.seat-top-right{top:3%;right:0;left:auto;width:min(42%,400px);transform:translate(52%)}.seats-container .player-seat.seat-top-left.seat-show-melds,.seats-container .player-seat.seat-top-right.seat-show-melds{width:auto}.seat-content{margin-top:4px;display:flex;flex-direction:column;align-items:center;gap:4px}.player-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:4px}.btn{padding:8px 16px;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;border:none;transition:transform .1s,opacity .2s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:not(:disabled):hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(180deg,#2d6b2d,#1e4d1e);color:#e8f5e9;box-shadow:0 2px 8px #0003}.btn-secondary{background:#ffffff1f;color:#fff;border:1px solid rgba(255,255,255,.25)}.btn-compact{padding:3px 8px;font-size:.7rem}.showdown-actions-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding-bottom:10px;z-index:10;pointer-events:none}.showdown-actions-overlay>*{pointer-events:auto}.showdown-actions{display:flex;flex-direction:column;align-items:center;gap:8px;padding:.5rem .75rem;border-radius:10px;background:#00000080;box-shadow:0 4px 20px #0000004d}.auto-showdown-status{display:inline-block;min-width:220px;text-align:center;font-weight:600;color:#e8f5e9f2}.lobby{text-align:center;padding:2rem;max-width:420px;margin:0 auto}.lobby-title{font-size:2rem;font-weight:700;margin:0 0 .5rem;letter-spacing:.02em;color:#fff}.lobby-desc{font-size:.95rem;color:#ffffffbf;line-height:1.5;margin:0 0 1.5rem}.lobby-options{margin-bottom:1.5rem}.option-row{display:flex;align-items:center;justify-content:center;gap:10px;font-size:.95rem;color:#ffffffe6}.option-row select{padding:6px 12px;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#0000004d;color:#fff;font-size:1rem;cursor:pointer}.option-input{padding:6px 12px;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#0000004d;color:#fff;font-size:1rem;min-width:160px}.lobby-start{padding:12px 28px;font-size:1.1rem;font-weight:600;border-radius:8px;border:none;background:linear-gradient(180deg,#2d6b2d,#1e4d1e);color:#e8f5e9;cursor:pointer;transition:transform .1s,box-shadow .2s}.lobby-start.secondary{background:#ffffff24;border:1px solid rgba(255,255,255,.25)}.lobby-start:hover{transform:translateY(-1px);box-shadow:0 4px 14px #2d6b2d80}.server-lobby-actions{display:flex;flex-direction:column;gap:.6rem;align-items:center}.lobby-meta{margin-top:.5rem;font-size:.85rem;color:#ffffffd1}.lobby-error{margin-top:.35rem;color:#ffb3b3}.app{min-height:100vh}.app-scale{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.app-scale-inner{width:100%;height:100%;transform-origin:center center;transform:scale(var(--game-scale, 1))}
