/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-semibold:600;--font-weight-bold:700;--radius-sm:6px;--radius-md:10px;--radius-lg:18px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-gold-400:#d9b66a;--color-ink-900:#0c1410;--color-ink-700:#1a2622;--color-ink-100:#f4f1e6;--shadow-card:0 2px 6px #00000059;--spacing-rail-w:clamp(96px, 12vw, 144px)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*,:before,:after{box-sizing:border-box}html,body,#root{background:var(--felt-900);height:100%;color:var(--ink-100);font-feature-settings:"tnum" 1;margin:0;font-family:ui-sans-serif,system-ui,Segoe UI,-apple-system,Helvetica,Arial,sans-serif}button{font:inherit;color:inherit;background:var(--ink-700);border-radius:var(--radius-sm);cursor:pointer;border:1px solid #ffffff1f;padding:8px 14px;transition:background .12s,transform 80ms,border-color .12s}button:hover:not(:disabled){background:var(--felt-500);border-color:var(--gold-400)}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible{outline:2px solid var(--gold-400);outline-offset:2px}input[type=text]{font:inherit;color:inherit;background:var(--ink-900);border-radius:var(--radius-sm);border:1px solid #ffffff2e;min-width:0;padding:8px 10px}input[type=text]:focus-visible{outline:2px solid var(--gold-400);outline-offset:1px}}@layer components{.table-screen{width:100%;min-height:100dvh;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);grid-template:"hud""body"minmax(0,1fr)"hand"/1fr;row-gap:8px;display:grid;position:relative}.table-screen>.hud{grid-area:hud}.table-body{flex-direction:column;grid-area:body;justify-content:center;align-items:center;min-width:0;min-height:0;padding:8px;display:flex;position:relative;container:table-body/size}.table-felt-cell{flex:auto;place-items:center;width:100%;min-width:0;min-height:0;display:grid;position:relative}.table-body>.bidding-panel{z-index:8;width:min(460px,100% - 24px);max-width:100%;margin:0;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.table-loading{min-height:60vh;color:var(--ink-100);place-items:center;display:grid}.table-bottom{width:100%;padding:12px 12px max(16px,env(safe-area-inset-bottom));background:linear-gradient(#0000,#062e2399);grid-area:hand;container:hand-band/inline-size}.hud{z-index:10;padding:10px 14px;padding-top:max(10px,env(safe-area-inset-top));-webkit-backdrop-filter:blur(6px);background:linear-gradient(#061410d9,#0614108c);border-bottom:1px solid #d9b66a26;flex-wrap:wrap;gap:10px;display:flex;position:relative}.hud-block{border-radius:var(--radius-md);background:#00000040;border:1px solid #ffffff0d;flex-direction:column;align-items:flex-start;gap:2px;min-width:84px;padding:6px 12px;display:flex}.hud-label{letter-spacing:.08em;text-transform:uppercase;color:#f4f1e6b3;font-size:11px}.hud-value{align-items:center;gap:6px;font-size:18px;font-weight:700;display:inline-flex}.hud-of{color:#f4f1e68c;font-size:13px;font-weight:500}.hud-sub{color:#f4f1e6b3;font-size:11px}.hud-suit{font-size:22px;line-height:1}.hud-value-suit{font-size:18px}.hud-suit.suit-red{color:var(--red-500)}.hud-suit.suit-black{color:var(--ink-100)}.hud-suit-empty{color:#f4f1e666}.hud-targets-value{flex-direction:column;align-items:flex-start;gap:1px;font-size:13px;font-weight:500;display:flex}.hud-target{white-space:nowrap;color:#f4f1e6cc}.hud-target.is-contract{color:var(--gold-400);font-weight:700}.hud-score-value{gap:8px;display:flex}.hud-score-pill{background:#0003;border:1px solid #ffffff1f;border-radius:999px;align-items:baseline;gap:5px;padding:2px 10px;font-size:14px;font-weight:500;display:inline-flex}.hud-score-pill.is-contract{border-color:var(--gold-400);color:var(--gold-400);font-weight:700}.hud-score-pill strong{font-size:16px}.felt{aspect-ratio:16/10;width:100%;max-width:1100px;min-height:360px;margin:0 auto;position:relative}@container table-body (min-aspect-ratio:16/10){.felt{width:auto;height:100%;min-height:0;max-height:100%}}@container table-body (max-aspect-ratio:16/10){.felt{width:100%;height:auto;min-height:0}}.felt-surface{background:radial-gradient(ellipse at center,var(--felt-700) 0%,var(--felt-700) 38%,var(--felt-900) 100%);border-radius:50%;position:absolute;inset:0;box-shadow:inset 0 0 40px #0000008c,inset 0 0 0 6px #d9b66a2e,0 18px 60px #00000080}.felt-content{position:absolute;inset:0}@media (max-width:600px){.felt{aspect-ratio:5/4;min-height:0}.table-screen>.hud{position:sticky;top:0}}.seat{z-index:2;flex-direction:column;align-items:center;gap:6px;display:flex}.seat-ring{border-radius:50%;place-items:center;width:64px;height:64px;display:grid;position:relative}.seat-avatar{background:linear-gradient(140deg,var(--ink-700),var(--ink-900));letter-spacing:.02em;width:56px;height:56px;color:var(--ink-100);border:2px solid #ffffff1f;border-radius:50%;place-items:center;font-size:18px;font-weight:700;display:grid;box-shadow:0 4px 12px #00000073}.seat-initials{-webkit-user-select:none;user-select:none}.seat-meta{text-align:center;flex-direction:column;align-items:center;max-width:110px;font-size:12px;line-height:1.15;display:flex}.seat-name{white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 3px #000000b3;align-items:center;gap:3px;max-width:110px;font-weight:600;display:inline-flex;overflow:hidden}.seat-host-marker{color:var(--gold-400)}.seat-you .seat-avatar{border-color:var(--gold-400)}.seat-partner .seat-avatar{border-style:dashed;border-color:#d9b66a73}.seat-team-A .seat-avatar{box-shadow:0 4px 12px #00000073,inset 0 0 0 2px #2a6cd140}.seat-team-B .seat-avatar{box-shadow:0 4px 12px #00000073,inset 0 0 0 2px #c63b3b40}.seat-passed .seat-avatar{opacity:.45;filter:grayscale(.4)}.seat-turn-ring{border:3px solid var(--gold-400);pointer-events:none;border-radius:50%;animation:1.5s ease-in-out infinite seat-turn-pulse;position:absolute;inset:-6px;box-shadow:0 0 16px #d9b66a73}@keyframes seat-turn-pulse{0%,to{opacity:.95;transform:scale(1)}50%{opacity:.55;transform:scale(1.06)}}.seat-hand-chip{background:var(--ink-900);color:var(--ink-100);box-shadow:var(--shadow-card);border:1px solid #d9b66a73;border-radius:999px;align-items:center;gap:3px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex;position:absolute;bottom:-4px;right:-14px}.seat-hand-chip-icon{font-size:11px;line-height:1}.seat-bot-badge{background:var(--warn-500);color:var(--ink-900);letter-spacing:.08em;box-shadow:var(--shadow-card);border-radius:4px;padding:1px 6px;font-size:10px;font-weight:800;position:absolute;top:-6px;left:-14px}.seat-caller-badge,.seat-bidder-badge{width:18px;height:18px;color:var(--ink-900);border:1px solid #00000059;border-radius:50%;place-items:center;font-size:10px;font-weight:800;display:grid;position:absolute;top:-8px;right:-8px}.seat-caller-badge{background:var(--gold-400)}.seat-bidder-badge{background:var(--ink-100);left:-8px;right:auto}.seat-conn-dot{border:2px solid var(--ink-900);border-radius:50%;width:10px;height:10px;position:absolute;bottom:2px;right:2px}.seat-conn-dot.is-connected{background:#4ec488}.seat-conn-dot.is-offline{background:#707070}.conn-banner{z-index:30;letter-spacing:.04em;color:var(--ink-100);border:1px solid var(--gold-400);pointer-events:none;background:linear-gradient(#121c16f5,#080e0beb);border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:12px;display:inline-flex;position:fixed;top:12px;left:50%;transform:translate(-50%);box-shadow:0 8px 18px #0000008c,inset 0 0 0 1px #d9b66a2e,0 0 24px #d9b66a14}.conn-banner-dot{background:currentColor;border-radius:50%;width:8px;height:8px;animation:1.6s ease-in-out infinite conn-banner-pulse;display:inline-block;box-shadow:0 0 0 2px #00000059,0 0 8px}@keyframes conn-banner-pulse{0%,to{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}@media (prefers-reduced-motion:reduce){.conn-banner-dot{opacity:1;animation:none;transform:none}}.conn-banner-connecting{border-color:#d9b66a66}.conn-banner-reconnecting{border-color:var(--warn-500);color:var(--warn-500)}.conn-banner-closed{border-color:var(--red-500);color:var(--red-500)}.toast-stack{z-index:35;pointer-events:none;flex-direction:column;gap:6px;max-width:min(360px,100vw - 24px);display:flex;position:fixed;top:56px;right:12px}.toast{color:var(--ink-100);border:1px solid var(--red-500);border-radius:var(--radius-md);pointer-events:auto;padding:10px 36px 10px 14px;background:linear-gradient(#121c16f5,#0a100cf0);font-size:13px;line-height:1.35;position:relative;box-shadow:0 10px 22px #0000008c,inset 0 0 0 1px #f866662e}.toast strong{color:var(--red-500);letter-spacing:.04em;text-transform:uppercase;margin-right:6px;font-size:11px;font-weight:700}.toast-dismiss{color:#f4f1e6b3;cursor:pointer;background:#ffffff0a;border:0;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:16px;line-height:1;transition:background .12s,color .12s;display:inline-flex;position:absolute;top:6px;right:6px}.toast-dismiss:hover,.toast-dismiss:focus-visible{color:var(--ink-100);background:#ffffff1f;outline:none}.toast-dismiss:focus-visible{box-shadow:0 0 0 2px var(--gold-400)}@media (max-width:520px){.toast-stack{top:56px;right:max(8px,env(safe-area-inset-right));left:max(8px,env(safe-area-inset-left));max-width:none}}.won-pile-rail{width:var(--spacing-rail-w);border-radius:var(--radius-lg);background:linear-gradient(#0614108c,#06141040);border:1px solid #d9b66a1f;flex-direction:column;align-items:center;gap:8px;height:100%;padding:14px 10px;display:none;box-shadow:inset 0 0 18px #00000059}.won-pile-rail-header{flex-direction:column;align-items:center;gap:2px;width:100%;display:flex}.won-pile-rail-team{letter-spacing:.08em;text-transform:uppercase;color:#f4f1e6b3;font-size:11px}.won-pile-rail-count{align-items:baseline;gap:2px;font-size:18px;font-weight:700;display:inline-flex}.won-pile-rail-count strong{font-size:22px}.won-pile-rail-of{color:#f4f1e68c;font-size:12px;font-weight:500}.won-pile-rail-stack{flex-direction:column;flex:auto;align-items:center;gap:4px;width:100%;min-height:0;padding-top:4px;display:flex;overflow:hidden}.won-pile-tile{border:1px solid #d9b66a26;border-radius:4px;width:56px;height:18px;display:block}.won-pile-tile-filled{background:var(--felt-700);border-color:#d9b66a8c;padding:0;overflow:hidden;box-shadow:0 1px 3px #00000073,inset 0 0 0 1px #d9b66a2e}.won-pile-tile-face{pointer-events:none;width:100%;height:100%;display:block}.won-pile-tile-empty{background:#0000002e;border-style:dashed}.won-pile-rail-contract{border-color:var(--gold-400);box-shadow:inset 0 0 18px #00000059,0 0 0 1px #d9b66a73,0 0 24px #d9b66a1f}.won-pile-rail-contract .won-pile-rail-team,.won-pile-rail-contract .won-pile-rail-count{color:var(--gold-400)}@media (min-width:1024px){.table-screen{grid-template-columns:var(--spacing-rail-w) minmax(0,1fr) var(--spacing-rail-w);height:100dvh;min-height:100dvh;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"hud hud hud""rl body rr""hand hand hand";gap:8px 12px;overflow:hidden}.won-pile-rail-left{grid-area:rl;align-self:stretch;display:flex}.won-pile-rail-right{grid-area:rr;align-self:stretch;display:flex}}.peek-root{right:max(12px,env(safe-area-inset-right));z-index:18;pointer-events:none;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed;bottom:140px}.peek-toggle{pointer-events:auto;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-100);cursor:pointer;background:linear-gradient(#142018f0,#0a100ce6);border:1px solid #d9b66a73;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;transition:transform .12s,box-shadow .12s,border-color .12s;display:inline-flex;box-shadow:0 6px 14px #00000073,inset 0 0 0 1px #d9b66a26}.peek-toggle:hover,.peek-toggle:focus-visible{border-color:var(--gold-400);outline:none;transform:translateY(-1px);box-shadow:0 8px 18px #0000008c,inset 0 0 0 1px #d9b66a4d}.peek-toggle-open{border-color:var(--gold-400);background:linear-gradient(#223224f5,#101812eb)}.peek-toggle-label{font-weight:600}.peek-popover{pointer-events:auto;border-radius:var(--radius-lg);border:1px solid var(--gold-400);width:min(320px,100vw - 24px);color:var(--ink-100);background:linear-gradient(#121c16f7,#080e0bf0);padding:12px 14px 14px;box-shadow:0 22px 40px #0009,inset 0 0 0 1px #d9b66a2e,0 0 32px #d9b66a14}.peek-header{letter-spacing:.04em;color:#f4f1e6bf;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px;font-size:12px;display:flex}.peek-header strong{color:var(--gold-400);text-transform:uppercase}.peek-led{color:#f4f1e6d9;font-size:14px}.peek-winner{font-size:11px}.peek-winner strong{color:var(--ink-100);text-transform:none}.peek-board{aspect-ratio:4/3;width:100%;margin:0 auto;position:relative}.peek-board .card{--card-w:44px;--card-h:64px}.peek-play{opacity:.85;transition:opacity .12s,transform .12s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.peek-play-slot-0{transform:translate(-50%,calc(56px - 50%))}.peek-play-slot-1{transform:translate(calc(72px - 50%),-50%)}.peek-play-slot-2{transform:translate(-50%,calc(-50% - 56px))}.peek-play-slot-3{transform:translate(calc(-50% - 72px),-50%)}.peek-board-6p .peek-play-slot-1{transform:translate(calc(64px - 50%),calc(36px - 50%))}.peek-board-6p .peek-play-slot-2{transform:translate(calc(64px - 50%),calc(-50% - 36px))}.peek-board-6p .peek-play-slot-3{transform:translate(-50%,calc(-50% - 56px))}.peek-board-6p .peek-play-slot-4{transform:translate(calc(-50% - 64px),calc(-50% - 36px))}.peek-board-6p .peek-play-slot-5{transform:translate(calc(-50% - 64px),calc(36px - 50%))}.peek-play-winner{opacity:1}.peek-play-winner:after{content:"";border:2px solid var(--gold-400);pointer-events:none;border-radius:8px;position:absolute;inset:-4px;box-shadow:0 0 14px #d9b66a73}@media (max-width:720px){.peek-root{bottom:116px}.peek-popover{width:min(280px,100vw - 16px)}.peek-board .card{--card-w:38px;--card-h:54px}.peek-play-slot-0{transform:translate(-50%,calc(44px - 50%))}.peek-play-slot-1{transform:translate(calc(58px - 50%),-50%)}.peek-play-slot-2{transform:translate(-50%,calc(-50% - 44px))}.peek-play-slot-3{transform:translate(calc(-50% - 58px),-50%)}}.table-screen[data-bidding-open=true] .seat[data-slot="0"]{visibility:hidden;pointer-events:none}.table-center{pointer-events:none;place-items:center;width:60%;max-width:360px;min-height:120px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.table-center>*{pointer-events:auto}.round-summary-overlay{-webkit-backdrop-filter:blur(3px);z-index:50;background:#0614108c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.round-summary-card{background:linear-gradient(160deg,var(--ink-700),var(--ink-900));border-radius:var(--radius-lg);border:1px solid #d9b66a59;flex-direction:column;gap:12px;width:min(440px,100%);padding:22px 24px;display:flex;box-shadow:0 24px 60px #00000080}.round-summary-card h2{letter-spacing:.02em;margin:0 0 4px;font-size:18px}.round-summary-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.round-summary-label{text-transform:uppercase;letter-spacing:.08em;color:#f4f1e6a6;font-size:12px}.round-summary-value{flex-wrap:wrap;align-items:baseline;gap:8px;font-size:15px;display:inline-flex}.round-summary-meta{color:#f4f1e699;font-size:12px}.round-team-pill{background:#00000040;border:1px solid #ffffff1f;border-radius:999px;padding:2px 10px;font-size:13px}.round-team-pill.is-contract{border-color:var(--gold-400);color:var(--gold-400)}.round-winner{color:var(--gold-400);font-size:16px}.round-winner-push{color:#f4f1e6bf}.round-summary-forfeit .round-summary-value{color:var(--warn-500);font-size:13px}.round-summary-next{color:#f4f1e68c;text-align:right;margin:0;font-size:12px}.game-over-overlay{-webkit-backdrop-filter:blur(4px);z-index:60;background:#061410b3;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.game-over-card{background:linear-gradient(160deg,var(--ink-700),var(--ink-900));border:1px solid var(--gold-400);border-radius:var(--radius-lg);flex-direction:column;gap:14px;width:min(640px,100%);padding:24px 28px;display:flex;box-shadow:0 24px 60px #0009}.game-over-title{letter-spacing:.04em;color:var(--gold-400);text-align:center;margin:0;font-size:24px}.game-over-aggregates{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.game-over-agg{border-radius:var(--radius-md);background:#00000040;border:1px solid #ffffff0d;flex-direction:column;flex:auto;gap:2px;min-width:150px;padding:8px 12px;display:flex}.game-over-agg-label{text-transform:uppercase;letter-spacing:.08em;color:#f4f1e6a6;font-size:11px}.game-over-agg-value{font-size:14px;font-weight:600}.game-over-agg-value .is-winner{color:var(--gold-400)}.game-over-pushes{color:#f4f1e680;font-weight:500}.game-over-ledger-wrap{border-radius:var(--radius-md);border:1px solid #ffffff0f;max-height:280px;overflow:auto}.game-over-ledger{border-collapse:collapse;width:100%;font-size:13px}.game-over-ledger th,.game-over-ledger td{text-align:left;white-space:nowrap;border-bottom:1px solid #ffffff0d;padding:6px 10px}.game-over-ledger thead th{text-transform:uppercase;letter-spacing:.08em;color:#f4f1e6a6;background:#00000040;font-size:11px;position:sticky;top:0}.game-over-ledger tbody tr:last-child td{border-bottom:none}.game-over-delta{color:#f4f1e68c;font-size:12px}.game-over-forfeit-tag{color:var(--warn-500);font-size:12px}.game-over-actions{justify-content:flex-end;display:flex}.game-over-back{background:var(--gold-400);color:var(--ink-900);border-color:var(--gold-400);padding:10px 18px;font-weight:700}.game-over-back:hover:not(:disabled){background:#f0c97a;border-color:#f0c97a}.lobby{flex-direction:column;gap:20px;max-width:880px;margin:0 auto;padding:24px 20px 40px;display:flex}.lobby-loading,.lobby-disconnected{text-align:center;padding-top:80px}.lobby-loading-msg,.lobby-disconnected-msg{color:var(--ink-100);opacity:.85}.lobby-title{letter-spacing:1px;color:var(--gold-400);margin:0 0 4px;font-size:32px;font-weight:700}.lobby-host-line{opacity:.8;margin:0;font-size:14px}.lobby-header{border-bottom:1px solid #ffffff14;flex-direction:column;gap:12px;padding-bottom:8px;display:flex}.lobby-section-title{text-transform:uppercase;letter-spacing:1.5px;color:var(--gold-400);opacity:.9;margin:0 0 8px;font-size:14px}.lobby-config{border-radius:var(--radius-md);background:#0000002e;border:1px solid #ffffff0f;padding:14px 16px}.lobby-config-row{flex-wrap:wrap;gap:14px;display:flex}.lobby-fieldset{border-radius:var(--radius-sm);border:1px solid #ffffff1a;flex:200px;min-width:0;margin:0;padding:8px 10px 10px}.lobby-fieldset[disabled]{opacity:.55}.lobby-fieldset legend{text-transform:uppercase;letter-spacing:1px;opacity:.8;padding:0 6px;font-size:12px}.lobby-radio{cursor:pointer;align-items:center;gap:8px;padding:4px 0;font-size:14px;display:flex}.lobby-radio input[type=radio]{accent-color:var(--gold-400);cursor:pointer}.lobby-fieldset[disabled] .lobby-radio{cursor:default}.lobby-config-note{opacity:.8;margin:10px 0 0;font-size:13px}.lobby-seats-section{border-radius:var(--radius-md);background:#0000002e;border:1px solid #ffffff0f;padding:14px 16px}.lobby-seats{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.lobby-seat{background:var(--ink-700);border-radius:var(--radius-sm);border:1px solid #ffffff0f;grid-template-columns:40px 76px 1fr auto;align-items:center;gap:10px;padding:8px 12px;display:grid}.lobby-seat-you{border-color:var(--gold-400);background:#d9b66a14}.lobby-seat-host{box-shadow:inset 3px 0 0 var(--gold-400)}.lobby-seat-offline .lobby-seat-name{opacity:.65}.lobby-seat-index{opacity:.7;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px}.lobby-seat-team{text-transform:uppercase;letter-spacing:1px;opacity:.85;font-size:11px}.lobby-seat-team[data-team=A]{color:#7dc4ff}.lobby-seat-team[data-team=B]{color:#ffb47d}.lobby-seat-name{align-items:center;gap:8px;min-width:0;font-size:15px;font-weight:500;display:flex}.lobby-seat-meta{opacity:.6;margin-left:2px;font-size:12px;font-weight:400}.lobby-seat-dot{background:#333;border-radius:50%;width:8px;height:8px;display:inline-block;box-shadow:0 0 0 2px #00000040}.lobby-seat-dot-on{background:#4cd181}.lobby-seat-dot-off{background:#6a5b3a}.lobby-seat-badge{text-transform:uppercase;letter-spacing:.8px;white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:11px}.lobby-seat-badge-human{color:#b6e9c8;background:#4cd1812e}.lobby-seat-badge-bot{color:#c2cff0;background:#6a86d92e}.lobby-seat-badge-covering{color:#ffd9a0;background:#c98a1a38}.lobby-seat-swap{padding:4px 10px;font-size:12px}.lobby-hint{opacity:.7;margin:10px 0 0;font-size:12px}.lobby-footer{justify-content:space-between;align-items:center;gap:12px;padding-top:6px;display:flex}.lobby-start{background:var(--gold-400);color:var(--ink-900);border:1px solid var(--gold-400);padding:10px 24px;font-weight:700}.lobby-start:hover:not(:disabled){background:#e9c47b;border-color:#e9c47b}.lobby-start:disabled{color:#0c1410a6;background:#d9b66a59}.lobby-leave{background:0 0;border-color:#ffffff2e;font-size:13px}.lobby-waiting{opacity:.85;margin:0;font-size:14px}.lobby-reconnecting{border-radius:var(--radius-sm);color:#ffd9a0;background:#c98a1a2e;border:1px solid #c98a1a73;align-self:flex-start;padding:8px 12px;font-size:13px}@media (max-width:520px){.lobby{padding:16px 12px 32px}.lobby-title{font-size:26px}.lobby-seat{grid-template-rows:auto auto;grid-template-columns:32px 64px 1fr;row-gap:4px}.lobby-seat-badge{grid-column:2/-1;justify-self:start}.lobby-seat-swap{grid-column:1/-1;justify-self:stretch}.share-link-code{letter-spacing:4px;font-size:26px}.lobby-config-row{flex-direction:column;gap:10px}}.card{--card-w:56px;--card-h:80px;width:var(--card-w);height:var(--card-h);border-radius:var(--radius-sm);color:var(--ink-900);box-shadow:var(--shadow-card);-webkit-user-select:none;user-select:none;background:0 0;border:0;padding:0;font-family:ui-sans-serif,system-ui,Segoe UI,-apple-system,Helvetica,Arial,sans-serif;transition:transform .12s,box-shadow .12s,opacity .12s;position:relative;overflow:hidden}.card-face{pointer-events:none;width:100%;height:100%;display:block}button.card.card-interactive{cursor:pointer}button.card.card-interactive:focus-visible{outline:2px solid var(--gold-400);outline-offset:3px;transform:translateY(-6px)}.card-dim{opacity:.35;filter:grayscale(.45);cursor:not-allowed}.card[aria-disabled=true]{cursor:not-allowed}.hand{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:6px;max-width:100%;padding:8px 12px 14px;display:flex}.hand-empty{min-height:40px}.hand-slot{transition:transform .12s;display:inline-flex;position:relative}.hand-slot-legal .card{box-shadow:var(--shadow-card),0 0 0 1px #d9b66a59}.hand-slot-focused .card{outline:2px solid var(--gold-400);outline-offset:2px}@container hand-band (max-width:720px){.hand{gap:0}.hand-slot+.hand-slot{margin-left:-22px}.hand-slot:hover,.hand-slot-focused{z-index:2}}@container hand-band (max-width:400px){.hand{gap:0;padding:6px 6px 10px}.hand-slot+.hand-slot{margin-left:-28px}.hand-slot:hover,.hand-slot-focused{z-index:2}}.trick{pointer-events:none;width:min(380px,80vw);height:min(280px,60vh);margin:0 auto;display:block;position:relative}.trick-play{transition:transform .28s,opacity .28s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.trick-play-slot-0{transform:translate(-50%,calc(70px - 50%))}.trick-play-slot-1{transform:translate(calc(90px - 50%),-50%)}.trick-play-slot-2{transform:translate(-50%,calc(-50% - 70px))}.trick-play-slot-3{transform:translate(calc(-50% - 90px),-50%)}.trick-play-slot-4{transform:translate(calc(-50% - 80px),calc(-50% - 50px))}.trick-play-slot-5{transform:translate(calc(-50% - 80px),calc(50px - 50%))}.felt-6p .trick-play-slot-1{transform:translate(calc(78px - 50%),calc(45px - 50%))}.felt-6p .trick-play-slot-2{transform:translate(calc(78px - 50%),calc(-50% - 45px))}.felt-6p .trick-play-slot-3{transform:translate(-50%,calc(-50% - 70px))}.trick-sweep .trick-play{pointer-events:none}.bidding-panel{border-radius:var(--radius-lg);background:#0c1410eb;border:1px solid #d9b66a66;flex-direction:column;gap:12px;max-width:460px;margin:12px auto;padding:16px 18px;display:flex;box-shadow:0 18px 36px #00000073}.bidding-panel-caller{border-color:var(--gold-400);animation:2.4s ease-in-out infinite bidding-hero-pulse;box-shadow:0 24px 48px #0000008c,0 0 0 1px #d9b66a8c,0 0 36px #d9b66a38}@keyframes bidding-hero-pulse{0%,to{box-shadow:0 24px 48px #0000008c,0 0 0 1px #d9b66a8c,0 0 28px #d9b66a2e}50%{box-shadow:0 24px 48px #0000008c,0 0 0 1px #d9b66ab3,0 0 44px #d9b66a57}}.bidding-panel-waiting{background:#0c1410c7;border-color:#d9b66a38;padding:10px 14px;box-shadow:0 10px 22px #00000059}.bidding-panel-header{flex-direction:column;gap:4px;display:flex}.bidding-panel-hero{text-align:center;align-items:center;gap:6px}.bidding-panel-title{color:var(--gold-400);margin:0;font-size:18px}.bidding-panel-title-hero{letter-spacing:.01em;text-shadow:0 1px #0000008c,0 0 18px #d9b66a66;font-size:clamp(22px,5vw,30px);font-weight:800}.bidding-panel-sub{color:#f4f1e6d9;margin:0;font-size:13px}.bidding-panel-hero .bidding-panel-sub{font-size:14px}.bidding-panel-high{color:var(--ink-100);margin:4px 0 0;font-size:14px}.bidding-panel-high-value{color:var(--gold-400);font-variant-numeric:tabular-nums;font-weight:700}.bidding-panel-high-suit{align-items:baseline;gap:4px;margin-left:2px;font-weight:700;display:inline-flex}.bidding-panel-high-suit.suit-red{color:var(--red-500)}.bidding-panel-high-suit.suit-black{color:var(--ink-100)}.bidding-panel-suit-letter{letter-spacing:.1em;color:#f4f1e699;font-size:10px}.bidding-panel-form{flex-direction:column;gap:12px;display:flex}.bidding-panel-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.bidding-panel-label{letter-spacing:.08em;text-transform:uppercase;color:#f4f1e6b3;min-width:78px;font-size:12px}.bidding-panel-value-readout{color:var(--ink-100);font-variant-numeric:tabular-nums;font-size:14px}.bidding-panel-countdown{border-radius:var(--radius-sm);background:#00000059;border:1px solid #d9b66a2e;justify-content:space-between;align-items:baseline;gap:8px;padding:8px 12px;display:flex}.bidding-panel-countdown-label{letter-spacing:.1em;text-transform:uppercase;color:#f4f1e699;font-size:11px}.bidding-panel-countdown-value{font-variant-numeric:tabular-nums;color:var(--gold-400);text-shadow:0 0 10px #d9b66a40;font-size:20px;font-weight:700}.bidding-panel-countdown-urgent{color:var(--warn-500);animation:1s ease-in-out infinite bidding-countdown-flash}@keyframes bidding-countdown-flash{0%,to{opacity:1}50%{opacity:.55}}.bidding-panel-trumps{gap:8px}.bidding-panel-trump{flex-direction:column;justify-content:center;align-items:center;gap:2px;width:56px;height:56px;padding:0;font-size:22px;display:inline-flex}.bidding-panel-caller .bidding-panel-trumps{justify-content:center;gap:12px}.bidding-panel-caller .bidding-panel-trump{width:64px;height:64px;font-size:26px}.bidding-panel-trump-glyph{line-height:1}.bidding-panel-trump-letter{letter-spacing:.1em;font-size:9px}.bidding-panel-trump-d,.bidding-panel-trump-h{color:var(--red-500)}.bidding-panel-trump-c,.bidding-panel-trump-s{color:var(--ink-100)}.bidding-panel-trump-selected{background:var(--felt-500);border-color:var(--gold-400)}.bidding-panel-actions{justify-content:center;gap:8px;display:flex}.bidding-panel-overbid .bidding-panel-actions{justify-content:flex-end}.bidding-panel-submit{background:var(--gold-400);color:var(--ink-900);border-color:var(--gold-400);min-width:140px;font-weight:700}.bidding-panel-caller .bidding-panel-submit{min-width:180px;padding:12px 24px;font-size:17px}.bidding-panel-submit:hover:not(:disabled){background:#f0c97a}.announce{z-index:20;border:1px solid var(--gold-400);border-radius:var(--radius-md);background:#0c1410f2;flex-direction:column;align-items:center;gap:4px;padding:12px 18px;animation:.24s ease-out announce-pop;display:flex;position:fixed;top:64px;left:50%;transform:translate(-50%);box-shadow:0 14px 28px #0009}@keyframes announce-pop{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.announce-title{letter-spacing:.08em;text-transform:uppercase;color:var(--gold-400);font-size:13px}.announce-detail{color:var(--ink-100);text-align:center;font-size:15px}.announce-roundForfeited{border-color:var(--warn-500)}.announce-roundForfeited .announce-title{color:var(--warn-500)}.lobby-seat-swap,.lobby-leave,.lobby-start,.game-over-back{min-height:44px}.bidding-panel-submit{min-height:44px;padding:10px 16px}:focus-visible{outline:2px solid var(--gold-400);outline-offset:2px}button.card.card-interactive:focus-visible{outline:2px solid var(--gold-400);outline-offset:3px;box-shadow:0 6px 14px #00000073,0 0 0 4px #d9b66a59}input[type=radio]:focus-visible,input[type=range]:focus-visible{outline:2px solid var(--gold-400);outline-offset:2px}@media (prefers-reduced-motion:reduce){.seat-turn-ring,.announce{animation:none}.card,.hand-slot,.trick-play,button{transition:none}}@media (prefers-contrast:more){:root{--felt-900:#000;--ink-100:#fff;--gold-400:gold}.hud{border-bottom:2px solid var(--gold-400)}.card{border:2px solid #000}button:focus-visible,:focus-visible{outline-width:3px}}@media (max-width:400px){.felt{aspect-ratio:4/5;min-height:0}.table-screen{padding-left:max(6px,env(safe-area-inset-left));padding-right:max(6px,env(safe-area-inset-right))}.hud{gap:6px;padding:8px}.hud-block{flex:auto;min-width:60px;padding:4px 8px}.hud-label{font-size:10px}.hud-value{font-size:15px}.hud-suit{font-size:18px}.hud-of{font-size:11px}.hud-sub{font-size:10px}.hud-score-pill{padding:2px 6px;font-size:12px}.hud-score-pill strong{font-size:14px}.hud-targets-value{font-size:11px}.card{--card-w:48px;--card-h:68px}.trick{width:min(280px,72vw);height:min(200px,48vh)}.bidding-panel{max-width:100%;margin:8px 4px;padding:12px}.lobby{padding:12px 8px 28px}.lobby-title{font-size:24px}.share-link-code{letter-spacing:3px;font-size:22px}.lobby-config-row{flex-direction:column;gap:8px}.lobby-seat{grid-template-rows:auto auto;grid-template-columns:28px 60px 1fr;row-gap:4px;padding:6px 8px}.lobby-seat-badge{grid-column:2/-1;justify-self:start}.lobby-seat-swap{grid-column:1/-1;justify-self:stretch}.round-summary-card,.game-over-card{padding:16px 14px}.game-over-ledger-wrap{max-height:200px}.game-over-ledger th,.game-over-ledger td{padding:5px 6px;font-size:12px}}@media (max-width:520px){.table-bottom{box-sizing:border-box;max-width:100vw;overflow-x:hidden}.table-center{width:70%;max-width:260px}.announce{white-space:normal;text-align:center;max-width:calc(100vw - 24px)}.seat-name{max-width:80px;font-size:10px}.hud-block{min-width:72px}}.seat-team-A .seat-ring{outline-offset:3px;outline:2px dashed #0000}.seat-team-B .seat-ring{outline-offset:3px;outline:2px solid #0000}@media (prefers-contrast:more){.seat-team-A .seat-ring{outline-color:#7dc4ff}.seat-team-B .seat-ring{outline-color:#ffb47d}}.felt-surface:after{content:"";border-radius:inherit;pointer-events:none;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");background-size:160px 160px;position:absolute;inset:0}.table-bottom{background:linear-gradient(#062e2300,#06141073 45%,#061410c7);box-shadow:inset 0 1px #d9b66a14}.hand-slot.hand-slot-legal .card{box-shadow:var(--shadow-card),0 0 0 1.5px #d9b66a8c,0 0 10px #d9b66a2e}button.card.card-interactive:hover{transform:translateY(-8px);box-shadow:0 10px 18px #00000080,0 0 0 1.5px #d9b66aa6}.hud-block.hud-trump .hud-value.hud-suit{background:#00000047;border:1px solid #d9b66a38;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;font-size:22px;display:inline-flex}.hud-block.hud-trump .hud-suit.suit-red{color:#ff8a87}.hud-block.hud-trump .hud-suit.suit-black{color:var(--ink-100)}.hud-block.hud-trump .hud-suit.hud-suit-empty{background:#0000002e;border-style:dashed;font-size:18px}.hud-block.hud-round .hud-sub strong{color:var(--gold-400)}.bidding-panel-trump{background:#00000059;border:1px solid #ffffff14;border-radius:8px;transition:background .12s,border-color .12s,transform 80ms;box-shadow:inset 0 1px #ffffff0a,0 1px 2px #0006}.bidding-panel-trump:hover:not(:disabled){background:#d9b66a14}.bidding-panel-trump.bidding-panel-trump-selected{border-color:var(--gold-400);background:linear-gradient(#d9b66a47,#d9b66a29);box-shadow:inset 0 1px #ffffff2e,0 0 0 1px #d9b66a73,0 0 12px #d9b66a40}.seat-avatar{background:linear-gradient(140deg,#243029,#0c1410)}.seat-you .seat-avatar{box-shadow:0 4px 12px #00000073,0 0 0 1px #d9b66a40,0 0 18px #d9b66a38}.seat-initials{color:#f6efd6;text-shadow:0 1px 1px #0000008c}.lobby-title,.gate-title{text-shadow:0 1px #00000073,0 0 24px #d9b66a40}.share-link{background:linear-gradient(#ffffff0d,#ffffff05);box-shadow:inset 0 1px #ffffff0f}.announce{background:linear-gradient(#14201af5,#08100cf5);box-shadow:0 16px 32px #000000a6,inset 0 1px #d9b66a2e}@media (prefers-reduced-motion:reduce){.bidding-panel-trump{transition:none}.felt-surface:after,.bidding-panel-caller,.bidding-panel-countdown-urgent{animation:none}}@media (prefers-contrast:more){.felt-surface:after{display:none}.card.card-pip,.card.card-joker{background:#fff;border-color:#000}.card.card-color-red{color:#c0392b}.card.card-joker-red{background:#fff;border-color:#c0392b}.card.card-joker-black{background:#fff;border-color:#000}.hand-slot.hand-slot-legal .card{box-shadow:0 0 0 2px var(--gold-400)}.hud-block.hud-trump .hud-value.hud-suit{background:0 0;border-width:2px}}@media (max-width:400px){.felt .seat[data-slot="0"]{display:none}}.card.card-trump{box-shadow:var(--shadow-card),inset 0 3px #d9b66ad9,inset 0 0 0 1.2px #a582328c}.card.card-trump:after{content:"★";color:#a58232d9;text-shadow:0 1px #ffffff8c;pointer-events:none;font-size:10px;line-height:1;position:absolute;bottom:3px;right:6px}button.card.card-trump.card-interactive:hover{box-shadow:0 10px 18px #00000080,inset 0 3px #d9b66af2,0 0 0 1.5px #d9b66ad9}.hand-slot.hand-slot-legal .card.card-trump{box-shadow:var(--shadow-card),inset 0 3px #d9b66ae6,0 0 0 1.5px #d9b66ab3,0 0 12px #d9b66a40}.card.card-trump.card-dim:after{opacity:.7}@media (prefers-contrast:more){.card.card-trump{background:#fff;border-color:#8a6a1e;box-shadow:inset 0 4px #8a6a1e,0 0 0 2px #8a6a1e80}.card.card-trump:after{color:#8a6a1e;font-weight:900}}.felt-surface:after{opacity:.09;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.95' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}.howto-button{width:32px;height:32px;color:var(--gold-400,#d9b66a);cursor:pointer;background:0 0;border:1.5px solid #d9b66a73;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:16px;font-weight:700;line-height:1;display:inline-flex}.howto-button:hover,.howto-button:focus-visible{outline:2px solid var(--gold-400,#d9b66a);outline-offset:2px;background:#d9b66a1f}.howto-backdrop{z-index:50;background:#0000009e;justify-content:center;align-items:center;padding:24px;animation:.12s ease-out howto-fade-in;display:flex;position:fixed;inset:0}@keyframes howto-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.howto-backdrop{animation:none}}.howto-panel{width:100%;max-width:640px;max-height:90vh;color:var(--ink-100,#f5f1e6);background:linear-gradient(165deg,#0e2a22,#061814);border:1.5px solid #d9b66a4d;border-radius:12px;flex-direction:column;display:flex;box-shadow:0 18px 42px #0000008c}.howto-header{border-bottom:1px solid #d9b66a2e;justify-content:space-between;align-items:center;padding:18px 22px 12px;display:flex}.howto-title{letter-spacing:.01em;color:var(--gold-400,#d9b66a);margin:0;font-size:22px;font-weight:700}.howto-close{color:var(--ink-300,#fff9);cursor:pointer;background:0 0;border:none;border-radius:50%;width:32px;height:32px;font-size:20px}.howto-close:hover,.howto-close:focus-visible{color:var(--ink-100,#f5f1e6);outline-offset:2px;background:#ffffff14;outline:2px solid #d9b66a8c}.howto-body{padding:14px 22px 20px;font-size:14.5px;line-height:1.55;overflow-y:auto}.howto-section{margin-top:14px}.howto-section:first-child{margin-top:4px}.howto-section h3{letter-spacing:.03em;text-transform:uppercase;color:var(--gold-400,#d9b66a);margin:0 0 6px;font-size:15px}.howto-section p,.howto-section ul{margin:0 0 6px}.howto-section ul{padding-left:18px}.howto-section li{margin-bottom:4px}.howto-section.howto-aside{color:var(--ink-300,#ffffffbf);border-top:1px dashed #d9b66a33;margin-top:18px;padding-top:14px}.howto-footer{border-top:1px solid #d9b66a2e;justify-content:flex-end;padding:14px 22px 18px;display:flex}.howto-close-foot{background:var(--gold-400,#d9b66a);color:#06140f;cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:700}.howto-close-foot:hover,.howto-close-foot:focus-visible{outline-offset:2px;background:#e8c885;outline:2px solid #fff}@media (max-width:400px){.howto-panel{max-height:94vh}.howto-body{padding:12px 16px 16px;font-size:14px}.howto-header{padding:14px 16px 10px}.howto-footer{padding:12px 16px 14px}}@media (max-width:480px){.felt .seat[data-slot="0"]{display:none}.felt .seat[data-slot="1"]{margin-left:-22px;margin-right:22px}.felt .seat[data-slot="3"]{margin-left:22px;margin-right:-22px}.felt-6p .seat[data-slot="1"],.felt-6p .seat[data-slot="2"]{margin-left:-22px;margin-right:22px}.felt-6p .seat[data-slot="4"],.felt-6p .seat[data-slot="5"]{margin-left:22px;margin-right:-22px}.hud{gap:4px;padding:6px}.hud-block{flex:28%;min-width:0;padding:4px 6px}.hud-block.hud-round .hud-sub{display:none}.card{--card-w:48px;--card-h:68px}.hand{gap:0;padding:6px 6px 10px}.hand-slot+.hand-slot{margin-left:-16px}.hand-slot:hover,.hand-slot-focused{z-index:2}.hand-slot-focused .card,.hand-slot:hover .card{transform:translateY(-4px)}.trick{width:min(220px,64vw);height:min(180px,42vh)}.table-center{width:64%;max-width:220px}.table-screen{padding-left:max(4px,env(safe-area-inset-left));padding-right:max(4px,env(safe-area-inset-right))}.felt{aspect-ratio:4/5;min-height:0}.seat-meta{max-width:84px}.seat-name{max-width:84px;font-size:10px}.seat-hand-chip{padding:1px 6px;font-size:10px;right:-8px}.seat-bot-badge{padding:1px 4px;font-size:9px;left:-8px}}@media (max-width:380px){.hud-block.hud-targets .hud-targets-value{font-size:10px;line-height:1.3}.card{--card-w:44px;--card-h:62px}.hand-slot+.hand-slot{margin-left:-14px}.felt .seat[data-slot="1"]{margin-left:-28px;margin-right:28px}.felt .seat[data-slot="3"]{margin-left:28px;margin-right:-28px}.felt-6p .seat[data-slot="1"],.felt-6p .seat[data-slot="2"]{margin-left:-28px;margin-right:28px}.felt-6p .seat[data-slot="4"],.felt-6p .seat[data-slot="5"]{margin-left:28px;margin-right:-28px}}@media (min-width:1024px){.table-screen:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(110% 90% at 50% 38%,#143c2e2e,#081e1747,#000a078c);position:absolute;inset:0}.table-screen>*{z-index:1;position:relative}}.felt-surface{box-shadow:inset 0 0 80px #0000008c,inset 0 0 0 2px #d9b66a80,inset 0 0 0 6px #00000059,inset 0 0 0 7px #d9b66a38,0 0 0 1.5px #d9b66a47,0 22px 70px #0000008c,0 4px 14px #00000059}.seat-avatar{background:radial-gradient(circle at 35% 28%,#2a3a32,#14201b 60%,#0c1410);border-color:#d9b66a8c;box-shadow:0 4px 12px #0000008c,0 0 0 1.5px #d9b66a2e,inset 0 1px #ffffff14}.seat-you .seat-avatar{border-color:var(--gold-400);box-shadow:0 4px 14px #0000008c,0 0 0 2px #d9b66a9e,inset 0 1px #ffffff1f}}@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing) * 0)}.mt-\[18px\]{margin-top:18px}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.h-\[120px\]{height:120px}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-screen{min-height:100vh}.w-\[200px\]{width:200px}.w-\[min\(400px\,100\%\)\]{width:min(400px,100%)}.w-full{width:100%}.flex-1{flex:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-\[14px\]{gap:14px}.gap-\[18px\]{gap:18px}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[rgb\(76_209_129\/0\.6\)\]{border-color:#4cd18199}.border-\[rgb\(198_59_59\/0\.6\)\]{border-color:#c63b3b99}.border-gold-400{border-color:var(--color-gold-400)}.border-gold-400\/35{border-color:#d9b66a59}@supports (color:color-mix(in lab,red,red)){.border-gold-400\/35{border-color:color-mix(in oklab,var(--color-gold-400) 35%,transparent)}}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.bg-\[rgb\(76_209_129\/0\.25\)\]{background-color:#4cd18140}.bg-\[rgb\(198_59_59\/0\.25\)\]{background-color:#c63b3b40}.bg-gold-400{background-color:var(--color-gold-400)}.bg-white\/\[0\.04\]{background-color:#ffffff0a}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.04\]{background-color:color-mix(in oklab,var(--color-white) 4%,transparent)}}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-ink-700{--tw-gradient-from:var(--color-ink-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-ink-900{--tw-gradient-to:var(--color-ink-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.p-4{padding:calc(var(--spacing) * 4)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-7{padding-block:calc(var(--spacing) * 7)}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[32px\]{font-size:32px}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.02em\]{--tw-tracking:.02em;letter-spacing:.02em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[1\.5px\]{--tw-tracking:1.5px;letter-spacing:1.5px}.tracking-\[1px\]{--tw-tracking:1px;letter-spacing:1px}.tracking-\[6px\]{--tw-tracking:6px;letter-spacing:6px}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.text-gold-400{color:var(--color-gold-400)}.text-ink-100\/65{color:#f4f1e6a6}@supports (color:color-mix(in lab,red,red)){.text-ink-100\/65{color:color-mix(in oklab,var(--color-ink-100) 65%,transparent)}}.text-ink-900{color:var(--color-ink-900)}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.decoration-dotted{text-decoration-style:dotted}.underline-offset-\[3px\]{text-underline-offset:3px}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow-\[0_24px_60px_rgb\(0_0_0\/0\.5\)\]{--tw-shadow:0 24px 60px var(--tw-shadow-color,#00000080);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-card{--tw-shadow:0 2px 6px var(--tw-shadow-color,#00000059);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.select-all{-webkit-user-select:all;user-select:all}@media (hover:hover){.enabled\:hover\:border-\[\#f0c97a\]:enabled:hover{border-color:#f0c97a}.enabled\:hover\:bg-\[\#f0c97a\]:enabled:hover{background-color:#f0c97a}}@media not all and (min-width:400px){.max-\[400px\]\:px-4{padding-inline:calc(var(--spacing) * 4)}.max-\[400px\]\:py-5{padding-block:calc(var(--spacing) * 5)}.max-\[400px\]\:text-\[26px\]{font-size:26px}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}:root{--felt-900:#062e23;--felt-700:#0b3d2e;--felt-500:#136e51;--felt-300:#2da27d;--gold-400:#d9b66a;--ink-900:#0c1410;--ink-700:#1a2622;--ink-100:#f4f1e6;--red-500:#c63b3b;--blue-500:#2a6cd1;--warn-500:#c98a1a;--radius-sm:6px;--radius-md:10px;--radius-lg:18px;--shadow-card:0 2px 6px #00000059;color-scheme:dark}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
