:root{--felt:#17624a;--felt-edge:#0e4433;--rail:#4a2f1d;--ink:#f4f4f0;--ink-dim:#b9c3bd;--card-bg:#fafaf6;--card-edge:#c8c8c4;--card-red:#d3212d;--card-black:#1e1e24;--back-blue:#1c285c;--back-inner:#5a6ebe;--chip:#d8b64a;--seat-base:96px;--card-w-base:58px;--card-h-base:82px;--table-scale:1}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);overscroll-behavior:none;background:#0b0f0d;margin:0;font:14px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}#app{height:100%}@media (width<=719.98px){:root{--seat-base:68px;--card-w-base:44px;--card-h-base:62px}}@media (width<=359.98px){html,body,#app{overflow-x:hidden}.table-root .seat:not([data-hero=true]) .seat-plate{padding-inline:4px}.table-root .seat:not([data-hero=true]) .seat-name,.table-root .seat:not([data-hero=true]) .seat-stack{font-size:max(calc(10px * var(--table-scale,1)), 8px)}}.banner{top:max(10px, env(safe-area-inset-top));z-index:100;background:#0c100eeb;border-radius:999px;align-items:center;gap:10px;max-width:min(520px,100% - 24px);padding:8px 14px;font-size:12.5px;font-weight:600;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 1px #ffffff1f,0 8px 20px #00000080}.banner[data-kind=fatal]{background:#3c1414f0;box-shadow:inset 0 0 0 1px #ff8c8c47,0 8px 20px #00000080}.banner-body{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.banner-message{min-width:0}.banner-code{opacity:.75;-webkit-user-select:text;user-select:text;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10.5px;font-weight:500}.banner-code[hidden]{display:none}.banner:has(.banner-code:not([hidden])){border-radius:14px}.banner-retry{font:inherit;color:#2b1a10;background:var(--chip);cursor:pointer;border:0;border-radius:999px;flex:none;padding:5px 12px;font-weight:700}.banner-retry[hidden]{display:none}.buyin-dialog{z-index:90;background:#04060599;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.buyin-dialog[hidden]{display:none}.buyin-panel{background:linear-gradient(#17221dfa,#0a0f0dfc);border-radius:16px;flex-direction:column;gap:10px;width:min(320px,100%);padding:18px;display:flex;box-shadow:inset 0 0 0 1px #ffffff1a,0 20px 50px #0000008c}.buyin-title{margin:0;font-size:15px}.buyin-wallet,.buyin-range{color:var(--ink-dim);font-size:12px}.buyin-input{width:100%;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;background:#00000047;border:1px solid #ffffff29;border-radius:10px;padding:10px}.buyin-input:disabled{opacity:.5}.buyin-reason{color:#e2a3a3;min-height:14px;font-size:11.5px}.buyin-server-error{color:#ff8a8a;font-size:11.5px;font-weight:700}.buyin-actions{gap:10px;display:flex}.buyin-actions button{min-height:40px;font:inherit;cursor:pointer;border:0;border-radius:10px;flex:1 1 0;font-weight:700}.buyin-cancel{color:var(--ink);background:#ffffff1a}.buyin-sit{color:#241b07;background:linear-gradient(#e2c358,#a5842a)}.buyin-sit:disabled,.buyin-cancel:disabled{opacity:.4;cursor:default}.summary-panel{left:50%;bottom:max(18px, calc(env(safe-area-inset-bottom) + 12px));z-index:70;background:linear-gradient(#17221df5,#0a0f0dfa);border-radius:14px;width:min(340px,100% - 24px);padding:12px 16px;position:fixed;transform:translate(-50%);box-shadow:inset 0 0 0 1px #ffffff1a,0 12px 30px #00000080}.summary-panel[hidden]{display:none}.summary-title{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:6px;font-size:11px;font-weight:700}.summary-list{flex-direction:column;gap:4px;margin:0;padding:0;font-size:13px;font-weight:600;list-style:none;display:flex}.convert-prompt{left:50%;bottom:max(18px, calc(env(safe-area-inset-bottom) + 12px));z-index:80;background:linear-gradient(#17221dfa,#0a0f0dfc);border-radius:14px;flex-direction:column;gap:8px;width:min(340px,100% - 24px);padding:14px 16px;display:flex;position:fixed;transform:translate(-50%);box-shadow:inset 0 0 0 1px #e2c35873,0 14px 34px #0000008c}.convert-prompt[hidden]{display:none}.convert-head{align-items:baseline;gap:10px;display:flex}.convert-message{flex:auto;min-width:0;font-size:13.5px;font-weight:700}.convert-countdown{color:var(--chip);font-variant-numeric:tabular-nums;flex:none;font-size:13px;font-weight:800}.convert-input{width:100%;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;background:#00000047;border:1px solid #ffffff29;border-radius:10px;padding:8px 10px}.convert-input:disabled{opacity:.5}.convert-reason{color:#e2a3a3;font-size:11.5px}.convert-reason:empty{display:none}.convert-actions{gap:10px;display:flex}.convert-actions button{min-height:40px;font:inherit;cursor:pointer;border:0;border-radius:10px;flex:1 1 0;font-weight:700}.convert-decline{color:#f4d9d9;background:#5d2b2fb3}.convert-accept{color:#241b07;background:linear-gradient(#e2c358,#a5842a)}.convert-actions button:disabled{opacity:.4;cursor:default}.table-root{--plate-w:calc(var(--seat-size) * 1.55);--seat-size:calc(var(--seat-base) * var(--table-scale,1));--card-w:calc(var(--card-w-base) * var(--table-scale,1));--card-h:calc(var(--card-h-base) * var(--table-scale,1));--plate-pad:max(calc(11px * var(--table-scale,1)), 8px);--plate-gaps:max(calc(4px * var(--table-scale,1)), 4px);--row-avatar:max(calc(26px * var(--table-scale,1)), 18px);--avatar-gap:max(calc(2px * var(--table-scale,1)), 2px);--row-name:max(calc(15px * var(--table-scale,1)), 11px);--row-stack:max(calc(15px * var(--table-scale,1)), 11px);--row-status:max(calc(13px * var(--table-scale,1)), 10px);--avatar-block:calc(var(--row-avatar) + var(--avatar-gap));--cards-gap:max(calc(5px * var(--table-scale,1)), 4px);--dealer-label:max(calc(11px * var(--table-scale,1)), 9px);--pot-h:max(calc(32px * var(--table-scale,1)), 24px);--centre-gap:max(calc(8px * var(--table-scale,1)), 6px);--board-gap:max(calc(8px * var(--table-scale,1)), 4px);--allin-badge:8px;--wood-top:#7b5133;--wood-bottom:#2b1a10;--plate-bg:linear-gradient(180deg, #101b16f0, #060c0af5);background:radial-gradient(130% 95% at 50% 0,#16211c 0%,#0b0f0d 58%,#050807 100%);flex-direction:column;height:100%;min-height:0;display:flex;position:relative}.table-root[data-compact=true]{--avatar-block:0px}.table-stage{flex:auto;place-items:center;min-height:0;padding:clamp(10px,2vw,28px);display:grid;position:relative;overflow:hidden}.table-hud{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:8px;padding:8px clamp(10px,2vw,20px) 0;display:flex}.hud-button{font:inherit;color:var(--ink);cursor:pointer;background:#0000005c;border:0;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:700;box-shadow:inset 0 0 0 1px #ffffff24}.hud-button[hidden]{display:none}.hud-button:disabled{cursor:default;opacity:.6}.stand-button{color:#f4d9d9;background:#5d2b2f8c}.practice-banner{letter-spacing:.02em;color:#241b07;background:linear-gradient(#e2c358,#a5842a);border-radius:999px;margin-right:auto;padding:5px 12px;font-size:12px;font-weight:800;box-shadow:0 2px 8px #00000059}.practice-banner[hidden]{display:none}.bot-notice{color:var(--ink-dim);white-space:nowrap;text-overflow:ellipsis;background:#0000004d;border-radius:999px;flex:1 1 0;min-width:0;max-width:max-content;padding:5px 10px;font-size:11.5px;font-weight:600;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff14}.bot-notice[hidden]{display:none}@media (hover:hover){.hud-button:not(:disabled):hover{filter:brightness(1.15)}}.rail{width:var(--table-w,100%);height:var(--table-h,100%);background:linear-gradient(180deg, var(--wood-top) 0%, #55341f 26%, var(--rail) 58%, var(--wood-bottom) 100%);border-radius:50%;padding:clamp(12px,2.1vw,26px);position:relative;box-shadow:inset 0 2px 1px #ffffff38,inset 0 -9px 20px #0000008c,0 26px 60px #0000008c}.rail:before{content:"";pointer-events:none;border-radius:50%;position:absolute;inset:calc(clamp(12px,2.1vw,26px) - 4px);box-shadow:inset 0 0 0 1px #ffffff24}.felt{background:radial-gradient(70% 72% at 50% 34%, #1e7f5d 0%, var(--felt) 48%, var(--felt-edge) 100%);border-radius:50%;height:100%;position:relative;box-shadow:inset 0 0 0 3px #00000052,inset 0 16px 36px #00000057}.felt:before{content:"";border-radius:inherit;opacity:.6;pointer-events:none;background:repeating-linear-gradient(45deg,#ffffff0d 0 1px,#0000 1px 4px),repeating-linear-gradient(-45deg,#0000000f 0 1px,#0000 1px 4px);position:absolute;inset:0}.felt:after{content:"";pointer-events:none;border:1px solid #ffffff17;border-radius:50%;position:absolute;inset:11% 7%}.table-centre{align-items:center;gap:var(--centre-gap);pointer-events:none;flex-direction:column;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dealer{flex-direction:column;align-items:center;gap:5px;display:flex}.table-root[data-compact=true] .dealer{display:none}.deck{width:calc(var(--card-w) * .62);height:calc(var(--card-h) * .62);position:relative}.deck .card{width:100%;height:100%;position:absolute;inset:0}.deck .card:first-child{transform:translate(-3px,-2px)rotate(-7deg)}.deck .card:last-child{transform:translate(2px,1px)rotate(4deg)}.dealer-label{height:var(--dealer-label);line-height:var(--dealer-label);font-size:max(calc(9px * var(--table-scale,1)), 7px);letter-spacing:.18em;text-transform:uppercase;color:#ffffff61;font-weight:600;overflow:hidden}.pot-readout{height:var(--pot-h);background:#00000057;border-radius:999px;align-items:center;gap:8px;padding:0 14px 0 5px;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff1a}.pot-label{font-size:max(calc(10px * var(--table-scale,1)), 8px);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);font-weight:600}.pot{font-size:max(calc(17px * var(--table-scale,1)), 13px);color:var(--chip);font-variant-numeric:tabular-nums;font-weight:700}.empty-state{left:50%;bottom:calc(var(--card-h) / 2);text-align:center;width:max-content;max-width:220px;color:var(--ink-dim);pointer-events:none;padding:6px 4px;font-size:12px;font-weight:600;position:absolute;transform:translate(-50%,50%)}.empty-state[hidden]{display:none}.empty-state-hint{color:var(--chip);margin-top:2px}.empty-state-hint[hidden]{display:none}.board{gap:var(--board-gap);display:flex}.board-slot{width:var(--card-w);height:var(--card-h);background:#00000024;border-radius:7px;position:relative;box-shadow:inset 0 0 0 1px #ffffff12}.board-slot>.card{width:100%;height:100%;position:absolute;inset:0}.card{width:var(--card-w);height:var(--card-h);filter:drop-shadow(0 2px 3px #00000073);border-radius:7px;position:relative}.card .card-front,.card .card-back{position:absolute;inset:0}.card[data-facedown=true] .card-front,.card[data-facedown=false] .card-back{visibility:hidden}.card svg{width:100%;height:100%;display:block}.chip{background:radial-gradient(circle at 50% 50%, var(--chip) 0 40%, transparent 40%), conic-gradient(var(--chip) 0 12%, #8c1f26 12% 25%, var(--chip) 25% 37%, #8c1f26 37% 50%, var(--chip) 50% 62%, #8c1f26 62% 75%, var(--chip) 75% 87%, #8c1f26 87% 100%);border-radius:50%;flex:none;width:16px;height:16px;box-shadow:0 1px 2px #00000080,inset 0 0 0 1px #00000059}.seat{width:var(--plate-w);padding-bottom:var(--allin-badge);align-items:center;gap:var(--cards-gap);flex-direction:column;display:flex;position:absolute;transform:translate(-50%,-50%)}.seat-cards{height:calc(var(--card-h) * .78);justify-content:center;display:flex}.seat[data-hero=true] .seat-cards{height:var(--card-h)}.seat-cards .card{width:calc(var(--card-w) * .78);height:calc(var(--card-h) * .78)}.seat-cards .card+.card{margin-left:calc(var(--card-w) * -.34)}.seat[data-hero=true] .seat-cards .card{width:var(--card-w);height:var(--card-h)}.seat[data-hero=true] .seat-cards .card+.card{margin-left:4px}.seat-plate{appearance:none;font:inherit;color:inherit;text-align:center;cursor:default;width:100%;height:calc(var(--plate-pad) + var(--plate-gaps) + var(--avatar-block) + var(--row-name) + var(--row-stack) + var(--row-status));justify-content:center;align-items:center;gap:calc(var(--plate-gaps) / 3);padding:calc(var(--plate-pad) / 2) 9px;background:var(--plate-bg);border:0;border-radius:10px;flex-direction:column;margin:0;display:flex;position:relative;box-shadow:inset 0 0 0 1px #ffffff1a,0 6px 14px #00000073}.seat[data-clickable=true] .seat-plate{cursor:pointer;box-shadow:inset 0 0 0 1.5px #d8b64a8c,0 6px 14px #00000073}@media (hover:hover){.seat[data-clickable=true] .seat-plate:hover{filter:brightness(1.18)}}.seat-avatar{width:var(--row-avatar);height:var(--row-avatar);margin-bottom:var(--avatar-gap);font-size:max(calc(10px * var(--table-scale,1)), 8px);letter-spacing:.02em;color:var(--ink-dim);background:#ffffff1f;border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid;overflow:hidden}.table-root[data-compact=true] .seat-avatar{display:none}.seat-avatar img{object-fit:cover;width:100%;height:100%}.seat[data-empty=true] .seat-avatar{visibility:hidden}.seat-name{height:var(--row-name);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:max(calc(12px * var(--table-scale,1)), 9px);line-height:var(--row-name);flex:none;font-weight:600;overflow:hidden}.seat-stack{height:var(--row-stack);font-size:max(calc(12px * var(--table-scale,1)), 9px);line-height:var(--row-stack);color:var(--chip);font-variant-numeric:tabular-nums;flex:none;font-weight:700;overflow:hidden}.seat-status{height:var(--row-status);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:max(calc(10px * var(--table-scale,1)), 8px);line-height:var(--row-status);color:var(--ink-dim);flex:none;font-weight:600;overflow:hidden}.seat-status:empty{visibility:hidden}.seat[data-joining=true] .seat-status,.seat[data-offer=true] .seat-status[data-says=deciding]{color:var(--chip)}.seat[data-hero=true][data-offer=true] .seat-status[data-says=deciding]{visibility:hidden}.seat-bot-tag{letter-spacing:.12em;color:#0f1a15;background:var(--ink-dim);border-radius:4px;padding:0 5px;font-size:9px;font-weight:800;position:absolute;top:-6px;right:-4px}.seat-bot-tag[hidden]{display:none}.seat[data-empty=true] .seat-plate{background:#00000042;box-shadow:inset 0 0 0 1px #ffffff1f}.seat[data-empty=true] .seat-name{color:var(--ink-dim);font-weight:500}.seat[data-empty=true] .seat-stack{font-size:max(calc(10px * var(--table-scale,1)), 8px);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);font-weight:600}.seat[data-empty=true] .seat-cards,.seat[data-empty=true] .seat-bet,.seat[data-empty=true] .seat-button{visibility:hidden}.seat[data-active=true] .seat-plate{box-shadow:inset 0 0 0 1.5px var(--chip), 0 0 0 3px #d8b64a33, 0 8px 18px #00000080}.seat[data-folded=true]{opacity:.45;filter:grayscale(.6)}.seat[data-allin=true] .seat-plate:after{content:"ALL IN";letter-spacing:.1em;color:#2b1a10;background:var(--chip);border-radius:999px;padding:1px 6px;font-size:9px;font-weight:800;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)}.seat-bet{left:calc(50% + var(--to-centre-x,0) * var(--seat-size));top:calc(50% + var(--to-centre-y,-.72) * var(--seat-size));white-space:nowrap;background:#0000006b;border-radius:999px;align-items:center;gap:5px;padding:2px 8px 2px 3px;display:inline-flex;position:absolute;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 1px #ffffff1a}.seat-bet .chip{width:13px;height:13px}.seat-bet-amount{color:var(--chip);font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.seat-bet:has(.seat-bet-amount:empty){visibility:hidden}.seat-button{left:calc(50% + var(--button-x,.78) * var(--seat-size));top:calc(50% + var(--button-y,0) * var(--seat-size));color:#2b1a10;visibility:hidden;background:radial-gradient(circle at 35% 28%,#fff 0 18%,#f1ebd8 46%,#cdc3a7 100%);border-radius:50%;place-items:center;width:21px;height:21px;font-size:10px;font-weight:800;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 4px #00000080,inset 0 0 0 1px #00000040}.seat[data-button=true] .seat-button{visibility:visible}.action-bar{background:linear-gradient(#15201bf5,#090e0cfa);border-radius:16px;flex:none;align-items:center;gap:12px;width:min(640px,100% - 32px);margin:0 auto clamp(10px,2vh,22px);padding:10px 14px;display:flex;box-shadow:inset 0 0 0 1px #ffffff1a,0 -6px 30px #00000080}.action-bar[hidden]{display:none}.action-info{flex-direction:column;gap:2px;min-width:90px;display:flex}.action-prompt{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);font-size:10px;font-weight:600}.action-call{font-variant-numeric:tabular-nums;min-height:17px;font-size:14px;font-weight:700}.action-raise{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.raise-amount{min-height:15px;color:var(--chip);font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.raise-slider{width:100%;height:28px;accent-color:var(--chip);touch-action:manipulation;margin:0}.action-buttons{flex:none;gap:8px;display:flex}.act{min-width:86px;min-height:44px;font:inherit;color:var(--ink);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:linear-gradient(#33423a,#1d2a24);border:0;border-radius:12px;padding:0 16px;font-weight:700;box-shadow:inset 0 1px #ffffff24,0 3px #00000073}.act-fold{background:linear-gradient(#5d2b2f,#3a191c)}.act-check,.act-call{background:linear-gradient(#1f6b4f,#124732)}.act-raise{color:#241b07;background:linear-gradient(#e2c358,#a5842a)}.act:active{transform:translateY(2px);box-shadow:inset 0 1px #ffffff1a,0 1px #00000073}.act:focus-visible{outline:2px solid var(--chip);outline-offset:2px}.act[disabled]{opacity:.35;cursor:default}@media (hover:hover){.act:not([disabled]):hover{filter:brightness(1.14)}}@media (width<=719.98px){.table-stage{padding:8px 6px 0}.rail{border-radius:26px;padding:9px}.rail:before{border-radius:22px;inset:5px}.felt{border-radius:19px}.felt:after{border-radius:14px;inset:9% 5%}.seat-plate{padding-inline:6px}.seat-avatar{font-size:max(calc(9px * var(--table-scale,1)), 7px)}.table-hud{padding-top:6px}.hud-button{min-height:44px;padding:5px 11px;font-size:11px}.practice-banner{padding:4px 10px;font-size:11px}.bot-notice{text-align:right;flex:0 0 100%;order:1;max-width:none;height:23px;padding:4px 8px;font-size:10.5px;line-height:15px}.bot-notice[hidden]{visibility:hidden;display:block}.table-hud{gap:6px}.seat-name,.seat-stack{font-size:max(calc(11px * var(--table-scale,1)), 9px)}.seat[data-hero=true] .seat-plate{padding-inline:10px}.seat[data-hero=true] .seat-name,.seat[data-hero=true] .seat-stack{font-size:max(calc(14px * var(--table-scale,1)), 9px)}.seat-button{width:18px;height:18px;font-size:9px}.action-bar{width:100%;padding:12px 14px calc(12px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;flex-wrap:wrap;gap:8px;margin:0}.action-info{flex-direction:row;flex:100%;align-items:baseline;gap:8px}.action-raise{flex:100%}.raise-slider{height:36px}.action-buttons{flex:100%}.act{flex:1 1 0;min-width:0;min-height:56px;padding:0 8px;font-size:15px}}
