*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0a0f14;--felt: #1a5c32;--felt-border: #0d3b1e;--card-bg: #fff;--card-red: #d32f2f;--card-black: #212121;--text: #e0e0e0;--text-muted: #888;--accent: #ffd54f;--btn-fold: #b71c1c;--btn-check: #388e3c;--btn-call: #1976d2;--btn-raise: #f57c00;--btn-allin: #d32f2f;--seat-bg: rgba(0, 0, 0, .65);--seat-active: rgba(255, 213, 79, .25);--seat-hero: rgba(25, 118, 210, .25);--event-log-height: 96px}html,body{height:100%;font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);overflow:hidden}.screen{display:none;height:100%}.screen.active{display:flex}#screen-join{align-items:center;justify-content:center}.join-panel{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:40px;width:440px;max-width:90vw}.join-panel h1{font-size:32px;font-weight:700;color:var(--accent);margin-bottom:4px}.subtitle{color:var(--text-muted);margin-bottom:24px;font-size:14px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;color:var(--text-muted);margin-bottom:6px}.form-group textarea{width:100%;background:#0000004d;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:var(--text);padding:10px;font-family:monospace;font-size:12px;resize:vertical}.form-group textarea.auto-filled{height:0;min-height:0;padding:0;border:none;margin:0;overflow:hidden}.form-group:has(textarea.auto-filled) label{display:none}.btn-primary{width:100%;padding:12px;border:none;border-radius:6px;background:var(--accent);color:#000;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s}.btn-primary:hover{opacity:.9}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.status-line{margin-top:12px;font-size:13px;min-height:20px;color:var(--text-muted)}.status-line.error{color:#ef5350}#screen-game{flex-direction:column;align-items:center;justify-content:center}#table-container{position:relative;display:flex;flex-direction:column;width:100%;max-width:900px;height:100%;max-height:760px;overflow:hidden}#info-bar{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:8px 16px;font-size:13px;color:var(--text-muted)}#info-bar span:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:6px}#turn-label{color:var(--text);font-weight:600}#verifyfair-proof-panel{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:26px;padding:0 16px 4px}.proof-pill{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.14);background:#ffffff0d;color:var(--text-muted);font-size:12px;line-height:1.25}.proof-pill[data-state=verified],.proof-pill[data-state=ready],.proof-pill[data-state=sent]{color:#4caf50;border-color:#4caf5066;background:#4caf5014}.proof-pill[data-state=pending],.proof-pill[data-state=waiting],.proof-pill[data-state=required]{color:var(--accent);border-color:#ffd54f61;background:#ffd54f14}.proof-pill[data-state=disabled]{color:var(--text-muted);border-color:#ffffff24;background:#ffffff0a}.proof-pill[data-state=failed],.proof-pill[data-state=blocked],.proof-pill[data-state=stale]{color:#ef5350;border-color:#ef535080;background:#ef53501f}.cascade-badge{font-size:12px;padding:2px 8px;border-radius:10px;border:1px solid transparent;font-weight:500}.cascade-badge:before{display:none!important}.cascade-badge.pending{color:var(--text-muted);border-color:#ffffff26}.cascade-badge.verified{color:#4caf50;border-color:#4caf5066;background:#4caf5014}.cascade-badge.failed{color:#ef5350;border-color:#ef535080;background:#ef53501f}.cascade-counter{font-size:11px;color:var(--text-muted);font-style:italic}.cascade-counter:before{display:none!important}.cascade-chain-badge{font-size:12px;padding:2px 8px;border-radius:10px;border:1px solid transparent;font-weight:500}.cascade-chain-badge:before{display:none!important}.cascade-chain-badge.first,.cascade-chain-badge.session_change{color:var(--text-muted);border-color:#ffffff26}.cascade-chain-badge.ok{color:#4caf50;border-color:#4caf5066;background:#4caf5014}.cascade-chain-badge.broken{color:#ef5350;border-color:#ef535099;background:#ef535026;font-weight:600}.btn-leave{margin-left:auto;padding:4px 14px;border:1px solid rgba(255,255,255,.2);border-radius:4px;background:transparent;color:var(--text-muted);font-size:12px;cursor:pointer;transition:color .2s,border-color .2s}.btn-leave:hover{color:#ef5350;border-color:#ef5350}#poker-table{position:relative;flex:1 1 360px;width:100%;min-height:280px;max-height:400px;margin:12px auto 10px;background:radial-gradient(ellipse at center,#1e6b3a 0%,var(--felt) 60%,var(--felt-border) 100%);border-radius:50%;border:8px solid #3e2723;box-shadow:0 0 40px #00000080,inset 0 0 60px #0003}#community-cards{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);display:flex;gap:6px}#pot-display{position:absolute;top:62%;left:50%;transform:translate(-50%,-50%);font-size:16px;font-weight:700;color:var(--accent);text-shadow:0 1px 3px rgba(0,0,0,.6)}.seat{position:absolute;width:120px;text-align:center;transition:background .3s}.seat .seat-inner{background:var(--seat-bg);border-radius:8px;padding:8px 6px;border:2px solid transparent}.seat.active .seat-inner{border-color:var(--accent);background:var(--seat-active)}.seat.hero .seat-inner{border-color:#1976d2;background:var(--seat-hero)}.seat.folded{opacity:.4}.seat .player-name{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seat .player-stack{font-size:11px;color:var(--accent);margin-top:2px}.seat .player-bet{font-size:11px;color:var(--text-muted);margin-top:2px}.seat .hole-cards{display:flex;gap:3px;justify-content:center;margin-top:4px}.seat .dealer-btn{position:absolute;top:-8px;right:-8px;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#000;font-size:10px;font-weight:700;line-height:22px;text-align:center}#seat-0{bottom:-50px;left:50%;transform:translate(-50%)}#seat-1{bottom:10px;left:5%}#seat-2{top:10px;left:5%}#seat-3{top:-50px;left:50%;transform:translate(-50%)}#seat-4{top:10px;right:5%}#seat-5{bottom:10px;right:5%}.card{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:44px;height:62px;background:var(--card-bg);border-radius:5px;font-size:14px;font-weight:700;line-height:1.1;box-shadow:0 1px 3px #0006}.card.red{color:var(--card-red)}.card.black{color:var(--card-black)}.card.facedown{background:linear-gradient(135deg,#1565c0 25%,#0d47a1 75%);color:transparent}.card .rank{font-size:15px}.card .suit{font-size:12px}.card-sm{width:34px;height:48px;font-size:11px}.card-sm .rank{font-size:12px}.card-sm .suit{font-size:10px}#action-panel{position:relative;z-index:2;flex:0 0 auto;padding:8px 20px 10px;background:#0a0f14d1;border-top:1px solid rgba(255,255,255,.06)}#timer-bar{height:4px;background:#ffffff1a;border-radius:2px;margin-bottom:10px;overflow:hidden}#timer-fill{height:100%;background:var(--accent);border-radius:2px;width:100%;transition:width .1s linear}#timer-fill.urgent{background:#ef5350}#action-buttons{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.btn-action{padding:10px 20px;border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .2s,transform .1s}.btn-action:hover{opacity:.9;transform:translateY(-1px)}.btn-action:active{transform:translateY(0)}.btn-action:disabled{opacity:.3;cursor:not-allowed;transform:none}.btn-fold{background:var(--btn-fold)}.btn-check{background:var(--btn-check)}.btn-call{background:var(--btn-call)}.btn-raise{background:var(--btn-raise)}.btn-allin{background:var(--btn-allin)}#raise-controls{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:8px}#raise-slider{flex:1;max-width:200px}#raise-input{width:80px;padding:6px;background:#0000004d;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:var(--text);font-size:14px;text-align:center}#showdown-panel{display:flex;gap:12px;align-items:center;justify-content:center;padding:10px 16px}.showdown-copy{display:flex;gap:10px;align-items:baseline;color:var(--text);font-size:13px}#showdown-pending{color:var(--text-muted);font-size:12px}#event-log{flex:0 0 var(--event-log-height);height:var(--event-log-height);overflow-y:auto;padding:6px 16px;font-size:12px;color:var(--text-muted);background:#0006}#event-log .log-entry{padding:2px 0;border-bottom:1px solid rgba(255,255,255,.05)}.hidden{display:none!important}
