.controls{position:relative;z-index:30;flex:none;margin:0 16px 12px;min-height:var(--controls-h);padding:10px 16px;display:grid;grid-template-columns:minmax(230px,1fr) auto minmax(300px,1.25fr);align-items:center;gap:16px;border-radius:var(--radius-lg);transition:border-color .3s ease,box-shadow .3s ease,background .3s ease}.controls.is-active{background:#ffffff16;border-color:#f5c4518c;box-shadow:0 0 0 1px #f5c45133,0 0 34px #f5c4512e,var(--glass-shadow)}.controls.is-idle .controls-actions,.controls.is-idle .raise-panel{opacity:.45;pointer-events:none}.controls-status{display:flex;flex-direction:column;gap:4px;min-width:0}.controls-status .status-title{font-size:15px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:8px}.controls.is-active .status-title{color:var(--amber)}.controls-status .status-dot{width:8px;height:8px;border-radius:50%;background:var(--slate);flex:none}.controls.is-active .status-dot{background:var(--amber);box-shadow:0 0 10px var(--amber-glow);animation:dot-pulse 1.2s ease-in-out infinite}.controls-status .status-sub{display:flex;flex-wrap:wrap;align-items:baseline;gap:1px 8px;font-size:12px;color:var(--text-dim);white-space:nowrap}.controls-status .status-part:not(:last-child):after{content:"·";margin-left:8px;color:var(--text-faint)}.controls-status .status-hint{font-size:11px;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.controls-status kbd{display:inline-block;min-width:16px;padding:0 4px;border-radius:4px;border:1px solid rgba(255,255,255,.2);background:#ffffff14;font-family:var(--font-mono);font-size:10px;text-align:center;color:var(--text-dim);margin-right:2px}.controls-actions{display:flex;align-items:center;gap:10px;transition:opacity .25s ease}.action-btn{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:96px;height:54px;padding:0 16px;border-radius:14px;border:1px solid rgba(255,255,255,.16);background:#ffffff14;color:#fff;font-weight:700;font-size:15px;letter-spacing:.04em;white-space:nowrap;box-shadow:0 6px 16px #0000004d,inset 0 1px #ffffff1a;transition:transform .12s ease,filter .18s ease,box-shadow .18s ease,opacity .18s ease}.action-btn .action-sub{font-size:11px;font-weight:600;opacity:.85;letter-spacing:.02em}.action-btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.action-btn:active:not(:disabled){transform:translateY(1px) scale(.99)}.action-btn:disabled{opacity:.5}.action-btn.act-fold{background:linear-gradient(180deg,#ff6b8a47,#d9415f52);border-color:#ff6b8a80;color:#ffd3dc}.action-btn.act-check{background:linear-gradient(180deg,#94a3b847,#64748b52);border-color:#94a3b880}.action-btn.act-call{background:linear-gradient(180deg,#60a5fa52,#2f6fd66b);border-color:#60a5fa99}.action-btn.act-raise{background:linear-gradient(180deg,#ffd978,var(--amber-deep));border-color:#ffffff4d;color:#2a1d05;box-shadow:0 6px 20px #f5c45159,inset 0 1px #ffffff59}.action-btn.act-allin{background:linear-gradient(180deg,#ff5d5d,#b91c1c);border-color:#ffffff40;color:#fff;box-shadow:0 6px 20px #ef444459,inset 0 1px #fff3}.raise-panel{display:flex;flex-direction:column;gap:8px;min-width:0;transition:opacity .25s ease}.raise-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;min-width:0}.raise-label{font-size:12px;color:var(--text-dim);white-space:nowrap;flex:none}.raise-slider{flex:1 1 auto;min-width:80px;height:22px;-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer}.raise-slider::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:linear-gradient(90deg,var(--amber) 0%,var(--amber) var(--fill, 0%),rgba(255,255,255,.14) var(--fill, 0%),rgba(255,255,255,.14) 100%);border:1px solid rgba(255,255,255,.1)}.raise-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;margin-top:-7px;border-radius:50%;background:linear-gradient(180deg,#fff,#e6e8ef);border:2px solid var(--amber);box-shadow:0 2px 8px #00000073,0 0 12px #f5c45159}.raise-slider::-moz-range-track{height:6px;border-radius:999px;background:#ffffff24}.raise-slider::-moz-range-progress{height:6px;border-radius:999px;background:var(--amber)}.raise-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid var(--amber)}.raise-slider:disabled{cursor:not-allowed}.raise-input-wrap{display:inline-flex;align-items:center;gap:6px;flex:none;height:32px;padding:0 10px;border-radius:10px;background:#00000052;border:1px solid rgba(255,255,255,.14)}.raise-input-wrap:focus-within{border-color:#f5c451b3;box-shadow:0 0 0 2px #f5c45133}.raise-input{width:86px;border:0;background:transparent;color:var(--amber);font-weight:700;font-size:15px;text-align:right;outline:none;-moz-appearance:textfield;appearance:textfield}.raise-input::-webkit-outer-spin-button,.raise-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.raise-input-wrap .raise-unit{font-size:11px;color:var(--text-faint);white-space:nowrap}.raise-quick{display:flex;flex:1 1 auto;gap:6px;flex-wrap:nowrap;min-width:0}.quick-btn{flex:1 1 0;height:28px;padding:0 6px;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:#ffffff12;color:var(--text);font-size:12px;font-weight:600;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease}.quick-btn:hover:not(:disabled){background:#f5c45129;border-color:#f5c45180;color:var(--amber)}.quick-btn.is-on{background:#f5c45133;border-color:#f5c45199;color:var(--amber)}.quick-btn:disabled{opacity:.5}.raise-range-hint{margin-left:auto;font-size:11px;color:var(--text-faint);white-space:nowrap}.raise-placeholder{font-size:12px;color:var(--text-faint);text-align:center;padding:8px;border:1px dashed rgba(255,255,255,.12);border-radius:12px}@media(max-width:1300px){.controls{grid-template-columns:minmax(210px,.9fr) auto minmax(280px,1.15fr);gap:12px;padding:10px 12px}.action-btn{min-width:84px;height:50px;padding:0 12px;font-size:14px}.controls-status .status-hint{display:none}}@media(max-width:1120px){.controls{grid-template-columns:minmax(190px,.85fr) auto minmax(260px,1.1fr);gap:10px}.action-btn{min-width:76px;padding:0 10px;font-size:13.5px}.raise-quick{gap:4px}.quick-btn{padding:0 4px;font-size:11.5px}}.topbar{position:relative;z-index:40;flex:none;margin:12px 16px 0;height:var(--topbar-h);padding:0 16px 0 18px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;border-radius:var(--radius-lg)}.topbar-brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:18px;background:linear-gradient(160deg,#ffd978,#d9a43a);color:#2a1d05;box-shadow:0 4px 14px #f5c45159,inset 0 1px #ffffff80;flex:none}.brand-text{display:flex;flex-direction:column;line-height:1.15;min-width:0}.brand-title{font-size:16px;font-weight:800;letter-spacing:.02em;color:#fff;white-space:nowrap}.brand-sub{font-size:11px;color:var(--text-dim);letter-spacing:.14em;white-space:nowrap}.topbar-centre{display:inline-flex;align-items:center;gap:10px;padding:6px 16px;border-radius:999px;background:#00000047;border:1px solid rgba(255,255,255,.1);font-size:13px;color:var(--text);white-space:nowrap}.topbar-centre .sep{color:var(--text-faint)}.topbar-centre .street-chip{padding:1px 8px;border-radius:999px;background:#f5c45124;color:var(--amber);font-size:11px;font-weight:600;letter-spacing:.06em}.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.topbar-actions .btn{height:32px;padding:0 12px}.topbar-actions .btn .ico{font-size:13px;opacity:.85}@media(max-width:1300px){.topbar{margin:10px 12px 0;padding:0 12px 0 14px}.brand-sub{display:none}.topbar-actions .btn{padding:0 10px;font-size:12px}}:root{--log-w: min(360px, 40vw)}.log-panel{position:fixed;top:calc(var(--topbar-h) + 20px);right:16px;bottom:calc(var(--controls-h) + 22px);width:var(--log-w);z-index:60;display:flex;flex-direction:column;background:#0e1326d1;border-radius:var(--radius-lg);overflow:hidden}.log-header{flex:none;display:flex;align-items:center;justify-content:space-between;padding:12px 12px 12px 16px;border-bottom:1px solid var(--glass-border)}.log-header h2{margin:0;font-size:15px;font-weight:700;letter-spacing:.04em}.log-header .log-count{margin-left:8px;font-size:11px;color:var(--text-faint);font-weight:500}.log-close{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:var(--text-dim);font-size:16px;border:1px solid transparent;transition:background .15s ease,color .15s ease}.log-close:hover{background:#ffffff1a;color:#fff}.log-list{flex:1 1 auto;min-height:0;padding:8px 12px 14px;display:flex;flex-direction:column;gap:2px}.log-empty{padding:24px 8px;text-align:center;color:var(--text-faint);font-size:12px}.log-sep{display:flex;align-items:center;gap:10px;margin:10px 0 6px;font-size:11px;font-weight:700;color:var(--amber);letter-spacing:.12em;white-space:nowrap}.log-sep:before,.log-sep:after{content:"";flex:1 1 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(245,196,81,.35),transparent)}.log-entry{display:grid;grid-template-columns:10px 1fr;align-items:start;gap:8px;padding:4px 6px;border-radius:8px;font-size:12.5px;line-height:1.45;color:var(--text)}.log-entry:hover{background:#ffffff0d}.log-entry .log-dot{width:7px;height:7px;margin-top:5px;border-radius:50%;background:var(--slate)}.log-entry .log-street{margin-right:6px;font-size:10px;color:var(--text-faint);letter-spacing:.06em}.log-entry.kind-hand .log-dot{background:var(--amber);box-shadow:0 0 8px var(--amber-glow)}.log-entry.kind-blind .log-dot{background:#6b7a94}.log-entry.kind-deal .log-dot{background:var(--blue)}.log-entry.kind-action .log-dot{background:#cbd5e1}.log-entry.kind-street .log-dot{background:var(--violet)}.log-entry.kind-showdown .log-dot{background:#f472b6}.log-entry.kind-win .log-dot{background:var(--mint);box-shadow:0 0 8px var(--mint-glow)}.log-entry.kind-win{color:var(--mint);font-weight:600}.log-entry.kind-system .log-dot{background:var(--rose)}.log-entry.kind-system{color:var(--text-dim);font-style:italic}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#0407109e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{width:min(420px,calc(100vw - 48px));padding:22px 22px 18px;background:#12182ee6;border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:12px}.modal h3{margin:0;font-size:18px;font-weight:800;letter-spacing:.02em}.modal p{margin:0;font-size:13.5px;line-height:1.6;color:var(--text-dim)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.modal-actions .btn{height:38px;padding:0 18px;font-size:14px}.modal p.modal-note{font-size:12px;color:var(--text-faint)}.modal.is-danger h3{color:var(--rose)}.modal-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:22px;background:#ffffff14;border:1px solid var(--glass-border)}.debug-readout{position:fixed;left:14px;bottom:140px;z-index:50;max-width:280px;padding:8px 10px;border-radius:10px;background:#0000008c;border:1px solid rgba(255,255,255,.12);font-family:var(--font-mono);font-size:10.5px;line-height:1.5;color:var(--text-dim);pointer-events:none;white-space:pre-wrap}:root{--card-w: 64px}.card{position:relative;width:var(--card-w);height:calc(var(--card-w) * 1.4);perspective:600px;flex:none;user-select:none}.card-inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.4,.2,.2,1);border-radius:calc(var(--card-w) * .09)}.card.face-down .card-inner{transform:rotateY(180deg)}.card-face{position:absolute;inset:0;border-radius:calc(var(--card-w) * .09);-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;box-shadow:0 2px 4px #00000059,0 6px 16px #00000059}.card-front{background:linear-gradient(160deg,#fff,#f3f4f8 70%,#e6e8ef);color:#151a2a;border:1px solid rgba(0,0,0,.12)}.card-front.is-red{color:#d1243b}.card-corner{position:absolute;left:calc(var(--card-w) * .08);top:calc(var(--card-w) * .06);display:flex;flex-direction:column;align-items:center;line-height:.95}.card-corner.is-bottom{left:auto;top:auto;right:calc(var(--card-w) * .08);bottom:calc(var(--card-w) * .06);transform:rotate(180deg)}.card-corner .rank{font-size:calc(var(--card-w) * .3);font-weight:800;letter-spacing:-.04em;font-family:var(--font)}.card-corner .suit{font-size:calc(var(--card-w) * .24);margin-top:calc(var(--card-w) * -.01)}.card-pip{position:absolute;right:calc(var(--card-w) * .1);bottom:calc(var(--card-w) * .12);font-size:calc(var(--card-w) * .56);line-height:1;opacity:.92}.card-pip.is-centre{inset:52% auto auto 50%;transform:translate(-50%,-50%)}.card-front:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.5) 0%,transparent 40%);pointer-events:none}.card-back{transform:rotateY(180deg);background:linear-gradient(160deg,#1f2a5c,#141c44 60%,#0f1536);border:1px solid rgba(255,255,255,.18);padding:calc(var(--card-w) * .08)}.card-back-pattern{width:100%;height:100%;border-radius:calc(var(--card-w) * .05);border:1px solid rgba(255,255,255,.25);background-color:#1b2660;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.1) 0 2px,transparent 2px 9px),repeating-linear-gradient(-45deg,rgba(255,255,255,.1) 0 2px,transparent 2px 9px),radial-gradient(circle at 50% 50%,rgba(245,196,81,.35) 0,rgba(245,196,81,.35) 12%,transparent 13%);box-shadow:inset 0 0 18px #00000073;position:relative}.card-back-pattern:after{content:"♠";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:calc(var(--card-w) * .34);color:#ffffff8c;text-shadow:0 1px 2px rgba(0,0,0,.6)}.card.is-dim{filter:grayscale(.7) brightness(.75)}.card.is-highlight .card-front{box-shadow:0 0 0 2px #5ee6a8e6,0 0 18px #5ee6a88c,0 6px 16px #00000059}.seat{--card-w: clamp(34px, 4.3cqw, 76px);position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;z-index:8;width:clamp(150px,15.4cqw,250px);transition:opacity .3s ease,filter .3s ease}.seat.is-human{--card-w: clamp(56px, 7cqw, 120px);width:clamp(170px,20cqw,330px);z-index:9}.seat-cards{position:relative;display:flex;justify-content:center;margin-bottom:calc(var(--card-w) * -.22);z-index:2;min-height:calc(var(--card-w) * 1.4)}.seat.is-human .seat-cards{margin-bottom:calc(var(--card-w) * -.08)}.seat-cards .card:nth-child(1){transform-origin:70% 100%;rotate:-6deg;margin-right:calc(var(--card-w) * -.18);z-index:1}.seat-cards .card:nth-child(2){transform-origin:30% 100%;rotate:6deg;z-index:2}.seat.is-human .seat-cards .card:nth-child(1){rotate:-5deg;margin-right:calc(var(--card-w) * -.12)}.seat.is-human .seat-cards .card:nth-child(2){rotate:5deg}.seat-box{position:relative;width:100%;display:flex;align-items:center;gap:.7cqw;padding:.55cqw .8cqw .55cqw .55cqw;border-radius:clamp(12px,1.4cqw,20px);background:#0c1224bd;border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow),var(--glass-highlight);transition:box-shadow .35s ease,border-color .35s ease,background .35s ease;z-index:3}.seat.is-human .seat-box{background:#0c1224cc;padding:.6cqw 1cqw .6cqw .6cqw}.seat-avatar{flex:none;width:clamp(26px,3.2cqw,54px);height:clamp(26px,3.2cqw,54px);border-radius:50%;display:grid;place-items:center;font-size:clamp(15px,1.8cqw,30px);line-height:1;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.22),transparent 55%),linear-gradient(180deg,#2b3658,#171f3a);border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 -3px 8px #0006,0 2px 6px #00000059}.seat.is-human .seat-avatar{width:clamp(36px,4cqw,66px);height:clamp(36px,4cqw,66px);font-size:clamp(18px,2.2cqw,36px)}.seat-meta{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.15cqw}.seat-name{font-size:clamp(10px,1.08cqw,15px);font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:0;line-height:1.25}.seat.is-human .seat-name{font-size:clamp(12px,1.3cqw,18px)}.seat-stack{display:inline-flex;align-items:center;gap:.35cqw;font-size:clamp(11px,1.15cqw,16px);font-weight:700;color:var(--amber);white-space:nowrap}.seat.is-human .seat-stack{font-size:clamp(13px,1.45cqw,20px)}.seat-stack .chip-glyph{display:inline-block;width:.9em;height:.9em;border-radius:50%;border:2px dashed rgba(255,255,255,.8);background:#c99a2e;box-shadow:inset 0 0 0 1.5px #0000004d;flex:none}.seat-stack.is-allin{color:var(--red);letter-spacing:.08em}.seat-badge{position:absolute;right:-.4cqw;top:calc(var(--card-w) * 1.4 - var(--card-w) * .22 - .9cqw);transform:translateY(-50%);padding:.18cqw .75cqw;border-radius:999px;font-size:clamp(9px,1cqw,13px);font-weight:700;letter-spacing:.08em;color:#fff;background:#475569;border:1px solid rgba(255,255,255,.22);box-shadow:0 3px 10px #0006;white-space:nowrap;z-index:6;animation:badge-pop .25s ease-out both}.seat.is-human .seat-badge{right:.3cqw;top:calc(var(--card-w) * 1.4 - var(--card-w) * .08 - .9cqw)}.seat-badge.tone-fold{background:linear-gradient(180deg,#ff7d99,#d9415f)}.seat-badge.tone-check{background:linear-gradient(180deg,#7a8aa4,#4b5a74)}.seat-badge.tone-call{background:linear-gradient(180deg,#5ea5ff,#2f6fd6)}.seat-badge.tone-bet{background:linear-gradient(180deg,#ffd06a,#d9a43a);color:#2a1d05}.seat-badge.tone-allin{background:linear-gradient(180deg,#ff5d5d,#c02020)}.seat-badge.tone-winner{background:linear-gradient(180deg,#7df0bb,#2fbf82);color:#04261a}.seat-badge.tone-blind{background:linear-gradient(180deg,#5c6a85,#3a4660)}.seat-badge.tone-out{background:#0000008c;color:var(--text-dim)}.seat-toprow{position:absolute;left:50%;bottom:calc(100% + .2cqw);transform:translate(-50%);display:inline-flex;align-items:center;gap:.6cqw;white-space:nowrap;z-index:8;pointer-events:none}.seat.is-top-seat .seat-toprow{bottom:auto;top:calc(100% + .3cqw)}.seat-handrank{padding:.15cqw .7cqw;border-radius:999px;background:#0000009e;border:1px solid rgba(255,255,255,.16);color:#fff;font-size:clamp(9px,1cqw,13px);font-weight:600;white-space:nowrap;animation:badge-pop-plain .3s ease-out both}.seat.is-winner .seat-handrank{color:#04261a;background:linear-gradient(180deg,#8ff5c6,#3ccf8e);border-color:#fff6}.seat-thinking{position:absolute;left:50%;top:100%;transform:translate(-50%,.35cqw);display:inline-flex;align-items:center;gap:.4cqw;padding:.25cqw .8cqw;border-radius:999px;background:#0000008c;border:1px solid rgba(255,255,255,.14);color:#fffc;font-size:clamp(9px,.95cqw,12px);white-space:nowrap;z-index:7}.seat-thinking .dots{display:inline-flex;gap:.25cqw}.seat-thinking .dots i{width:.45cqw;height:.45cqw;min-width:4px;min-height:4px;border-radius:50%;background:var(--amber);animation:dot-bounce 1.1s ease-in-out infinite}.seat-thinking .dots i:nth-child(2){animation-delay:.15s}.seat-thinking .dots i:nth-child(3){animation-delay:.3s}.seat.is-active .seat-box{border-color:#f5c451d9;box-shadow:0 0 0 2px #f5c45159,0 0 26px 4px var(--amber-glow),var(--glass-shadow);animation:active-pulse 1.6s ease-in-out infinite}.seat.is-winner .seat-box{border-color:#5ee6a8d9;box-shadow:0 0 0 2px #5ee6a859,0 0 28px 6px var(--mint-glow),var(--glass-shadow)}.seat.is-folded .seat-box,.seat.is-folded .seat-avatar{opacity:.62}.seat.is-folded .seat-cards{opacity:.55;filter:grayscale(.8) brightness(.8)}.seat.is-out{opacity:.5;filter:saturate(.4)}.seat.is-eliminated{opacity:.78;filter:none}.seat.is-eliminated .seat-box{background:#080b16d1;border-color:#ffffff14;border-style:dashed;box-shadow:none;filter:grayscale(1) brightness(.78)}.seat.is-eliminated .seat-avatar{opacity:.5}.seat.is-eliminated .seat-name{color:var(--text-dim);text-decoration:line-through;text-decoration-thickness:1px}.seat.is-eliminated .seat-stack{color:var(--text-faint);font-weight:600;letter-spacing:.14em}.seat-badge.tone-eliminated{background:linear-gradient(180deg,#3a1420,#210c13);border-color:#ff6b8a66;color:#ffc2cf;letter-spacing:.16em}.seat-win-label{color:var(--mint);font-weight:800;font-size:clamp(14px,1.8cqw,28px);line-height:1.1;text-shadow:0 0 16px rgba(94,230,168,.6),0 2px 4px rgba(0,0,0,.6);white-space:nowrap;animation:float-up 2.4s ease-out both}.seat-empty-cards{height:calc(var(--card-w) * 1.4)}.table-area{position:relative;z-index:1;flex:1 1 0;min-height:0;min-width:0;container-type:size;display:flex;align-items:center;justify-content:center;padding:14px 24px 12px;transition:padding-right .22s ease}@media(min-width:900px){.app-shell[data-log-open=true] .table-area{padding-right:calc(var(--log-w) + 56px)}}.table-stage{--stage-ratio: 1.85;position:relative;width:min(100cqw,calc(100cqh * var(--stage-ratio)));aspect-ratio:var(--stage-ratio);max-width:100%;max-height:100%;container-type:inline-size}@supports not (width: 1cqw){.table-stage{width:min(96vw,160vmin)}}.table-rail{position:absolute;inset:12% 10%;border-radius:50%;background:radial-gradient(ellipse at 50% 0%,rgba(255,255,255,.14),transparent 45%),linear-gradient(180deg,var(--rail-1) 0%,var(--rail-2) 55%,var(--rail-3) 100%);box-shadow:0 30px 60px #0000008c,0 8px 20px #0006,inset 0 2px 2px #ffffff1f,inset 0 -4px 10px #00000080}.table-rail:before{content:"";position:absolute;inset:0;border-radius:inherit;background:repeating-linear-gradient(115deg,#ffffff05 0 2px,#00000006 2px 4px);opacity:.7;pointer-events:none}.table-felt{position:absolute;inset:2.6cqw;border-radius:50%;background:radial-gradient(ellipse at 50% 42%,var(--felt-1) 0%,#165a3a 45%,var(--felt-2) 78%,var(--felt-edge) 100%);box-shadow:inset 0 0 0 2px #f5c4512e,inset 0 0 0 6px #0000002e,inset 0 18px 50px #00000073,inset 0 -10px 30px #00000059;overflow:hidden}.table-felt:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.045) .6px,transparent .7px),radial-gradient(rgba(0,0,0,.06) .6px,transparent .7px);background-size:3px 3px,5px 5px;background-position:0 0,1px 2px;opacity:.8;pointer-events:none}.table-felt:after{content:"";position:absolute;inset:12%;border-radius:50%;border:1px solid rgba(255,255,255,.07);pointer-events:none}.stage-abs{position:absolute;transform:translate(-50%,-50%)}.community{--card-w: clamp(44px, 5.4cqw, 96px);position:absolute;left:50%;top:41.5%;transform:translate(-50%,-50%);display:flex;gap:.8cqw;z-index:3}.community .card-slot{width:var(--card-w);height:calc(var(--card-w) * 1.4);border-radius:calc(var(--card-w) * .09);border:1.5px dashed rgba(255,255,255,.16);background:#0000001f;box-shadow:inset 0 0 14px #0003}.pot-display{position:absolute;left:50%;top:57%;display:flex;flex-direction:column;align-items:center;gap:.45cqw;z-index:3;pointer-events:none}.pot-main{display:inline-flex;align-items:baseline;gap:.6cqw;padding:.45cqw 1.4cqw;border-radius:999px;background:#00000057;border:1px solid rgba(245,196,81,.35);box-shadow:0 6px 18px #00000059,0 0 24px #f5c4511f;white-space:nowrap}.pot-main .pot-label{font-size:clamp(10px,1.05cqw,14px);color:#ffffffb8;letter-spacing:.1em}.pot-main .pot-amount{font-size:clamp(15px,1.9cqw,28px);font-weight:800;color:var(--amber);text-shadow:0 0 14px rgba(245,196,81,.35)}.pot-sides{display:flex;gap:.5cqw;flex-wrap:wrap;justify-content:center;max-width:46cqw}.pot-pill{padding:.2cqw .8cqw;border-radius:999px;background:#0000004d;border:1px solid rgba(255,255,255,.12);font-size:clamp(9px,.95cqw,13px);color:#ffffffc7;white-space:nowrap}.pot-pill .num{color:var(--amber);font-weight:600}.pot-street{font-size:clamp(9px,.9cqw,12px);color:#ffffff80;letter-spacing:.08em;white-space:nowrap}.winner-banner{position:absolute;left:50%;top:57%;display:flex;flex-direction:column;align-items:center;gap:.3cqw;padding:.7cqw 1.8cqw;border-radius:1.2cqw;background:#061e14b8;border:1px solid rgba(94,230,168,.45);box-shadow:0 10px 30px #00000073,0 0 30px #5ee6a838;z-index:6;max-width:66cqw;white-space:nowrap;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.winner-line{display:flex;align-items:baseline;flex-wrap:wrap;justify-content:center;gap:.15cqw .5cqw;font-size:clamp(12px,1.45cqw,21px);font-weight:700;color:#fff}.winner-line .winner-name{color:var(--mint)}.winner-line .winner-amount{color:var(--amber);font-weight:800}.winner-line .winner-hand{color:#ffffffb8;font-weight:500;font-size:.85em}.winner-sub{font-size:clamp(9px,.95cqw,13px);color:#ffffff8c;letter-spacing:.08em}.dealer-button{position:absolute;transform:translate(-50%,-50%);width:clamp(18px,2.3cqw,32px);height:clamp(18px,2.3cqw,32px);border-radius:50%;background:linear-gradient(180deg,#fff,#d9dde6);color:#1b2235;font-weight:800;font-size:clamp(10px,1.15cqw,16px);display:grid;place-items:center;box-shadow:0 3px 8px #00000073,inset 0 -2px #00000026;z-index:5;pointer-events:none}.bet-chips{position:absolute;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:.45cqw;z-index:4;pointer-events:none}.bet-chips.side-right{flex-direction:row-reverse}.chip-stack{position:relative;width:clamp(18px,2.2cqw,32px);height:clamp(20px,2.9cqw,40px);flex:none}.chip{position:absolute;left:0;width:100%;aspect-ratio:1;border-radius:50%;border:2px dashed rgba(255,255,255,.65);box-shadow:0 2px 4px #00000073,inset 0 0 0 2px #00000040;background:var(--chip-color, #b91c1c);background-clip:padding-box}.chip:after{content:"";position:absolute;inset:25%;border-radius:50%;background:#ffffff29;box-shadow:inset 0 0 0 1px #ffffff40}.chip-10000{--chip-color: #c99a2e}.chip-5000{--chip-color: #6d28d9}.chip-1000{--chip-color: #1f2937}.chip-250{--chip-color: #15803d}.chip-50{--chip-color: #b91c1c}.chip-10{--chip-color: #e5e7eb}.bet-amount{padding:.2cqw .7cqw;border-radius:999px;background:#0000006b;border:1px solid rgba(255,255,255,.14);color:#fff;font-weight:700;font-size:clamp(10px,1.05cqw,14px);white-space:nowrap;box-shadow:0 2px 8px #00000059}.flights-layer{position:absolute;inset:0;pointer-events:none;z-index:20;overflow:visible}.flight{position:absolute;display:inline-flex;align-items:center;gap:.45cqw;transform:translate(-50%,-50%);will-change:left,top,opacity}.flight .bet-amount{background:#0009}.flight.flight-award .bet-amount{color:var(--mint);border-color:#5ee6a873}@keyframes active-pulse{0%,to{box-shadow:0 0 0 2px #f5c45159,0 0 22px 3px #f5c45166,0 10px 30px #00000059}50%{box-shadow:0 0 0 3px #f5c4518c,0 0 34px 8px #f5c45199,0 10px 30px #00000059}}@keyframes dot-bounce{0%,80%,to{transform:translateY(0);opacity:.6}40%{transform:translateY(-55%);opacity:1}}@keyframes dot-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.35);opacity:.7}}@keyframes badge-pop{0%{transform:translateY(-50%) scale(.7);opacity:0}to{transform:translateY(-50%) scale(1);opacity:1}}@keyframes float-up{0%{transform:translateY(10px);opacity:0}15%{transform:translateY(0);opacity:1}80%{opacity:1}to{transform:translateY(-6px);opacity:.95}}@keyframes badge-pop-plain{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}@keyframes glow-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.92)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes badge-pop-x{0%{transform:translate(-50%) scale(.7);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}:root{color-scheme:dark;--bg: #0b1020;--bg-2: #0e1630;--text: #e8ecf4;--text-dim: rgba(232, 236, 244, .66);--text-faint: rgba(232, 236, 244, .42);--glass-bg: rgba(255, 255, 255, .07);--glass-bg-strong: rgba(255, 255, 255, .1);--glass-bg-solid: rgba(18, 24, 44, .86);--glass-border: rgba(255, 255, 255, .12);--glass-border-strong: rgba(255, 255, 255, .2);--glass-blur: blur(14px) saturate(140%);--glass-shadow: 0 10px 30px rgba(0, 0, 0, .35);--glass-highlight: inset 0 1px 0 rgba(255, 255, 255, .08);--radius-sm: 10px;--radius: 16px;--radius-lg: 20px;--amber: #f5c451;--amber-deep: #d9a43a;--amber-glow: rgba(245, 196, 81, .5);--mint: #5ee6a8;--mint-glow: rgba(94, 230, 168, .45);--rose: #ff6b8a;--red: #ef4444;--blue: #60a5fa;--slate: #94a3b8;--violet: #a78bfa;--felt-1: #1d6b45;--felt-2: #0f3d2a;--felt-edge: #0a2a1d;--rail-1: #4a2e1f;--rail-2: #2a1810;--rail-3: #140c08;--font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "PingFang SC", "Helvetica Neue", "Segoe UI", Roboto, "Noto Sans SC", "Microsoft YaHei", "Droid Sans Fallback", sans-serif;--font-mono: "SF Mono", ui-monospace, Menlo, Consolas, "Liberation Mono", monospace;--topbar-h: 56px;--controls-h: 116px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}html{overflow:hidden}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.4;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;overscroll-behavior:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;padding:0;margin:0}button:disabled{cursor:not-allowed}button:focus-visible,input:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.glass{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--glass-shadow),var(--glass-highlight)}.app-shell{position:relative;height:100vh;height:100dvh;width:100vw;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(1100px 700px at 50% 110%,rgba(29,107,69,.22),transparent 60%),radial-gradient(900px 600px at 8% -10%,rgba(96,165,250,.12),transparent 60%),radial-gradient(900px 600px at 95% -5%,rgba(245,196,81,.08),transparent 55%),linear-gradient(180deg,#0d1430 0%,var(--bg) 55%,#080c1a 100%)}.app-shell:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.45) 100%);z-index:0}.app-pending{height:100vh;display:grid;place-items:center;color:var(--text-dim);font-size:16px;letter-spacing:.02em;background:var(--bg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 14px;border-radius:10px;background:var(--glass-bg-strong);border:1px solid var(--glass-border);color:var(--text);font-size:13px;font-weight:500;letter-spacing:.02em;white-space:nowrap;transition:background .18s ease,border-color .18s ease,transform .12s ease,box-shadow .18s ease,opacity .18s ease;user-select:none}.btn:hover:not(:disabled){background:#ffffff26;border-color:var(--glass-border-strong)}.btn:active:not(:disabled){transform:translateY(1px) scale(.99)}.btn:disabled{opacity:.45}.btn.is-on{background:#f5c45129;border-color:#f5c45173;color:var(--amber)}.btn-ghost{background:transparent}.btn-primary{background:linear-gradient(180deg,#ffd978,var(--amber-deep));border-color:#ffffff40;color:#2a1d05;font-weight:700;box-shadow:0 6px 18px #f5c4514d}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,#ffe08f,#e2ad44)}.btn-danger{background:linear-gradient(180deg,#ff7d99,#d9415f);border-color:#fff3;color:#fff;font-weight:700}.btn-danger:hover:not(:disabled){background:linear-gradient(180deg,#ff8ea6,#e04c6a)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);top:0;left:0;white-space:nowrap}.scroll-y{overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}.scroll-y::-webkit-scrollbar{width:8px}.scroll-y::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:8px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
