@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=IBM+Plex+Mono:wght@400;500&display=swap";.card{position:relative;border-radius:6px;flex-shrink:0;-webkit-user-select:none;user-select:none;transition:transform .18s cubic-bezier(.34,1.56,.64,1)}.card--sm{width:36px;height:52px;font-size:10px}.card--md{width:52px;height:74px;font-size:13px}.card--lg{width:72px;height:102px;font-size:17px}.card--face{background:linear-gradient(168deg,#fffef9,#f7f4eb 60%,#eee9da);border:1px solid #d5d0c0;box-shadow:0 1px 3px #0000001f,0 4px 8px #0000000f,inset 0 1px #fffc;overflow:hidden}.card--face:before{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border:1px solid #e8e4d8;border-radius:4px;pointer-events:none}.card--red{color:#b8192a}.card--black{color:#1a1a1a}.card__rank-top,.card__rank-bot{position:absolute;display:flex;flex-direction:column;align-items:center;line-height:1;font-weight:700;font-family:Georgia,Times New Roman,serif}.card__rank-top{top:4px;left:4px}.card__rank-bot{bottom:4px;right:4px;transform:rotate(180deg)}.card__suit-small{font-size:.75em;line-height:1;margin-top:-1px}.card__pip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.8em;line-height:1;opacity:.85}.card--lg .card__rank-top,.card--lg .card__rank-bot{top:6px;left:6px}.card--lg .card__rank-bot{top:auto;left:auto;bottom:6px;right:6px}.card--lg .card__pip{font-size:2.2em}.card--sm .card__rank-top,.card--sm .card__rank-bot{top:2px;left:2px}.card--sm .card__rank-bot{top:auto;left:auto;bottom:2px;right:2px}.card--sm .card__pip{font-size:1.4em}.card--back{background:#1a3a2e;border:1.5px solid #0d2219;box-shadow:0 1px 3px #0003,0 4px 8px #0000001a,inset 0 1px #ffffff0d;overflow:hidden}.card__back-pattern{position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:3px;border:1.5px solid #2a5a48;background:repeating-linear-gradient(45deg,transparent,transparent 3px,rgba(240,191,79,.08) 3px,rgba(240,191,79,.08) 4px),repeating-linear-gradient(-45deg,transparent,transparent 3px,rgba(240,191,79,.08) 3px,rgba(240,191,79,.08) 4px),radial-gradient(ellipse at center,#1e4a3a,#132e24)}.card__back-pattern:after{content:"";position:absolute;top:50%;left:50%;width:60%;height:60%;transform:translate(-50%,-50%);border:1px solid rgba(240,191,79,.18);border-radius:2px;background:radial-gradient(ellipse at center,rgba(240,191,79,.06) 0%,transparent 70%)}.poker-room{position:relative;width:100%;max-width:960px;margin:0 auto;padding:2rem 0}.poker-room__ambient{position:absolute;top:-60px;left:50%;width:500px;height:300px;transform:translate(-50%);background:radial-gradient(ellipse at center,rgba(240,191,79,.08) 0%,transparent 70%);pointer-events:none;z-index:0}.poker-room__phase{display:flex;align-items:center;gap:8px;justify-content:center;margin-bottom:1rem;font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted, #4e5f59)}.poker-room__phase-dot{width:7px;height:7px;border-radius:50%;background:var(--accent, #0e7a5d);box-shadow:0 0 6px #0e7a5d80;animation:phase-pulse 2s ease-in-out infinite}@keyframes phase-pulse{0%,to{opacity:1}50%{opacity:.4}}.felt{position:relative;width:100%;aspect-ratio:16 / 10;min-height:380px}.felt__surface{position:absolute;top:15%;left:10%;width:80%;height:70%;border-radius:50%;background:radial-gradient(ellipse at 40% 35%,#1b6b4f 0%,transparent 50%),radial-gradient(ellipse at 60% 65%,#186045 0%,transparent 50%),linear-gradient(160deg,#175941,#0f4a35 40%,#0d3e2d);border:6px solid #2a1f14;box-shadow:0 0 0 3px #3d2c1a,0 0 0 6px #1a1108,0 8px 32px #00000059,0 2px 8px #0003,inset 0 2px 40px #00000026,inset 0 0 80px #f0bf4f05}.felt__inner-line{position:absolute;top:8%;left:8%;width:84%;height:84%;border-radius:50%;border:1px solid rgba(255,255,255,.04);pointer-events:none}.felt__board{position:absolute;top:38%;left:50%;transform:translate(-50%,-50%);display:flex;gap:6px;align-items:center;z-index:2}.felt__board-group{display:flex;gap:6px}.felt__board-group--flop,.felt__board-group--turn{margin-right:12px}.felt__board-card{animation:card-flip-in .4s cubic-bezier(.34,1.56,.64,1) both;perspective:400px}@keyframes card-flip-in{0%{opacity:0;transform:rotateY(180deg) scale(.85)}to{opacity:1;transform:rotateY(0) scale(1)}}.felt__waiting{font-size:.72rem;font-weight:500;color:#fff3;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.felt__pot{position:absolute;top:58%;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:6px;padding:4px 14px;border-radius:20px;background:#00000059;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-size:.82rem;font-weight:700;color:#f0bf4f;letter-spacing:.02em;z-index:2;white-space:nowrap}.felt__pot-chip{width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f7d06b,#c59520);border:1px solid #a07a10;box-shadow:0 1px 2px #0000004d}.seat{position:absolute;transform:translate(-50%,-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:2px;transition:opacity .2s ease}.seat--empty{opacity:.35}.seat--folded{opacity:.45}.seat--folded .seat__cards{filter:grayscale(.8)}.seat__ring{position:absolute;top:50%;left:50%;width:110px;height:90px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid var(--ring, #f0bf4f);box-shadow:0 0 12px #f0bf4f66;animation:ring-glow 1.5s ease-in-out infinite;pointer-events:none;z-index:-1}@keyframes ring-glow{0%,to{box-shadow:0 0 12px #f0bf4f4d}50%{box-shadow:0 0 20px #f0bf4f99}}.seat__ring--timed{border:none;background:conic-gradient(var(--ring, #f0bf4f) calc(var(--timer-pct, 1) * 360deg),rgba(255,255,255,.08) calc(var(--timer-pct, 1) * 360deg));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));animation:none;transition:background .3s linear}.seat__ring--urgent{--ring: #e04040;box-shadow:0 0 16px #e0404080;animation:ring-urgent-pulse .6s ease-in-out infinite}@keyframes ring-urgent-pulse{0%,to{box-shadow:0 0 12px #e0404066}50%{box-shadow:0 0 24px #e04040b3}}.seat__body{display:flex;flex-direction:column;align-items:center;gap:3px}.seat__cards{display:flex;gap:3px;min-height:20px;transition:filter .2s ease}.seat--local .seat__cards{gap:4px}.seat__info{display:flex;flex-direction:column;align-items:center;gap:1px;padding:4px 10px;border-radius:8px;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.08);min-width:70px;text-align:center}.seat--active .seat__info{border-color:#f0bf4f59;background:#000000a6}.seat--local .seat__info{border-color:#0e7a5d66;background:#0e3a2bb3}.seat__name{font-size:.65rem;font-weight:600;color:#e8e4d8;letter-spacing:.01em;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat__stack{font-size:.62rem;font-weight:500;color:#ffffff8c;font-family:IBM Plex Mono,monospace}.seat__empty-label{font-size:.62rem;color:#ffffff4d;font-style:italic}.seat__badge{font-size:.56rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:1px 5px;border-radius:3px;margin-top:1px}.seat__badge--fold{background:#a32a2a4d;color:#e07070}.seat__badge--allin{background:#f0bf4f33;color:#f0bf4f}.seat__number{position:absolute;bottom:-14px;font-size:.52rem;font-weight:600;color:#ffffff26;pointer-events:none}.seat__marker{position:absolute;bottom:-4px;right:-6px;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.48rem;font-weight:800;letter-spacing:.02em;border:1.5px solid rgba(0,0,0,.3);box-shadow:0 1px 4px #0000004d;z-index:5;pointer-events:none}.seat__marker--d{background:#f0f0f0;color:#1a1a1a;border-color:#ccc}.seat__marker--sb{background:#e8d690;color:#4a3a10;border-color:#c8b060;right:auto;left:-6px}.seat__marker--bb{background:#f0bf4f;color:#3a2a08;border-color:#d0a030;right:auto;left:-6px;bottom:8px}.action-panel{margin-top:1rem;padding:12px 16px;border-radius:14px;background:#1a2a26d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.06);box-shadow:0 4px 20px #0003;opacity:.5;transition:opacity .2s ease}.action-panel--live{opacity:1}.action-panel__row{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap}.action-btn{padding:8px 18px!important;border-radius:8px!important;font-size:.8rem!important;font-weight:600!important;letter-spacing:.03em;border:1px solid transparent!important;cursor:pointer;transition:all .15s ease!important;text-transform:uppercase;font-family:IBM Plex Mono,monospace!important}.action-btn:disabled{opacity:.35!important;cursor:not-allowed!important;transform:none!important;box-shadow:none!important}.action-btn--fold{background:linear-gradient(135deg,#6b2a2a,#8b3a3a)!important;color:#f0c8c8!important;border-color:#a04040!important}.action-btn--fold:hover:not(:disabled){background:linear-gradient(135deg,#7a3030,#a04545)!important}.action-btn--check{background:linear-gradient(135deg,#2a4a3a,#355a48)!important;color:#c8e8d8!important;border-color:#4a7a60!important}.action-btn--check:hover:not(:disabled){background:linear-gradient(135deg,#305540,#3d6a52)!important}.action-btn--call{background:linear-gradient(135deg,#0e6a4d,#0f8060)!important;color:#d0f5e5!important;border-color:#18a070!important}.action-btn--call:hover:not(:disabled){background:linear-gradient(135deg,#10805a,#12956d)!important}.action-btn--raise{background:linear-gradient(135deg,#8a6a10,#b08a20)!important;color:#fff8e0!important;border-color:#c8a030!important}.action-btn--raise:hover:not(:disabled){background:linear-gradient(135deg,#9a7818,#c09a28)!important}.action-panel__bet-group{display:flex;gap:4px;align-items:center}.action-panel__bet-input{width:100px!important;padding:7px 10px!important;border-radius:8px!important;border:1px solid rgba(255,255,255,.12)!important;background:#0000004d!important;color:#e8e4d8!important;font-size:.78rem!important;font-family:IBM Plex Mono,monospace!important}.action-panel__bet-input::placeholder{color:#ffffff40}.action-panel__bet-input:focus{border-color:var(--ring, #f0bf4f)!important;box-shadow:0 0 0 2px #f0bf4f26!important}.hand-history{margin-top:1rem;padding:12px 16px;border-radius:14px;background:#1a2a26b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.06)}.hand-history__title{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff6;margin:0 0 8px}.hand-history__list{display:flex;flex-direction:column;gap:8px}.hand-history__entry{padding:8px 12px;border-radius:8px;background:#00000040;border:1px solid rgba(255,255,255,.04)}.hand-history__entry summary{cursor:pointer;list-style:none}.hand-history__entry summary::-webkit-details-marker{display:none}.hand-history__entry summary:after{content:"▶";font-size:.55rem;color:#ffffff4d;margin-left:.4rem;transition:transform .2s ease;display:inline-block}.hand-history__entry[open] summary:after{transform:rotate(90deg)}.hand-history__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0}.hand-history__entry[open] .hand-history__header{margin-bottom:6px}.hand-history__hand-id{font-size:.72rem;font-weight:600;color:#e8e4d8}.hand-history__pot{font-size:.68rem;font-weight:600;color:#f0bf4f;font-family:IBM Plex Mono,monospace}.hand-history__board{display:flex;gap:4px;margin-bottom:6px}.hand-history__revealed{display:flex;flex-wrap:wrap;gap:4px 10px;margin-bottom:4px}.hand-history__reveal{font-size:.66rem;color:#c8b4e0;font-family:IBM Plex Mono,monospace}.hand-history__winners{display:flex;flex-direction:column;gap:2px}.hand-history__winner{font-size:.68rem;font-weight:600;color:#80d4a8;font-family:IBM Plex Mono,monospace}.hand-history__street{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:4px;background:#f0bf4f26;color:#f0bf4f;font-size:.58rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle}.hand-history__reason{display:inline-block;margin-left:4px;padding:1px 6px;border-radius:4px;background:#80d4a81f;color:#80d4a8;font-size:.58rem;font-weight:600;text-transform:lowercase;vertical-align:middle}.hand-history__meta{display:flex;align-items:center;gap:8px}.hand-history__relative{font-size:.6rem;color:#ffffff4d;font-style:italic}.hand-history__card-label{font-size:.62rem;font-family:IBM Plex Mono,monospace;color:#c8b4e0;margin:0 1px}.hand-history__reveal{display:flex;align-items:center;gap:3px}@media (max-width: 768px){.hand-history{padding:8px 10px}.hand-history__list{max-height:120px;overflow-y:auto}.action-panel__row{flex-wrap:wrap}}@media (max-width: 640px){.felt{aspect-ratio:4 / 3;min-height:320px}.pixi-table-container{aspect-ratio:4 / 3!important;min-height:280px!important}.seat__info{min-width:56px;padding:3px 6px}.seat__name{font-size:.56rem;max-width:64px}.seat__stack{font-size:.52rem}.action-panel__row{flex-direction:column;gap:6px}.action-btn{padding:10px 12px!important;font-size:.82rem!important;width:100%}.action-panel__bet-group{display:flex;width:100%}.action-panel__bet-input{flex:1;min-width:0;font-size:.9rem!important;padding:10px!important}.hand-history{display:none}.poker-room__phase{font-size:.65rem}}.chain-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;font-size:.72rem;font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;font-family:IBM Plex Mono,monospace;transition:background .15s}.chain-badge--verified{color:var(--accent, #0e7a5d);background:var(--accent-soft, #d8f2e7)}.chain-badge--pending{color:var(--muted, #4e5f59);background:var(--line, #d8d6c9)}.chain-badge--mismatch{color:#fff;background:var(--danger, #a32a2a)}.chain-badge--error{color:var(--warn, #8f4b13);background:#fef3cd}.chain-badge__dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.chain-badge__dot--sm{width:6px;height:6px}.chain-badge--verified .chain-badge__dot{background:var(--accent, #0e7a5d)}.chain-badge--pending .chain-badge__dot{background:var(--muted, #4e5f59);animation:badge-pulse 1.2s infinite}.chain-badge--mismatch .chain-badge__dot{background:#fff}.chain-badge--error .chain-badge__dot{background:var(--warn, #8f4b13)}.chain-badge__dot--connected{background:var(--accent, #0e7a5d)}.chain-badge__dot--connecting{background:var(--muted, #4e5f59);animation:badge-pulse 1.2s infinite}.chain-badge__dot--disconnected{background:var(--muted, #4e5f59)}.chain-badge__dot--error{background:var(--danger, #a32a2a)}@keyframes badge-pulse{0%,to{opacity:1}50%{opacity:.3}}.chain-badge__dropdown{position:absolute;top:calc(100% + 6px);right:0;z-index:20;min-width:280px;padding:10px 12px;border-radius:8px;background:var(--panel-solid, #fff9ed);border:1px solid var(--line, #d8d6c9);box-shadow:var(--shadow, 0 20px 45px rgba(31, 41, 55, .12));font-size:.7rem;color:var(--ink, #1a2a26)}.chain-badge__dropdown h5{margin:0 0 6px;font-size:.72rem;font-weight:600}.chain-badge__mismatch-list{list-style:none;margin:0 0 8px;padding:0}.chain-badge__mismatch-list li{padding:3px 0;border-bottom:1px solid var(--line, #d8d6c9);line-height:1.4}.chain-badge__mismatch-list li:last-child{border-bottom:none}.chain-badge__field-path{font-weight:600;display:block}.chain-badge__field-vals{display:flex;gap:8px;color:var(--muted, #4e5f59)}.chain-badge__verify-btn{display:inline-block;padding:3px 10px;border:1px solid var(--accent, #0e7a5d);border-radius:4px;background:transparent;color:var(--accent, #0e7a5d);font-size:.68rem;font-weight:600;cursor:pointer;font-family:inherit}.chain-badge__verify-btn:hover{background:var(--accent-soft, #d8f2e7)}.chain-badge__timestamp{color:var(--muted, #4e5f59);margin-top:6px;font-size:.65rem}.chain-badge__comet-section{margin-top:8px;padding-top:8px;border-top:1px solid var(--line, #d8d6c9)}.chain-badge__comet-row{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:2px 0;font-size:.67rem}.chain-badge__comet-warn{color:var(--danger, #a32a2a);font-weight:600}:root{--bg-a: #0c0e12;--bg-b: #111518;--panel: rgba(18, 22, 28, .92);--panel-solid: #151a21;--ink: #e0ddd4;--muted: #6b7a74;--line: #2a3530;--accent: #0e7a5d;--accent-soft: #122e24;--ring: #f0bf4f;--warn: #c8862a;--danger: #c44545;--shadow: 0 20px 45px rgba(0, 0, 0, .35);--font-sans: "Space Grotesk", "Avenir Next", "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", "Menlo", "Consolas", monospace}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);font-family:Space Grotesk,Avenir Next,Segoe UI,sans-serif;background:radial-gradient(ellipse at 20% 0%,rgba(14,122,93,.1) 0%,transparent 50%),radial-gradient(ellipse at 80% 5%,rgba(240,191,79,.06) 0%,transparent 40%),linear-gradient(160deg,var(--bg-a) 0%,var(--bg-b) 100%)}#root{min-height:100vh}h1,h2,h3,h4,p{margin:0}pre,code,input,select,button{font-family:IBM Plex Mono,Menlo,monospace}button{border:1px solid transparent;border-radius:10px;background:linear-gradient(135deg,#0f8d69,#0e7058);color:#f9fefc;padding:.52rem .84rem;font-size:.84rem;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 16px #0d4c3959}button:disabled{opacity:.55;cursor:not-allowed}input{width:100%;border-radius:10px;border:1px solid var(--line);background:#0a0e12b3;color:var(--ink);padding:.56rem .62rem;font-size:.82rem}input:focus,select:focus{border-color:var(--ring);outline:none;box-shadow:0 0 0 3px #f0bf4f2e}select{border-radius:10px;border:1px solid var(--line);background:#0a0e12b3;color:var(--ink);padding:.5rem .6rem;font-size:.78rem;font-family:IBM Plex Mono,monospace;cursor:pointer}pre{margin:0;font-size:.68rem;line-height:1.4;border:1px solid var(--line);border-radius:8px;background:#06080cb3;max-height:200px;overflow:auto;padding:.5rem;white-space:pre-wrap;word-break:break-word;color:#7a8a80;scrollbar-width:thin}.app-shell{width:min(1520px,100% - 1.5rem);margin:.75rem auto 1.2rem;display:grid;gap:.75rem}.panel{border:1px solid var(--line);border-radius:14px;background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 8px 32px #00000040;padding:.85rem 1rem;position:relative}.panel:before{content:"";position:absolute;top:0;left:1.5rem;right:1.5rem;height:1px;background:linear-gradient(90deg,transparent,rgba(240,191,79,.25),rgba(14,122,93,.3),transparent);border-radius:1px}.topbar{display:grid;gap:.7rem}.topbar:before{display:none}.kicker{font-size:.64rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);opacity:.85}.topbar h1{font-size:clamp(1.3rem,3.5vw,1.9rem);letter-spacing:-.03em;background:linear-gradient(135deg,var(--ink),var(--ring));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.endpoint-row{display:grid;gap:.35rem}.endpoint-row label{font-size:.7rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.endpoint-controls{display:grid;grid-template-columns:1fr auto;gap:.4rem}.hint{color:var(--muted);font-size:.76rem}.error-banner{border:1px solid rgba(196,69,69,.35);border-radius:10px;background:#c445451f;color:#e87070;font-size:.8rem;padding:.52rem .62rem}.status-grid{display:grid;gap:.45rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.status-tile{border:1px solid var(--line);border-radius:10px;background:linear-gradient(145deg,var(--panel-solid),rgba(12,16,20,.95));padding:.5rem .65rem;display:flex;align-items:center;gap:.5rem;transition:border-color .2s,box-shadow .2s}.status-tile:hover{border-color:#f0bf4f26;box-shadow:0 4px 12px #0003}.status-tile p{font-size:.64rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.status-tile strong{font-size:.78rem;font-weight:500}.dot{width:8px;height:8px;border-radius:999px;flex-shrink:0}.status-open{background:#16916d;box-shadow:0 0 6px #16916d80,0 0 0 3px #16916d1f}.status-live{background:#d79218;box-shadow:0 0 6px #d7921880,0 0 0 3px #d792181f;animation:pulse-glow 2s ease-in-out infinite}.status-closed{background:#b13c3c;box-shadow:0 0 6px #b13c3c66,0 0 0 3px #b13c3c1a}.status-muted{background:#5a6360;box-shadow:0 0 0 3px #5a63601a}@keyframes pulse-glow{0%,to{box-shadow:0 0 6px #d7921880,0 0 0 3px #d792181f}50%{box-shadow:0 0 10px #d79218b3,0 0 0 4px #d792182e}}.dashboard{display:grid;grid-template-columns:minmax(250px,.9fr) minmax(420px,1.25fr) minmax(300px,1fr);gap:.75rem;align-items:start}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.55rem;padding-bottom:.4rem;border-bottom:1px solid rgba(42,53,48,.5)}.section-header h2{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink)}.section-header button{font-size:.7rem;padding:.3rem .6rem;background:#ffffff0a;border:1px solid var(--line);color:var(--muted)}.section-header button:hover:not(:disabled){background:#ffffff14;border-color:var(--accent);color:var(--ink)}.placeholder{color:var(--muted);font-size:.76rem;font-style:italic}.table-list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.table-row{width:100%;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--panel-solid);color:inherit;padding:.5rem .6rem;display:flex;justify-content:space-between;gap:.6rem;transition:border-color .15s,background .15s}.table-row:hover{border-color:var(--accent);background:#0e7a5d0f}.table-row p{color:var(--muted);font-size:.7rem;margin-top:.2rem}.table-row__info{display:flex;flex-direction:column;gap:.15rem}.table-row__name{font-size:.82rem}.table-row__blinds{font-family:var(--font-mono);font-size:.72rem;color:var(--ring)}.table-row__buyin{font-size:.68rem;color:var(--muted)}.table-row.active{border-color:var(--ring);background:linear-gradient(120deg,#f0bf4f12,#0e7a5d12);box-shadow:inset 0 0 0 1px #f0bf4f0f}.table-meta{display:grid;justify-items:end;gap:.3rem}.table-meta small{color:var(--muted);font-size:.67rem}.badge{border:1px solid currentColor;border-radius:999px;padding:.14rem .42rem;font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.badge.status-open{color:#2ec99a;background:#0e7a5d2e}.badge.status-live{color:#e0a832;background:#d7921826}.badge.status-closed{color:#e06060;background:#b13c3c26}.table-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:.7rem}.table-summary h3{font-size:1.2rem}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.35rem;margin:0 0 .75rem}.facts div{border:1px solid var(--line);border-radius:8px;background:linear-gradient(145deg,var(--panel-solid),rgba(12,16,20,.9));padding:.4rem .5rem}.facts dt{color:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.facts dd{margin:.15rem 0 0;font-weight:600;font-size:.82rem;color:var(--ink)}.stack-two{display:grid;gap:.65rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:.6rem}.stack-two h4{margin-bottom:.35rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.intent-card{border:1px solid var(--line);border-radius:8px;background:var(--panel-solid);padding:.4rem .5rem;display:grid;gap:.2rem;margin-bottom:.3rem;transition:border-color .15s}.intent-card:hover{border-color:#f0bf4f33}.intent-card header{display:flex;justify-content:space-between;gap:.3rem;font-size:.78rem}.intent-card p{font-size:.68rem;color:var(--muted);font-family:IBM Plex Mono,monospace}.intent-card small{color:var(--warn);font-size:.66rem}.seat-form{display:grid;gap:.4rem}.seat-form label{display:grid;gap:.18rem;font-size:.7rem;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.btn-leave{background:var(--danger);color:#fff;border:none;border-radius:8px;padding:.4rem 1rem;font-size:.78rem;font-weight:500;cursor:pointer}.btn-leave:disabled{opacity:.45;cursor:not-allowed}.table-tabs{display:flex;gap:.35rem;overflow-x:auto;padding:.35rem 0;margin-bottom:.5rem;scrollbar-width:thin}.table-tabs::-webkit-scrollbar{height:4px}.table-tab{flex-shrink:0;display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .75rem;border-radius:999px;border:1px solid var(--line);background:var(--panel-solid);font-size:.72rem;color:var(--muted);cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.table-tab:hover{border-color:var(--accent)}.table-tab.active{background:var(--accent-soft);border-color:var(--accent);color:var(--ink);font-weight:500}.event-list{display:grid;gap:.3rem;max-height:75vh;overflow:auto;padding-right:.2rem;scrollbar-width:thin}.event-card{border:1px solid var(--line);border-radius:8px;background:var(--panel-solid);padding:.45rem .55rem;display:grid;gap:.2rem;transition:border-color .15s}.event-card:hover{border-color:#0e7a5d4d}.event-card header{display:flex;justify-content:space-between;gap:.4rem;align-items:center}.event-card header strong{font-size:.76rem;color:var(--accent);font-weight:600}.event-card header span{font-size:.64rem;color:var(--muted);font-family:IBM Plex Mono,monospace}.event-card p,.event-card small{font-size:.68rem;color:var(--muted);font-family:IBM Plex Mono,monospace}@media (max-width: 1240px){.dashboard{grid-template-columns:minmax(260px,.95fr) minmax(430px,1.2fr);gap:.65rem}.dashboard>section:last-child{grid-column:1 / -1}.event-list{max-height:45vh}}@media (max-width: 860px){.app-shell{width:min(100% - .75rem,860px)}.dashboard{grid-template-columns:1fr;gap:.6rem}.event-list{max-height:38vh}.endpoint-controls{grid-template-columns:1fr}}.admin-collapse{margin-top:.5rem;border:1px solid var(--line);border-radius:8px;background:#0a0e1266}.admin-collapse summary{cursor:pointer;padding:.4rem .6rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);-webkit-user-select:none;user-select:none;transition:color .15s;list-style:none}.admin-collapse summary:before{content:"▸";display:inline-block;margin-right:.4rem;transition:transform .15s;font-size:.6rem}.admin-collapse[open] summary:before{transform:rotate(90deg)}.admin-collapse summary:hover{color:var(--ink)}.admin-collapse summary::-webkit-details-marker{display:none}.admin-collapse>:not(summary){padding:0 .6rem .5rem}.admin-collapse--inline{margin-top:.2rem;border:none;background:transparent}.admin-collapse--inline summary{padding:.15rem 0;font-size:.64rem}.admin-collapse--inline>:not(summary){padding:0}.chat-panel{margin-top:.75rem;border:1px solid var(--line);border-radius:12px;background:var(--panel-solid);padding:.6rem}.chat-panel__title{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 .4rem}.chat-messages{max-height:150px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;margin-bottom:.4rem;scrollbar-width:thin}.chat-empty{color:var(--muted);font-size:.72rem;font-style:italic}.chat-msg{display:flex;gap:.4rem;font-size:.74rem;line-height:1.4}.chat-msg__sender{font-weight:600;color:var(--accent);flex-shrink:0;font-family:IBM Plex Mono,monospace;font-size:.66rem}.chat-msg__text{color:var(--ink);word-break:break-word}.chat-input-row{display:flex;gap:.4rem}.chat-panel .chat-input{flex:1;font-size:.78rem;padding:.4rem .5rem;border-radius:8px}.player-note{width:100%;margin-top:.3rem;padding:.3rem .4rem;border:1px solid var(--line);border-radius:6px;background:var(--panel-solid);font-family:IBM Plex Mono,monospace;font-size:.68rem;color:var(--ink);resize:vertical;min-height:1.8rem}.player-note:focus{border-color:var(--ring);outline:none;box-shadow:0 0 0 2px #f0bf4f33}.player-note::placeholder{color:var(--muted);opacity:.6}.create-table-form{display:grid;gap:.55rem}.create-table-form label{display:grid;gap:.25rem;font-size:.74rem;color:var(--muted)}.create-table-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.create-table-advanced{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.25rem}.create-table-success{border:1px solid rgba(14,122,93,.35);border-radius:10px;background:#0e7a5d1f;color:#2ec99a;font-size:.8rem;padding:.52rem .62rem;font-weight:600}.rebuy-row{display:flex;gap:.5rem;align-items:center;margin-top:.5rem}.rebuy-row input{width:120px}.rebuy-hint{font-size:.66rem;color:var(--muted);font-style:italic}.lobby-filters{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center;margin-bottom:.45rem}.lobby-filters input{flex:1 1 140px;min-width:120px}.lobby-filters select{border-radius:10px;border:1px solid var(--line);background:#0a0e12b3;color:var(--ink);padding:.5rem .6rem;font-size:.78rem;font-family:IBM Plex Mono,monospace;cursor:pointer}.lobby-filters select:focus{border-color:var(--ring);outline:none;box-shadow:0 0 0 3px #f0bf4f2e}.game-shell{display:flex;flex-direction:column;min-height:100vh}.game-topbar{position:sticky;top:0;z-index:100;height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;background:#0c0e12e0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.game-topbar__left{display:flex;align-items:center;gap:.75rem;min-width:0}.game-topbar__logo{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1.1rem;letter-spacing:-.02em;color:var(--ring);flex-shrink:0}.game-topbar__left .table-tabs{margin-bottom:0;padding:0}.game-topbar__center{display:flex;align-items:center;gap:.6rem;font-size:.78rem;color:var(--muted);white-space:nowrap}.game-topbar__center strong{color:var(--ink)}.game-topbar__right{display:flex;align-items:center;gap:.6rem;flex-shrink:0}.game-topbar__balance{display:flex;align-items:center;gap:.35rem;font-size:.82rem;font-weight:600;color:var(--ring);font-family:IBM Plex Mono,monospace}.game-topbar__balance .chip-icon{width:16px;height:16px;border-radius:50%;background:radial-gradient(circle,#f0bf4f,#c8962a);border:1.5px solid #a07020;flex-shrink:0}.topbar-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.28rem .6rem;border-radius:8px;font-size:.74rem;background:#ffffff0f;border:1px solid var(--line);color:var(--ink);cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.topbar-btn:hover{background:#ffffff1a;border-color:var(--accent);transform:none;box-shadow:none}.topbar-btn--accent{background:linear-gradient(135deg,#0f8d69,#0e7058);border-color:transparent;color:#f9fefc}.topbar-btn--accent:hover{background:linear-gradient(135deg,#11a07a,#0f8262);border-color:transparent}.topbar-btn--icon{padding:.28rem .4rem;font-size:1rem;line-height:1}.topbar-divider{width:1px;height:20px;background:var(--line);flex-shrink:0}.game-stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:1rem;min-height:0}.game-stage .poker-room{max-width:1100px}.game-sidebar{position:fixed;top:48px;right:0;bottom:0;width:360px;z-index:90;background:#0f1218f5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-left:1px solid var(--line);transform:translate(100%);transition:transform .25s ease;will-change:transform;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.game-sidebar--open{transform:translate(0)}.game-sidebar__section{border:1px solid var(--line);border-radius:12px;background:var(--panel-solid);padding:.75rem}.game-sidebar__section h4{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.5rem}.sidebar-backdrop{position:fixed;right:0;bottom:0;left:0;top:48px;z-index:85;background:#0006}.game-footer{border-top:1px solid var(--line);background:#0c0e12e0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);max-height:200px;padding:.5rem 1rem;flex-shrink:0}.game-footer .chat-panel{margin-top:0;border:none;background:transparent;padding:0}.game-footer .chat-messages{max-height:120px}.onboard-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#080a0ea6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50}.onboard-card{width:min(440px,90%);border:1px solid var(--line);border-radius:20px;background:#12161cf5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:2rem;display:flex;flex-direction:column;align-items:center;gap:1rem;box-shadow:0 24px 64px #00000080}.onboard-card h2{font-size:1.4rem;letter-spacing:-.02em;text-align:center}.onboard-card p{color:var(--muted);font-size:.84rem;text-align:center;line-height:1.5}.onboard-card .table-list{width:100%;max-height:200px;overflow-y:auto}.onboard-card .seat-form{width:100%}.onboard-btn{padding:.7rem 2rem;font-size:1rem;border-radius:12px;background:linear-gradient(135deg,#0f8d69,#0e7058);color:#f9fefc;border:none;cursor:pointer;font-weight:600;transition:transform .12s ease,box-shadow .12s ease}.onboard-btn:hover{transform:translateY(-1px);box-shadow:0 8px 24px #0e7a5d4d}.spectator-banner{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);z-index:55;display:flex;align-items:center;gap:.6rem;padding:.5rem 1rem;border:1px solid var(--line);border-radius:14px;background:#12161ceb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 12px 32px #0006;font-size:.82rem;color:var(--muted);max-width:calc(100% - 2rem);flex-wrap:wrap;justify-content:center}.spectator-banner span{font-weight:600;color:var(--ink)}.balance-display{display:flex;align-items:center;gap:.35rem;font-family:IBM Plex Mono,monospace;font-size:.8rem;font-weight:600;color:var(--ring)}@media (max-width: 1024px){.game-sidebar{width:min(360px,100vw)}}@media (max-width: 640px){.game-sidebar{width:100vw;right:-100vw}.game-sidebar--open{right:0}.chat-panel{max-height:100px}}@media (max-width: 768px){.game-topbar__center{display:none}.game-footer{max-height:160px}.game-stage{padding:.5rem}.onboard-card{padding:1.5rem}}@media (max-width: 640px){.game-topbar__left .table-tabs{max-width:140px}.game-topbar__logo{font-size:.9rem}.game-topbar__balance{font-size:.72rem}.topbar-btn{padding:.24rem .4rem;font-size:.68rem}}.toast-container{position:fixed;top:56px;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;max-width:360px;pointer-events:none}.toast{display:flex;align-items:center;gap:.5rem;padding:.65rem 1rem;border-radius:8px;background:var(--panel-solid);border:1px solid var(--line);color:var(--ink);font-size:.82rem;font-family:var(--font-sans);box-shadow:0 8px 24px #0000004d;pointer-events:auto;cursor:pointer;animation:toast-in .3s cubic-bezier(.16,1,.3,1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.toast--success{border-color:var(--accent)}.toast--error{border-color:var(--danger)}.toast--info{border-color:var(--ring)}.toast__icon{font-size:.9rem;flex-shrink:0}.toast--success .toast__icon{color:var(--accent)}.toast--error .toast__icon{color:var(--danger)}.toast--info .toast__icon{color:var(--ring)}.toast__msg{line-height:1.4}@keyframes toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.flex-row{display:flex;gap:.5rem;align-items:center}.flex-col{display:flex;flex-direction:column;gap:.25rem}.mt-sm{margin-top:.4rem}.mt-md{margin-top:.5rem}.abs-top{position:absolute;top:1rem}.addr-text{font-size:.76rem;word-break:break-all}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0}.flex-fill{flex:1;min-width:0}.details-summary{cursor:pointer;font-size:.76rem;color:var(--muted)}.leaderboard{display:flex;flex-direction:column;gap:.35rem}.leaderboard__empty{color:var(--muted);font-size:.78rem;text-align:center;padding:1rem}.leaderboard__row{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;border-radius:6px;background:#00000026;border-left:3px solid transparent}.leaderboard__row--top{background:#f0bf4f0a}.leaderboard__rank{font-family:var(--font-mono);font-weight:700;font-size:.82rem;width:1.5rem;text-align:center;color:var(--muted)}.leaderboard__name{flex:1;font-size:.78rem;font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard__stat{font-family:var(--font-mono);font-size:.75rem;font-weight:600;color:var(--ring)}.audio-controls{display:flex;align-items:center;gap:.5rem}.audio-controls__mute{background:none;border:1px solid var(--line);border-radius:6px;padding:.3rem .5rem;cursor:pointer;font-size:1rem;line-height:1}.audio-controls__slider{flex:1;height:4px;accent-color:var(--accent);cursor:pointer}.audio-controls__slider:disabled{opacity:.3;cursor:not-allowed}.player-stats{padding:.75rem;background:var(--panel-solid);border:1px solid var(--line);border-radius:10px}.player-stats__title{font-size:.72rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem}.player-stats__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;text-align:center}.player-stats__item{display:flex;flex-direction:column;gap:.1rem}.player-stats__value{font-family:var(--font-mono);font-size:1.1rem;font-weight:600;color:var(--ring)}.player-stats__label{font-size:.65rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
