:root{--bg-dark: #0a110a;--bg-panel: #111a12;--bg-panel-hover: #162017;--bg-table: #1a5c2a;--bg-table-light: #237a36;--border-gold: #8b6914;--border-subtle: rgba(140,160,100,.13);--text-primary: #EDE9DB;--text-secondary: #C9C2AE;--text-muted: #8B9A7E;--accent-gold: #D4A534;--btn-green: #2D7A3A;--btn-green-hover: #358845;--btn-red: #da3633;--btn-red-hover: #f85149;--btn-blue: #1f6feb;--btn-blue-hover: #388bfd;--btn-warning: #D2A437;--btn-warning-hover: #e3b341;--positive: #3fb950;--negative: #f85149;--radius: 8px;--radius-lg: 12px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--bg-dark);color:var(--text-primary);min-height:100vh;min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border:none;border-radius:var(--radius);font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:active:not(:disabled){transform:scale(.97)}.btn-small{padding:6px 12px;font-size:12px}.btn-tiny{padding:3px 8px;font-size:11px}.btn-large{padding:14px 32px;font-size:16px}.btn-primary{background:var(--btn-blue);color:#fff}.btn-primary:hover:not(:disabled){background:var(--btn-blue-hover)}.btn-secondary{background:transparent;color:var(--text-secondary);border:1px solid rgba(120,160,110,.1)}.btn-secondary:hover:not(:disabled){background:#78a06e0f}.btn-ghost{background:#2d7a3a1f;color:var(--text-primary);border:1px solid rgba(140,160,100,.25);font-weight:600}.btn-ghost:hover:not(:disabled){background:#2d7a3a33;border-color:#8ca06466}.btn-success{background:var(--btn-green);color:#fff}.btn-success:hover:not(:disabled){background:var(--btn-green-hover)}.btn-danger{background:var(--btn-red);color:#fff}.btn-danger:hover:not(:disabled){background:var(--btn-red-hover)}.btn-warning{background:var(--btn-warning);color:#000;font-weight:700}.btn-warning:hover:not(:disabled){background:var(--btn-warning-hover)}.action-btn{padding:12px 24px;font-size:15px;min-width:100px}input[type=text],input[type=number]{background:var(--bg-dark);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:10px 14px;font-size:16px;width:100%;outline:none;transition:border-color .15s}input:focus{border-color:var(--btn-green)}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-size:13px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.form-group label.required:after{content:" *";color:var(--btn-red);opacity:.65;font-size:11px}.form-row{display:flex;gap:12px}.form-row .form-group{flex:1}.error{color:var(--btn-red);font-size:13px;margin:8px 0}.error-banner{background:#da363326;border-bottom:1px solid rgba(218,54,51,.3);color:var(--btn-red);padding:8px 16px;text-align:center;font-size:13px;cursor:pointer}.error-dismiss{margin-left:8px;opacity:.6}.sitting-out-banner{background:#8b9a7e1f;border-bottom:1px solid rgba(139,154,126,.25);color:var(--text-muted);padding:8px 16px;text-align:center;font-size:13px}.break-banner{background:#c8a0501f;border-bottom-color:#c8a05040;color:var(--text-muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:28px;width:90%;max-width:440px;animation:modal-in .15s ease}@keyframes modal-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal h2{margin-bottom:20px;font-size:20px}.modal-message{margin:0 0 16px;font-size:14px;line-height:1.5}.modal-input{width:100%;padding:10px 12px;font-size:16px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius);color:var(--text);box-sizing:border-box}.modal-input:focus{outline:none;border-color:var(--accent)}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.modal-wide{max-width:480px}.modal-action-log{max-height:260px;overflow-y:auto;background:var(--bg-dark);border-radius:var(--radius);padding:8px}.undo-target-marker{color:var(--btn-red);font-size:10px;margin-left:6px;flex-shrink:0}.invite-dropdown-wrapper{position:relative}.invite-dropdown{position:absolute;top:calc(100% + 6px);left:0;width:300px;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:0 8px 24px #0006;z-index:200;animation:dropdown-in .2s ease}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.invite-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border-subtle);font-size:13px;font-weight:600}.invite-dropdown-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:18px;padding:0 4px;line-height:1}.invite-dropdown-close:hover{color:var(--text-primary)}.invite-dropdown-body{padding:14px}.invite-dropdown-qr{display:flex;justify-content:center;padding:0 0 10px}.invite-dropdown-code{text-align:center;font-size:13px;color:var(--text-muted)}.invite-dropdown-code span{font-family:monospace;font-size:18px;font-weight:700;color:var(--text-primary);letter-spacing:2px}.invite-dropdown-url{text-align:center;font-family:monospace;font-size:11px;color:var(--text-muted);word-break:break-all;padding:6px 8px;background:var(--bg-dark);border-radius:var(--radius);margin:8px 0;-webkit-user-select:all;user-select:all}.invite-dropdown-note{text-align:center;font-size:11px;color:var(--text-muted);margin:0 0 8px;font-style:italic}.invite-dropdown-actions{display:flex;gap:8px}.invite-dropdown-actions .btn{flex:1}.hand-rankings-list{list-style:none;counter-reset:rank;padding:0;margin:0 0 16px}.hand-rank-item{counter-increment:rank;display:flex;align-items:baseline;gap:8px;padding:5px 0;border-bottom:1px solid var(--border-subtle);font-size:13px}.hand-rank-item:before{content:counter(rank) ".";color:var(--text-muted);font-size:12px;min-width:20px}.hand-rank-name{font-weight:700;color:var(--text-primary);white-space:nowrap}.hand-rank-desc{color:var(--text-secondary)}.five-card-rule{background:var(--bg-dark);border-radius:var(--radius);padding:12px 14px;font-size:13px;line-height:1.5}.five-card-rule strong{display:block;margin-bottom:4px;color:var(--accent-gold);font-size:13px}.five-card-rule p{margin:0;color:var(--text-secondary)}.break-player-list{display:flex;flex-direction:column;gap:6px;margin:12px 0}.break-player-option{padding:10px 14px;background:var(--bg-dark);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;text-align:left;font-size:14px;transition:border-color .15s,background .15s}.break-player-option:hover{background:#ffffff0a;border-color:var(--text-muted)}.break-player-option.selected{border-color:var(--btn-blue);background:#1f6feb1a}.landing-hero{display:grid;grid-template-columns:1fr 1.4fr;gap:48px;align-items:center;max-width:1100px;margin:0 auto;padding:64px 24px 56px}.hero-copy{text-align:left}.hero-copy h1{font-size:36px;font-weight:800;letter-spacing:-.5px;line-height:1.15;margin-bottom:20px}.hero-copy>p{color:var(--text-secondary);font-size:15px;line-height:1.6;max-width:440px;margin:0 0 24px}.hero-ctas{display:flex;flex-direction:column;gap:16px;align-items:flex-start}.hero-preview{position:relative}.hero-preview:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120%;height:120%;background:radial-gradient(ellipse at center,rgba(212,165,52,.035) 0%,transparent 60%);pointer-events:none}.hero-copy .muted-text{color:var(--text-muted);font-size:14px;margin-top:12px;margin-bottom:5px}.hero-reassurance{color:var(--text-muted);font-size:13px;margin-top:16px}.join-link-mobile{display:none}.preview-caption{text-align:center;color:var(--text-muted);font-size:12px;margin-top:12px}.join-combo{display:flex;border:1px solid rgba(140,160,100,.15);border-radius:var(--radius);overflow:hidden;background:#2d7a3a0f;height:34px}.join-combo-input{width:30px;background:var(--bg-dark);color:var(--text-primary);border:none;padding:0 8px;font-size:12px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;letter-spacing:.15em;text-transform:uppercase;text-align:center;outline:none}.join-combo-btn{background:#2d7a3a0f;color:var(--text-primary);border:none;border-left:1px solid rgba(140,160,100,.15);padding:0 10px;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s}.join-combo-btn:hover{background:#2d7a3a40}.feature-strip{max-width:900px;margin:0 auto;padding:48px 24px 40px;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;border-top:1px solid rgba(140,160,100,.06)}.feature-strip-item{display:flex;flex-direction:column;gap:6px}.feature-strip-item strong{font-size:14px;font-weight:700;color:var(--text-primary);line-height:1.3}.feature-strip-item span{font-size:13px;color:var(--text-muted);line-height:1.5}.bottom-cta{text-align:center;padding:40px 24px 56px}.bottom-cta .btn{margin-bottom:12px}.bottom-cta .muted-text{opacity:.55}.lobby-navbar{display:flex;align-items:center;justify-content:space-between;padding:12px 24px 16px;border-bottom:1px solid var(--border)}.navbar-brand{font-size:16px;font-weight:700;color:var(--text-primary);letter-spacing:-.3px;cursor:pointer}.navbar-right{display:flex;align-items:center;gap:12px}.navbar-link{background:none;border:none;color:var(--text-muted);font-size:14px;font-weight:500;cursor:pointer;padding:6px 12px;border-radius:var(--radius);transition:all .15s;display:flex;align-items:center;gap:6px}.navbar-link:hover{color:var(--text-secondary);background:#8ca0640f}.navbar-badge{background:var(--positive);color:#000;font-size:11px;font-weight:700;padding:1px 6px;border-radius:10px}.lobby-rooms{max-width:960px;margin:0 auto;padding:0 24px 48px}.lobby-rooms h2{font-size:12px;letter-spacing:.8px;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px}.lobby{margin:0 auto;background:radial-gradient(ellipse at 50% 30%,rgba(26,92,42,.14) 0%,transparent 55%),radial-gradient(ellipse at 50% 80%,rgba(10,17,10,.8) 0%,transparent 50%);min-height:100vh}.room-list{display:flex;flex-direction:column;gap:6px}.room-card{background:var(--bg-panel);border:1px solid rgba(120,160,110,.08);border-radius:var(--radius);padding:10px 14px;cursor:pointer;transition:all .15s}.room-card:hover{border-color:#78a06e2e;background:var(--bg-panel-hover)}.room-card-row{display:flex;align-items:center;gap:12px}.room-card-row h3{font-size:15px;font-weight:700;flex:1;margin:0}.room-code{font-size:11px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;color:var(--text-muted);letter-spacing:.1em}.room-status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.room-status-dot.active{background:var(--positive)}.room-status-dot.waiting{background:var(--btn-warning)}.room-status-label{font-size:11px;color:var(--text-muted)}.room-card-meta{font-size:12px;color:var(--text-muted);margin-top:4px}.view-all-rooms{background:none;border:none;color:var(--text-muted);font-size:13px;cursor:pointer;padding:8px 0;margin-top:4px}.view-all-rooms:hover{color:var(--text-secondary);text-decoration:underline}.code-input{letter-spacing:.2em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:18px!important;text-align:center}.seat-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}.seat-pick-btn{background:var(--bg-dark);color:var(--text-primary);border:2px solid var(--border-subtle);border-radius:var(--radius);padding:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .15s}.seat-pick-btn:hover:not(:disabled){border-color:var(--btn-blue)}.seat-pick-btn.selected{border-color:var(--accent-gold);background:#f0c0401a;color:var(--accent-gold)}.seat-pick-btn.taken{opacity:.3;cursor:not-allowed;border-color:var(--btn-red);color:var(--btn-red)}html:has(.game-page),html:has(.game-page) body{height:100vh;height:100dvh;overflow:hidden}.game-page{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}.game-header{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:var(--bg-panel);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.game-header-left{display:flex;align-items:center;gap:12px}.game-header-left h2{font-size:16px}.btn-invite{background:#2d7a3a2e;color:var(--text-primary);border:1px solid rgba(140,160,100,.35);font-weight:600}.btn-invite:hover:not(:disabled){background:#2d7a3a47;border-color:#8ca06480}.blinds-label{font-size:12px;color:var(--text-muted);background:var(--bg-dark);padding:3px 10px;border-radius:20px}.game-header-right{display:flex;gap:8px;align-items:center}.game-content{display:flex;flex:1;overflow:hidden}.game-main{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:12px}.game-sidebar{width:300px;border-left:1px solid var(--border-subtle);flex-shrink:0;overflow-y:auto}.table-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;min-height:320px;padding:10px}.table-felt{position:relative;width:100%;max-width:660px;aspect-ratio:1.7 / 1;background:radial-gradient(ellipse at 50% 40%,rgba(255,255,255,.03) 0%,transparent 50%),radial-gradient(ellipse at center,var(--bg-table-light) 0%,var(--bg-table) 60%,#145220 100%);border-radius:50%;border:5px solid var(--border-gold);box-shadow:0 0 0 3px #00000080,0 0 50px #1a5c2a59,0 0 100px #8b691414,inset 0 0 60px #00000040}.table-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.pot-label{font-size:16px;color:#ffffff80;text-transform:uppercase;letter-spacing:2px}.pot-amount{font-size:40px;font-weight:800;color:var(--accent-gold);text-shadow:0 2px 8px rgba(0,0,0,.3)}.round-label{font-size:15px;color:#fff6;text-transform:uppercase;letter-spacing:2px;margin-top:4px}.table-waiting{color:#fff6;font-size:21px}.community-cards{margin-bottom:8px}.hand-info{text-align:center;color:var(--text-muted);font-size:11px;margin-top:6px}.seat-position{position:absolute;transform:translate(-50%,-50%);z-index:2}.seat{background:var(--bg-panel);border:2px solid var(--border-subtle);border-radius:var(--radius-lg);padding:6px 12px;min-width:88px;text-align:center;transition:all .25s ease;position:relative;overflow:visible}.seat-empty{background:#161b2266;border:2px dashed rgba(48,54,61,.6);border-radius:var(--radius-lg);padding:10px 12px;min-width:88px;text-align:center}.seat-empty-label{color:var(--text-muted);font-size:11px;opacity:.5}.seat-empty-clickable{cursor:pointer;border-color:var(--btn-blue);border-style:dashed;transition:all .15s}.seat-empty-clickable:hover{background:#1f6feb1a;border-color:var(--btn-blue-hover)}.seat-empty-clickable .seat-empty-label{color:var(--btn-blue);opacity:1}.seat.current-turn{border-color:var(--accent-gold);box-shadow:0 0 12px #f0c04080,0 0 24px #f0c04033;animation:pulse-glow 1.5s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 12px #f0c04080,0 0 24px #f0c04033}50%{box-shadow:0 0 18px #f0c040b3,0 0 36px #f0c0404d}}@keyframes pulse-glow-subtle{0%,to{box-shadow:0 0 8px #f0c0404d,0 0 16px #f0c0401f}50%{box-shadow:0 0 12px #f0c04073,0 0 24px #f0c0402e}}.seat.is-me{border-color:var(--btn-blue);box-shadow:0 0 8px #1f6feb4d}.seat.is-me.current-turn{border-color:var(--accent-gold);box-shadow:0 0 12px #f0c04080,0 0 24px #f0c04033;animation:pulse-glow 1.5s ease-in-out infinite}.seat.folded{opacity:.35}.seat.all-in{border-color:var(--btn-warning)}.seat.disconnected{border-color:var(--btn-red);opacity:.5}.seat.sitting-out{opacity:.4;border-style:dashed}.seat.on-break{opacity:.35;border-style:dashed;border-color:var(--text-muted)}.admin-label{font-size:9px;font-weight:700;text-transform:uppercase;color:#e8935a;letter-spacing:.5px;line-height:1;margin-bottom:1px}.seat.admin-action-needed{border-color:#e8935a;box-shadow:0 0 12px #e8935a80,0 0 24px #e8935a33;animation:admin-pulse-glow 1.5s ease-in-out infinite}@keyframes admin-pulse-glow{0%,to{box-shadow:0 0 12px #e8935a80,0 0 24px #e8935a33}50%{box-shadow:0 0 18px #e8935ab3,0 0 36px #e8935a4d}}.seat.winner{border-color:var(--accent-gold);box-shadow:0 0 10px #d4a53466,0 0 20px #d4a53426}.seat.winner-celebrating{border-color:var(--accent-gold);animation:winner-glow-pulse .9s ease-in-out 2}@keyframes winner-glow-pulse{0%,to{box-shadow:0 0 10px #d4a53466,0 0 20px #d4a53426}50%{box-shadow:0 0 20px #d4a534b3,0 0 40px #d4a5344d}}.winner-sparkles{position:absolute;top:0;left:0;right:0;pointer-events:none;z-index:5}.sparkle{position:absolute;width:4px;height:4px;background:var(--accent-gold);border-radius:50%;box-shadow:0 0 6px #d4a534cc;animation:sparkle-float var(--duration) ease-out forwards;animation-delay:var(--delay);opacity:0}@keyframes sparkle-float{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-50px) translate(var(--drift)) scale(.2)}}.winner-announce{animation:winner-text-in .5s ease forwards}@keyframes winner-text-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.seat-badges{position:absolute;display:flex;gap:3px;z-index:3}.seat-badges-below{top:100%;left:calc(50% + 16px);transform:translate(-50%);margin-top:6px}.seat-badges-above{bottom:100%;left:calc(50% - 16px);transform:translate(-50%);margin-bottom:6px}.seat-badges-right{left:100%;top:calc(50% - 12px);transform:translateY(-50%);margin-left:6px;flex-direction:column}.seat-badges-left{right:100%;top:calc(50% + 12px);transform:translateY(-50%);margin-right:6px;flex-direction:column}.badge{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0;letter-spacing:0;font-size:9px;font-weight:700;text-transform:uppercase;line-height:1;flex-shrink:0}.badge-dealer{background:#fff;color:#000;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}.badge-sb{background:var(--btn-blue);color:#fff;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}.badge-bb{background:var(--accent-gold);color:#000;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}.seat-name{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:76px;margin:0 auto}.seat-chips{font-size:11px;color:var(--accent-gold);font-weight:600}.seat-status-label{font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.seat-status-label.all-in-label{color:var(--btn-warning);font-weight:700}.seat-bet{position:absolute;background:#000000bf;color:var(--accent-gold);font-size:10px;font-weight:700;padding:2px 7px;border-radius:8px;white-space:nowrap;border:1px solid rgba(240,192,64,.3);z-index:3}.seat-bet-below{top:100%;left:calc(50% - 16px);transform:translate(-50%);margin-top:6px}.seat-bet-above{bottom:100%;left:calc(50% + 16px);transform:translate(-50%);margin-bottom:6px}.seat-bet-right{left:100%;top:calc(50% + 12px);transform:translateY(-50%);margin-left:6px}.seat-bet-left{right:100%;top:calc(50% - 12px);transform:translateY(-50%);margin-right:6px}.action-panel{background:var(--bg-panel);border:1px solid var(--accent-gold);border-radius:var(--radius-lg);padding:16px;margin-top:10px;box-shadow:0 0 20px #f0c0401a}.action-buttons{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.action-panel-sizing{display:flex;flex-direction:column;gap:10px;align-items:center;width:100%}.action-panel-sizing label{font-size:15px;font-weight:600}.raise-slider{width:100%;max-width:400px;accent-color:var(--btn-blue);height:6px}.sizing-input-row{display:flex;gap:8px;align-items:center}.sizing-input{width:100px;text-align:center;padding:6px;font-size:16px;font-weight:700;transition:border-color .15s,box-shadow .15s}.sizing-input.invalid{border-color:var(--btn-red);box-shadow:0 0 8px #da363380,0 0 16px #da363333}.preset-buttons{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.game-action-area{display:flex;justify-content:center;margin-top:12px}.turn-indicator{text-align:center;margin-top:12px;color:var(--text-muted);font-size:14px;padding:12px;background:var(--bg-panel);border-radius:var(--radius);border:1px solid var(--border-subtle)}.award-pot{background:var(--bg-panel);border:1px solid var(--accent-gold);border-radius:var(--radius-lg);padding:20px;margin-top:10px;text-align:center}.award-pot h3{margin-bottom:16px;font-size:18px}.pot-award-section{margin-bottom:16px;padding:12px;background:var(--bg-dark);border-radius:var(--radius)}.pot-award-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.pot-label-text{font-size:14px;color:var(--text-secondary)}.pot-label-text strong{color:var(--accent-gold);font-size:16px}.pot-eligible-players{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.player-select-btn{min-width:80px}.auto-award-label{color:var(--positive);font-weight:600;font-size:13px}.sidebar{display:flex;flex-direction:column;height:100%;background:var(--bg-panel)}.sidebar-tabs{display:flex;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.sidebar-tab{flex:1;padding:10px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;text-transform:uppercase;letter-spacing:.5px}.sidebar-tab:hover{color:var(--text-secondary)}.sidebar-tab.active{color:var(--text-primary);border-bottom-color:var(--btn-blue)}.sidebar-content{flex:1;overflow-y:auto;padding:14px}.leaderboard h3{margin-bottom:10px;font-size:14px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.leaderboard-list{display:flex;flex-direction:column;gap:4px}.leaderboard-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg-dark);border-radius:var(--radius);font-size:13px;border-left:3px solid transparent}.leaderboard-row.leader{border-left-color:var(--accent-gold)}.leaderboard-rank{font-weight:700;color:var(--text-muted);min-width:28px;font-size:11px}.leaderboard-name{flex:1;font-weight:600;display:flex;align-items:center;gap:6px}.disconnect-dot{display:inline-block;width:6px;height:6px;background:var(--btn-red);border-radius:50%}.leaderboard-chips{font-weight:600;color:var(--accent-gold);font-size:12px}.leaderboard-net{font-size:11px;min-width:45px;text-align:right;font-weight:600}.leaderboard-net.positive{color:var(--positive)}.leaderboard-net.negative{color:var(--negative)}.leaderboard-row.leaderboard-left{opacity:.6}.left-badge{font-size:9px;background:#8b949e33;color:var(--text-muted);padding:1px 5px;border-radius:3px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.activity-log h3{margin-bottom:10px;font-size:14px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.log-empty{color:var(--text-muted);font-size:13px;text-align:center;padding:20px 0}.log-list{display:flex;flex-direction:column;gap:1px;max-height:400px;overflow-y:auto}.log-round-header{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--btn-blue);margin:8px 0 4px;padding-bottom:3px;border-bottom:1px solid rgba(31,111,235,.2)}.log-entry{display:flex;align-items:center;justify-content:space-between;padding:3px 6px;border-radius:4px;font-size:12px}.log-entry:hover{background:var(--bg-dark)}.log-text{flex:1;line-height:1.4}.log-amount{color:var(--accent-gold);font-weight:600}.log-fold{color:var(--btn-red)}.log-allin{color:var(--btn-warning);font-weight:700}.undo-btn{opacity:0;transition:opacity .15s;font-size:10px}.log-entry:hover .undo-btn{opacity:1}.log-hand-header{font-size:11px;font-weight:700;color:var(--text-muted);margin:12px 0 4px;padding-top:8px;border-top:1px solid var(--border)}.log-hand-header:first-child{margin-top:0;padding-top:0;border-top:none}.log-award{color:#3fb950;font-weight:600;font-style:italic}.stats h3,.stats h4{margin-bottom:10px;font-size:14px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.stats h4{margin-top:16px}.stats-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.stat-item{background:var(--bg-dark);border-radius:var(--radius);padding:8px;display:flex;flex-direction:column;align-items:center}.stat-label{font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:16px;font-weight:700;margin-top:1px}.stat-value.highlight{color:var(--accent-gold)}.player-stats-list{display:flex;flex-direction:column;gap:4px}.player-stat-row{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--bg-dark);border-radius:var(--radius);font-size:12px}.player-stat-name{min-width:60px;font-weight:600}.player-stats-table-wrap{overflow:visible}.player-stats-table{width:100%;border-collapse:collapse;font-size:12px}.player-stats-table th{text-align:center;font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:4px 6px;border-bottom:1px solid var(--border-subtle);font-weight:600}.player-stats-table th:first-child{text-align:left}.stat-info{display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;border-radius:50%;background:#8b9a7e33;color:var(--text-muted);font-size:8px;font-weight:700;cursor:help;vertical-align:middle;margin-left:2px}.stat-tooltip{position:fixed;transform:translate(-50%,-100%);background:#1a1a2e;color:var(--text-primary);font-size:11px;font-weight:400;line-height:1.4;padding:8px 10px;border-radius:var(--radius);border:1px solid var(--border-subtle);width:220px;white-space:normal;z-index:10000;pointer-events:none;box-shadow:0 4px 12px #0006}.player-stats-table td{padding:5px 6px;text-align:center;color:var(--text-secondary)}.player-stats-table td:first-child{text-align:left}.player-stats-table tbody tr:nth-child(odd){background:var(--bg-dark)}.player-stats-table tbody tr:nth-child(2n){background:transparent}.player-stats-name{font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px}.player-stats-table td.positive{color:var(--positive);font-weight:600}.player-stats-table td.negative{color:var(--negative);font-weight:600}.log-undo-target{background:#ef444426;border-left:3px solid var(--btn-red);padding-left:5px}.log-undo-after{opacity:.35}.undo-banner{background:var(--bg-dark);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;margin-top:8px;font-size:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.undo-pending-label{color:var(--text-muted);margin-left:auto}.log-undo-event{font-style:italic}.log-undo-approved{color:var(--btn-green)}.log-undo-denied{color:var(--btn-red)}.end-game{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;background:radial-gradient(ellipse at center,#1a1a2e 0%,var(--bg-dark) 100%)}.end-game-card{background:var(--bg-panel);border:1px solid var(--border-gold);border-radius:var(--radius-lg);padding:40px;width:100%;max-width:560px;text-align:center;box-shadow:0 0 60px #8b691426}.end-game-card h1{font-size:32px;margin-bottom:4px}.end-game-subtitle{color:var(--text-muted);margin-bottom:24px;font-size:14px;text-transform:uppercase;letter-spacing:1px}.final-standings{display:flex;flex-direction:column;gap:6px;margin-bottom:28px}.standing-row{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--bg-dark);border-radius:var(--radius);font-size:14px;border-left:3px solid transparent}.standing-row.winner{border-left-color:var(--accent-gold);background:#f0c0400d}.standing-rank{min-width:30px;font-weight:700;font-size:13px;color:var(--text-muted)}.standing-row.winner .standing-rank{color:var(--accent-gold)}.standing-name{flex:1;font-weight:600;text-align:left}.standing-chips{font-weight:600;font-size:13px}.standing-net{font-weight:700;min-width:60px;font-size:14px}.standing-net.positive{color:var(--positive)}.standing-net.negative{color:var(--negative)}.standing-invested{font-size:11px;color:var(--text-muted)}.settle-up{display:flex;flex-direction:column;gap:6px;margin-bottom:28px}.settle-row{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-dark);border-radius:var(--radius);font-size:14px}.settle-from{font-weight:600;color:var(--negative)}.settle-arrow{color:var(--text-muted);font-size:12px}.settle-to{font-weight:600;color:var(--positive);flex:1;text-align:left}.settle-amount{font-weight:700}.card{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:48px;height:68px;background:#fff;border-radius:6px;border:1px solid #ccc;font-family:Georgia,Times New Roman,serif;box-shadow:0 2px 6px #00000040;-webkit-user-select:none;user-select:none;position:relative;flex-shrink:0}.card-small{width:34px;height:48px;border-radius:4px;box-shadow:0 1px 4px #0003}.card-red{color:#c41e3a}.card-black{color:#1a1a1a}.card-rank{font-size:16px;font-weight:700;line-height:1}.card-small .card-rank{font-size:12px}.card-suit{font-size:18px;line-height:1;margin-top:-2px}.card-small .card-suit{font-size:13px;margin-top:-1px}.card-back{background:linear-gradient(135deg,#1a3a5c,#0d2137,#1a3a5c);border:1px solid #2a4a6c;background-image:linear-gradient(135deg,#1a3a5c,#0d2137,#1a3a5c),repeating-linear-gradient(45deg,transparent,transparent 3px,rgba(255,255,255,.03) 3px,rgba(255,255,255,.03) 6px);background-blend-mode:overlay}.community-cards{display:flex;gap:4px;justify-content:center;margin:6px 0}.seat-hole-cards{display:flex;gap:2px;justify-content:center;margin-top:4px}.seat-hole-cards .card-small{width:26px;height:36px;opacity:.7}.seat-cards-dealing .card-small{animation:card-deal-sideways .4s ease-out}.community-card-slot .card-back{opacity:.2}.community-card-slot.dealt .card-back{opacity:.7}@keyframes card-deal-sideways{0%{transform:translate(-20px) scaleX(0);opacity:0}to{transform:translate(0) scaleX(1)}}@keyframes flop-deal-left{0%{transform:translate(20px) scaleX(0);opacity:0}30%{transform:translate(20px) scaleX(0);opacity:1}to{transform:translate(0) scaleX(1);opacity:1}}@keyframes flop-deal-center{0%{transform:scaleX(0);opacity:0}30%{transform:scaleX(0);opacity:1}to{transform:scaleX(1);opacity:1}}@keyframes flop-deal-right{0%{transform:translate(-20px) scaleX(0);opacity:0}30%{transform:translate(-20px) scaleX(0);opacity:1}to{transform:translate(0) scaleX(1);opacity:1}}.card-flop-deal{animation-duration:.5s;animation-timing-function:cubic-bezier(.22,.61,.36,1);animation-fill-mode:backwards}.card-flop-pos-0{animation-name:flop-deal-left}.card-flop-pos-1{animation-name:flop-deal-center;animation-delay:30ms}.card-flop-pos-2{animation-name:flop-deal-right;animation-delay:60ms}@keyframes single-card-deal{0%{transform:scaleX(0);opacity:0}20%{transform:scaleX(0);opacity:1}to{transform:scaleX(1);opacity:1}}.card-single-deal{animation:single-card-deal .3s cubic-bezier(.22,.61,.36,1) backwards}.hole-cards{display:flex;gap:8px;justify-content:center;align-items:center;margin-top:12px;padding:12px;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);cursor:pointer;-webkit-user-select:none;user-select:none;flex-wrap:wrap}.hole-cards-hint{width:100%;text-align:center;font-size:11px;color:var(--text-muted);margin-top:4px}.hole-cards-showdown{display:flex;flex-direction:column;align-items:center;gap:8px}.showdown-result{text-align:center}.showdown-winner-text{font-size:14px;font-weight:700;color:var(--accent-gold);margin-top:6px}.showdown-hand-name{font-size:12px;color:var(--text-secondary);margin-top:2px}.seat-showdown-cards{display:flex;gap:2px;justify-content:center;margin-top:4px}.seat-showdown-cards .card-small{width:26px;height:36px}.seat-showdown-cards .card-rank,.seat-showdown-cards .card-suit{font-size:10px}.card-highlighted{box-shadow:0 0 8px #d4a534b3,0 0 16px #d4a5344d;border-color:var(--accent-gold);transform:translateY(-4px);transition:transform .2s ease,box-shadow .2s ease}.seat-showdown-cards .card-highlighted{transform:translateY(-1px);box-shadow:0 0 6px #d4a53499}.toggle-label{display:flex;align-items:center;gap:16px;cursor:pointer;font-size:14px;color:var(--text-primary);font-weight:600;text-transform:none;letter-spacing:0}.toggle-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--btn-green);cursor:pointer;margin:0 12px 0 0;flex:0 0 auto}.toggle-subtitle{display:block;font-size:12px;color:var(--text-muted);margin-top:4px;font-weight:400}.advanced-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--text-muted);font-size:13px;font-weight:600;padding:8px 0;-webkit-user-select:none;user-select:none}.advanced-toggle:hover{color:var(--text-secondary)}.advanced-toggle .chevron{font-size:10px;transition:transform .15s ease;display:inline-block}.advanced-toggle .chevron.expanded{transform:rotate(90deg)}.advanced-content{padding-top:8px}.advanced-content select{width:100%;padding:10px 14px;border-radius:var(--radius);border:1px solid var(--border-subtle);background:var(--bg-dark);color:var(--text-primary);font-size:16px}.room-mode-tag{font-size:10px;padding:2px 6px;border-radius:3px;background:#1f6feb26;color:var(--btn-blue);font-weight:600;letter-spacing:.3px}.room-locked-tag{font-size:10px;padding:2px 6px;border-radius:3px;background:#ffb43226;color:#c89020;font-weight:600;letter-spacing:.3px}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:18px;color:var(--text-muted)}.admin-bar{position:sticky;top:0;left:0;right:0;height:48px;background:#1a1a2e;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;padding:0 12px;z-index:2000;gap:12px;flex-shrink:0}.app-admin .game-page{height:calc(100vh - 48px);height:calc(100dvh - 48px)}.admin-player-tabs{display:flex;align-items:center;gap:6px;flex:1;min-width:0;overflow-x:auto}.admin-player-tab{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius);cursor:pointer;font-size:12px;font-weight:600;color:var(--text-secondary);white-space:nowrap;transition:all .15s}.admin-player-tab:hover{background:var(--bg-panel-hover);border-color:var(--btn-blue)}.admin-player-tab.active{background:#1f6feb26;border-color:var(--btn-blue);color:var(--text-primary)}.admin-dot{width:7px;height:7px;border-radius:50%;background:var(--btn-red);flex-shrink:0}.admin-dot.connected{background:var(--positive)}.admin-tab-name{max-width:80px;overflow:hidden;text-overflow:ellipsis}.admin-remove-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;line-height:1;padding:0 2px;transition:color .15s}.admin-remove-btn:hover{color:var(--btn-red)}.admin-add-btn{flex-shrink:0}.admin-add-input{display:flex;align-items:center;gap:4px;flex-shrink:0}.admin-add-input input{width:100px;padding:4px 8px;font-size:12px}.admin-cards-section{flex-shrink:0}.admin-cards-widget{display:flex;align-items:center;gap:6px}.admin-card{font-size:14px;font-weight:700;padding:2px 5px;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:4px;font-family:Courier New,monospace}.admin-card.red{color:#ef4444}.admin-card.black{color:var(--text-primary)}.preview-frame{border:1px solid rgba(140,160,100,.15);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-panel);box-shadow:0 4px 24px #0006,0 0 40px #1a5c2a12;pointer-events:none;-webkit-user-select:none;user-select:none}.preview-topbar{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#0000004d;border-bottom:1px solid rgba(140,160,100,.1);font-size:11px}.preview-room-name{font-weight:600;color:var(--text-primary);font-size:11px}.preview-blinds-badge{font-size:10px;color:var(--text-muted);background:var(--bg-dark);padding:2px 8px;border-radius:20px}.preview-body{display:flex}.preview-table-area{flex:1;min-width:0;padding:30px 24px}.game-preview{pointer-events:none;-webkit-user-select:none;user-select:none}.game-preview .table-felt{max-width:100%;border-width:3px;box-shadow:0 0 0 2px #00000080,0 0 40px #1a5c2a2e,0 0 80px #8b69140f}.game-preview .seat{padding:4px 8px;min-width:68px}.game-preview .seat-name{font-size:10px;max-width:54px}.game-preview .seat-chips{font-size:9px}.game-preview .badge{width:16px;height:16px;font-size:8px}.game-preview .pot-amount{font-size:20px}.game-preview .pot-label{font-size:9px}.game-preview .round-label{font-size:8px}.game-preview .seat-bet{font-size:9px}.game-preview .seat.current-turn{animation:pulse-glow-subtle 2s ease-in-out infinite}.game-preview .seat-hole-cards{display:flex;gap:1px;justify-content:center;margin-top:3px}.game-preview .seat-hole-cards .card-small{width:18px;height:26px;animation:card-deal-sideways .4s ease-out both;animation-delay:var(--deal-delay, 0s)}.game-preview .community-card-slot .card-back{opacity:.2}.game-preview .community-card-slot.dealt .card-back{opacity:.7}.game-preview .card-flop-deal{animation-delay:var(--deal-delay, 0s)}.game-preview .community-cards{margin-bottom:4px}.game-preview .community-card-slot .card-small{width:20px;height:28px}.mobile-sidebar-toggle,.sidebar-close-btn{display:none}@media (max-width: 768px){.landing-hero{grid-template-columns:1fr;gap:32px;padding:32px 16px 28px;max-width:560px}.hero-copy h1{font-size:28px}.hero-copy>p{font-size:14px}.hero-ctas .btn{width:100%}.join-combo-desktop{display:none}.join-link-mobile{display:inline-block;background:none;border:none;color:var(--text-muted);font-size:14px;cursor:pointer;padding:4px 0;text-decoration:underline;text-underline-offset:3px}.feature-strip{grid-template-columns:1fr;gap:24px;padding:32px 16px}.lobby-rooms{padding:0 16px 32px}.lobby-navbar{padding:10px 16px}.auth-signin-area{opacity:.7}.bottom-cta{padding:32px 16px 48px}.game-preview .preview-topbar,.game-preview .round-label,.game-preview .seat-bet{display:none}.preview-table-area{padding:20px 16px}.game-sidebar{display:none;position:fixed;right:0;bottom:0;left:0;top:0;z-index:100;width:100%}.game-sidebar.visible-mobile{display:flex}.game-main.hidden-mobile{display:none}.mobile-sidebar-toggle{display:inline-flex}.mobile-hidden{display:none!important}.game-header-left .btn-invite{margin-left:auto;padding:4px 8px;font-size:11px;min-height:28px}.invite-dropdown{position:fixed;left:0;right:0;width:100%;border-radius:0 0 var(--radius-lg) var(--radius-lg);border-top:none}.invite-dropdown-qr{display:none}.game-header-left .mobile-sidebar-toggle{min-height:28px;padding:4px 10px;font-size:11px}.game-header{flex-direction:column;padding:4px 10px;gap:2px;padding-top:calc(4px + env(safe-area-inset-top,0px))}.game-header-left{width:100%;gap:6px}.game-header-left h2{font-size:13px}.blinds-label,.my-chips-label{font-size:11px;padding:2px 8px}.game-header-right{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:6px;padding-bottom:0}.game-header-right::-webkit-scrollbar{display:none}.game-header-right>*{flex-shrink:0}.game-header-right .btn-small{min-height:32px;padding:5px 10px;font-size:11px}.table-container{min-height:0;padding:4px}.game-main{padding:6px}.table-felt{aspect-ratio:1.5 / 1}.seat{padding:5px 8px;min-width:68px}.seat-empty{padding:8px;min-width:68px}.seat-name{font-size:10px;max-width:54px}.seat-chips{font-size:10px}.badge{width:18px;height:18px;font-size:8px}.pot-amount{font-size:26px}.pot-label{font-size:10px;letter-spacing:1.5px}.round-label{font-size:10px;letter-spacing:1.5px;margin-top:2px}.action-panel{position:fixed;bottom:0;left:0;right:0;z-index:50;margin:0;border-radius:12px 12px 0 0;box-shadow:0 -4px 20px #0006;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px))}.game-main.action-panel-active{padding-bottom:130px}.action-btn{min-height:42px;padding:10px 16px;font-size:14px;min-width:70px}.action-panel-sizing{gap:6px}.action-panel-sizing label{font-size:13px}.raise-slider{height:20px}.sizing-input{width:100px;font-size:16px;padding:6px}.preset-buttons .btn-small{min-height:36px;padding:8px 10px}.community-cards .card-small{width:28px;height:40px}.community-cards .card-rank{font-size:10px}.community-cards .card-suit{font-size:11px}.hole-cards{margin-top:6px;padding:8px}.hole-cards .card{width:36px;height:52px}.hole-cards .card-rank{font-size:13px}.hole-cards .card-suit{font-size:14px}.hole-cards-hint{margin-top:2px;font-size:10px}.turn-indicator{margin-top:6px;padding:8px;font-size:13px}.game-action-area{margin-top:6px}.award-pot{margin-top:6px;padding:12px}.award-pot h3{margin-bottom:8px;font-size:16px}.pot-award-section{margin-bottom:8px;padding:8px}.hand-info{margin-top:3px}.error-banner,.sitting-out-banner{padding:5px 12px;font-size:12px}.form-row{flex-direction:column}.stats-grid{grid-template-columns:1fr 1fr}.standing-invested{display:none}.btn{min-height:44px}.btn-small{min-height:44px;padding:10px 14px;font-size:13px}.btn-tiny{min-height:36px;padding:8px 12px;font-size:12px}.sidebar-tab{min-height:44px;font-size:13px}.stat-info{width:20px;height:20px;font-size:10px;position:relative}.stat-info:after{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px}.player-select-btn{min-height:48px}.auth-user-btn{padding:10px 16px}.undo-btn{opacity:.7}.sidebar-close-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;flex-shrink:0}.sidebar-close-btn:hover{color:var(--text-primary)}.game-main,.sidebar-content,.log-list{-webkit-overflow-scrolling:touch}.game-header-right .btn-small{min-height:28px;padding:4px 8px;font-size:11px}}@media (max-width: 768px){.admin-bar{height:auto;flex-wrap:wrap;padding:8px 12px;gap:8px}.admin-cards-section{width:100%}.admin-cards-widget{justify-content:center}.app-admin .game-page{height:auto;min-height:calc(100vh - 80px);min-height:calc(100dvh - 80px)}}.admin-panel-modal{max-width:520px}.admin-section{margin-bottom:16px}.admin-section-header{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--border-subtle)}.admin-player-list{display:flex;flex-direction:column;gap:4px}.admin-player-row{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;background:var(--bg-dark);border-radius:var(--radius);gap:8px}.admin-player-info{display:flex;align-items:center;gap:6px;min-width:0;flex:1}.admin-player-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-player-chips{font-size:11px;color:var(--accent-gold);font-weight:600;flex-shrink:0}.admin-player-tag{font-size:9px;background:#8b9a7e33;color:var(--text-muted);padding:1px 5px;border-radius:3px;font-weight:600;text-transform:uppercase;flex-shrink:0}.admin-player-actions{display:flex;gap:4px;flex-shrink:0}.admin-conn-dot{width:6px;height:6px;border-radius:50%;background:var(--btn-red);flex-shrink:0}.admin-conn-dot.connected{background:var(--positive)}.admin-controls-row{display:flex;gap:8px;flex-wrap:wrap}.pause-banner{background:#d2a4371f;border-bottom-color:#d2a43740;color:var(--accent-gold)}@media (max-width: 480px){.landing-hero{padding:20px 16px 16px;gap:24px}.hero-copy h1{font-size:22px}.hero-copy>p{font-size:13px}.feature-strip{gap:20px}.game-header-left h2{font-size:13px}.table-felt{aspect-ratio:1.35 / 1}.seat{padding:4px 6px;min-width:58px}.seat-empty{min-width:58px}.seat-name{font-size:9px;max-width:46px}.seat-chips{font-size:9px}.seat-badges{gap:2px}.badge{width:16px;height:16px;font-size:7px}.seat-bet{font-size:9px}.community-cards .card-small{width:24px;height:34px}.community-cards .card-rank,.community-cards .card-suit{font-size:9px}.modal{padding:20px 16px}}.auth-user-btn{display:flex;align-items:center;gap:8px;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:6px 14px;color:var(--text-primary);cursor:pointer;font-size:14px;transition:background .15s}.auth-user-btn:hover{background:var(--bg-panel-hover)}.auth-avatar{width:28px;height:28px;border-radius:50%}.auth-signin-area{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.profile-modal{max-width:400px}.profile-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.profile-picture{width:56px;height:56px;border-radius:50%}.profile-name-row h2{font-size:20px;display:flex;align-items:center;gap:8px}.profile-flag{font-size:24px}.profile-stats-section{margin-bottom:20px}.profile-stats-section h3{font-size:14px;color:var(--text-muted);margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.profile-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.profile-stats-grid .stat-item{background:var(--bg-panel);border-radius:var(--radius);padding:10px;text-align:center}.profile-settings{margin-bottom:16px}.profile-settings select{width:100%;padding:8px 12px;border-radius:var(--radius);border:1px solid var(--border-subtle);background:var(--bg-dark);color:var(--text-primary);font-size:16px}.seat-flag{font-size:.85em}.seat[style]{cursor:pointer}.recap-page{min-height:100vh;background:radial-gradient(ellipse at 50% 20%,rgba(26,92,42,.1) 0%,transparent 50%),radial-gradient(ellipse at 50% 80%,rgba(10,17,10,.8) 0%,transparent 50%),var(--bg-dark);padding:20px;overflow-y:auto}.recap-container{max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:28px;padding-bottom:40px}.recap-error{text-align:center;padding:80px 20px;color:var(--text-muted)}.recap-error h2{color:var(--text-primary);margin-bottom:8px}.recap-error p{margin-bottom:20px}.recap-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted);margin-bottom:12px}.recap-hero{text-align:center;padding:32px 20px 24px}.recap-hero-label{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--text-muted);margin-bottom:8px}.recap-hero-title{font-size:28px;font-weight:800;color:var(--text-primary);margin-bottom:16px}.recap-hero-winner{display:flex;align-items:baseline;justify-content:center;gap:10px;margin-bottom:20px;flex-wrap:wrap}.recap-hero-winner-name{font-size:24px;font-weight:800;color:var(--accent-gold)}.recap-hero-winner-label{font-size:14px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.recap-hero-winner-net{font-size:28px;font-weight:800}.recap-hero-winner-net.positive{color:var(--positive)}.recap-hero-winner-net.negative{color:var(--negative)}.recap-hero-stats{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.recap-hero-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.recap-hero-stat-value{font-size:18px;font-weight:700;color:var(--text-primary)}.recap-hero-stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.recap-hero-stat-divider{width:1px;height:28px;background:#8ca06426}.recap-hero-date{margin-top:12px;font-size:13px;color:var(--text-muted)}.recap-standings-list{display:flex;flex-direction:column;gap:4px}.recap-standing-row{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-panel);border-radius:var(--radius);font-size:14px;border-left:3px solid transparent}.recap-standing-row.winner{border-left-color:var(--accent-gold);background:#f0c0400d}.recap-standing-rank{min-width:30px;font-weight:700;font-size:13px;color:var(--text-muted)}.recap-standing-row.winner .recap-standing-rank{color:var(--accent-gold)}.recap-standing-name{flex:1;font-weight:600;text-align:left;display:flex;align-items:center;gap:6px}.recap-standing-chips{font-weight:600;font-size:13px;color:var(--text-secondary)}.recap-standing-net{font-weight:700;min-width:55px;text-align:right;font-size:14px}.recap-standing-net.positive{color:var(--positive)}.recap-standing-net.negative{color:var(--negative)}.recap-standing-invested{font-size:11px;color:var(--text-muted)}.recap-settle-list{display:flex;flex-direction:column;gap:4px}.recap-settle-row{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-panel);border-radius:var(--radius);font-size:14px}.recap-moment-card{background:var(--bg-panel);border:1px solid var(--border-gold);border-radius:var(--radius-lg);padding:20px;box-shadow:0 0 30px #8b691414}.recap-moment-type{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--accent-gold);margin-bottom:8px}.recap-moment-description{font-size:15px;color:var(--text-primary);line-height:1.5;margin-bottom:16px}.recap-moment-players{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:12px}.recap-moment-player{display:flex;flex-direction:column;align-items:center;gap:4px}.recap-moment-player-name{font-size:13px;font-weight:600;color:var(--text-primary)}.recap-moment-player-cards{display:flex;gap:3px}.recap-moment-hand-name{font-size:11px;color:var(--text-muted)}.recap-moment-board{margin-top:12px;display:flex;flex-direction:column;align-items:center;gap:4px}.recap-moment-board-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.recap-moment-board-cards{display:flex;gap:3px}.recap-moment-pot{text-align:center;margin-top:12px;font-size:13px;color:var(--accent-gold);font-weight:600}.recap-highlights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.recap-highlight-card{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:14px}.recap-highlight-type{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--accent-gold);margin-bottom:6px}.recap-highlight-description{font-size:13px;color:var(--text-secondary);line-height:1.4;margin:0}.recap-highlight-cards{display:flex;gap:3px;margin-top:8px}.recap-awards-grid{display:flex;gap:10px;flex-wrap:wrap}.recap-award-badge{flex:1;min-width:150px;background:var(--bg-panel);border:1px solid rgba(212,165,52,.2);border-radius:var(--radius);padding:14px;text-align:center}.recap-award-title{font-size:13px;font-weight:700;color:var(--accent-gold);margin-bottom:4px}.recap-award-player{font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.recap-award-stat{font-size:11px;color:var(--text-muted)}.recap-personal-selector{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:12px}.recap-personal-tab{padding:6px 12px;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius);color:var(--text-secondary);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.recap-personal-tab:hover{border-color:var(--btn-blue)}.recap-personal-tab.active{background:#1f6feb1f;border-color:var(--btn-blue);color:var(--text-primary)}.recap-personal-card{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:20px}.recap-personal-header{display:flex;align-items:center;gap:14px;margin-bottom:16px}.recap-personal-rank{font-size:20px;font-weight:800;color:var(--text-muted);min-width:36px}.recap-personal-info{flex:1}.recap-personal-name{font-size:16px;font-weight:700;color:var(--text-primary)}.recap-personal-headline{font-size:13px;color:var(--accent-gold);margin-top:2px}.recap-personal-net{font-size:24px;font-weight:800}.recap-personal-net.positive{color:var(--positive)}.recap-personal-net.negative{color:var(--negative)}.recap-sparkline{width:100%;height:40px;margin-bottom:12px}.recap-personal-stats{display:flex;gap:16px;flex-wrap:wrap}.recap-personal-stat{display:flex;flex-direction:column;gap:2px}.recap-personal-stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.recap-personal-stat-value{font-size:15px;font-weight:700;color:var(--text-primary)}.recap-personal-award{margin-top:12px;padding:8px 14px;background:#d4a53414;border:1px solid rgba(212,165,52,.2);border-radius:var(--radius);color:var(--accent-gold);font-size:13px;font-weight:700;text-align:center}.recap-share-content{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:20px;display:flex;flex-direction:column;align-items:center;gap:12px}.recap-share-qr{padding:8px}.recap-share-url{font-family:monospace;font-size:12px;color:var(--text-muted);word-break:break-all;text-align:center;padding:6px 12px;background:var(--bg-dark);border-radius:var(--radius);-webkit-user-select:all;user-select:all}.recap-share-actions{display:flex;gap:8px}.recap-footer{display:flex;justify-content:center;padding:8px 0 20px}@media (max-width: 768px){.recap-page{padding:12px}.recap-container{gap:20px}.recap-hero-title{font-size:22px}.recap-hero-winner-name{font-size:20px}.recap-hero-winner-net{font-size:22px}.recap-highlights-grid{grid-template-columns:1fr}.recap-standing-invested{display:none}.recap-personal-header{flex-wrap:wrap}}@media (max-width: 480px){.recap-hero-title{font-size:20px}.recap-hero-stats{gap:10px}.recap-awards-grid{flex-direction:column}}.admin-dashboard{min-height:100vh;background:var(--bg-dark);padding:24px;max-width:1200px;margin:0 auto}.admin-not-authorized,.admin-loading,.admin-error{padding:48px;text-align:center;color:var(--text-muted);font-size:15px}.admin-error{color:var(--negative)}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px}.admin-title{font-size:22px;font-weight:700;color:var(--text-primary)}.admin-back{color:var(--text-muted);text-decoration:none;font-size:18px;line-height:1}.admin-back:hover{color:var(--text-primary)}.admin-range-selector{display:flex;gap:4px;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:3px}.admin-range-btn{background:none;border:none;color:var(--text-muted);font-size:13px;font-weight:500;padding:5px 12px;border-radius:calc(var(--radius) - 2px);cursor:pointer;transition:all .15s}.admin-range-btn:hover{color:var(--text-secondary);background:var(--bg-panel-hover)}.admin-range-btn.active{background:var(--bg-panel-hover);color:var(--text-primary);font-weight:600}.admin-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border-subtle);margin-bottom:24px}.admin-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:14px;font-weight:500;padding:10px 16px;cursor:pointer;transition:all .15s;margin-bottom:-1px}.admin-tab:hover{color:var(--text-secondary)}.admin-tab.active{color:var(--text-primary);border-bottom-color:var(--accent-gold);font-weight:600}.admin-tab-content{display:flex;flex-direction:column;gap:20px}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.admin-grid--2{grid-template-columns:repeat(2,1fr)}.admin-kpi{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:20px}.admin-kpi-value{font-size:28px;font-weight:700;color:var(--text-primary);line-height:1.1;margin-bottom:4px}.admin-kpi-label{font-size:12px;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.admin-kpi-subtitle{font-size:11px;color:var(--text-muted);opacity:.7;margin-bottom:4px}.admin-kpi-delta{font-size:13px;font-weight:600}.admin-kpi-delta.positive{color:var(--positive)}.admin-kpi-delta.negative{color:var(--negative)}.admin-chart-card{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:20px}.admin-last-updated{font-size:11px;color:var(--text-muted);opacity:.6;text-align:right;margin-top:16px}.admin-charts-two-col{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.admin-chart-card--wide{grid-column:1 / -1}.admin-chart-title{font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px}.admin-cohort-wrapper{overflow-x:auto}.admin-cohort-table{border-collapse:collapse;font-size:12px;min-width:100%;white-space:nowrap}.admin-cohort-table th{padding:6px 10px;color:var(--text-muted);font-weight:600;text-align:center;border-bottom:1px solid var(--border-subtle)}.admin-cohort-table th:first-child,.admin-cohort-table th:nth-child(2){text-align:left}.admin-cohort-table td{padding:6px 10px;text-align:center;color:var(--text-secondary)}.admin-cohort-table td.cohort-week,.admin-cohort-table td.cohort-count{text-align:left;color:var(--text-muted)}.admin-cohort-table td.cohort-cell{font-size:11px;font-weight:600;color:var(--text-primary);border-radius:4px}.admin-cohort-table tr:hover td{background-color:#8ca0640a!important}.admin-top-users-table{border-collapse:collapse;font-size:13px;width:100%}.admin-top-users-table th{padding:8px 12px;color:var(--text-muted);font-weight:600;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-subtle)}.admin-top-users-table td{padding:8px 12px;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle)}.admin-top-users-table tr:last-child td{border-bottom:none}.admin-top-users-table tr:hover td{background:var(--bg-panel-hover)}.top-users-email{color:var(--text-muted);font-size:12px}@media (max-width: 900px){.admin-grid{grid-template-columns:repeat(2,1fr)}.admin-charts-two-col{grid-template-columns:1fr}.admin-chart-card--wide{grid-column:auto}}@media (max-width: 600px){.admin-dashboard{padding:16px}.admin-grid{grid-template-columns:1fr 1fr}.admin-grid--2{grid-template-columns:1fr}.admin-header{flex-direction:column;align-items:flex-start}.admin-tabs{overflow-x:auto;flex-wrap:nowrap}.admin-tab{white-space:nowrap}}
