:root{--surface:#00000047;--surface-strong:#0000006b;--line:#ffffff29;--text:#f8f9fa;--action:#f2c14e;--action-text:#1b1b1b;--good:#7ee2a8;--bad:#ff9b9b;--warn:#ffb86b;--danger:#d64545;--focus:#8ec5ff;--button:#f1f3f5;--button-text:#111;--card:#fff;--card-red:#c62828;--card-black:#1b1b1b;--card-back:#1d3c78;--card-back-light:#2a56a8;--text-small:13px;--text-body:15px;--text-large:18px;--text-title:24px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--radius-control:8px;--radius:14px;font-family:system-ui,Segoe UI,Malgun Gothic,Apple SD Gothic Neo,sans-serif;font-size:var(--text-body);color:var(--text);line-height:1.45}*{box-sizing:border-box}:root,.theme-swatch.green{--felt:#0f5132;--felt-dark:#0a3622;--felt-light:#1a7046;--dock:#062a1a;--text-dim:#b7d3c4}[data-theme=blue],.theme-swatch.blue{--felt:#13406b;--felt-dark:#0b2944;--felt-light:#1d5a92;--dock:#071c31;--text-dim:#bccfe4}[data-theme=wine],.theme-swatch.wine{--felt:#5c1f30;--felt-dark:#3a111e;--felt-light:#7b2c41;--dock:#280a14;--text-dim:#e3c3cb}[data-theme=dark],.theme-swatch.dark{--felt:#22262c;--felt-dark:#14171b;--felt-light:#2f343c;--dock:#0c0e11;--text-dim:#c3c9d1}html{scrollbar-gutter:stable}body{background:radial-gradient(circle at 50% 20%, var(--felt), var(--felt-dark) 75%);background-color:var(--felt-dark);background-attachment:fixed;min-block-size:100dvh;margin:0}h1,h2,h3{margin:0 0 var(--space-2);line-height:1.25}h1{font-size:var(--text-title)}h2{font-size:var(--text-large)}h3{font-size:var(--text-body)}p{margin:0 0 var(--space-2)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}button,select,input,textarea{font:inherit}button{min-block-size:44px;padding-block:var(--space-2);padding-inline:var(--space-4);border-radius:var(--radius-control);background:var(--button);color:var(--button-text);cursor:pointer;touch-action:manipulation;border:1px solid #0000}button:hover:not(:disabled){filter:brightness(1.06)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--action);color:var(--action-text);font-weight:700}button.quiet{border-color:var(--line);color:var(--text);background:0 0}button.danger{background:var(--danger);color:#fff;font-weight:700}button.wide{inline-size:100%}.button-row>button.wide{flex:200px;inline-size:auto}button.icon-button{min-inline-size:44px;font-size:var(--text-large);padding-inline:0;line-height:1}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}select,input{border:1px solid var(--line);border-radius:var(--radius-control);color:#111;background:#fff;min-block-size:44px;padding-inline:10px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-4)}.button-row{gap:var(--space-2);flex-wrap:wrap;align-items:center;margin-block-start:var(--space-3);display:flex}.button-row.top,.button-row.tight{margin-block-start:0}.note{color:var(--text-dim);font-size:var(--text-small)}.note.error{color:var(--bad)}.notice{margin:var(--space-1) 0 0;padding-block:var(--space-1);padding-inline:var(--space-2);border-radius:var(--radius-control);color:var(--warn);font-size:var(--text-small);background:#ffb86b29}.lobby .no-money{margin-block:var(--space-4) 0;text-align:center}.update-notice{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.dim,.muted{color:var(--text-dim)}.block{display:block}.small{font-size:var(--text-small)}.lead{color:var(--text-dim);font-size:var(--text-large)}.badge{padding-inline:var(--space-2);font-size:var(--text-small);background:#ffffff29;border-radius:999px;margin-inline-start:6px;line-height:1.6;display:inline-block}.badge.muted{color:var(--text-dim)}.badge.turn{background:var(--action);color:var(--action-text);font-weight:700}.field{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-block-start:var(--space-3);display:flex}.field.stacked{flex-direction:column;align-items:stretch}.conclusion{padding-block:var(--space-2);padding-inline:var(--space-3);border-radius:var(--radius-control);background:var(--surface-strong);font-size:var(--text-large);font-weight:700}.conclusion.good{color:var(--good)}.conclusion.bad{color:var(--bad)}.app{--gutter:var(--space-4);max-inline-size:1240px;padding-block:var(--space-3) max(var(--space-5), env(safe-area-inset-bottom));padding-left:max(var(--gutter), env(safe-area-inset-left));padding-right:max(var(--gutter), env(safe-area-inset-right));margin-inline:auto}.app-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-block-end:var(--space-2);display:flex}.app.in-game .app-header{display:none}.brand{color:var(--text);font-size:var(--text-large);letter-spacing:.04em;background:0 0;padding-inline:0;font-weight:800}.brand:disabled{opacity:1;cursor:default}.screen{gap:var(--space-4);display:grid}.screen>*{min-inline-size:0}.lobby-hero{justify-items:center;gap:var(--space-3);padding-block:var(--space-4);text-align:center;display:grid}.hero-button{min-block-size:64px;min-inline-size:min(100%,320px);padding-inline:var(--space-5);font-size:var(--text-large);gap:2px;display:grid}.hero-button small{font-size:var(--text-small);font-weight:400}.mode-list{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.mode-card{gap:var(--space-2);flex-direction:column;display:flex}.mode-card button{margin-block-start:auto}.mini-table{block-size:88px;border-radius:60px 60px var(--radius) var(--radius);background:radial-gradient(ellipse at 50% 30%, var(--felt-light), var(--felt-dark));border:4px solid #5b3a1e;justify-content:center;align-items:center;gap:6px;margin-block-end:var(--space-1);display:flex}.mini-card{background:var(--card);border-radius:4px;block-size:38px;inline-size:26px;box-shadow:0 2px 4px #0006}.mini-card.back{border:2px solid var(--card);background:repeating-linear-gradient(45deg, var(--card-back) 0 4px, var(--card-back-light) 4px 8px);margin-inline-start:-12px}.mini-chips{margin-inline-start:var(--space-3)}.mini-score{color:var(--good);font-size:var(--text-large);margin-inline-start:var(--space-2);font-weight:800}.mode-title{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.mode-title h2{margin:0}.badge.good{color:var(--good);background:#7ee2a829;margin-inline-start:0;font-weight:700}.mode-tagline{font-size:var(--text-large);margin:0;line-height:1.35}.mode-points{gap:var(--space-1);color:var(--text-dim);margin:0;padding:0;list-style:none;display:grid}.mode-points li:before{content:"✓";color:var(--good);margin-inline-end:var(--space-2);font-weight:800}.lobby-footer{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.lobby-footer .field{margin-block-start:0}.help-article{justify-self:center;inline-size:100%;max-inline-size:760px}.help-article section+section{margin-block-start:var(--space-4)}.help-examples{gap:var(--space-4);flex-wrap:wrap;display:flex}.help-examples figure{gap:var(--space-1);margin:0;display:grid}.help-examples figcaption{font-size:var(--text-small);color:var(--text-dim)}.help-list{margin:0;padding-inline-start:20px}.help-list li+li{margin-block-start:var(--space-1)}.room-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;display:grid}.seat-list{margin:0 0 var(--space-3);gap:var(--space-2);padding:0;list-style:none;display:grid}.seat-row{align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-control);background:var(--surface-strong);flex-wrap:wrap;display:flex}.seat-row.me{box-shadow:inset 0 0 0 1px var(--text-dim)}.seat-row .seat-name{flex:120px;font-weight:700}.seat-row .seat-name small{font-weight:400}.seat-number{min-inline-size:1.5em;color:var(--text-dim);font-variant-numeric:tabular-nums;text-align:center;flex:none;font-weight:700}.seat-actions{gap:var(--space-2);margin-inline-start:auto;display:flex}.bot-name{flex:140px;min-inline-size:0}.name-line{align-items:center;gap:var(--space-1);display:flex}.name-input{inline-size:100%;min-inline-size:0;color:var(--text);background:0 0;border-color:#0000;flex:auto;padding-inline:6px;font-weight:700}.name-input:hover,.name-input:focus{border-color:var(--line);background:var(--surface)}.name-input[aria-invalid=true]{border-color:var(--bad)}.edit-mark{color:var(--text-dim)}.name-hint{padding-inline-start:6px;display:block}.name-hint.dim{display:none}.bot-name:focus-within .name-hint.dim{display:block}.name-hint.problem{color:var(--bad)}.theme-picker{border:0;margin:0;padding:0}.theme-picker legend{margin-block-end:var(--space-2);padding:0;font-weight:700}.theme-options{gap:var(--space-2);flex-wrap:wrap;display:flex}.theme-option{align-items:center;gap:var(--space-2);border:1px solid var(--line);cursor:pointer;border-radius:999px;min-block-size:44px;padding-inline:8px 14px;display:inline-flex}.theme-option.selected{border-color:var(--text);font-weight:700}.theme-option:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.theme-swatch{background:radial-gradient(circle at 50% 30%, var(--felt-light), var(--felt-dark));border-radius:50%;block-size:28px;inline-size:28px;box-shadow:0 0 0 1.5px #ffffff59}.avatar-picker{border:0;margin:0;padding:0}.avatar-picker legend{margin-block-end:var(--space-2);padding:0;font-weight:700}.avatar-options{gap:var(--space-2);flex-wrap:wrap;display:flex}.avatar-option{cursor:pointer;border-radius:50%;place-items:center;block-size:48px;inline-size:48px;display:inline-grid}.avatar-option.selected .avatar{box-shadow:0 0 0 3px var(--text)}.avatar-option:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.seat-picker{margin:0 0 var(--space-3);border:0;padding:0}.seat-picker legend{margin-block-end:var(--space-2);padding:0;font-weight:700}.picker-felt{block-size:156px;border:1px solid var(--line);background:radial-gradient(ellipse at 50% 0%, var(--felt) 0%, var(--felt-dark) 100%);border-radius:0 0 50% 50%/0 0 100% 100%;margin-block-end:var(--space-2);position:relative}.picker-dealer{inset-block-start:6px;color:var(--text-dim);font-size:var(--text-small);position:absolute;left:50%;transform:translate(-50%)}.picker-spot{border-radius:var(--radius-control);cursor:pointer;justify-items:center;gap:2px;min-block-size:44px;min-inline-size:44px;padding:4px;display:grid;position:absolute;transform:translate(-50%,-50%)}.picker-spot:hover{background:var(--surface)}.picker-spot:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.picker-spot.me .avatar{box-shadow:0 0 0 2px var(--text)}.picker-number{color:var(--text-dim);font-size:var(--text-small);font-variant-numeric:tabular-nums;line-height:1}.picker-spot.me .picker-number{color:var(--text);font-weight:800}.rule-list{margin:0;padding-inline-start:20px}.start-panel{justify-self:center;inline-size:100%;max-inline-size:720px}.fingerprint{border-radius:var(--radius-control);background:var(--surface-strong);font-size:var(--text-small);overflow-wrap:anywhere;text-align:start;direction:ltr;padding:10px;display:block}.table-screen{gap:var(--space-3)}.top-bar{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.top-bar .progress{font-size:var(--text-large);font-variant-numeric:tabular-nums}.top-bar-actions{align-items:center;gap:var(--space-2);display:flex}.menu{position:relative}.menu-list{z-index:10;gap:var(--space-1);min-inline-size:200px;padding:var(--space-2);border:1px solid var(--line);border-radius:var(--radius);background:var(--dock);display:grid;position:absolute;inset-block-start:calc(100% + var(--space-1));inset-inline-end:0;box-shadow:0 8px 24px #00000073}.menu-list button{text-align:start;inline-size:100%}.table-layout{gap:var(--space-4);grid-template-columns:minmax(0,1fr) 300px;align-items:start;display:grid}.table-main{gap:var(--space-3);min-inline-size:0;display:grid}.felt{--arc-depth:64px;gap:var(--space-2);padding:var(--space-3) var(--space-3) var(--space-5);border-radius:var(--radius) var(--radius) 50% 50% / var(--radius) var(--radius) 120px 120px;background:radial-gradient(90% 70% at 50% 0,#ffffff17,#0000 75%),#0000001a;border:1px solid #ffffff14;display:grid;box-shadow:inset 0 0 0 4px #0000002e}.seat-caption{color:var(--text-dim);font-size:var(--text-small);letter-spacing:.06em}.dealer-zone{align-items:start;gap:var(--space-2);direction:ltr;grid-template-columns:1fr auto 1fr;display:grid}[dir=rtl] .dealer-zone>*{direction:rtl}.dealer{justify-items:center;gap:var(--space-1);display:grid}.dealer-cards,.my-hand-cards{align-items:center;gap:var(--space-2);display:flex}.discard-tray,.shoe-box{color:var(--text-dim);font-variant-numeric:tabular-nums;justify-items:center;gap:2px;display:grid}.discard-tray{justify-self:start}.shoe-box{justify-self:end}.shoe-body{background:linear-gradient(160deg,#3b3f46,#1c1f24);border-radius:6px 6px 4px 14px;block-size:54px;inline-size:44px;display:block;position:relative;overflow:hidden;transform:skew(-8deg);box-shadow:inset 0 0 0 2px #ffffff1f,0 3px 8px #0006}.shoe-cards{block-size:calc((100% - 10px) * var(--fill,0));background:repeating-linear-gradient(0deg, var(--card-back) 0 2px, var(--card-back-light) 2px 3px);border-radius:3px;position:absolute;inset-block-end:5px;inset-inline:5px}.shoe-cut{background:var(--danger);border-radius:1px;block-size:5px;position:absolute;inset-block-start:5px;inset-inline:3px}.discard-pile{border:1px dashed #ffffff40;border-radius:6px;block-size:54px;inline-size:40px;display:block;position:relative}.discard-card{border:2px solid var(--card);background:repeating-linear-gradient(45deg, var(--card-back) 0 4px, var(--card-back-light) 4px 8px);border-radius:4px;position:absolute;inset:4px}.discard-card:nth-child(2){transform:translate(2px,-2px)rotate(4deg)}.discard-card:nth-child(3){transform:translate(-2px,-4px)rotate(-5deg)}.felt-middle{place-items:center;block-size:64px;display:grid}.arc{justify-content:center;align-items:flex-start;gap:var(--space-2);flex-direction:row-reverse;margin:0;padding:0;list-style:none;display:flex}[dir=rtl] .arc{flex-direction:row}.arc-slot{min-inline-size:0;flex:0 180px;justify-content:center;margin-block-start:calc(var(--drop,0) * var(--arc-depth));display:flex}.arc-slot.mine{flex-basis:220px}.seat-box{align-content:start;justify-items:center;gap:var(--space-1);inline-size:100%;min-inline-size:0;padding:var(--space-2) 6px;border-radius:var(--radius);font-size:var(--text-small);text-align:center;border:1px solid #0000;display:grid}.seat-box.me{border-color:var(--text-dim);background:#00000029}.seat-box.active{border-color:var(--text);background:#ffffff0f}.seat-box.eliminated{opacity:.55}.seat-who{align-items:center;gap:6px;min-inline-size:0;max-inline-size:100%;display:flex}.seat-who-name{text-align:start;flex-wrap:wrap;align-items:baseline;min-inline-size:0;line-height:1.2;display:flex}.seat-name-line{align-items:baseline;min-inline-size:0;max-inline-size:100%;display:flex}.seat-who-name strong{text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;max-inline-size:100%;overflow:hidden}.seat-who-name small{color:var(--text-dim);flex-basis:100%}.leader{flex:none;margin-inline-start:var(--space-1)}.seat-hand{border-radius:var(--radius-control);justify-items:center;gap:2px;padding:2px;display:grid}.seat-hand.active{box-shadow:inset 0 0 0 1px var(--text)}.seat-box.me .seat-hand.active{box-shadow:inset 0 0 0 2px var(--action)}.hand-cards{margin-block-end:8px;display:inline-flex;position:relative}.hand-cards .total-bubble{position:absolute;bottom:-10px;right:-12px}.seat-meta{color:var(--text-dim);font-variant-numeric:tabular-nums}.seat-bets{justify-content:center;align-items:flex-start;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.seat-marker{inline-size:100%;padding-block:var(--space-3);place-items:center;display:grid}.seat-marker-dot{border:2px dashed var(--text-dim);block-size:40px;inline-size:40px;color:var(--text-dim);font-size:var(--text-small);border-radius:50%;place-items:center;font-weight:800;display:grid}.my-seat{justify-content:center;justify-self:center;align-items:center;gap:var(--space-2) var(--space-4);inline-size:min(100%,560px);padding:var(--space-3);border-radius:var(--radius);background:#00000029;flex-wrap:wrap;display:flex}.my-seat-header{justify-content:center;align-items:center;gap:var(--space-2);flex-wrap:wrap;flex-basis:100%;display:flex}.balance{color:var(--text-dim);font-variant-numeric:tabular-nums}.my-hands{justify-content:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.my-hands.empty{align-items:center;min-block-size:96px}.my-hand{align-items:center;gap:6px var(--space-3);padding:var(--space-2);border-radius:var(--radius);border:2px solid #0000;grid-template-areas:"label label""cards info";display:grid}.my-hand .hand-label{grid-area:label;justify-self:center}.my-hand-cards{grid-area:cards}.my-hand .my-hand-info{flex-direction:column;grid-area:info}.my-hand.active{border-color:var(--action);background:#f2c14e14}.hand-label{color:var(--text-dim)}.my-hand-info{justify-content:center;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.my-hands.split{gap:var(--space-2)}.my-hands.split .my-hand{grid-template-areas:"label""cards""info";justify-items:center}.my-hands.split .my-hand-cards{margin-block-end:var(--space-2);position:relative}.my-hands.split .total-bubble{position:absolute;bottom:-10px;right:-10px}.my-hands.split .my-hand-info{flex-direction:row}.my-hands.split .bet-circle{block-size:52px;inline-size:52px}.result-banner{justify-content:center;justify-self:center;align-items:baseline;gap:0 var(--space-3);min-inline-size:min(100%,260px);padding-block:6px;padding-inline:var(--space-4);border:2px solid var(--line);border-radius:var(--radius);background:var(--surface-strong);text-align:center;flex-wrap:wrap;line-height:1.2;display:flex}.result-banner strong{font-size:var(--text-title);line-height:1.2}.result-delta{font-size:var(--text-large);font-variant-numeric:tabular-nums;font-weight:700}.result-banner.good{border-color:var(--good)}.result-banner.good strong,.result-banner.good .result-delta{color:var(--good)}.result-banner.bad{border-color:var(--bad)}.result-banner.bad strong,.result-banner.bad .result-delta{color:var(--bad)}.result-banner small{color:var(--text-dim)}.outcome{font-weight:700}.outcome.good{color:var(--good)}.outcome.bad{color:var(--bad)}.total-bubble{block-size:28px;min-inline-size:36px;padding-inline:var(--space-2);border:1px solid var(--line);font-variant-numeric:tabular-nums;white-space:nowrap;background:#0009;border-radius:999px;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.total-bubble.bust{color:#fff;background:#b3261e;border-color:#0000}.total-bubble.blackjack{color:var(--action)}.my-seat .total-bubble{block-size:34px;font-size:var(--text-large)}.seat-box .total-bubble{block-size:24px;min-inline-size:30px;padding-inline:6px}.bet-spot{justify-items:center;gap:2px;line-height:1.2;display:grid}.bet-circle{border:2px dashed #ffffff80;border-radius:50%;justify-content:center;align-items:flex-end;gap:4px;block-size:64px;inline-size:64px;padding-block-end:12px;display:flex}.bet-circle.empty{opacity:.7;align-items:center;padding-block-end:0}.bet-spot.small .bet-circle{border-width:1px;gap:3px;block-size:44px;inline-size:44px;padding-block-end:7px}.bet-spot.small .bet-circle.empty{padding-block-end:0}.bet-circle-label{color:var(--text-dim);font-size:var(--text-small)}.bet-spot-amount{font-size:var(--text-small);font-variant-numeric:tabular-nums;white-space:nowrap}.bet-spot-caption{color:var(--text-dim)}.chip-0{--chip-base:#e05a97;--chip-edge:#a13b6b;--chip-spot:#fff4f9;--chip-inlay:#fff4f9;--chip-ink:#8a1f53}.chip-1{--chip-base:#eceff3;--chip-edge:#aeb6c1;--chip-spot:#2f68c8;--chip-inlay:#fff;--chip-ink:#1f4a96}.chip-2{--chip-base:#c93c3c;--chip-edge:#852424;--chip-spot:#f7f2e8;--chip-inlay:#fbf7ef;--chip-ink:#9e2626}.chip-3{--chip-base:#2f68c8;--chip-edge:#1c437f;--chip-spot:#f7f2e8;--chip-inlay:#fbf7ef;--chip-ink:#1d4489}.chip-4{--chip-base:#26292f;--chip-edge:#0d0e11;--chip-spot:#f7f2e8;--chip-inlay:#f4efe4;--chip-ink:#1d2025}.chip-stack{--chip-w:26px;--chip-face:10px;--chip-thick:4px;isolation:isolate;flex-direction:column-reverse;flex:none;align-items:center;display:inline-flex;position:relative}.chip-stack:before{content:"";z-index:-1;block-size:calc(var(--chip-face) + 4px);background:radial-gradient(closest-side,#0000008c,#0000);border-radius:50%;position:absolute;inset-block-end:-3px;inset-inline:-4px}.bet-spot.small .chip-stack,.chip-stack.small{--chip-w:18px;--chip-face:7px;--chip-thick:3px}.chip-stack,.stack-chip{transform-origin:50% 100%}.stack-chip{inline-size:var(--chip-w);block-size:calc(var(--chip-face) + var(--chip-thick));flex:none;position:relative}.stack-chip+.stack-chip{margin-block-end:calc(-1 * var(--chip-face))}.stack-chip:nth-child(3n+2){translate:1px}.stack-chip:nth-child(3n){translate:-1px}.stack-chip:before{content:"";inset-inline:0;inset-block:calc(var(--chip-face) / 2) 0;border-radius:0 0 50% 50% / 0 0 calc(var(--chip-face) / 2) calc(var(--chip-face) / 2);background:linear-gradient(90deg, #0000006b, #0000 28%, #ffffff3d 42%, #0000 58%, #00000075), repeating-linear-gradient(90deg, var(--chip-edge) 0 3px, var(--chip-spot) 3px 5px, var(--chip-edge) 5px 8px);position:absolute}.stack-chip:after{content:"";block-size:var(--chip-face);background:radial-gradient(ellipse at 38% 30%, #fff6, #fff0 60%), radial-gradient(closest-side, var(--chip-inlay) 0 48%, var(--chip-base) 52% 62%, #0000 66%), repeating-conic-gradient(from -10deg, var(--chip-spot) 0 20deg, var(--chip-base) 20deg 60deg);border-radius:50%;position:absolute;inset-block-start:0;inset-inline:0;box-shadow:inset 0 0 0 1px #00000038}.pile-count{font-size:var(--text-small);margin-block-end:2px;font-weight:700;line-height:1}.chip-rack{background:linear-gradient(#3a3e45,#16181c);border-radius:5px;gap:2px;padding:2px 3px;display:inline-flex;box-shadow:inset 0 1px #ffffff24,0 2px 5px #00000073}.rack-tube{background:linear-gradient(90deg, #00000061, #fff3 45%, #00000061), repeating-linear-gradient(180deg, var(--chip-base) 0 2px, var(--chip-edge) 2px 3px);border-radius:3px;block-size:14px;inline-size:12px}.dealer-label{align-items:center;gap:var(--space-2);display:inline-flex}.avatar{border-radius:50%;flex:none;block-size:36px;inline-size:36px;display:inline-block;box-shadow:0 0 0 1.5px #ffffff59}.avatar svg{block-size:100%;inline-size:100%;display:block}.avatar.small{block-size:28px;inline-size:28px}.card-row{direction:ltr;display:flex}.card{background:var(--card);block-size:70px;inline-size:48px;color:var(--card-black);direction:ltr;border-radius:7px;flex:none;grid-template-rows:auto 1fr;padding:4px 6px;display:inline-grid;box-shadow:0 2px 6px #00000059}.card+.card{margin-inline-start:-14px}.card.red{color:var(--card-red)}.card{position:relative}.card-cover{border:3px solid var(--card);border-radius:inherit;background:repeating-linear-gradient(45deg, var(--card-back) 0 6px, var(--card-back-light) 6px 12px), var(--card-back);opacity:0;pointer-events:none;position:absolute;inset:0}.card.small .card-cover{border-width:2px}.flying-card{z-index:20;pointer-events:none;margin:0;position:fixed}.card-rank{font-weight:800;font-size:var(--text-large);line-height:1}.card-suit{place-self:center;font-size:1.6rem;line-height:1}.card.back{background:repeating-linear-gradient(45deg, var(--card-back) 0 6px, var(--card-back-light) 6px 12px), var(--card-back);border:3px solid var(--card)}.card.small{border-radius:5px;block-size:44px;inline-size:30px;padding:2px 3px}.card.small+.card.small{margin-inline-start:-10px}.card.small .card-rank{font-size:var(--text-small)}.card.small .card-suit{font-size:var(--text-body)}.card.small.back{border-width:2px}.card.large{border-radius:9px;block-size:90px;inline-size:62px}.card.large+.card.large{margin-inline-start:-18px}.card.large .card-rank{font-size:1.35rem}.card.large .card-suit{font-size:2.1rem}.card-row.many>.card+.card{margin-inline-start:-24px}.card-row.small.many>.card+.card{margin-inline-start:-17px}.card-row.large.many>.card+.card{margin-inline-start:-32px}.dock{--badge-room:12px;z-index:2;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--dock);padding-block-end:calc(var(--space-3) + env(safe-area-inset-bottom));display:grid;position:sticky;inset-block-end:0;box-shadow:0 -6px 16px #0006}.dock.my-turn{border-color:var(--action)}.callout{padding:var(--space-2) var(--space-3);border-inline-start:3px solid var(--warn);border-radius:var(--radius-control);font-size:var(--text-small);background:#ffb86b1f;margin:0}.status{font-weight:700;font-size:var(--text-large);margin:0}.advice-note{color:var(--warn);font-size:var(--text-body);font-weight:600;line-height:1}.status.has-note .status-text{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.controls{gap:var(--space-3);display:grid}.move-grid{gap:var(--space-2);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.move{min-block-size:56px;padding-block:var(--space-2);align-content:center;gap:2px;transition:background-color .15s ease-out,color .15s ease-out;display:grid}.move-label{font-weight:800;font-size:var(--text-large)}.move-hint{font-size:var(--text-small);opacity:.7}.move-hint.reserve{display:none}.move:disabled{color:#f8f9fa73;opacity:1;cursor:default;background:#ffffff14;border-color:#ffffff24}.action-slot{display:grid;position:relative}.move-grid.covered{visibility:hidden}.round-row{gap:var(--space-2);display:flex;position:absolute;inset:0}.move-grid.with-advice+.round-row{inset-block-start:var(--badge-room)}.round-row>button{flex:1 1 0;min-inline-size:0}.round-row>button.primary{flex-grow:3}.move.advised{box-shadow:0 0 0 3px var(--good);position:relative}.advice-badge{inline-size:max-content;padding-inline:var(--space-2);border:2px solid var(--dock);background:var(--good);color:var(--felt-dark);font-size:var(--text-small);pointer-events:none;border-radius:999px;margin-inline:auto;font-weight:800;line-height:14px;position:absolute;inset-block-start:calc(-3px - var(--badge-room));inset-inline:0}.move-grid.with-advice{row-gap:16px;padding-block-start:var(--badge-room)}.bet-panel{gap:var(--space-2);display:grid}.bet-header{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.bet-amount-line{align-items:flex-end;gap:var(--space-2);display:flex}.bet-amount{font-size:var(--text-title);font-variant-numeric:tabular-nums;font-weight:800}.chip-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.chip{--lift:2px;block-size:52px;inline-size:52px;color:var(--chip-ink);font-size:var(--text-small);font-variant-numeric:tabular-nums;background:radial-gradient(circle at 32% 26%, #ffffff80, #fff0 45%), repeating-conic-gradient(from -10deg, var(--chip-spot) 0 20deg, var(--chip-base) 20deg 60deg);box-shadow:inset 0 0 0 1px #00000040, inset 0 -3px 5px #00000047, 0 3px 0 var(--chip-edge), 0 calc(var(--lift) + 5px) calc(var(--lift) + 7px) #00000073;transform:translateY(calc(-1 * var(--lift)));border:0;border-radius:50%;padding:0;font-weight:800;transition:transform .17s cubic-bezier(.34,1.56,.64,1),box-shadow .17s ease-out;position:relative}.chip-face{background:radial-gradient(circle at 38% 32%, #fff, var(--chip-inlay) 70%);outline:2px dashed var(--chip-spot);outline-offset:2px;border-radius:50%;place-items:center;display:grid;position:absolute;inset:21%;box-shadow:inset 0 1px 2px #00000047}.chip:active:not(:disabled){--lift:0px;box-shadow:inset 0 0 0 1px #00000040, inset 0 -2px 4px #00000040, 0 1px 0 var(--chip-edge), 0 2px 3px #0006;transition-duration:50ms}.chip:disabled{--lift:0px;opacity:.45}@media (hover:hover) and (pointer:fine){.chip:hover:not(:disabled):not(:active){--lift:4px}}.flying-chips{z-index:20;pointer-events:none;margin:0;position:fixed}.side-bets{gap:var(--space-2);display:grid}.side-bets h3{margin:0}.side-bet{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-control);background:var(--surface);flex-wrap:wrap;display:flex}.side-bet-name{align-items:center;gap:var(--space-1);flex:auto;min-inline-size:0;display:flex}.info-button{inline-size:44px;padding-inline:0;font-weight:800}.side-bet-desc{flex-basis:100%;margin:0}.side-bet-guide{gap:var(--space-2);font-size:var(--text-small);display:grid}.side-bet-guide p{margin:0}.paytable{border-collapse:collapse;inline-size:100%}.paytable th,.paytable td{padding-block:var(--space-1);border-block-end:1px solid var(--line);vertical-align:middle}.paytable th{padding-inline:var(--space-2);text-align:start;font-weight:700}.paytable-cards{white-space:nowrap;inline-size:1%}.paytable-pays{color:var(--good);font-variant-numeric:tabular-nums;text-align:end;white-space:nowrap;font-weight:800}.side-bet-help summary{min-block-size:44px;color:var(--text-dim);cursor:pointer;align-items:center;display:flex}.side-bet-help[open] summary{margin-block-end:var(--space-2)}.help-side-bet+.help-side-bet{margin-block-start:var(--space-4)}.help-side-bet h3{margin-block-end:var(--space-1)}.stepper{align-items:center;gap:var(--space-2);display:inline-flex}.stepper button{min-inline-size:44px;padding-inline:0;font-weight:800}.stepper output{text-align:center;font-variant-numeric:tabular-nums;min-inline-size:56px}.timer{align-items:center;gap:var(--space-2);display:flex}.timer-track{background:#ffffff26;border-radius:999px;flex:1;block-size:8px;overflow:hidden}.timer-fill{background:var(--good);block-size:100%;transition:inline-size .25s linear}.timer-fill.low{background:var(--danger)}.timer.idle{visibility:hidden}.side{gap:var(--space-3);display:grid}.side-content{gap:var(--space-4);display:grid}.info-toggle{display:none}.shoe{align-items:baseline;gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.shoe .notice{flex-basis:100%}.fingerprint-short{color:var(--text-dim);direction:ltr;unicode-bidi:isolate}.scoreboard{gap:6px;margin:0;padding:0;list-style:none;display:grid}.scoreboard li{gap:var(--space-2);font-variant-numeric:tabular-nums;grid-template-columns:auto 1fr auto;align-items:baseline;display:grid}.scoreboard li.me{font-weight:800}.scoreboard .rank{color:var(--text-dim);min-inline-size:2.5em}.feed{gap:var(--space-1);font-size:var(--text-small);margin:0;padding:0;list-style:none;display:grid}.feed li{border-block-end:1px solid var(--line);padding-block-end:var(--space-1)}.table-scroll{overflow-x:auto}.standings{border-collapse:collapse;font-variant-numeric:tabular-nums;inline-size:100%}.standings th,.standings td{padding:var(--space-2);border-block-end:1px solid var(--line);text-align:start;white-space:nowrap}.standings tr.me th,.standings tr.me td{background:#ffffff0f;font-weight:800}.standings tr.mismatch td{color:var(--bad);font-weight:700}.strategy-rate{margin-block:var(--space-4) 0;font-variant-numeric:tabular-nums;font-weight:700}.record-list{gap:var(--space-3);margin-block:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));display:grid}.record-card{padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.record-card h2{margin:0 0 var(--space-2);font-size:var(--text-large)}.record-card dl{gap:var(--space-1);margin:0;display:grid}.record-row{justify-content:space-between;gap:var(--space-3);display:flex}.record-row dt{color:var(--text-dim)}.record-row dd{font-variant-numeric:tabular-nums;text-align:end;margin:0;font-weight:700}.rules-editor{gap:var(--space-1);display:grid}.field.check{flex-wrap:nowrap;justify-content:flex-start;align-items:center;min-block-size:44px}.field.check input{flex:none;block-size:22px;min-block-size:0;inline-size:22px;margin:2px 0 0}.field-hint{color:var(--text-dim);font-size:var(--text-small);flex-basis:100%;line-height:1.35;display:block}.field.check input:disabled+span{opacity:.5}.field input[type=number]{inline-size:7em}.side-bet-choices{margin:var(--space-3) 0 0;padding:var(--space-2) var(--space-3) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-control)}.problems{margin:var(--space-3) 0 0;color:var(--bad);padding-inline-start:20px}.verify-layout{gap:var(--space-4);grid-template-columns:220px minmax(0,1fr);align-items:start;display:grid}.shoe-list ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.shoe-list button{text-align:start;inline-size:100%}button.selected{font-weight:700}.record-details,.deal-log{margin-block:var(--space-2)}.record-details summary,.deal-log summary{cursor:pointer;align-items:center;min-block-size:44px;list-style:none;display:flex}.record-details summary:before,.deal-log summary:before{content:"▸";margin-inline-end:var(--space-2)}.record-details[open] summary:before,.deal-log[open] summary:before{content:"▾"}[dir=rtl] .record-details:not([open]) summary:before,[dir=rtl] .deal-log:not([open]) summary:before{content:"◂"}.record-details summary::-webkit-details-marker{display:none}.deal-log summary::-webkit-details-marker{display:none}.record{gap:6px var(--space-3);margin:0 0 var(--space-3);grid-template-columns:max-content minmax(0,1fr);display:grid}.record dt{color:var(--text-dim)}.record dd{margin:0}.record code,.inline-code{overflow-wrap:anywhere;font-size:var(--text-small);direction:ltr;unicode-bidi:isolate}.checks{margin:var(--space-3) 0;gap:6px;padding:0;list-style:none;display:grid}.checks li{padding:var(--space-2) 10px;border-radius:var(--radius-control);background:var(--surface-strong)}.checks li.good strong{color:var(--good)}.checks li.bad strong{color:var(--bad)}textarea.script{inline-size:100%;font-family:ui-monospace,Consolas,monospace;font-size:var(--text-small);direction:ltr}@media (width<=860px){.table-layout,.verify-layout{grid-template-columns:minmax(0,1fr)}.table-main{gap:var(--space-2)}.arc-slot{flex-basis:104px}.arc-slot.mine{flex-basis:132px}.seat-box{padding:6px 2px}select,input,textarea{font-size:16px}.info-toggle{inline-size:100%;display:block}.side:not(.open) .side-content{display:none}}@media (width<=480px){.app{--gutter:var(--space-3)}.panel{padding:var(--space-3)}.fairness-button{padding-inline:var(--space-3)}.card.large{block-size:78px;inline-size:54px}.card.large .card-suit{font-size:1.8rem}.bet-circle{block-size:56px;inline-size:56px}.my-seat{padding:var(--space-2)}.shoe-body,.discard-pile{block-size:44px;inline-size:34px}}@media (width<=860px),(width>=861px) and (height<=960px){.felt{--arc-depth:36px;gap:var(--space-1);padding:var(--space-2) var(--space-1) var(--space-3);border-radius:var(--radius) var(--radius) 50% 50% / var(--radius) var(--radius) 56px 56px}.felt-middle{block-size:44px}.arc{gap:2px}.result-banner strong{font-size:var(--text-large)}}@media (width<=860px) and (height<=720px),(width>=861px) and (height<=960px){.felt{--arc-depth:24px}.felt-middle{block-size:38px}.my-hands.empty{min-block-size:64px}.table-screen{gap:var(--space-2)}.dealer .seat-caption,.dealer-label .avatar{display:none}.dealer{position:relative}.dealer-label{inline-size:fit-content;margin-inline:auto;position:absolute;inset-block-end:calc(100% + 1px);inset-inline:0}.chip-rack{padding:1px 2px}.rack-tube{block-size:10px;inline-size:10px}.seat-hand~.seat-meta{display:none}.my-seat{gap:var(--space-1);padding:6px}.my-seat-header .avatar{block-size:28px;inline-size:28px}.my-seat .card.large{block-size:70px;inline-size:48px}.my-seat .card.large+.card.large{margin-inline-start:-16px}.my-seat .card.large .card-suit{font-size:1.6rem}.dock{--badge-room:8px;padding-block:var(--space-2) calc(var(--space-2) + env(safe-area-inset-bottom));gap:4px}.side-bets h3{display:none}.chip{block-size:44px;inline-size:44px}.bet-panel,.side-bets{gap:6px}}@media (width<=480px),(width<=860px) and (height<=720px){.move-grid{grid-template-columns:repeat(auto-fit,minmax(60px,1fr));grid-auto-flow:row;gap:4px}.move{min-block-size:48px;padding-block:4px;padding-inline:var(--space-1)}.move-hint:not(.cost),.move .key-hint{display:none}.callout+.move-grid .move-hint{display:inline}.move-grid.many .move-label{font-size:var(--text-body)}.move-hint.reserve{display:block}}@media (width<=860px) and (height<=500px) and (orientation:landscape){.table-screen{align-items:start;column-gap:var(--space-3);row-gap:var(--space-1);grid-template-columns:minmax(0,3fr) minmax(0,2fr);grid-template-areas:"top mine""dealer mine""middle dock""arc dock""side side"}.table-screen .table-layout,.table-screen .table-main,.table-screen .felt{display:contents}.top-bar{grid-area:top}.dealer-zone{grid-area:dealer}.felt-middle{grid-area:middle;block-size:34px}.arc{--arc-depth:16px;grid-area:arc}.my-seat{grid-area:mine;inline-size:100%}.shoe-body,.discard-pile{block-size:38px;inline-size:30px}.arc-slot{flex:1 1 0}.seat-box{justify-content:center;align-items:flex-start;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.seat-who,.seat-meta{flex-basis:100%;justify-content:center}.dock{box-shadow:none;grid-area:dock;padding-block-end:var(--space-3);position:static}.side{grid-area:side}}:lang(ar) .brand,:lang(ar) .seat-caption{letter-spacing:normal}@media (prefers-reduced-motion:reduce){.timer-fill,.move{transition:none}}[data-motion=reduce] .timer-fill,[data-motion=reduce] .move{transition:none}.key-hint{display:none}@media (hover:hover) and (pointer:fine){.move,button.primary{position:relative}.key-hint{padding-inline:var(--space-1);font-family:ui-monospace,Consolas,monospace;font-size:var(--text-small);opacity:.55;border:1px solid;border-radius:4px;line-height:1.3;display:inline-block;position:absolute;inset-block-start:var(--space-1);inset-inline-end:6px}}
