input:where(:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=button]):not([type=submit]):not([type=reset]):not([type=file]):not([type=image]):not([type=hidden])),textarea,select{font:inherit;color:var(--text);background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:var(--space-8) var(--space-12)}textarea{resize:vertical;line-height:1.5}select{cursor:pointer}input:where(:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=button]):not([type=submit]):not([type=reset]):not([type=file]):not([type=image]):not([type=hidden]))::placeholder,textarea::placeholder{color:var(--text-placeholder);opacity:1}input:where(:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=button]):not([type=submit]):not([type=reset]):not([type=file]):not([type=image]):not([type=hidden])):disabled,textarea:disabled,select:disabled{opacity:.6;cursor:not-allowed}input[type=checkbox],input[type=radio]{width:1.1rem;height:1.1rem;accent-color:var(--accent-fill);cursor:pointer;flex-shrink:0}input[type=checkbox]{appearance:none;border:2px solid var(--border-strong);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface-raised) 88%, transparent);width:1.25rem;height:1.25rem;box-shadow:inset 0 1px 1px color-mix(in srgb, var(--text) 8%, transparent);place-content:center;margin:0;transition:background .12s,border-color .12s,box-shadow .12s,transform .12s;display:inline-grid}input[type=checkbox]:before{content:"";border-left:2px solid var(--accent-contrast);border-bottom:2px solid var(--accent-contrast);width:.58rem;height:.32rem;transition:transform .12s;transform:translateY(-1px)rotate(-45deg)scale(0)}input[type=checkbox]:checked{border-color:var(--accent-fill);background:var(--accent-fill);box-shadow:0 3px 10px color-mix(in srgb, var(--accent-fill) 28%, transparent)}input[type=checkbox]:checked:before{transform:translateY(-1px)rotate(-45deg)scale(1)}input[type=checkbox]:hover:not(:disabled){border-color:var(--accent-fill);transform:translateY(calc(-1px * var(--lift-on)))}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed;opacity:.6}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root[data-theme=dark],.theme-preview--dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--base:#2f343f;--nav-bg:#23262f;--surface:#14151a;--surface-raised:#3f4455;--surface-hover:#464c5e;--border:#747c94;--border-strong:#8a94b4;--text:#f2f3f5;--text-2:#b0b7c4;--text-placeholder:#adb4c1;--accent:#b8adff;--accent-fill:#5f4ed9;--accent-fill-hover:#6a5ae0;--accent-contrast:#fff;--accent-soft:#b8adff1f;--danger-text:#ff7768;--danger-fill:#c0392b;--success-text:#4ade80;--warning-text:#fbbf24;--info-text:#7dd3fc;--shadow-card:0 1px 2px #00000021, 0 5px 10px -3px #0000002e, 0 12px 20px -8px #00000052;--shadow-card-hover:0 1px 2px #0000002e, 0 5px 10px -3px #00000040, 0 12px 20px -8px #00000073;--card-back-light:#e9e6dd;--card-back-dark:#1d1b30;--card-back-ink:#5b4bd1}:root{--space-2:2px;--space-4:4px;--space-6:6px;--space-8:8px;--space-12:12px;--space-16:16px;--space-24:24px;--space-32:32px;--space-48:48px;--space-64:64px;--page-top:var(--space-32);--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:999px;--radius-circle:50%;--z-nav-bar:40;--z-felt-panel:55;--z-felt-panel-over:56;--z-felt-menu:57;--z-popup:60;--z-dock-rail:70;--z-window:80;--z-site-notice:85;--z-nav-menu:900;--z-menu:950;--z-dialog:1000;--z-loading:1001}:root[data-theme=slate],.theme-preview--slate{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--base:#3b4351;--nav-bg:#303744;--surface:#252a34;--surface-raised:#464e5d;--surface-hover:#505969;--border:#98a2b5;--border-strong:#afb8c9;--text:#f2f3f5;--text-2:#c6ccd9;--text-placeholder:#c2c8d5;--accent:#e4dccb;--accent-fill:#e4dccb;--accent-fill-hover:#fff8e8;--accent-contrast:#252a34;--accent-soft:#e4dccb1a;--danger-text:#ffa69b;--danger-fill:#c0392b;--success-text:#4ade80;--warning-text:#fbbf24;--info-text:#7dd3fc;--shadow-card:0 1px 2px #0000001a, 0 5px 10px -3px #00000024, 0 12px 20px -8px #00000040;--shadow-card-hover:0 1px 2px #00000024, 0 5px 10px -3px #0003, 0 12px 20px -8px #00000059;--card-back-light:#e7e5e0;--card-back-dark:#232739;--card-back-ink:#78562d}:root[data-theme=light],.theme-preview--light{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--base:#f6f5f9;--nav-bg:#eae7f1;--surface:#fff;--surface-raised:#eae8f1;--surface-hover:#e1dee9;--border:#89878f;--border-strong:#7d798b;--text:#1b1a22;--text-2:#5b5866;--text-placeholder:#696674;--accent:#6255c3;--accent-fill:#6255c3;--accent-fill-hover:#5b4bd1;--accent-contrast:#fff;--accent-soft:#6255c31f;--danger-text:#b3271a;--danger-fill:#c0392b;--success-text:#147839;--warning-text:#826313;--info-text:#2f6f8f;--shadow-card:0 1px 2px #1b1a2205, 0 5px 10px -3px #1b1a220a, 0 12px 20px -8px #1b1a2212;--shadow-card-hover:0 1px 2px #1b1a2208, 0 5px 10px -3px #1b1a220f, 0 12px 20px -8px #1b1a221a;--card-back-light:#f1eff7;--card-back-dark:#2b2740;--card-back-ink:#6c5dd3}:root[data-theme=gold],.theme-preview--gold{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--base:#2e333e;--nav-bg:#21262f;--surface:#12141a;--surface-raised:#3d4451;--surface-hover:#454d5b;--border:#737b93;--border-strong:#8993b0;--text:#f5f4f0;--text-2:#b1b6c1;--text-placeholder:#aeb3be;--accent:#d5ac2a;--accent-fill:#c9a227;--accent-fill-hover:#dcb434;--accent-contrast:#1b1a15;--accent-soft:#d5ac2a1f;--danger-text:#ff7566;--danger-fill:#c0392b;--success-text:#4ade80;--warning-text:#fbbf24;--info-text:#7dd3fc;--shadow-card:0 1px 2px #00000024, 0 5px 10px -3px #0003, 0 12px 20px -8px #0000005c;--shadow-card-hover:0 1px 2px #0003, 0 5px 10px -3px #00000047, 0 12px 20px -8px #00000080;--card-back-light:#eeeade;--card-back-dark:#221c10;--card-back-ink:#9a7b14}:root[data-theme=graphite],.theme-preview--graphite{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--base:#373a40;--nav-bg:#2a2c30;--surface:#1b1c1e;--surface-raised:#454951;--surface-hover:#4e535c;--border:#848992;--border-strong:#979da7;--text:#eceae7;--text-2:#bdbbb7;--text-placeholder:#bbb9b5;--accent:#c9d3c5;--accent-fill:#c9d3c5;--accent-fill-hover:#f0f6ed;--accent-contrast:#1b1c1e;--accent-soft:#c9d3c51a;--danger-text:#ff8a7d;--danger-fill:#c0392b;--success-text:#5fdd92;--warning-text:#f3c24a;--info-text:#92d6fc;--shadow-card:0 1px 2px #0000001c, 0 5px 10px -3px #00000029, 0 12px 20px -8px #0000004a;--shadow-card-hover:0 1px 2px #00000026, 0 5px 10px -3px #00000038, 0 12px 20px -8px #0006;--card-back-light:#e9e6e1;--card-back-dark:#23242a;--card-back-ink:#416449}:root[data-theme=indigo],.theme-preview--indigo{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--base:#333c51;--nav-bg:#272f3f;--surface:#1a1f2b;--surface-raised:#414b62;--surface-hover:#4a5570;--border:#828fad;--border-strong:#96a2c0;--text:#eef1f7;--text-2:#bcc4d5;--text-placeholder:#b5bdce;--accent:#ffab9c;--accent-fill:#e06b52;--accent-fill-hover:#f07e63;--accent-contrast:#201815;--accent-soft:#ffab9c1f;--danger-text:#ff9083;--danger-fill:#c0392b;--success-text:#5fdd92;--warning-text:#f3c24a;--info-text:#92d6fc;--shadow-card:0 1px 2px #0000001c, 0 5px 10px -3px #00000029, 0 12px 20px -8px #0000004a;--shadow-card-hover:0 1px 2px #00000026, 0 5px 10px -3px #00000038, 0 12px 20px -8px #0006;--card-back-light:#e6eaf3;--card-back-dark:#202737;--card-back-ink:#e06b52}:root,:root[data-theme=cream],.theme-preview--cream{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--base:#ddd2bd;--nav-bg:#f0e9dc;--surface:#fff8e8;--surface-raised:#f4ecdb;--surface-hover:#ece2cf;--border:#6f6857;--border-strong:#635c4c;--text:#211e19;--text-2:#514b42;--text-placeholder:#6c665b;--accent:#244b70;--accent-fill:#244b70;--accent-fill-hover:#315f88;--accent-contrast:#fff;--accent-soft:#244b701f;--danger-text:#a3291c;--danger-fill:#c0392b;--success-text:#146b34;--warning-text:#75560f;--info-text:#2a6480;--shadow-card:0 1px 2px #3c321e08, 0 5px 10px -3px #3c321e0d, 0 12px 20px -8px #3c321e17;--shadow-card-hover:0 1px 2px #3c321e0a, 0 5px 10px -3px #3c321e12, 0 12px 20px -8px #3c321e21;--card-back-light:#f7f2e6;--card-back-dark:#33302a;--card-back-ink:#305b80}:root[data-theme=sage],.theme-preview--sage{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--base:#ced0c5;--nav-bg:#e7e6dc;--surface:#f4f3ea;--surface-raised:#e8e7dc;--surface-hover:#dddcd0;--border:#6c6b61;--border-strong:#5f5e55;--text:#1a1f1b;--text-2:#464e46;--text-placeholder:#616960;--accent:#72431d;--accent-fill:#72431d;--accent-fill-hover:#895529;--accent-contrast:#fff;--accent-soft:#72431d1f;--danger-text:#a3291c;--danger-fill:#c0392b;--success-text:#146b34;--warning-text:#75560f;--info-text:#2a6480;--shadow-card:0 1px 2px #362e1e08, 0 5px 10px -3px #362e1e0d, 0 12px 20px -8px #362e1e17;--shadow-card-hover:0 1px 2px #362e1e0a, 0 5px 10px -3px #362e1e12, 0 12px 20px -8px #362e1e21;--card-back-light:#f2f7ef;--card-back-dark:#2a332c;--card-back-ink:#72431d}:root[data-theme=midnight],.theme-preview--midnight{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--base:#2b3448;--nav-bg:#1d2639;--surface:#0d1527;--surface-raised:#3b4559;--surface-hover:#424c62;--border:#727d94;--border-strong:#8995ad;--text:#ecf4ff;--text-2:#abb7d0;--text-placeholder:#a8b4cd;--accent:#79bcff;--accent-fill:#2367a6;--accent-fill-hover:#2f72b1;--accent-contrast:#fff;--accent-soft:#79bcff1f;--danger-text:#ff7768;--danger-fill:#c0392b;--success-text:#4ade80;--warning-text:#fbbf24;--info-text:#7dd3fc;--shadow-card:0 1px 2px #00000021, 0 5px 10px -3px #0000002e, 0 12px 20px -8px #00000052;--shadow-card-hover:0 1px 2px #0000002e, 0 5px 10px -3px #00000040, 0 12px 20px -8px #00000073;--card-back-light:#dae7ff;--card-back-dark:#151d30;--card-back-ink:#1e63a1}:root[data-theme=moss],.theme-preview--moss{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--base:#373a40;--nav-bg:#2a2c30;--surface:#1b1c1e;--surface-raised:#454951;--surface-hover:#4e535c;--border:#848992;--border-strong:#979da7;--text:#f1ede4;--text-2:#c2bcae;--text-placeholder:#bdb7a9;--accent:#b7d88a;--accent-fill:#81b64c;--accent-fill-hover:#95c85f;--accent-contrast:#182014;--accent-soft:#81b64c24;--danger-text:#ff8a7d;--danger-fill:#c0392b;--success-text:#5fdd92;--warning-text:#f3c24a;--info-text:#92d6fc;--shadow-card:0 1px 2px #0000001c, 0 5px 10px -3px #00000029, 0 12px 20px -8px #0000004a;--shadow-card-hover:0 1px 2px #00000026, 0 5px 10px -3px #00000038, 0 12px 20px -8px #0006;--card-back-light:#eee7d7;--card-back-dark:#262720;--card-back-ink:#5d8f3f}:root[data-theme=wine],.theme-preview--wine{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--base:#452e30;--nav-bg:#362023;--surface:#240f12;--surface-raised:#573e41;--surface-hover:#5f4648;--border:#917678;--border-strong:#ab8e90;--text:#ffeff1;--text-2:#cdafb2;--text-placeholder:#caacaf;--accent:#ff9d8d;--accent-fill:#a24a3d;--accent-fill-hover:#ae5447;--accent-contrast:#fff;--accent-soft:#ff9d8d1f;--danger-text:#ff7768;--danger-fill:#c0392b;--success-text:#4ade80;--warning-text:#fbbf24;--info-text:#7dd3fc;--shadow-card:0 1px 2px #00000021, 0 5px 10px -3px #0000002e, 0 12px 20px -8px #00000052;--shadow-card-hover:0 1px 2px #0000002e, 0 5px 10px -3px #00000040, 0 12px 20px -8px #00000073;--card-back-light:#fedfe1;--card-back-dark:#2d171a;--card-back-ink:#9e4639}:root[data-theme=teal],.theme-preview--teal{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--base:#f1f8f7;--nav-bg:#e4f2ef;--surface:#fff;--surface-raised:#e6f2f0;--surface-hover:#daeae7;--border:#536e6a;--border-strong:#47625e;--text:#09221f;--text-2:#37514d;--text-placeholder:#516c68;--accent:#00635a;--accent-fill:#00635a;--accent-fill-hover:#00796f;--accent-contrast:#fff;--accent-soft:#00635a1f;--danger-text:#a3291c;--danger-fill:#c0392b;--success-text:#146b34;--warning-text:#75560f;--info-text:#2a6480;--shadow-card:0 1px 2px #3c321e08, 0 5px 10px -3px #3c321e0d, 0 12px 20px -8px #3c321e17;--shadow-card-hover:0 1px 2px #3c321e0a, 0 5px 10px -3px #3c321e12, 0 12px 20px -8px #3c321e21;--card-back-light:#daf9f4;--card-back-dark:#1b3531;--card-back-ink:#00635a}:root[data-theme=linen],.theme-preview--linen{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--base:#d7cec0;--nav-bg:#ede4d5;--surface:#fcf3e4;--surface-raised:#f1e8d9;--surface-hover:#e8dfd0;--border:#6f685b;--border-strong:#635c4f;--text:#241d13;--text-2:#524b3f;--text-placeholder:#6e6659;--accent:#943529;--accent-fill:#943529;--accent-fill-hover:#a64639;--accent-contrast:#fff;--accent-soft:#9435291f;--danger-text:#a3291c;--danger-fill:#c0392b;--success-text:#146b34;--warning-text:#75560f;--info-text:#2a6480;--shadow-card:0 1px 2px #3c321e08, 0 5px 10px -3px #3c321e0d, 0 12px 20px -8px #3c321e17;--shadow-card-hover:0 1px 2px #3c321e0a, 0 5px 10px -3px #3c321e12, 0 12px 20px -8px #3c321e21;--card-back-light:#faf1e2;--card-back-dark:#362f24;--card-back-ink:#943529}:root[data-theme=mist],.theme-preview--mist{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--base:#c4d1d9;--nav-bg:#dae7ef;--surface:#e8f6fe;--surface-raised:#ddebf3;--surface-hover:#d5e2ea;--border:#5f6a71;--border-strong:#535e65;--text:#162026;--text-2:#424d54;--text-placeholder:#5d686f;--accent:#874334;--accent-fill:#874334;--accent-fill-hover:#9d5545;--accent-contrast:#fff;--accent-soft:#8743341f;--danger-text:#a3291c;--danger-fill:#c0392b;--success-text:#146b34;--warning-text:#75560f;--info-text:#2a6480;--shadow-card:0 1px 2px #3c321e08, 0 5px 10px -3px #3c321e0d, 0 12px 20px -8px #3c321e17;--shadow-card-hover:0 1px 2px #3c321e0a, 0 5px 10px -3px #3c321e12, 0 12px 20px -8px #3c321e21;--card-back-light:#e7f4fd;--card-back-dark:#273238;--card-back-ink:#874334}:root[data-theme=rose],.theme-preview--rose{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--base:#d2c6e2;--nav-bg:#efe4f7;--surface:#fff0e8;--surface-raised:#f3e4ef;--surface-hover:#e8d7e2;--border:#76646a;--border-strong:#6a585e;--text:#291a20;--text-2:#58474d;--text-placeholder:#746268;--accent:#8a366a;--accent-fill:#8a366a;--accent-fill-hover:#9b467a;--accent-contrast:#fff;--accent-soft:#8a366a1f;--danger-text:#a3291c;--danger-fill:#c0392b;--success-text:#146b34;--warning-text:#75560f;--info-text:#2a6480;--shadow-card:0 1px 2px #3c321e08, 0 5px 10px -3px #3c321e0d, 0 12px 20px -8px #3c321e17;--shadow-card-hover:0 1px 2px #3c321e0a, 0 5px 10px -3px #3c321e12, 0 12px 20px -8px #3c321e21;--card-back-light:#ffeef5;--card-back-dark:#3c2c32;--card-back-ink:#8a366a}:root[data-theme=sand],.theme-preview--sand{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--base:#dbcdb8;--nav-bg:#f1e3ce;--surface:#fff2dd;--surface-raised:#f5e7d2;--surface-hover:#ecdec9;--border:#736754;--border-strong:#675b49;--text:#271d0c;--text-2:#564a38;--text-placeholder:#716553;--accent:#005d6f;--accent-fill:#005d6f;--accent-fill-hover:#006e82;--accent-contrast:#fff;--accent-soft:#005d6f1f;--danger-text:#a3291c;--danger-fill:#c0392b;--success-text:#146b34;--warning-text:#75560f;--info-text:#2a6480;--shadow-card:0 1px 2px #3c321e08, 0 5px 10px -3px #3c321e0d, 0 12px 20px -8px #3c321e17;--shadow-card-hover:0 1px 2px #3c321e0a, 0 5px 10px -3px #3c321e12, 0 12px 20px -8px #3c321e21;--card-back-light:#fff1db;--card-back-dark:#3a2f1e;--card-back-ink:#005d6f}:root{--accent-secondary:var(--accent);--page-bg:radial-gradient(105% 78% at 8% -8%, color-mix(in srgb, var(--accent) 32%, transparent), transparent 58%), radial-gradient(92% 72% at 96% 104%, color-mix(in srgb, var(--accent) 28%, transparent), transparent 62%), linear-gradient(165deg, var(--nav-bg) 0%, var(--base) 44%, color-mix(in srgb, var(--surface) 68%, var(--base)) 100%) var(--base);--panel-bg:radial-gradient(100% 80% at 0% 0%, color-mix(in srgb, var(--accent-secondary) 12%, transparent), transparent 62%), linear-gradient(165deg, var(--surface-raised) 0%, var(--surface) 68%);--panel-bg-frosted:linear-gradient(180deg, color-mix(in srgb, var(--surface-raised) 92%, transparent) 0%, color-mix(in srgb, var(--surface) 92%, transparent) 60%);--lift-fast:.12s;--lift-slow:.22s;--lift-ease:cubic-bezier(.2, .7, .3, 1);--lift-on:1}@media (prefers-reduced-motion:reduce){:root{--lift-on:0;--lift-fast:0s;--lift-slow:0s}}:root[data-effects=reduced]{--lift-on:0;--lift-fast:0s;--lift-slow:0s}:root{--suit-four-d-anchor:#3b82f6;--suit-four-c-anchor:#22a55c;--suit-four-d:color-mix(in srgb, var(--suit-four-d-anchor) 65%, var(--text));--suit-four-c:color-mix(in srgb, var(--suit-four-c-anchor) 65%, var(--text))}:root:not([data-theme]),:root[data-theme=cream]{--accent-secondary:#b86146;--nav-accent-start:42%;--nav-accent-end:30%;--nav-surface-opacity:62%}:root[data-theme=dark]{--accent-secondary:#5aa7b8}:root[data-theme=midnight]{--accent-secondary:#9878d5}:root[data-theme=wine]{--accent-secondary:#d59b55}:root[data-theme=graphite]{--accent-secondary:#c27655}:root[data-theme=moss]{--accent-secondary:#d6b27a}:root[data-theme=indigo]{--accent-secondary:#58c3d8}:root[data-theme=teal]{--accent-secondary:#00635a;--nav-accent-start:34%;--nav-accent-end:24%;--nav-surface-opacity:64%}:root[data-theme=slate]{--accent-secondary:#5e9bb5;--nav-accent-start:32%;--nav-accent-end:22%;--nav-surface-opacity:52%}:root[data-theme=sand]{--accent-secondary:#b96045}:root[data-theme=sage]{--accent-secondary:#ad813c}:root[data-theme=rose]{--accent-secondary:#c75b42}:root[data-theme=linen]{--accent-secondary:#718056}:root[data-theme=mist]{--accent-secondary:#d88a52}:root[data-theme=light]{--accent-secondary:#347f76}:root[data-theme=gold]{--accent-secondary:#a84e42}:root[data-theme=teal] .game-table,:root[data-theme=linen] .game-table,:root[data-theme=mist] .game-table,:root[data-theme=rose] .game-table,:root[data-theme=sand] .game-table{--card-edge:color-mix(in srgb, var(--text) 55%, transparent)}.lift{transition:transform var(--lift-fast) var(--lift-ease), box-shadow var(--lift-fast) var(--lift-ease), border-color var(--lift-fast) var(--lift-ease)}.lift:hover{transform:translateY(calc(-2px * var(--lift-on)));box-shadow:var(--shadow-card);border-color:var(--border-strong)}.lift:active{transition-duration:calc(60ms * var(--lift-on));transform:translateY(0)}.label-swap{place-items:center;display:grid}.label-swap>*{grid-area:1/1}.label-swap-hidden{visibility:hidden}:root{--bg-gradient-start:var(--base);--bg-gradient-end:var(--base);--card-bg:var(--surface);--card-bg-solid:var(--surface);--accent-color:var(--accent);--accent-color-hover:var(--accent-fill-hover);--text-color:var(--text);--subtext-color:var(--text-2);--border-color:var(--border);--success:var(--success-text);font-synthesis:none;text-rendering:optimizelegibility;font-optical-sizing:auto;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html{background:var(--page-bg);overscroll-behavior-y:none;min-height:100%}body{min-height:100dvh;color:var(--text);background:var(--page-bg);background-position:0 0,100% 100%,50%;background-size:125% 125%,120% 120%,100% 100%;background-attachment:fixed;margin:0;font-weight:380;animation:24s ease-in-out infinite alternate ambient-page-shift}@keyframes ambient-page-shift{0%{background-position:0 0,100% 100%,50%}to{background-position:10% 6%,88% 92%,50%}}@media (prefers-reduced-motion:reduce){body{animation:none}}:root[data-effects=reduced] body{animation:none}#root{flex-direction:column;min-height:100dvh;display:flex}h1,h2,h3{margin:0;font-weight:700;line-height:1.2}h1{letter-spacing:-.02em}p{color:var(--text-2);margin:0}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root{--nav-icon-accent:var(--accent-fill);--nav-icon-warm:color-mix(in srgb, var(--warning-text) 72%, #d08300);--nav-icon-cool:color-mix(in srgb, var(--info-text) 70%, #126a9a);--nav-icon-positive:color-mix(in srgb, var(--success-text) 70%, #087b46);--nav-icon-alert:color-mix(in srgb, var(--danger-text) 72%, #b62d22);--nav-icon-alt:var(--accent-secondary);--nav-icon-primary:var(--accent-fill);--nav-icon-secondary:var(--accent-secondary);--nav-icon-rim:color-mix(in srgb, var(--text) 72%, black)}.site-nav{padding:var(--space-16) var(--space-32);background:linear-gradient(135deg, color-mix(in srgb, var(--accent-fill) var(--nav-accent-start,50%), transparent), color-mix(in srgb, var(--accent-fill-hover) var(--nav-accent-end,38%), transparent)), color-mix(in srgb, var(--nav-bg) var(--nav-surface-opacity,34%), transparent);-webkit-backdrop-filter:blur(14px)saturate(1.3);border-bottom:1px solid color-mix(in srgb, var(--accent) 32%, var(--border));box-shadow:0 10px 30px color-mix(in srgb, var(--accent-fill) 16%, transparent), inset 0 -1px color-mix(in srgb, var(--accent) 16%, transparent);color:var(--text);justify-content:space-between;align-items:center;display:flex}:root[data-theme=gold]{--nav-icon-accent:#8870df;--nav-icon-warm:#ded7f7;--nav-icon-cool:#c8bdf0;--nav-icon-positive:#9278ed;--nav-icon-alert:#8870df;--nav-icon-alt:#ded7f7;--nav-icon-rim:#251942}:root[data-theme=graphite]{--nav-icon-accent:#b95f42;--nav-icon-warm:#dba62d;--nav-icon-cool:#5798b8;--nav-icon-positive:#54a574;--nav-icon-alert:#cf6554;--nav-icon-alt:#c68d6c}:root[data-theme=slate]{--nav-icon-accent:#7285c8;--nav-icon-warm:#d4a53b;--nav-icon-cool:#5a9dbd;--nav-icon-positive:#59a775;--nav-icon-alert:#cf6a60;--nav-icon-alt:#bd876b}:root[data-theme=dark],:root[data-theme=midnight],:root[data-theme=wine],:root[data-theme=graphite],:root[data-theme=moss],:root[data-theme=indigo],:root[data-theme=slate]{--nav-icon-rim:#101014}:root[data-theme=light]{--nav-icon-accent:#19171d;--nav-icon-warm:#d5a92e;--nav-icon-cool:#6f5310;--nav-icon-positive:#37323c;--nav-icon-alert:#b8870f;--nav-icon-alt:#e1b941;--nav-icon-rim:#08070a}.site-nav .brand{padding:var(--space-8) var(--space-12);border-radius:var(--radius-xl);color:var(--text);transform-origin:0;transition:opacity var(--lift-fast) var(--lift-ease), transform var(--lift-fast) var(--lift-ease);align-items:center;text-decoration:none;display:flex}.site-nav .brand svg{width:108px;height:auto;display:block}.site-nav .brand .nav-logo-mark{display:none}:root{--nav-scale:1;--nav-brand-scale:1;--nav-icon-size:29px;--nav-rail-collapsed-w:calc((var(--nav-icon-size) + 2 * var(--space-12) + 2 * var(--space-8)) * var(--nav-scale))}.nav-icon{--nav-icon-main-top:color-mix(in srgb, var(--nav-icon-primary) 76%, white);--nav-icon-main-mid:var(--nav-icon-primary);--nav-icon-main-bottom:color-mix(in srgb, var(--nav-icon-primary) 76%, black);--nav-icon-detail-top:color-mix(in srgb, var(--nav-icon-secondary) 68%, white);--nav-icon-detail-bottom:color-mix(in srgb, var(--nav-icon-secondary) 80%, black);width:calc(var(--nav-icon-size) * var(--nav-scale));height:calc(var(--nav-icon-size) * var(--nav-scale));filter:drop-shadow(0 1px 0 color-mix(in srgb, var(--nav-icon-rim) 68%, transparent));flex:none;display:block;overflow:visible}.nav-icon--home{--nav-icon-primary:var(--nav-icon-accent);--nav-icon-secondary:var(--nav-icon-warm)}.nav-icon--kais-corner{--nav-icon-primary:var(--nav-icon-cool);--nav-icon-secondary:var(--nav-icon-warm)}.nav-icon--lobby{--nav-icon-primary:var(--nav-icon-positive);--nav-icon-secondary:var(--nav-icon-warm)}.nav-icon--friends{--nav-icon-primary:var(--nav-icon-alert);--nav-icon-secondary:var(--nav-icon-cool)}.nav-icon--partnerships{--nav-icon-primary:var(--nav-icon-warm);--nav-icon-secondary:var(--nav-icon-alt)}.nav-icon--settings{--nav-icon-primary:var(--nav-icon-alert);--nav-icon-secondary:var(--nav-icon-warm)}.nav-icon--account{--nav-icon-primary:var(--nav-icon-cool);--nav-icon-secondary:var(--nav-icon-alert)}.nav-icon--history{--nav-icon-primary:var(--nav-icon-warm);--nav-icon-secondary:var(--nav-icon-cool)}.nav-icon--messages{--nav-icon-primary:var(--nav-icon-cool);--nav-icon-secondary:var(--nav-icon-warm)}.nav-icon--invitations{--nav-icon-primary:var(--nav-icon-alt);--nav-icon-secondary:var(--nav-icon-alert)}.nav-icon--admin,.nav-icon--sign-out{--nav-icon-primary:var(--nav-icon-alert);--nav-icon-secondary:var(--nav-icon-warm)}.nav-icon--sandbox{--nav-icon-primary:var(--nav-icon-cool);--nav-icon-secondary:var(--nav-icon-alert)}.nav-icon--lab{--nav-icon-primary:var(--nav-icon-alt);--nav-icon-secondary:var(--nav-icon-warm)}.nav-icon--return-to-table{--nav-icon-primary:var(--nav-icon-warm);--nav-icon-secondary:var(--nav-icon-accent)}.nav-icon--collapse{--nav-icon-primary:var(--nav-icon-alert);--nav-icon-secondary:var(--nav-icon-warm)}:root[data-theme=light] .nav-icon--admin{--nav-icon-primary:#e2ad1b;--nav-icon-secondary:#17151b}:root[data-theme=light] .nav-icon--sandbox,:root[data-theme=light] .nav-icon--settings,:root[data-theme=light] .nav-icon--sign-out{--nav-icon-primary:#17151b;--nav-icon-secondary:#e2ad1b}:root[data-theme=light] .nav-icon--lab,:root[data-theme=light] .nav-icon--partnerships{--nav-icon-primary:#e2ad1b;--nav-icon-secondary:#17151b}:root[data-theme=light] .nav-icon--kais-corner,:root[data-theme=light] .nav-icon--account,:root[data-theme=light] .nav-icon--collapse{--nav-icon-primary:#17151b;--nav-icon-secondary:#e2ad1b}:root[data-theme=light] .nav-icon--friends,:root[data-theme=light] .nav-icon--history,:root[data-theme=light] .nav-icon--invitations{--nav-icon-primary:#e2ad1b;--nav-icon-secondary:#17151b}:root[data-theme=light] .nav-icon--messages{--nav-icon-primary:#17151b;--nav-icon-secondary:#e2ad1b}:root[data-theme=gold] .nav-icon--home,:root[data-theme=gold] .nav-icon--kais-corner,:root[data-theme=gold] .nav-icon--friends,:root[data-theme=gold] .nav-icon--partnerships,:root[data-theme=gold] .nav-icon--settings,:root[data-theme=gold] .nav-icon--account,:root[data-theme=gold] .nav-icon--sandbox,:root[data-theme=gold] .nav-icon--sign-out,:root[data-theme=gold] .nav-icon--history,:root[data-theme=gold] .nav-icon--invitations,:root[data-theme=gold] .nav-icon--collapse{--nav-icon-primary:#9278ed;--nav-icon-secondary:#ded7f7}:root[data-theme=gold] .nav-icon--admin,:root[data-theme=gold] .nav-icon--messages{--nav-icon-primary:#f7f4ff;--nav-icon-secondary:#8870df}.nav-icon-edge{stroke:var(--nav-icon-rim);stroke-width:1.45px;stroke-linecap:round;stroke-linejoin:round;paint-order:stroke fill}.nav-icon-divider,.nav-icon-collapse-arrow{fill:none;stroke:var(--nav-icon-rim);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}:root[data-theme=light] .nav-icon-collapse-arrow{stroke:var(--surface)}.nav-icon-glint{fill:#ffffff24}.nav-icon-glint-soft{fill:#ffffff14}.nav-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.nav-rail-toggle{display:none}.nav-destinations,.nav-utilities{display:contents}.site-nav .brand:hover{opacity:.96;transform:none}.nav-links{align-items:center;gap:var(--space-24);display:flex}.nav-links .nav-dest{color:var(--text-2);transition:color var(--lift-fast) var(--lift-ease), transform var(--lift-fast) var(--lift-ease);font-size:14px;font-weight:600;text-decoration:none}.nav-links .nav-dest:hover{color:var(--text);transform:translateY(calc(-1px * var(--lift-on)));text-shadow:0 1px 10px color-mix(in srgb, var(--accent) 40%, transparent)}.nav-links .nav-dest[aria-current=page]{color:var(--text);position:relative}.nav-links .nav-dest[aria-current=page]:after{content:"";left:0;right:0;bottom:calc(-1 * var(--space-6));border-radius:var(--radius-pill);background:var(--accent);height:2px;box-shadow:0 0 10px color-mix(in srgb, var(--accent) 55%, transparent);position:absolute}.nav-account{align-items:center;gap:var(--space-12);display:flex}.nav-user{font-weight:600;color:var(--text)!important}.nav-user-settings{flex:none}.nav-user-name{min-width:0;color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-size:.8em;font-weight:500;overflow:hidden}.nav-user-copy{flex-direction:column;gap:1px;min-width:0;display:flex}.nav-signout{font:inherit;padding:var(--space-6) var(--space-12);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:color-mix(in srgb, var(--surface-raised) 72%, transparent);color:var(--text-2);cursor:pointer;font-size:14px;font-weight:600;transition:background .2s,color .2s}.nav-signout:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--text);transform:translateY(calc(-2px * var(--lift-on)));box-shadow:0 8px 18px color-mix(in srgb, var(--accent-fill) 36%, transparent)}.nav-menu{display:contents}.nav-menu-toggle,.nav-menu-backdrop{display:none}@media (width>=52rem) and (height>=35rem) and (height<=49.99rem){:root{--nav-scale:.88;--nav-brand-scale:.8}}@media (width>=52rem) and (height>=35rem) and (height<=43.99rem){:root{--nav-scale:.74;--nav-brand-scale:.5}}@media (width>=52rem) and (height>=35rem){#root:has(>.site-nav){grid-template-rows:minmax(0,1fr) auto;grid-template-columns:clamp(11.5rem,13vw,12.25rem) minmax(0,1fr);display:grid}#root:has(>.site-nav.site-nav--rail-collapsed){grid-template-columns:var(--nav-rail-collapsed-w) minmax(0, 1fr)}#root>.site-nav{grid-area:1/1/-1}#root>main{grid-area:1/2;min-width:0;min-height:0}#root>.site-footer{grid-area:2/2}.site-nav{justify-content:flex-start;align-self:start;align-items:stretch;gap:calc(var(--space-16) * var(--nav-scale));min-height:100svh;padding:calc(var(--space-24) * var(--nav-scale)) var(--space-8);border-right:1px solid color-mix(in srgb, var(--accent) 38%, var(--border));box-shadow:12px 0 34px color-mix(in srgb, var(--accent-fill) 14%, transparent), inset -1px 0 color-mix(in srgb, var(--accent) 14%, transparent);border-bottom:0;flex-direction:column;position:sticky;top:0;overflow:hidden}.site-nav .brand{box-sizing:border-box;block-size:calc(104px * var(--nav-brand-scale));padding:calc(var(--space-8) * var(--nav-scale));background:0 0;border:0;flex:none;justify-content:flex-start}.site-nav .brand svg{width:min(148px,100%)}.site-nav--rail-collapsed .brand{justify-content:center;padding-inline:0}.site-nav--rail-collapsed .brand .nav-logo-full{display:none}.site-nav--rail-collapsed .brand .nav-logo-mark{width:54px;height:auto;display:block}.nav-links{align-items:stretch;gap:calc(var(--space-8) * var(--nav-scale));flex-direction:column;flex:1;min-height:0;margin-top:-4px;padding-top:4px}.nav-menu{gap:calc(var(--space-8) * var(--nav-scale));flex-direction:column;flex:auto;min-height:0;display:flex}.nav-destinations,.nav-utilities{gap:calc(var(--space-8) * var(--nav-scale));flex-direction:column;min-height:0;display:flex}.nav-destinations{flex:auto}.nav-utilities{flex:none}.nav-menu .nav-dest,.nav-links>.nav-dest,.nav-user,.nav-signout,.nav-rail-toggle{box-sizing:border-box;height:calc(48px * var(--nav-scale));min-height:calc(48px * var(--nav-scale));padding:calc(var(--space-8) * var(--nav-scale)) calc(var(--space-12) * var(--nav-scale));border-radius:var(--radius-xl);color:var(--text-2);font-size:calc(15.5px * var(--nav-scale));letter-spacing:.012em;align-items:center;gap:calc(var(--space-8) * var(--nav-scale));box-shadow:none;transition:transform var(--lift-fast) var(--lift-ease), background var(--lift-fast) var(--lift-ease), border-color var(--lift-fast) var(--lift-ease), color var(--lift-fast) var(--lift-ease), box-shadow var(--lift-fast) var(--lift-ease);background:0 0;border:0;font-weight:750;line-height:1.2;display:flex}.nav-menu .nav-dest:hover,.nav-links>.nav-dest:hover,.nav-user:hover,.nav-signout:hover,.nav-rail-toggle:hover{transform:translateY(calc(-2px * var(--lift-on)));background:color-mix(in srgb, var(--surface-raised) 76%, transparent);color:var(--text);box-shadow:none;text-shadow:none}.nav-menu .nav-dest[aria-current=page]{background:color-mix(in srgb, var(--surface-raised) 88%, transparent);color:var(--text);box-shadow:none}.nav-menu .nav-dest[aria-current=page]:after{display:none}.nav-account{align-items:stretch;gap:calc(var(--space-8) * var(--nav-scale));padding-top:calc(var(--space-12) * var(--nav-scale));border-top:1px solid color-mix(in srgb, var(--text) 16%, transparent);flex-direction:column;margin-top:0;position:relative}.nav-rail-toggle{cursor:pointer;flex:none;justify-content:flex-start;width:100%}.nav-rail-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.nav-account:before{display:none}.nav-user{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.nav-user-name{display:none}.nav-signout{justify-content:flex-start;width:100%}.site-nav--rail-collapsed{padding-inline:calc(var(--space-8) * var(--nav-scale))}.site-nav--rail-collapsed .nav-menu .nav-dest,.site-nav--rail-collapsed .nav-links>.nav-dest,.site-nav--rail-collapsed .nav-user,.site-nav--rail-collapsed .nav-signout,.site-nav--rail-collapsed .nav-rail-toggle{width:100%;padding-inline:calc(var(--space-12) * var(--nav-scale));justify-content:center}.site-nav--rail-collapsed .nav-label,.site-nav--rail-collapsed .nav-user-copy,.site-nav--rail-collapsed .return-to-table-text,.site-nav--rail-collapsed .return-to-table-dot{display:none}.site-nav--rail-collapsed .nav-account{align-items:stretch}.site-nav--rail-collapsed .nav-icon-collapse-arrow{transform-box:fill-box;transform-origin:50%;transform:rotate(180deg)}main>.app-dock-container{flex:auto;min-height:0;display:flex}main>.app-dock-container>.app-dock-row{flex:auto;min-height:0}main>.app-dock-container .app-dock-content{flex-direction:column;align-self:stretch;min-height:0;display:flex}main :is(.landing,.auth-page,.legal-page,.corner-page,.kc-page){margin-top:auto;margin-bottom:auto}main :is(.account-page,.admin-page,.friends-page,.profile-page,.table-page:not(.fills-height),.history-page,.history-detail-page,.partnerships-page,.play-page,.match-page:not(.fills-height),.compare-page,.feedback-page){margin-top:var(--page-top);margin-bottom:auto}main :is(.admin-page,.account-page){padding-bottom:var(--space-48)}main .account-page.fills-height{margin-top:calc(var(--page-top) - var(--space-16));padding-top:var(--space-16);padding-bottom:var(--space-16);box-sizing:border-box;flex:1 1 0;min-height:0;max-height:44rem}main .account-page .account-tabpanel{flex:1 1 0;min-height:0;position:relative;overflow-y:auto}#root:has(.account-page.fills-height){height:100svh}main .lobby-page{justify-content:flex-start}}@media (width>=75rem){main{font-size:clamp(1rem,.25vw + .82rem,1.125rem)}main .lobby-page{max-width:min(94%,94rem)}main .legal-page{max-width:min(88%,70rem)}main .auth-page{max-width:34rem;padding:clamp(var(--space-32), 3vw, var(--space-48))}main .home-cards{max-width:90rem}main .landing h1{max-width:56rem;font-size:clamp(2.75rem,2.2rem + 1.4vw,4rem)}main .landing p{max-width:40rem;font-size:1.05rem}main .game-table{max-width:min(96%,94rem)}main .kc-page{--kc-rail:5.25rem;--kc-gap:2.5rem;--kc-measure:44rem;max-width:calc(var(--kc-rail) + var(--kc-gap) + var(--kc-measure) + 5rem)}main :where(.ui-panel,.account-section,.pship-section){padding:clamp(var(--space-24), 1.5cqi, var(--space-32))}}main :is(.account-page,.admin-page,.corner-page,.friends-page,.profile-page,.table-page,.history-page,.history-detail-page,.partnerships-page,.play-page,.match-page,.compare-page,.feedback-page){max-width:min(94%,94rem);padding-left:clamp(var(--space-16), 3cqi, var(--space-32));padding-right:clamp(var(--space-16), 3cqi, var(--space-32))}@container dockpage (width>=64rem){main :is(.account-page,.admin-page,.corner-page,.friends-page,.profile-page,.table-page,.history-page,.history-detail-page,.partnerships-page,.play-page,.match-page,.compare-page,.feedback-page){padding-left:clamp(var(--space-32), 3cqi, var(--space-64));padding-right:clamp(var(--space-32), 3cqi, var(--space-64))}}@media (width<=51.99rem),(height<=34.99rem){.site-nav{z-index:var(--z-nav-bar);padding:var(--space-8) var(--space-12);gap:var(--space-8);position:sticky;top:0}.site-nav .brand{block-size:auto;padding:var(--space-6) var(--space-8)}.site-nav .brand svg{width:96px;max-height:none}.site-nav .brand .nav-logo-mark{display:none}.nav-links{gap:var(--space-8);min-width:0}.nav-menu-backdrop{z-index:1;background:color-mix(in srgb, var(--base) 48%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);height:calc(100dvh - 100%);display:block;position:absolute;top:100%;left:0;right:0}.nav-links>:not(.nav-menu-backdrop){z-index:2;position:relative}.nav-menu-toggle{justify-content:center;align-items:center;gap:var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-raised);width:44px;height:44px;color:var(--subtext-color);cursor:pointer;flex-direction:column;flex:none;padding:0;display:flex}.nav-menu-toggle span{border-radius:var(--radius-sm);background:currentColor;width:18px;height:2px;display:block}.nav-menu-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav-menu{display:none}.site-nav--menu-open{z-index:var(--z-nav-menu)}.site-nav--menu-open .nav-menu{z-index:3;padding:var(--space-4) var(--space-12) var(--space-8);background:var(--nav-bg);border-bottom:1px solid var(--border-color);flex-direction:column;align-items:stretch;max-height:70svh;display:flex;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.nav-menu .nav-dest{min-height:44px;padding:0 var(--space-8);border-radius:var(--radius-md);align-items:center;gap:var(--space-8);display:flex}.nav-menu .nav-icon{width:28px;height:28px}.nav-links>.nav-dest:not(.return-to-table){min-width:44px;min-height:44px;padding:0 var(--space-8);justify-content:center;align-items:center;display:flex}.nav-account{gap:var(--space-8);min-width:0}.nav-user{min-width:44px;min-height:44px;padding:0 var(--space-4);text-overflow:ellipsis;white-space:nowrap;align-items:center;display:flex;overflow:hidden}.nav-user .nav-icon{width:28px;height:28px}.nav-user-name,.nav-user-copy{display:none}.nav-signout{min-height:44px;padding:0 var(--space-8);flex:none}.nav-signout .nav-icon,.nav-rail-toggle{display:none}.nav-links .return-to-table{min-width:0;min-height:44px;padding:0 var(--space-8)}.nav-links .return-to-table .nav-icon{display:none}.nav-links .return-to-table-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.nav-links .return-to-table-detail{display:none}}@media (height<=34.99rem){.site-nav .brand svg{width:60px}}@media (width>=52rem) and (height>=35rem){#root:has(>.site-nav--table-surface){grid-template-rows:minmax(0,1fr);height:100dvh;overflow:hidden}#root>.site-nav--table-surface{grid-row:1;height:100dvh}#root>main.table-workspace-main{grid-row:1;overflow:hidden}}@media (width<=51.99rem),(height<=34.99rem){#root:has(>.site-nav--table-surface){height:100dvh;min-height:0;overflow:hidden}#root>main.table-workspace-main{flex:auto;min-width:0;min-height:0;overflow:hidden}}main{flex-direction:column;flex:1;display:flex;container:dockpage/inline-size}.fills-height{flex-direction:column;flex:auto;min-height:0;display:flex}.landing{text-align:center;justify-content:center;align-items:center;gap:var(--space-16);padding:var(--space-24) var(--space-24);flex-direction:column;flex:1;display:flex}.landing-logo{padding:var(--space-8) var(--space-48);margin-bottom:var(--space-8);background:radial-gradient(ellipse 72% 72% at 50% 50%, var(--accent-soft), transparent 70%);display:inline-flex}.landing-logo svg{width:220px;height:auto;display:block}.landing h1{letter-spacing:-1px;max-width:680px;font-size:44px}.landing p{max-width:480px;color:var(--subtext-color);line-height:1.5}.landing-cta{gap:var(--space-12);display:flex}.landing-corner{margin-top:-8px;font-size:15px}.home-card .button-link,.home-card>a[class*=button]{align-self:center;margin-top:auto}.ui-button--primary,.button-link,.auth-page button[type=submit],.post-editor button[type=submit],.account-form-actions button[type=submit]{background:var(--accent-fill);color:var(--accent-contrast)}.ui-button--primary:hover:not(:disabled),.button-link:hover,.auth-page button[type=submit]:hover:not(:disabled),.post-editor button[type=submit]:hover:not(:disabled),.account-form-actions button[type=submit]:hover:not(:disabled){background:var(--accent-fill-hover)}.button-link{padding:var(--space-12) var(--space-24);border-radius:var(--radius-lg);transition:background var(--lift-fast) var(--lift-ease), transform var(--lift-fast) var(--lift-ease), box-shadow var(--lift-fast) var(--lift-ease);font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 8px 20px #00000047}.button-link:hover{transform:translateY(calc(-3px * var(--lift-on))) scale(calc(1 + .015 * var(--lift-on)));box-shadow:0 12px 26px #00000057}.button-link:active{transform:translateY(0) scale(calc(1 - .015 * var(--lift-on)))}.button-link:disabled,.button-link[aria-disabled=true]{background:color-mix(in srgb, var(--accent-fill) 32%, var(--surface));color:var(--text-2);box-shadow:none;cursor:not-allowed}.button-link:disabled:hover,.button-link[aria-disabled=true]:hover{background:color-mix(in srgb, var(--accent-fill) 32%, var(--surface));box-shadow:none;transform:none}.landing:has(>.home-cards){container:homecards/inline-size}.home-cards{align-items:stretch;gap:var(--space-16);text-align:left;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));width:100%;max-width:1160px;display:grid}.home-card{gap:var(--space-8);width:100%;max-width:480px;padding:var(--space-24);text-align:left;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);transition:transform var(--lift-slow) var(--lift-ease), box-shadow var(--lift-slow) var(--lift-ease), border-color var(--lift-slow) var(--lift-ease);flex-direction:column;display:flex}@media (hover:hover) and (pointer:fine){.home-card:hover{transform:translateY(calc(-4px * var(--lift-on)));border-color:var(--border-strong);box-shadow:var(--shadow-card-hover)}}.home-card h2{color:var(--subtext-color);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-12);font-size:16px}.home-card ul{margin:0 0 var(--space-16);padding-left:var(--space-16);color:var(--text-color);line-height:1.7}.home-card p{font-size:14px}.home-card a:not(.button-link){color:var(--accent-color);font-weight:600;text-decoration:none}.home-card-more{display:none}@container homecards (width<=959px){.home-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.home-cards>.home-card{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px 12px;padding:10px 16px;display:grid}.home-cards .home-card-title{grid-area:1/1;min-width:0;margin:0}.home-cards>.home-card>.button-link{text-align:center;grid-area:1/2;align-items:center;min-height:44px;padding:0 16px}.home-cards .home-card-more{border:1px solid var(--border-strong);background:var(--surface-raised);width:44px;height:44px;color:var(--subtext-color);cursor:pointer;border-radius:10px;grid-area:1/3;justify-content:center;align-items:center;padding:0;display:flex}.home-cards .home-card-more:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.home-cards .home-card-chevron{border-bottom:2px solid;border-right:2px solid;width:9px;height:9px;transition:transform .15s;display:block;transform:translateY(-2px)rotate(45deg)}.home-cards .home-card--open .home-card-chevron{transform:translateY(2px)rotate(225deg)}.home-cards .home-card-body{display:none}.home-cards .home-card--open .home-card-body{grid-area:2/1/auto/-1;display:block}.home-cards .home-card-body>:first-child{margin-top:0}.home-cards .home-card-body>:last-child{margin-bottom:0}}.button-link.secondary{color:var(--text-color);border:1px solid var(--border-strong);box-shadow:none;background:0 0}.auth-page{max-width:380px;margin:var(--space-32) auto;padding:var(--space-32);text-align:left;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);gap:var(--space-16);flex-direction:column;display:flex}.auth-page h1{font-size:24px}.auth-page form{gap:var(--space-16);flex-direction:column;display:flex}.auth-page label{gap:var(--space-6);color:var(--subtext-color);flex-direction:column;font-size:14px;font-weight:500;display:flex}.auth-page button[type=submit]{font:inherit;padding:var(--space-12);border-radius:var(--radius-lg);cursor:pointer;border:none;font-weight:600;transition:background .2s}.auth-page button:disabled{opacity:.6;cursor:default}.auth-page p{color:var(--subtext-color);font-size:14px}.auth-page p a,.auth-page p .route-button{color:var(--accent-color);font-weight:600;text-decoration:none}.form-error{color:var(--danger-text);font-size:14px}.auth-divider{align-items:center;gap:var(--space-12);color:var(--subtext-color);margin:var(--space-4) 0;font-size:13px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border-color);flex:1;height:1px}.google-button{justify-content:center;align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-12);border-radius:var(--radius-lg);border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text-color);font:inherit;cursor:pointer;font-weight:600;transition:background .2s;display:flex}.google-button:hover:not(:disabled){background:var(--surface-hover)}.google-button:disabled{opacity:.6;cursor:default}.secondary-button,.danger-button{font:inherit;padding:var(--space-8) var(--space-16);border-radius:var(--radius-lg);border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--subtext-color);cursor:pointer;transition:background var(--lift-fast) var(--lift-ease), color var(--lift-fast) var(--lift-ease), transform var(--lift-fast) var(--lift-ease), box-shadow var(--lift-fast) var(--lift-ease), border-color var(--lift-fast) var(--lift-ease);font-size:14px;font-weight:600}.secondary-button:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);transform:translateY(calc(-2px * var(--lift-on)));box-shadow:0 8px 18px #0003, 0 0 0 2px color-mix(in srgb, var(--accent) 16%, transparent)}.danger-button{color:var(--danger-text);border-color:color-mix(in srgb, var(--danger-text) 45%, transparent);background:0 0}.danger-button:hover{background:color-mix(in srgb, var(--danger-text) 14%, transparent);color:var(--danger-text);transform:translateY(calc(-2px * var(--lift-on)))}.admin-page{width:100%;max-width:780px;margin:var(--space-48) auto;padding:0 var(--space-24);gap:var(--space-16);flex-direction:column;display:flex}.admin-page h1:not(.page-title){letter-spacing:-.5px;font-size:28px}.admin-intro,.admin-empty{color:var(--subtext-color);font-size:14px;line-height:1.6}.admin-user-list{gap:var(--space-8);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.admin-user-row{align-items:center;gap:var(--space-16);padding:var(--space-12) var(--space-16);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-xl);flex-wrap:wrap;display:flex}.admin-username-controls{align-items:center;gap:var(--space-8);min-width:0;padding-top:var(--space-8);border-top:1px solid var(--border-color);flex-wrap:wrap;flex-basis:100%;display:flex}.admin-danger-controls{padding-top:var(--space-8);border-top:1px solid var(--border-color);flex-basis:100%;justify-content:flex-end;display:flex}.admin-danger-controls .danger-button:disabled{opacity:.5;cursor:default}.admin-username-controls input{flex:12rem;min-width:0;font-size:14px}.lock-badge{padding:var(--space-4) var(--space-8);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--subtext-color);white-space:nowrap;font-size:11px;font-weight:600}.lock-badge.unlocked{color:var(--success-text);background:color-mix(in srgb, var(--success-text) 14%, transparent)}.admin-user-identity{gap:var(--space-2);flex-direction:column;flex:12rem;min-width:0;display:flex}.admin-user-name{color:var(--text-color);width:fit-content;max-width:100%;font-weight:600;text-decoration:none}.admin-user-name:hover,.admin-user-name:focus-visible{text-decoration:underline}.admin-user-uid{color:var(--subtext-color);text-overflow:ellipsis;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;overflow:hidden}.admin-user-row .admin-history-link{white-space:nowrap;flex:none;font-size:13px;text-decoration:underline}.admin-user-row .admin-ping-button{white-space:nowrap;flex:none;font-size:13px}.admin-ping-report{min-height:1.5em;color:var(--subtext-color);font-size:13px;line-height:1.5}.role-badge{text-transform:uppercase;letter-spacing:.6px;padding:var(--space-4) var(--space-8);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--subtext-color);border:1px solid #0000;font-size:11px;font-weight:700}.role-badge.role-tester{color:var(--info-text);background:color-mix(in srgb, var(--info-text) 14%, transparent);border-color:color-mix(in srgb, var(--info-text) 45%, transparent)}.role-badge.role-admin{color:var(--accent);background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.role-badge.role-dev{color:var(--warning-text);background:color-mix(in srgb, var(--warning-text) 14%, transparent);border-color:color-mix(in srgb, var(--warning-text) 45%, transparent)}.admin-user-row select{font-size:14px}.admin-user-row select:disabled{opacity:.45;cursor:default}.admin-note{color:var(--subtext-color);font-size:12px}.admin-user-row .admin-note{white-space:nowrap}.admin-grants{gap:var(--space-12);flex-direction:column;display:flex}.admin-grants h2{letter-spacing:-.3px;font-size:20px}.admin-grant-form{align-items:flex-end;gap:var(--space-8);padding:var(--space-12) var(--space-16);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-xl);flex-wrap:wrap;display:flex}.admin-grant-form label{gap:var(--space-4);color:var(--subtext-color);flex-direction:column;min-width:0;font-size:12px;display:flex}.admin-grant-form .admin-grant-note{flex:12rem}.admin-grant-form select,.admin-grant-form input{min-width:0;font-size:14px}.admin-grant-list{gap:var(--space-8);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.admin-grant-row{align-items:center;gap:var(--space-12);padding:var(--space-12) var(--space-16);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-xl);flex-wrap:wrap;display:flex}.admin-grant-row.expired{opacity:.55}@media (width<=51.99rem){.admin-page{margin:var(--space-16) auto;padding:0 var(--space-12)}}.capability-badge{letter-spacing:.4px;padding:var(--space-4) var(--space-8);border-radius:var(--radius-pill);color:var(--text-2);background:var(--surface-raised);white-space:nowrap;border:1px solid #0000;font-size:11px;font-weight:700}.capability-badge.capability-director{color:var(--accent);background:var(--accent-soft)}.capability-badge.capability-vugraph{color:var(--info-text);background:color-mix(in srgb, var(--info-text) 14%, transparent)}.capability-badge.capability-delayed-vugraph{color:var(--info-text);border-color:color-mix(in srgb, var(--info-text) 55%, transparent);background:0 0}.capability-badge.capability-commentator{color:var(--warning-text);background:color-mix(in srgb, var(--warning-text) 14%, transparent)}.capability-badge.capability-teacher{color:var(--success-text);background:color-mix(in srgb, var(--success-text) 14%, transparent)}.error-boundary{padding:var(--space-48) var(--space-24);flex:1;justify-content:center;align-items:center;min-height:100svh;display:flex}.error-boundary-card{width:100%;max-width:420px;padding:var(--space-32);text-align:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);align-items:center;gap:var(--space-16);flex-direction:column;display:flex}.error-boundary-card h1{font-size:22px}.error-boundary-card p{line-height:1.5}.error-boundary-card button.button-link{cursor:pointer;border:none}.corner-page{width:100%;max-width:720px;margin:var(--space-48) auto;padding:0 var(--space-24);gap:var(--space-24);flex-direction:column;display:flex}.corner-header h1{letter-spacing:-.6px;margin-bottom:var(--space-8);font-size:32px}.corner-header p,.corner-empty{color:var(--subtext-color);line-height:1.6}.post-editor{gap:var(--space-12);padding:var(--space-24);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-xl);flex-direction:column;display:flex}.post-editor h2{text-transform:uppercase;letter-spacing:.6px;color:var(--subtext-color);font-size:14px}.post-editor label{gap:var(--space-6);color:var(--subtext-color);flex-direction:column;font-size:14px;font-weight:500;display:flex}.post-editor-actions{gap:var(--space-8);display:flex}.post-editor button[type=submit]{font:inherit;padding:var(--space-8) var(--space-24);border-radius:var(--radius-lg);cursor:pointer;border:none;font-weight:600;transition:background .2s}.post-editor button:disabled{opacity:.6;cursor:default}.post-list{gap:var(--space-16);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.post-card{padding:var(--space-24) var(--space-24);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-xl)}.post-card h2{letter-spacing:-.3px;margin-bottom:var(--space-6);font-size:20px}.post-meta{color:var(--subtext-color);margin-bottom:var(--space-12);font-size:13px}.post-body p{margin-bottom:var(--space-12);white-space:pre-wrap;line-height:1.7}.post-body p:last-child{margin-bottom:0}.account-page{width:100%;max-width:1120px;margin:var(--page-top) auto var(--space-24);padding:0 var(--space-24);gap:var(--space-8);flex-direction:column;display:flex}.account-page h1:not(.page-title){letter-spacing:-.5px;font-size:28px}.account-header{align-items:start;gap:var(--space-8);flex-direction:column;display:flex}.account-header p{font-size:14px}.account-section{gap:var(--space-12);padding:var(--space-24);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-xl);flex-direction:column;display:flex}.account-section h2{text-transform:uppercase;letter-spacing:.6px;color:var(--subtext-color);font-size:14px}.account-section form{gap:var(--space-12);flex-direction:column;display:flex}.account-section label{gap:var(--space-6);color:var(--subtext-color);flex-direction:column;font-size:14px;font-weight:500;display:flex}.account-form-actions{align-items:center;gap:var(--space-12);display:flex}.account-form-actions button[type=submit]{font:inherit;padding:var(--space-8) var(--space-24);border-radius:var(--radius-lg);cursor:pointer;border:none;font-weight:600;transition:background .2s}.account-form-actions button:disabled{opacity:.6;cursor:default}.account-save-note{color:var(--success-text);font-size:13px}.account-locked-note{font-size:13px;line-height:1.5}.account-detail-row{justify-content:space-between;align-items:center;font-size:14px;display:flex}.account-detail-row span:first-child{color:var(--subtext-color)}.theme-option-list{gap:var(--space-8);flex-direction:column;display:flex}.theme-option{align-items:center;gap:var(--space-12);min-width:0;padding:var(--space-12) var(--space-12);border:1px solid var(--border-strong);border-radius:var(--radius-lg);cursor:pointer;transition:background .2s,border-color .2s;display:flex}.theme-option:hover{background:var(--surface-raised)}.theme-option.selected{border-color:var(--accent-color);background:var(--accent-soft)}.theme-preview{background:var(--base);border-color:var(--border-strong);color:var(--text)}.theme-preview .theme-option-text{min-width:0;padding:var(--space-6) var(--space-8);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex:1}.theme-preview:hover{background:var(--surface-hover)}.theme-preview.selected{border-color:var(--accent);background:var(--base);box-shadow:0 0 0 2px var(--accent)}.theme-preview .theme-option-label{color:var(--text)}.theme-preview .theme-option-description{color:var(--text-2)}.theme-option-text{gap:var(--space-2);flex-direction:column;display:flex}.theme-option-label{color:var(--text-color);overflow-wrap:anywhere;text-overflow:ellipsis;min-width:0;font-weight:600;overflow:hidden}.theme-option-description{color:var(--subtext-color);font-size:13px}.post-card-actions{gap:var(--space-8);margin-top:var(--space-16);display:flex}.friends-page,.profile-page{width:100%;max-width:720px;margin:var(--page-top) auto var(--space-48);padding:0 var(--space-24);gap:var(--space-24);flex-direction:column;display:flex}.friends-page h1:not(.page-title),.profile-page h1:not(.page-title){letter-spacing:-.5px;font-size:28px}.friends-section{gap:var(--space-12);flex-direction:column;display:flex}.friends-section h2{font-size:18px}.friends-header{justify-content:space-between;align-items:center;gap:var(--space-16);display:flex}.friends-header h2.is-reserved{visibility:hidden}.friends-toggle{align-items:center;gap:var(--space-8);color:var(--subtext-color);cursor:pointer;font-size:14px;display:flex}.friends-hint,.friends-empty,.friends-ping-report,.search-hint{color:var(--subtext-color);font-size:14px;line-height:1.6}.friends-ping-report{margin:0}.friends-ping-report:empty{display:none}.friend-list{gap:var(--space-8);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.friend-row{justify-content:space-between;align-items:center;gap:var(--space-16);padding:var(--space-12) var(--space-16);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-xl);transition:transform var(--lift-fast) var(--lift-ease), box-shadow var(--lift-fast) var(--lift-ease), border-color var(--lift-fast) var(--lift-ease);display:flex;position:relative}:is(.friend-row:has(.friend-row-trigger:hover),.friend-row:has(.friend-row-trigger:focus-visible)){transform:translateY(calc(-2px * var(--lift-on)));border-color:var(--border-strong);box-shadow:var(--shadow-card-hover)}.friend-row-trigger{z-index:0;border-radius:var(--radius-xl);cursor:pointer;background:0 0;border:none;width:100%;position:absolute;inset:0}.friend-row-trigger:hover{background:var(--surface-hover)}.friend-row-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.friend-identity,.friend-actions{z-index:1;position:relative}.friend-identity{align-items:center;gap:var(--space-12);pointer-events:none;flex-wrap:wrap;min-width:0;display:flex}.friend-identity a,.friend-identity button{pointer-events:auto}.friend-name{color:var(--text-color);font-weight:600;text-decoration:none}.friend-row-trigger:hover+.friend-identity .friend-name,.friend-row-trigger:focus-visible+.friend-identity .friend-name{text-decoration:underline}.friend-actions{gap:var(--space-8);flex-shrink:0;display:flex}.friends-page .loading-state{padding:var(--space-32) 0;justify-content:center;gap:var(--space-12);font-size:15px}.friends-page .loading-state-spinner{border-width:3px;width:28px;height:28px}.friend-actions button[aria-disabled=true]{opacity:.6;cursor:not-allowed}.presence{align-items:center;gap:var(--space-6);color:var(--subtext-color);font-size:12px;display:inline-flex}.presence-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:8px;height:8px}.presence-online{color:var(--success-text)}.presence-playing{color:var(--warning-text)}.presence-playing a{color:inherit}.presence-offline{color:var(--subtext-color)}.relationship-badge,.pending-badge,.visibility-badge{text-transform:uppercase;letter-spacing:.6px;padding:var(--space-4) var(--space-8);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--subtext-color);white-space:nowrap;font-size:11px;font-weight:700}.visibility-badge.visibility-private{color:var(--warning-text);background:color-mix(in srgb, var(--warning-text) 14%, transparent)}.visibility-badge.visibility-public{color:var(--accent);background:var(--accent-soft)}.user-search{gap:var(--space-8);flex-direction:column;display:flex}.user-search-form{gap:var(--space-8);flex-wrap:wrap;display:flex}.user-search-form input{flex:10rem;min-width:0;font-size:15px}.profile-header{justify-content:space-between;align-items:flex-start;gap:var(--space-16);display:flex}.profile-header>div{gap:var(--space-8);flex-direction:column;display:flex}.profile-bio{padding:var(--space-16) var(--space-16);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-xl)}.profile-bio p{white-space:pre-wrap;line-height:1.7}.profile-page>.secondary-button,.profile-page>.danger-button{align-self:flex-start}.profile-relationship{align-items:center;gap:var(--space-12);flex-wrap:wrap;align-self:flex-start;display:flex}.profile-relationship-note{color:var(--subtext-color);font-size:13px}.visibility-picker{gap:var(--space-8);border:none;flex-direction:column;margin:0;padding:0;display:flex}.visibility-picker legend{color:var(--subtext-color);padding:0 0 var(--space-8);font-size:13px;font-weight:600}.visibility-picker label{align-items:flex-start;gap:var(--space-8);color:var(--subtext-color);cursor:pointer;font-size:14px;line-height:1.5;display:flex}.visibility-picker strong{color:var(--text-color)}.bio-form{gap:var(--space-8);flex-direction:column;display:flex}.bio-form label{gap:var(--space-8);color:var(--subtext-color);flex-direction:column;font-size:13px;font-weight:600;display:flex}.bio-form textarea{padding:var(--space-12) var(--space-12);border-radius:var(--radius-lg);font-size:15px}.bio-form-footer{justify-content:space-between;align-items:center;gap:var(--space-12);display:flex}.char-count{color:var(--subtext-color);font-size:12px}.form-success{color:var(--success-text);font-size:14px}.ui-button{font:inherit;padding:var(--space-8) var(--space-16);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--lift-fast) var(--lift-ease), color var(--lift-fast) var(--lift-ease), border-color var(--lift-fast) var(--lift-ease), transform var(--lift-fast) var(--lift-ease), box-shadow var(--lift-fast) var(--lift-ease);border:1px solid #0000;font-size:14px;font-weight:600}.ui-button:disabled{opacity:.6;cursor:default}.ui-button--primary:hover:not(:disabled){transform:translateY(calc(-2px * var(--lift-on)));box-shadow:0 8px 18px #00000038}.ui-button--secondary{background:var(--surface-raised);border-color:var(--border-strong);color:var(--text)}.ui-button--secondary:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent);color:var(--accent);transform:translateY(calc(-2px * var(--lift-on)));box-shadow:0 8px 18px #0000002e}.ui-button--ghost{color:var(--text-2);background:0 0}.ui-button--ghost:hover:not(:disabled){background:var(--surface-raised);color:var(--text);transform:translateY(calc(-1px * var(--lift-on)))}.ui-panel{padding:var(--space-24) var(--space-24);background:var(--panel-bg);border:1px solid var(--border);border-radius:var(--radius-xl)}.ui-panel-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);margin-bottom:var(--space-12);font-size:13px;font-weight:700}.table-page{width:100%;max-width:560px;margin:var(--page-top) auto var(--space-24);padding:0 var(--space-24);gap:var(--space-16);flex-direction:column;display:flex}.table-page h1:not(.page-title){letter-spacing:-.5px;font-size:28px}.table-page-intro{color:var(--text-2);line-height:1.6}.seat-grid{gap:var(--space-12);grid-template-columns:repeat(2,1fr);display:grid}.seat-choice{align-items:center;gap:var(--space-4);padding:var(--space-16) var(--space-12);border-radius:var(--radius-xl);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer;transition:background var(--lift-slow) ease, border-color var(--lift-slow) ease, transform var(--lift-slow) ease;flex-direction:column;display:flex}.seat-choice:hover:not(:disabled){border-color:var(--accent);transform:translateY(calc(-1px * var(--lift-on)))}.seat-choice:disabled{cursor:default}.seat-choice.taken{opacity:.75}.seat-choice-letter{font-size:28px;font-weight:700}.seat-choice-label{color:var(--text-2);font-size:14px}.seat-choice-status{color:var(--accent);margin-top:var(--space-4);font-size:12px;font-weight:600}.access-toggle{gap:var(--space-8);border:none;flex-direction:column;margin:0;padding:0;display:flex}.access-toggle legend{color:var(--text-2);padding:0 0 var(--space-2);font-size:13px;font-weight:600}.access-option{column-gap:var(--space-8);padding:var(--space-8) var(--space-12);border-radius:var(--radius-lg);border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;grid-template-columns:auto 1fr;align-items:center;display:grid}.access-option-title{grid-row:1;font-weight:600}.access-option-detail{color:var(--text-2);grid-column:2;font-size:12px;line-height:1.35}.access-option.selected{border-color:var(--accent)}.create-match-page.create-table-page{max-width:38rem}.create-table-page .match-seat-row.seat-N,.create-table-page .match-seat-row.seat-S{--team-color:var(--accent);--team-soft:var(--accent-soft)}.create-table-page .match-seat-row.seat-E,.create-table-page .match-seat-row.seat-W{--team-color:var(--info-text);--team-soft:color-mix(in srgb, var(--info-text) 14%, transparent)}.lobby-page{max-width:720px}.lobby-watch-notice{margin:0}.lobby-table-list{border:1px solid var(--border-strong);border-radius:var(--radius-lg);min-height:120px;padding:var(--space-4);flex:1 1 0;position:relative;overflow-y:auto}:is(.lobby-table-list:has(>.empty-state),.lobby-table-list:has(>.lobby-not-a-list)){border:0;flex:none;min-height:0;padding:0;overflow:visible}.lobby-rows{gap:var(--space-8);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.lobby-row{justify-content:space-between;align-items:center;gap:var(--space-12);padding:var(--space-8) var(--space-12);border-radius:var(--radius-lg);background:var(--surface);transition:transform var(--lift-fast) var(--lift-ease), background var(--lift-fast) var(--lift-ease), box-shadow var(--lift-fast) var(--lift-ease);display:flex}.lobby-row:has(a:hover,button:hover){transform:translateY(calc(-2px * var(--lift-on)));background:var(--surface-raised);box-shadow:0 8px 18px #00000029}.lobby-row-info{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.lobby-row-seats{color:var(--accent);font-size:12px;font-weight:600}.lobby-row-age{color:var(--text-2);font-size:12px}.lobby-row-actions{gap:var(--space-8);flex-shrink:0;display:flex}.lobby-panels{gap:var(--space-12);margin-bottom:var(--space-12);grid-template-columns:1fr 1fr;display:grid}.lobby-panel{border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-12) var(--space-12);background:var(--surface);gap:var(--space-6);flex-direction:column;display:flex}.lobby-panel h2{margin:0;font-size:15px}.lobby-panel-heading-row{justify-content:space-between;align-items:center;gap:var(--space-8);display:flex}.lobby-head-row{justify-content:space-between;align-items:center;gap:var(--space-12);flex-wrap:wrap;display:flex}.lobby-browse-matches{flex:none}.lobby-badge{text-transform:uppercase;letter-spacing:.04em;padding:var(--space-2) var(--space-8);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text-2);font-size:11px;font-weight:700}.ranked-panel{opacity:.85}.primary-button{font:inherit;padding:var(--space-8) var(--space-16);border-radius:var(--radius-lg);border:1px solid var(--accent);background:var(--accent);color:var(--accent-contrast,#fff);cursor:pointer;transition:transform var(--lift-fast) var(--lift-ease), box-shadow var(--lift-fast) var(--lift-ease), filter var(--lift-fast) var(--lift-ease);align-self:flex-start;font-size:14px;font-weight:600}.primary-button:hover:not(:disabled){transform:translateY(calc(-2px * var(--lift-on)));filter:brightness(1.06);box-shadow:0 8px 18px #00000038}.primary-button:active:not(:disabled),.secondary-button:active:not(:disabled),.danger-button:active:not(:disabled),.ui-button:active:not(:disabled){transform:translateY(0) scale(calc(1 - .02 * var(--lift-on)))}:where(.ui-panel,.account-section,.auth-card,.home-card,.lobby-panel,.friend-row,.match-choice){transition:transform var(--lift-slow) var(--lift-ease), border-color var(--lift-fast) var(--lift-ease), box-shadow var(--lift-slow) var(--lift-ease), background var(--lift-slow) var(--lift-ease)}:where(.ui-panel,.account-section,.auth-card,.lobby-panel){border-radius:var(--radius-xl);box-shadow:var(--shadow-card), inset 0 1px 0 color-mix(in srgb, var(--text) 7%, transparent)}:where(.home-card,.friend-row,.match-choice){box-shadow:var(--shadow-card)}@media (hover:hover) and (pointer:fine){:where(.home-card,.friend-row,.match-choice):hover{transform:translateY(calc(-3px * var(--lift-on))) scale(calc(1 + .008 * var(--lift-on)));border-color:var(--accent);box-shadow:var(--shadow-card-hover), 0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent)}main a:not([class*=button]):hover{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-shadow:0 0 12px color-mix(in srgb, var(--accent) 28%, transparent)}main :is(input:not([type=radio]):not([type=checkbox]),select,textarea):hover{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent)}:where(.account-tab,.tabstrip-tab,.profile-tab,.admin-copy-tab):hover{transform:translateY(calc(-2px * var(--lift-on)));background:var(--accent-soft);color:var(--accent);box-shadow:0 6px 14px color-mix(in srgb, var(--accent) 18%, transparent)}}.imp-status{margin:0}.imp-comparison{border-top:1px solid var(--border-strong);padding-top:var(--space-8);margin-top:var(--space-4)}.imp-comparison h3{margin:0 0 var(--space-2);color:var(--text-2);font-size:13px}.imp-comparison-headline{margin:0;font-size:16px;font-weight:700}.casual-heading-row{margin-top:var(--space-4)}.open-seats-filter{align-items:center;gap:var(--space-6);color:var(--text-2);cursor:pointer;font-size:13px;display:flex}.share-link-row{gap:var(--space-8);display:flex}.share-link-row input{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.seats-filled{color:var(--text);font-size:14px;font-weight:600}.seat-status-list{gap:var(--space-8);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.seat-status-row{align-items:center;gap:var(--space-12);padding:var(--space-12) var(--space-16);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);display:flex}.seat-status-row.open{opacity:.8}.seat-status-letter{width:20px;font-size:16px;font-weight:700}.seat-status-label{color:var(--text-2);flex:1;font-size:14px}.seat-status-occupant{font-size:14px;font-weight:600}.seat-status-row.taken .seat-status-occupant{color:var(--text)}@media (width<=51.99rem){.landing{padding:var(--space-8) var(--space-12) var(--space-12);gap:var(--space-8)}.landing h1{letter-spacing:-.5px;font-size:26px}.landing>p{font-size:15px}.home-cards{gap:var(--space-6)}.home-cards>.home-card{align-items:center;column-gap:var(--space-8);row-gap:var(--space-8);padding:var(--space-6) var(--space-8);border-radius:var(--radius-xl);grid-template-columns:minmax(0,1fr) auto auto;display:grid}.home-cards .home-card-title{font-size:13px}.home-cards>.home-card>.button-link{min-height:44px;padding:0 var(--space-12);box-shadow:none;grid-area:1/2;align-items:center;font-size:14px}.home-cards .home-card-more{border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-raised);width:44px;height:44px;color:var(--subtext-color);cursor:pointer;grid-area:1/3;justify-content:center;align-items:center;padding:0;display:flex}.home-cards .home-card-more:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.home-cards .home-card-chevron{border-bottom:2px solid;border-right:2px solid;width:9px;height:9px;transition:transform .15s;display:block;transform:translateY(-2px)rotate(45deg)}.home-cards .home-card--open .home-card-chevron{transform:translateY(2px)rotate(225deg)}.home-cards .home-card-body{display:none}.home-cards .home-card--open .home-card-body{grid-area:2/1/auto/-1;display:block}.home-cards .home-card-body>:first-child{margin-top:0}.home-cards .home-card-body>:last-child{margin-bottom:0}.landing>.button-link.secondary{align-items:center;min-height:44px}.table-page{margin:var(--space-8) auto;padding:0 var(--space-12);gap:var(--space-8)}.table-page h1{font-size:21px}.table-page-intro{font-size:14px;line-height:1.5}.lobby-panels{gap:var(--space-8);margin-bottom:0}.lobby-panel{padding:var(--space-8);gap:var(--space-4)}.lobby-panel h2{font-size:14px}.lobby-panel .primary-button{min-height:44px}.lobby-table-list{padding:var(--space-2)}.casual-heading-row h2{font-size:17px}}@keyframes route-in-a{0%{opacity:0}to{opacity:1}}@keyframes route-in-b{0%{opacity:0}to{opacity:1}}main[data-route-anim=a] .app-dock-content{animation:route-in-a var(--lift-slow) var(--lift-ease)}main[data-route-anim=a]:not(:has(.app-dock-content)){animation:route-in-a var(--lift-slow) var(--lift-ease)}main[data-route-anim=b] .app-dock-content{animation:route-in-b var(--lift-slow) var(--lift-ease)}main[data-route-anim=b]:not(:has(.app-dock-content)){animation:route-in-b var(--lift-slow) var(--lift-ease)}.verify-banner{width:calc(100% - 4rem);max-width:76rem;margin:var(--space-8) auto 0;padding:var(--space-8) var(--space-16);background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);text-align:left;flex-direction:column;font-size:14px;display:flex}.verify-banner-line{align-items:center;gap:var(--space-4) var(--space-12);flex-wrap:wrap;display:flex}.verify-banner-title{color:var(--text);margin:0;font-size:14px;font-weight:600;line-height:1.4}.verify-banner-lede{min-width:min(16rem,100%);color:var(--text-2);flex:1 1 0;margin:0;font-size:.875rem;line-height:1.4}.verify-banner strong{color:var(--text);overflow-wrap:anywhere}.verify-banner-actions{align-items:center;gap:var(--space-6);flex-wrap:wrap;margin-left:auto;display:flex}.verify-banner-actions button{padding:var(--space-4) var(--space-8);font:inherit;white-space:nowrap;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;background:0 0;font-size:.8125rem;line-height:1.4}.verify-banner-primary{color:var(--accent-contrast)!important;background:var(--accent-fill)!important;border-color:#0000!important}.verify-banner-actions button:hover:not([aria-disabled=true]){border-color:var(--accent)}.verify-banner-primary:hover:not([aria-disabled=true]){background:var(--accent-fill-hover)!important}.verify-banner-actions button[aria-disabled=true]{opacity:.6;cursor:default}.verify-banner-more,.verify-banner-dismiss{color:var(--text-2)!important;border-color:#0000!important}.verify-banner-status{color:var(--text-2);min-height:1.4em;margin:0;font-size:.8125rem;line-height:1.4}.verify-banner-detail{padding-top:var(--space-4)}.verify-banner-detail p{margin:0 0 var(--space-6);color:var(--text-2);font-size:.875rem;line-height:1.5}.verify-banner-detail p:last-child{margin-bottom:0}.verify-banner-detail .verify-banner-why{font-size:.8125rem}@media (width<=40rem){.verify-banner{width:auto;margin:var(--space-8);padding:var(--space-8) var(--space-12)}.verify-banner-actions{margin-left:0}.verify-banner-lede{flex-basis:100%}}.site-footer{justify-content:center;align-items:center;gap:var(--space-8);padding:var(--space-24);color:var(--text-2);font-size:12px;display:flex}.site-footer a,.site-footer .route-button{color:var(--text-2);text-decoration:none}.site-footer a:hover,.site-footer .route-button:hover{color:var(--text);text-decoration:underline}@media (width<=51.99rem),(height<=34.99rem){.site-footer{padding:var(--space-4) var(--space-12);gap:var(--space-4);flex-wrap:wrap}.site-footer a,.site-footer .route-button{min-width:44px;min-height:44px;padding:0 var(--space-8);justify-content:center;align-items:center;display:inline-flex}}.return-to-table{align-items:center;gap:var(--space-8);padding:var(--space-6) var(--space-12);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text);white-space:nowrap;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.return-to-table:hover{background:var(--surface-hover)}.return-to-table:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.return-to-table--turn{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--accent-contrast)}.return-to-table--turn:hover{background:var(--accent-fill-hover);border-color:var(--accent-fill-hover)}.return-to-table-dot{background:var(--accent);border-radius:50%;flex:none;width:.5rem;height:.5rem}.return-to-table--turn .return-to-table-dot{background:var(--accent-contrast)}.return-to-table-detail{color:inherit;opacity:.75;font-weight:400}@media (width<=640px){.return-to-table-detail{display:none}}.docked-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0;display:flex;position:relative}.docked-panel--side{flex-direction:row-reverse;flex:0 0 var(--docked-panel-width,320px);max-width:40%;max-height:var(--docked-panel-max-height,none)}.docked-panel--bottom{flex-direction:column-reverse;flex:0 0 var(--dock-bottom-height,220px);width:100%;min-height:0}.docked-panel--side.docked-panel--open{height:var(--docked-panel-max-height,auto);top:var(--docked-panel-sticky-top,0px);position:sticky}.docked-panel-resize{touch-action:none;background:0 0;border-radius:6px;position:absolute}.docked-panel--side>.docked-panel-resize{cursor:col-resize;width:12px;top:0;bottom:0;left:-16px}.docked-panel--bottom>.docked-panel-resize{cursor:row-resize;height:12px;top:-16px;left:0;right:0}.docked-panel-resize:before{content:"";background:var(--border);border-radius:1px;position:absolute}.docked-panel--side>.docked-panel-resize:before{width:2px;top:8px;bottom:8px;left:5px}.docked-panel--bottom>.docked-panel-resize:before{height:2px;top:5px;left:8px;right:8px}.docked-panel-resize:hover:before,.app-dock-row.is-resizing .docked-panel-resize:before{background:var(--accent)}.docked-panel-resize:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.docked-panel--collapsed{flex:none;align-self:flex-start;max-width:none}.docked-panel-rail{gap:var(--space-4);padding:var(--space-4);flex:none;display:flex}.docked-panel--side .docked-panel-rail{flex-direction:column;align-items:stretch}.docked-panel--bottom .docked-panel-rail{flex-direction:row;align-items:stretch}.docked-panel-rail-tab{justify-content:center;align-items:center;gap:var(--space-4);box-sizing:border-box;font:inherit;padding:var(--space-8) var(--space-4);border-radius:var(--radius-md);color:var(--text-2);cursor:pointer;background:0 0;border:1px solid #0000;font-size:13px;font-weight:600;display:flex;position:relative}.docked-panel--side .docked-panel-rail-tab{width:44px}.docked-panel--bottom .docked-panel-rail-tab{height:44px}.docked-panel--side .docked-panel-rail-label{writing-mode:vertical-rl;white-space:nowrap}.docked-panel-rail-tab:hover{background:var(--surface-hover);color:var(--text)}.docked-panel-rail-tab.current{border-color:var(--accent-fill);background:var(--accent-fill);color:var(--accent-contrast)}.docked-panel-rail-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.docked-panel-rail-tab .docked-panel-badge{top:calc(-1 * var(--space-4));right:calc(-1 * var(--space-4));position:absolute}.docked-panel-move{padding:var(--space-6) var(--space-12);border:1px solid var(--border-strong);border-radius:var(--radius-pill);color:var(--text-2);font:inherit;cursor:pointer;background:0 0;margin-inline-start:auto;font-size:13px;font-weight:600}.docked-panel-move:hover{background:var(--surface-hover);color:var(--text)}.docked-panel-move:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.docked-panel-badge{min-width:18px;height:18px;padding:0 var(--space-4);border-radius:var(--radius-md);background:var(--accent-fill);color:var(--accent-contrast);justify-content:center;align-items:center;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.docked-panel-body{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;container:dockpage/inline-size}.docked-panel-actions{padding:var(--space-8) var(--space-16) 0;justify-content:flex-end;display:flex}.docked-panel-content{gap:var(--space-24);min-height:0;padding:var(--space-16);flex-direction:column;flex:auto;display:flex;position:relative;overflow-y:auto}.docked-panel-content:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.docked-panel-content{overflow-x:clip}.docked-panel-content :where(p,span,li,td,th,label,h1,h2,h3,h4,h5,h6){overflow-wrap:anywhere}.docked-panel-content .account-tab{text-overflow:ellipsis;max-width:100%;overflow:hidden}.docked-panel-content .account-section .theme-option-list .theme-option{min-width:0;box-shadow:none;transform:none}.director-tab{gap:var(--space-8);flex-direction:column;display:flex}.director-matches{gap:var(--space-8);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.director-match{align-items:baseline;column-gap:var(--space-8);row-gap:var(--space-4);grid-template-columns:1fr auto;display:grid}.director-match-name{overflow-wrap:anywhere;font-weight:600}.director-match-state{grid-column:1;font-size:.9rem}.director-match-open{grid-area:1/2/span 2;align-self:center}.invite-dialog{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-16);width:min(560px,100vw - 32px);max-height:calc(100vh - 48px);position:relative;overflow-y:auto;box-shadow:0 18px 48px #00000047}.invite-dialog-eyebrow{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:12px;font-weight:600}.invite-dialog-title{margin:var(--space-4) 0 var(--space-12);font-size:20px;line-height:1.25}.invite-dialog-body{gap:var(--space-12);display:grid}.invite-dialog-facts{gap:var(--space-6) var(--space-16);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:0;padding:0;list-style:none;display:grid}.invite-dialog-facts li{flex-direction:column;gap:1px;font-size:14px;display:flex}.invite-dialog-fact-label{letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:600}.invite-dialog-mirror{gap:var(--space-12);grid-template-columns:1fr 1fr;display:grid}.invite-dialog-table h3{margin:0 0 var(--space-6);letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);font-size:12px;font-weight:600}.invite-dialog-table ul{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.invite-dialog-seat{--invite-team-color:var(--accent);--invite-team-soft:var(--accent-soft);justify-content:space-between;gap:var(--space-8);padding:var(--space-4) var(--space-8);border-radius:var(--radius-md);border-left:3px solid var(--invite-team-color);background:var(--invite-team-soft);align-items:baseline;font-size:13px;display:flex}.invite-dialog-seat.team-team2{--invite-team-color:var(--info-text);--invite-team-soft:color-mix(in srgb, var(--info-text) 14%, transparent)}.invite-dialog-seat.is-mine{outline:2px solid var(--invite-team-color)}.invite-dialog-seat-label{color:var(--text-muted);font-weight:600}.invite-dialog-seat-name{text-align:right}.invite-dialog-note{color:var(--text-muted);margin:0;font-size:13px}.invite-dialog-actions{gap:var(--space-8);margin-top:var(--space-16);flex-wrap:wrap;align-items:center;display:flex}.invite-dialog-close{font:inherit;color:var(--text-muted);cursor:pointer;padding:var(--space-8);background:0 0;border:none;margin-left:auto;font-size:13px;text-decoration:underline}.invite-dialog-close:disabled{cursor:default;opacity:.6}@media (width<=560px){.invite-dialog-mirror{grid-template-columns:1fr}}.invite-arrival{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:560px;max-height:calc(100vh - 40px);padding:var(--space-24);overflow-y:auto;box-shadow:0 24px 60px #0006}.invite-arrival h2{margin:0 0 var(--space-12)}.invite-arrival ul,.invites-tab ul{margin:0 0 var(--space-12);gap:var(--space-8);flex-direction:column;padding:0;list-style:none;display:flex}.invites-tab{gap:var(--space-8);flex-direction:column;display:flex}.invite-copy-fallback{width:100%;margin-top:var(--space-4);padding:var(--space-4) var(--space-6);color:var(--text);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:12px}ul:has(>.invite-row){gap:var(--space-8);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.invite-row{align-items:center;gap:var(--space-8);flex-wrap:wrap;min-width:0;display:flex}.invite-row .button-link,.invite-arrival .button-link,.invite-auto-accept .button-link{font:inherit;font-weight:600}.invite-row>.button-link{text-align:left;min-width:0;max-width:100%}.messages-tab{gap:var(--space-8);flex-direction:column;flex:auto;height:100%;min-height:0;display:flex}.messages-empty{color:var(--text-2);margin:0;font-size:.9rem}.messages-search{flex:none;display:block}.messages-search-input{width:100%;font:inherit;padding:var(--space-4) var(--space-12);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-raised);color:inherit}.messages-search-input:focus-visible{outline:2px solid var(--accent-color);outline-offset:1px}.messages-list{border-top:1px solid var(--border);flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.messages-row{align-items:center;gap:var(--space-6);text-align:left;width:100%;min-width:0;font:inherit;color:inherit;cursor:pointer;padding:var(--space-12) var(--space-8);border:0;border-bottom:1px solid var(--border);background:0 0;border-radius:0;display:flex}.messages-row:hover{background:var(--surface-hover)}.messages-row.is-unread{box-shadow:inset var(--space-4) 0 0 var(--accent)}.messages-row-who{align-items:center;gap:var(--space-6);font-weight:600;display:flex}.messages-unread-dot{background:var(--accent);border-radius:50%;width:.5rem;height:.5rem}.messages-row-who{overflow-wrap:anywhere;white-space:normal;min-width:0}.messages-back{font:inherit;color:var(--accent);cursor:pointer;padding:var(--space-4) 0;background:0 0;border:none;align-self:flex-start}.messages-tab .messages-conversation{flex:auto;height:auto}.docked-panel-content:has(>.messages-tab){flex-direction:column;display:flex}.docked-panel-content>.messages-tab{flex:auto;min-height:0}.messages-substrip{flex:none}.messages-subpanel,.messages-view{gap:var(--space-8);flex-direction:column;flex:auto;min-height:0;display:flex}.contract-result{align-items:baseline;gap:var(--space-6);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600;display:inline-flex}.contract-result-contract{align-items:baseline;gap:var(--space-2);display:inline-flex}.contract-result-suit{align-self:center;width:.86em;height:.86em}.contract-result-nt{letter-spacing:-.02em;font-size:.86em}.contract-result-declarer{color:var(--text-2);font-weight:500}.contract-result-tricks{font-weight:700}.contract-result-tricks[data-made=over]{color:var(--success-text)}.contract-result-tricks[data-made=under]{color:var(--danger-text)}.contract-result-tricks[data-made=exact]{color:var(--text-2)}.contract-result-passed{color:var(--text-2);font-style:italic;font-weight:500}.history-score{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.history-score[data-sign=plus]{color:var(--success-text)}.history-score[data-sign=minus]{color:var(--danger-text)}.history-score[data-sign=zero]{color:var(--text-2)}.hand-diagram{background:var(--surface);border:1px solid var(--border);width:100%;max-width:30rem;box-shadow:var(--shadow-card);color:var(--text);font-variant-numeric:tabular-nums;box-sizing:border-box;border-radius:16px;flex-direction:column;gap:1.1rem;margin:0 auto;padding:1.5rem;display:flex;container-type:inline-size}.hand-diagram.hd-flush{box-shadow:none;background:0 0;border:none;max-width:none;padding:0}.hd-facts{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:center;gap:.4rem 1.5rem;padding-bottom:.85rem;font-size:.9rem;display:flex}.hd-fact{color:var(--text);font-weight:600}.hd-fact-label{color:var(--text-2);text-transform:uppercase;letter-spacing:.06em;margin-right:.35em;font-size:.7rem;font-weight:400}.hd-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"n n""w e""s s";place-items:start center;gap:1rem .75rem;display:grid}.hd-seat-n{grid-area:n;justify-self:center}.hd-seat-w{grid-area:w;justify-self:end}.hd-seat-e{grid-area:e;justify-self:start}.hd-seat-s{grid-area:s;justify-self:center}.hd-hand{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.4rem;min-width:0;max-width:100%;padding:.55rem .75rem;display:flex;overflow:hidden}.hd-hand-vulnerable{border-color:var(--danger-text);background:color-mix(in srgb, var(--danger-text) 9%, transparent)}@container (width>=15.01rem) and (width<=26rem){.hd-hand{padding:var(--space-4) var(--space-6)}.hd-suit-line{gap:var(--space-4);font-size:.9rem}.hd-hand-cards{gap:var(--space-2)}}@container (width<=15rem){.hd-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"n""s""e""w";justify-items:stretch;row-gap:.6rem}.hd-seat-n,.hd-seat-s,.hd-seat-w,.hd-seat-e{justify-self:stretch}.hd-grid .hd-hand{width:100%}}.hd-hand-label{text-align:center;letter-spacing:.02em;color:var(--text-2);font-size:.95rem;font-weight:700}.hd-hand-vulnerable .hd-hand-label{color:var(--danger-text)}.hd-vuln-tag{text-transform:uppercase;letter-spacing:.05em;color:var(--danger-text);margin-left:.4rem;font-size:.65rem;font-weight:700}.hd-hand-cards{flex-direction:column;gap:.15rem;display:flex}.hd-suit-line{align-items:center;gap:.45rem;font-size:.95rem;line-height:1.35;display:flex}.hd-suit-icon{flex:none;width:.85rem;height:.85rem}.hd-suit-ranks{letter-spacing:.04em;color:var(--text);overflow-wrap:anywhere;min-width:0}.hd-hand-hidden{flex-flow:wrap;align-content:flex-start;gap:3px;max-width:8rem;margin:0 auto}.hd-card-back{background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:2px;width:.8rem;height:1.15rem;display:inline-block}.hd-summary{border-top:1px solid var(--border);flex-direction:column;align-items:center;gap:.3rem;padding-top:.85rem;font-size:.95rem;display:flex}.hd-summary-line{color:var(--text);margin:0}.hd-contract-visible,.hd-lead-visible{align-items:center;gap:.15rem;font-size:1.05rem;font-weight:700;display:inline-flex}.hd-contract-suit{width:.9rem;height:.9rem}.hd-contract-nt{font-size:.75em;font-weight:700}.hd-contract-doubled{margin-left:.15rem;font-weight:700}.hd-contract-by{color:var(--text-2);margin-left:.15rem;font-weight:400}.hd-trick-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);grid-template-areas:".n.""w.e"".s.";place-items:center;gap:.4rem .5rem;margin:0 auto;display:grid}.hd-trick-slot-n{grid-area:n}.hd-trick-slot-w{grid-area:w}.hd-trick-slot-e{grid-area:e}.hd-trick-slot-s{grid-area:s}.hd-trick-card{background:var(--surface-raised);border:1px solid var(--border);border-radius:6px;align-items:center;gap:.15rem;min-width:1.8rem;padding:.2rem .4rem;font-size:.95rem;font-weight:700;display:inline-flex}.hd-trick-card-winner{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.hd-trick-card-suit{width:.8rem;height:.8rem}.hd-auction{justify-content:center;display:flex}.hd-auction-table{border-collapse:collapse;font-size:.9rem}.hd-auction-header{color:var(--text-2);text-align:center;border-bottom:1px solid var(--border);padding:.25rem .7rem;font-weight:700}.hd-auction-cell{text-align:center;color:var(--text);padding:.2rem .7rem}.hd-auction-bid{align-items:center;gap:.1rem;font-weight:600;display:inline-flex}.hd-auction-header-vulnerable{color:var(--danger-text)}.hd-auction-suit{width:.75rem;height:.75rem}.hd-auction-pass{color:var(--text-2)}.hd-auction-x{color:var(--danger-text);font-weight:700}.hd-caption{text-align:center;color:var(--text-2);margin:0;padding-top:.25rem;font-size:.85rem;font-style:italic}@media print{.hand-diagram{box-shadow:none;color:#111;background:#fff;border:1px solid #999}.hd-fact-label,.hd-hand-label,.hd-suit-ranks,.hd-caption,.hd-contract-by,.hd-auction-header,.hd-auction-pass{color:#111}[data-suit=H],[data-suit=D],.hd-contract-doubled,.hd-auction-x{color:#b3271a}[data-suit=S],[data-suit=C]{color:#111}.hd-card-back{background:#ddd;border-color:#999}}@media (width<=22rem){.hd-grid{grid-template-columns:1fr;grid-template-areas:"n""w""e""s"}.hd-seat-w,.hd-seat-e{justify-self:center}}.my-history-tab{gap:var(--space-8);flex-direction:column;min-width:0;display:flex;overflow-x:clip}.my-history-heading{text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);margin:0;font-size:14px;font-weight:700}.my-history-empty,.my-history-note{color:var(--text-2);margin:0;font-size:13px}.my-history-error{color:var(--danger-text);margin:0;font-size:13px}.my-history-view,.my-history-board-grid,.my-history-group{min-width:0}.my-history-view,.my-history-board-grid{gap:var(--space-8);flex-direction:column;display:flex}.my-history-grid-head,.my-history-row-button,.my-history-grid-row{align-items:center;gap:var(--space-4);grid-template-columns:minmax(2.4rem,.65fr) minmax(0,1.55fr) minmax(3rem,.8fr);display:grid}.my-history-grid-head{padding:var(--space-4);border-bottom:2px solid var(--border-strong);color:var(--text-2);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:700}.my-history-grid-head>:last-child,.my-history-row-score{text-align:right}.my-history-match-grid-head,.my-history-match-grid-row{grid-template-columns:minmax(1.8rem,.45fr) minmax(0,1fr) minmax(0,1fr) minmax(3.5rem,.85fr)}.my-history-match-grid-head>:nth-child(2){padding-right:var(--space-4);text-align:right}.my-history-match-grid-head>:nth-child(3){padding-left:var(--space-4);border-left:1px solid var(--border-strong);text-align:left}.my-history-match-table{white-space:nowrap;flex-direction:column;min-width:0;display:flex;overflow:hidden}.my-history-match-table-t1{padding-right:var(--space-4);text-align:right;align-items:flex-end}.my-history-match-table-t2{padding-left:var(--space-4);border-left:1px solid var(--border-strong);text-align:left;align-items:flex-start}.my-history-match-table-score{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:10px}.my-history-match-score{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.my-history-group{flex-direction:column;gap:0;display:flex}.my-history-group-head{justify-content:space-between;align-items:baseline;gap:var(--space-2) var(--space-6);padding:var(--space-6) var(--space-4) var(--space-4);background:var(--surface-raised);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.my-history-group-lineup{min-width:0;color:var(--text);overflow-wrap:anywhere;margin:0;font-size:12px;font-weight:700;line-height:1.3}.my-history-group-date{color:var(--text-2);flex:none;font-size:11px}.my-history-list{margin:0;padding:0;list-style:none}.my-history-row-button,.my-history-match-button,.my-history-grid-row{width:100%;min-width:0;padding:var(--space-6) var(--space-4);border:none;border-bottom:1px solid var(--border);color:var(--text);text-align:left;cursor:pointer;font:inherit;background:0 0;border-radius:0}.my-history-grid-row{cursor:default}.my-history-match-button{align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex}.my-history-row:last-child .my-history-row-button,.my-history-row:last-child .my-history-match-button,.my-history-row:last-child .my-history-grid-row{border-bottom-color:#0000}.my-history-row:nth-child(2n) .my-history-row-button,.my-history-row:nth-child(2n) .my-history-match-button,.my-history-row:nth-child(2n) .my-history-grid-row,.my-history-row:nth-child(odd) .my-history-row-button:hover,.my-history-row:nth-child(odd) .my-history-match-button:hover{background:var(--surface-raised)}.my-history-row:nth-child(2n) .my-history-row-button:hover,.my-history-row:nth-child(2n) .my-history-match-button:hover{background:var(--surface-hover)}.my-history-row-button:focus-visible,.my-history-match-button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.my-history-row-board,.my-history-row-contract,.my-history-row-score{font-variant-numeric:tabular-nums;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.my-history-row-board{padding-left:var(--space-4);font-weight:700}.my-history-row-contract{text-overflow:ellipsis}.my-history-row-score{color:var(--text-2)}.my-history-row-main{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:13px;font-weight:600;overflow:hidden}.my-history-row-detail{color:var(--text-2);font-size:12px}.my-history-load-more,.my-history-back,.my-history-retry{font:inherit;padding:var(--space-6) var(--space-12);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text);cursor:pointer;align-self:flex-start;font-size:13px;font-weight:600}.my-history-load-more:hover,.my-history-back:hover,.my-history-retry:hover{background:var(--surface-hover)}.my-history-match-error{align-items:flex-start;gap:var(--space-6);flex-direction:column;display:flex}.my-history-load-more:disabled{opacity:.6;cursor:default}.my-history-full-link{color:var(--accent);align-self:flex-start;font-size:13px;text-decoration:underline}.my-history-match-lineup,.my-history-match-result,.my-history-board-lineup,.my-history-board-result{margin:0;font-size:13px}.app-dock-container{width:100%;container:appdock/inline-size}.app-dock-row{align-items:stretch;gap:var(--space-16);width:100%;display:flex;position:relative}.app-dock-main{gap:var(--space-16);flex-direction:column;flex:auto;min-width:0;display:flex;position:relative}.app-dock-content{flex:auto;min-width:0;position:relative;container:dockpage/inline-size}.app-dock-container.has-bottom-dock .app-dock-main{height:var(--docked-panel-max-height,auto);min-height:0}.app-dock-container.has-bottom-dock .app-dock-content{min-height:0;overflow-y:auto}.app-dock-row>.docked-panel--side.docked-panel--collapsed{z-index:var(--z-dock-rail);width:auto;height:auto;box-shadow:var(--shadow-card);position:absolute;top:0;right:0}.app-dock-main>.docked-panel--bottom.docked-panel--collapsed{z-index:var(--z-dock-rail);width:auto;height:auto;box-shadow:var(--shadow-card);position:absolute;bottom:0;left:0}main.table-workspace-main:has(.sandbox-bar)>.app-dock-container>.app-dock-row>.docked-panel--side.docked-panel--collapsed{top:calc(56px + var(--space-4))}.app-dock-container:has(.fills-height){flex:auto;min-height:0;display:flex}.app-dock-main:has(.fills-height){min-height:0}.app-dock-content:has(>.fills-height){flex-direction:column;min-height:0;display:flex}@container appdock (width<=32rem){.docked-panel{display:none}}@container appdock (width<=49rem){.docked-panel--side{display:none}}.dm-popup{z-index:var(--z-popup);gap:var(--space-6);width:min(20rem,100vw - 2rem);padding:var(--space-12) var(--space-12);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-card);flex-direction:column;display:flex;position:fixed;bottom:1rem;left:1rem}.dm-popup-who{justify-content:space-between;align-items:center;gap:var(--space-8);-webkit-user-select:none;user-select:none;cursor:grab;touch-action:none;margin:0;font-size:.95rem;font-weight:700;display:flex}.dm-popup-dragging .dm-popup-who{cursor:grabbing}.dm-popup-grip{color:var(--text-2);cursor:grab;flex:none;line-height:1}.dm-popup-grip:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.dm-popup-who .dm-popup-staff-tag{margin-left:var(--space-6);padding:0 var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.03em;color:var(--text-2);vertical-align:middle;font-size:.7rem;font-weight:600}.dm-popup-text{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.9rem;overflow:hidden}.dm-popup-actions{gap:var(--space-8);margin-top:var(--space-2);display:flex}.dm-popup-dismiss{color:var(--text-2);font:inherit;cursor:pointer;padding:var(--space-6) var(--space-8);border-radius:var(--radius-md);background:0 0;border:none}.dm-popup-dismiss:hover{color:var(--text);background:var(--surface-hover)}.dm-popup.login-notice{bottom:6.5rem}.profile-window{z-index:var(--z-window);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:min(320px,100vw - 16px);max-height:calc(100vh - 16px);box-shadow:var(--shadow-card);color:var(--text);flex-direction:column;display:flex;position:fixed;overflow:hidden}.profile-window.is-dragging{box-shadow:var(--shadow-card), 0 0 0 1px var(--accent)}.profile-window-bar{justify-content:space-between;align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-8) var(--space-8) var(--space-12);background:var(--surface-raised);border-bottom:1px solid var(--border);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;display:flex}.profile-window.is-dragging .profile-window-bar{cursor:grabbing}.profile-window-bar:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.profile-window-title{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.profile-window-close{width:28px;height:28px;font:inherit;border-radius:var(--radius-md);color:var(--text-2);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;place-items:center;font-size:20px;line-height:1;display:grid}.profile-window-close:hover{background:var(--surface-hover);color:var(--text)}.profile-window-body{padding:var(--space-12);gap:var(--space-8);flex-direction:column;min-height:96px;display:flex;position:relative;overflow-y:auto}.profile-window-identity{align-items:center;gap:var(--space-8);flex-wrap:wrap;font-size:13px;display:flex}.profile-window-bio{overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.5}.profile-window-note{color:var(--text-2);margin:0;font-size:13px}.profile-window-actions{align-items:center;gap:var(--space-8);flex-wrap:wrap;display:flex}.profile-window-actions .secondary-button,.profile-window-actions .person-menu-trigger{padding:var(--space-6) var(--space-12);font-size:13px}.profile-window-ratings{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:10px;display:flex}.profile-window-section-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);font-size:11px;font-weight:700}.profile-window-ratings-ladder{flex-direction:column;gap:2px;display:flex}.profile-window-ratings-ladder-name{color:var(--text-2);font-size:12px;font-weight:600}.profile-window-ratings-rows{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.profile-window-rating-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.profile-window-rating-pair{flex-direction:column;flex:auto;min-width:0;display:flex}.profile-window-rating-partner{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.profile-window-rating-count{color:var(--text-2);font-size:11px}.profile-window-ratings-empty{color:var(--text-2);margin:0;font-size:13px}.profile-window-ratings .rating-value-number{font-size:16px}.profile-window-link{color:var(--accent);font-size:13px}.profile-window-error{color:var(--danger-text);margin:0;font-size:13px}.profile-window-actions [aria-disabled=true]{opacity:.6;cursor:not-allowed}.profile-identity-details{gap:var(--space-4);flex-direction:column;margin:0;font-size:13px;display:flex}.profile-identity-row{gap:var(--space-8);display:flex}.profile-identity-row dt{color:var(--text-2);flex:none}.profile-identity-row dd{overflow-wrap:anywhere;margin:0}.rating-value{align-items:baseline;gap:var(--space-8);flex-wrap:wrap;display:inline-flex}.rating-value-number{color:var(--text-color);font-variant-numeric:tabular-nums;font-size:24px;font-weight:700;line-height:1.2}.rating-value-number-none{color:var(--subtext-color);font-weight:600}.rating-value-label{color:var(--text-color);font-size:14px;font-weight:600}.rating-value-spread{color:var(--subtext-color);font-variant-numeric:tabular-nums;font-size:15px}.rating-value-badge{padding:var(--space-2) var(--space-8);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text-2);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;font-size:11px;font-weight:600}.rating-value-note{color:var(--subtext-color);flex-basis:100%;font-size:12px;line-height:1.5}.site-notices{z-index:var(--z-site-notice);gap:var(--space-8);pointer-events:none;flex-direction:column;width:min(46ch,100vw - 24px);display:flex;position:fixed;top:12px;right:12px}.site-notice{align-items:flex-start;gap:var(--space-8);padding:var(--space-8) var(--space-12);border-radius:var(--radius-lg);border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text);pointer-events:auto;font-size:14px;line-height:1.4;display:flex;box-shadow:0 6px 20px #00000040}.site-notice-error{border-color:var(--danger-text)}.site-notice-message{flex:1}.site-notice-dismiss{padding:0 var(--space-4);color:var(--text-2);cursor:pointer;background:0 0;border:none;flex:none;font-size:18px;line-height:1}.site-notice-dismiss:hover{color:var(--text)}.session-gate{padding:var(--space-48);justify-content:center;align-items:center}.role-badge.role-owner{background:var(--surface-raised);color:var(--text-2);border:1px solid var(--border-strong)}.admin-panel{gap:var(--space-16);flex-direction:column;display:flex}.admin-search{margin:0;display:block}.admin-count{color:var(--subtext-color);margin:0;font-size:14px;line-height:1.6}.admin-search input{width:100%}.admin-copy-toolbar{align-items:center;gap:var(--space-12);margin-bottom:var(--space-8);flex-wrap:wrap;display:flex}.admin-copy-tabs{gap:var(--space-6);flex-wrap:wrap;display:flex}.admin-copy-tab{align-items:baseline;gap:var(--space-6);padding:var(--space-6) var(--space-12);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text-2);font:inherit;white-space:nowrap;cursor:pointer;font-size:14px;display:inline-flex}.admin-copy-tab:hover{background:var(--surface-hover);color:var(--text)}.admin-copy-tab.selected{border-color:var(--accent);background:var(--accent-fill);color:var(--accent-contrast);font-weight:600}.admin-copy-tab.selected:hover{color:var(--accent-contrast)}.admin-copy-tab-count{opacity:.8;font-size:11px}.admin-copy-search{flex:16rem;display:block}.admin-copy-search input{width:100%}.admin-copy-blurb{margin:0 0 var(--space-8);color:var(--text-2);font-size:13px}.admin-copy-list{border:1px solid var(--border-strong);border-radius:var(--radius-lg);max-height:min(60vh,560px);padding:var(--space-16) var(--space-12);scroll-padding-block:var(--space-16);position:relative;overflow-y:auto}.admin-copy-group+.admin-copy-group{border-top:1px solid var(--border-color);margin-top:var(--space-12);padding-top:var(--space-8)}.admin-copy-group-heading{margin:var(--space-8) 0 var(--space-4);text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);font-size:13px;font-weight:700}.admin-copy-rows{gap:var(--space-12);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.admin-copy-row{padding:var(--space-8) var(--space-12);border-radius:var(--radius-lg);background:var(--surface);gap:var(--space-6);flex-direction:column;display:flex}.admin-copy-row-header{align-items:baseline;gap:var(--space-8);flex-wrap:wrap;display:flex}.admin-copy-label{font-size:15px;font-weight:600}.admin-copy-key{color:var(--subtext-color);margin-left:auto;font-family:monospace;font-size:11px;font-weight:400}.admin-copy-badge{text-transform:uppercase;letter-spacing:.03em;padding:var(--space-2) var(--space-8);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text-2);border:1px solid var(--border-strong);font-size:11px;font-weight:600}.admin-copy-badge-active{background:var(--accent-fill);color:var(--accent-contrast);border-color:#0000}.admin-copy-required{color:var(--danger-text);border-color:var(--danger-text);background:0 0}.admin-copy-description{color:var(--text-2);margin:0;font-size:13px}.admin-copy-current{align-items:baseline;gap:var(--space-8);margin:0;font-size:14px;display:flex}.admin-copy-current-tag{text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);flex:none;font-size:10px;font-weight:700}.admin-copy-current-text{color:var(--text)}.admin-copy-default{color:var(--subtext-color);margin:0;font-size:12px;font-style:italic}.admin-copy-field{display:block}.admin-copy-input{width:100%}.admin-copy-meta{color:var(--subtext-color);margin:0;font-size:11px}.admin-copy-row-actions{gap:var(--space-8);display:flex}.admin-links{gap:var(--space-12);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.admin-link{align-items:baseline;gap:var(--space-12);flex-wrap:wrap;display:flex}.admin-link-note{color:var(--text-2);flex:16rem;font-size:.85rem}.admin-pin-toggle{font:inherit;padding:var(--space-4) var(--space-8);border-radius:var(--radius-md);border:1px solid var(--border);color:var(--subtext-color);cursor:pointer;background:0 0;font-size:.78rem;font-weight:600}.admin-pin-toggle:hover{border-color:var(--accent);color:var(--accent)}.admin-pin-toggle--active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.auction-call{border:2.5px solid #0000;border-radius:7px;justify-content:center;align-items:center;padding:1px 7px;line-height:1;display:inline-flex}button.auction-call{color:inherit;font:inherit;font-variant-numeric:inherit;cursor:pointer;background:0 0;margin:0}button.auction-call:hover{background:color-mix(in srgb, currentColor 12%, transparent)}button.auction-call:focus-visible{outline:2px solid var(--focus,currentColor);outline-offset:1px}.auction-call.auction-requested{text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-decoration-thickness:2px}.cf-table .auction-grid{table-layout:auto;border-collapse:collapse;border-spacing:0;width:auto;color:var(--cf-auction-ink);font-variant-numeric:tabular-nums;background:0 0;border:none;border-radius:0;font-size:14.5px;font-weight:400;overflow:visible}.cf-table .auction-header{width:58px;color:inherit;text-transform:uppercase;letter-spacing:.07em;opacity:.85;background:0 0;padding:4px 6px 6px;font-size:11.5px;font-weight:600}.cf-table .auction-cell{border:1px solid var(--cf-auction-cell-line);background:var(--cf-auction-cell);width:58px;height:33px;color:inherit;border-radius:0;padding:0}.cf-table .auction-header.auction-vul{background:var(--cf-auction-vul);color:var(--cf-auction-vul-ink);opacity:1}.cf-table .auction-cell.auction-vul{background:var(--cf-auction-vul-tint)}.cf-table .auction-bid{background:0 0;border-radius:0;gap:1px;padding:0;font-weight:700}.cf-table .auction-pass{color:inherit;opacity:.76;font-weight:400}.cf-table .auction-cell .auction-s-S,.cf-table .auction-cell .auction-s-C,.cf-table .auction-cell .auction-double,.cf-table .auction-cell .auction-redouble{color:#17171d}.cf-table .auction-cell .auction-s-H,.cf-table .auction-cell .auction-s-D{color:#bb1a33}.cf-table .auction-cell .auction-double,.cf-table .auction-cell .auction-redouble{color:#b3271a}:root[data-deck=four] .cf-table .auction-cell .auction-s-D{color:#1d4ed8}:root[data-deck=four] .cf-table .auction-cell .auction-s-C{color:#157a3e}:root[data-deck=four] :not(.cf-table)>.auction-cell .auction-s-D,:root[data-deck=four] .auction-record .auction-s-D{color:var(--suit-four-d)}:root[data-deck=four] :not(.cf-table)>.auction-cell .auction-s-C,:root[data-deck=four] .auction-record .auction-s-C{color:var(--suit-four-c)}.auction-alerted{border:2.5px solid color-mix(in srgb, currentColor 55%, transparent);background:color-mix(in srgb, currentColor 8%, transparent);border-radius:7px;padding:1px 7px}:root[data-alertring=red] .auction-alerted{background:#ff4d5e1f;border-color:#ff4d5e}.auction-disclosure{top:calc((var(--cf-slot-menu-h,34px) + var(--cf-control-slot-gap,10px) + var(--cf-control-pad,18px)) * var(--cf-felt-scale,1));left:calc(var(--cf-render-control-w,304px) + var(--cf-render-gap,12px));transform-origin:0 0;transform:scale(var(--cf-felt-scale,1));z-index:var(--z-felt-panel);box-sizing:border-box;border:1px solid var(--border-strong);background:var(--surface-raised);width:300px;max-height:70%;box-shadow:var(--shadow-card);border-radius:12px;flex-direction:column;gap:6px;padding:10px;display:flex;position:absolute;overflow-y:auto}.auction-disclosure-head{text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);justify-content:space-between;align-items:center;font-size:12px;font-weight:700;display:flex}.auction-disclosure-close{border:1px solid var(--border-strong);background:var(--surface);width:22px;height:22px;color:var(--text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-size:14px;line-height:1;display:flex}.auction-disclosure-close:hover{background:var(--surface-hover)}.auction-disclosure-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cf-bm{--cf-bm-vul:#c0102c;--cf-bm-vul-ink:#fff;--cf-bm-safe:#f2efe4;--cf-bm-safe-ink:#17151c;--cf-bm-band:22px;justify-content:center;align-items:center;height:100%;display:flex}.cf-bm-frame{box-sizing:border-box;background:var(--surface-raised);border:1px solid var(--border);border-radius:10px;flex:none;width:106px;height:106px;position:relative}.cf-table--side .cf-bm{--cf-bm-band:18px}.cf-table--side .cf-bm-frame{border-radius:8px;width:86px;height:86px}.cf-table--side .cf-bm-band{font-size:12px}.cf-table--side .cf-bm-chip{width:12px;height:12px;font-size:8px}.cf-table--side .cf-bm-number{font-size:22px}.cf-bm-band{background:var(--cf-bm-safe);color:var(--cf-bm-safe-ink);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:3px;font-size:13px;font-weight:800;line-height:1;display:flex;position:absolute}.cf-bm-vul{background-color:var(--cf-bm-vul);color:var(--cf-bm-vul-ink);background-image:repeating-linear-gradient(45deg,#00000042 0 2px,#0000 2px 6px)}.cf-bm-band-top,.cf-bm-band-bottom{left:var(--cf-bm-band);right:var(--cf-bm-band);height:var(--cf-bm-band);flex-direction:row}.cf-bm-band-top{border-radius:4px 4px 0 0;top:0}.cf-bm-band-bottom{border-radius:0 0 4px 4px;bottom:0}.cf-bm-band-left,.cf-bm-band-right{top:var(--cf-bm-band);bottom:var(--cf-bm-band);width:var(--cf-bm-band);flex-direction:column}.cf-bm-band-left{border-radius:4px 0 0 4px;left:0}.cf-bm-band-right{border-radius:0 4px 4px 0;right:0}.cf-bm-letter{flex:none}.cf-bm-chip{background:var(--accent-fill);width:14px;height:14px;color:var(--accent-contrast);letter-spacing:0;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:9px;font-weight:800;display:inline-flex}.cf-bm-chip-idle{visibility:hidden}.cf-bm-number{inset:var(--cf-bm-band);background:var(--surface);color:var(--text);font-variant-numeric:tabular-nums;border-radius:3px;justify-content:center;align-items:center;margin:0;font-size:26px;font-weight:800;line-height:1;display:flex;position:absolute}.cf-table-page{overflow-anchor:none;max-width:none;padding:var(--space-4);gap:var(--space-4);min-height:0}main .game-table.cf-table-page{width:100%;max-width:100%;padding-inline:var(--space-4)}.cf-scalearea{overflow-anchor:none;flex:auto;width:100%;min-height:0;position:relative;overflow:hidden}.cf-table,.cf-table *{-webkit-user-select:none;user-select:none}.cf-table input,.cf-table textarea,.cf-table [contenteditable=true]{-webkit-user-select:text;user-select:text}.cf-table{--cf-workspace-w:var(--cf-table-w);--cf-workspace-h:var(--cf-table-h);--cf-render-control-w:var(--cf-control-w);--cf-render-control-h:var(--cf-table-h);--cf-render-felt-w:var(--cf-felt-w);--cf-render-felt-h:var(--cf-table-h);--cf-render-gap:var(--cf-column-gap);--cf-felt-scale:1;width:var(--cf-workspace-w);height:var(--cf-workspace-h);gap:var(--cf-render-gap);--cf-felt:#0e1018;--cf-felt-rim:#313747;--cf-felt-glow:#a49aff12;--cf-felt-text:#e9eaf4;--cf-felt-muted:#a3aac6;--cf-felt-chip:#ffffff12;--cf-felt-chip-line:#ffffff29;--away-bg:#be3c3061;--away-line:#e0574a;--away-text:#ffd9d4;--cf-auction-surface:#d9dde6;--cf-auction-cell:#ffffff80;--cf-auction-ink:#23252e;--cf-auction-line:#b3bac9;--cf-auction-rule:#3034422e;--felt:var(--cf-felt);--felt-rim:var(--cf-felt-rim);--felt-glow:var(--cf-felt-glow);display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cf-table--side{left:0;transform:translateY(-50%)}:root[data-theme=light] .cf-table{--cf-felt:#d9dce8;--cf-felt-rim:#b7bcd2;--cf-felt-glow:#7c6cff1a;--cf-felt-text:#2a2c38;--cf-felt-muted:#5d617a;--cf-felt-chip:#2e304217;--cf-felt-chip-line:#2e30426b;--away-bg:#c44d3f29;--away-line:#c44d3fa6;--away-text:#7c2c22}:root[data-theme=gold] .cf-table{--cf-felt:#0d0f15;--cf-felt-rim:#2f3542;--cf-felt-glow:#c9a22712}:root[data-theme=slate] .cf-table{--cf-felt:#1e222c;--cf-felt-rim:#454c5e;--cf-felt-glow:#c4bdff12}:root[data-theme=graphite] .cf-table{--cf-felt:#131417;--cf-felt-rim:#3b3e45;--cf-felt-glow:#e0c3980f}:root[data-theme=indigo] .cf-table{--cf-felt:#12161f;--cf-felt-rim:#3a4356;--cf-felt-glow:#a8caf212}:root[data-theme=cream] .cf-table{--cf-felt:#c4b898;--cf-felt-rim:#a2946f;--cf-felt-glow:#5e458f14;--cf-felt-text:#2c2820;--cf-felt-muted:#5c5545;--cf-felt-chip:#2c282017;--cf-felt-chip-line:#2c28206b;--away-bg:#a3291c29;--away-line:#a3291ca6;--away-text:#7c2c22}:root[data-theme=sage] .cf-table{--cf-felt:#aec2a6;--cf-felt-rim:#8ba382;--cf-felt-glow:#295c4614;--cf-felt-text:#1f261f;--cf-felt-muted:#4c554b;--cf-felt-chip:#1f261f17;--cf-felt-chip-line:#1f261f6b;--away-bg:#a3291c29;--away-line:#a3291ca6;--away-text:#7c2c22}:root[data-theme=midnight] .cf-table{--cf-felt:#060f28;--cf-felt-rim:#2c3750;--cf-felt-glow:#62a4e712}:root[data-theme=moss] .cf-table{--cf-felt:#081805;--cf-felt-rim:#334230;--cf-felt-glow:#a3a44e0f}:root[data-theme=wine] .cf-table{--cf-felt:#23070c;--cf-felt-rim:#4c2f33;--cf-felt-glow:#e5867712}:root[data-theme=teal] .cf-table{--cf-felt:#97c0ba;--cf-felt-rim:#799b96;--cf-felt-glow:#0db3a514;--cf-felt-text:#002e2a;--cf-felt-muted:#365c57;--cf-felt-chip:#002e2a17;--cf-felt-chip-line:#002e2a6b;--away-bg:#a3291c29;--away-line:#a3291ca6;--away-text:#7c2c22}:root[data-theme=linen] .cf-table{--cf-felt:#c3b7a3;--cf-felt-rim:#9d9383;--cf-felt-glow:#ea837314;--cf-felt-text:#322714;--cf-felt-muted:#5f5443;--cf-felt-chip:#32271417;--cf-felt-chip-line:#3227146b;--away-bg:#a3291c29;--away-line:#a3291ca6;--away-text:#7c2c22}:root[data-theme=mist] .cf-table{--cf-felt:#a9bbc6;--cf-felt-rim:#8897a0;--cf-felt-glow:#66a2ef14;--cf-felt-text:#1a2a34;--cf-felt-muted:#485861;--cf-felt-chip:#1a2a3417;--cf-felt-chip-line:#1a2a346b;--away-bg:#a3291c29;--away-line:#a3291ca6;--away-text:#7c2c22}:root[data-theme=rose] .cf-table{--cf-felt:#cdb1bb;--cf-felt-rim:#a68f97;--cf-felt-glow:#de82b814;--cf-felt-text:#39212b;--cf-felt-muted:#674f58;--cf-felt-chip:#39212b17;--cf-felt-chip-line:#39212b6b;--away-bg:#a3291c29;--away-line:#a3291ca6;--away-text:#7c2c22}:root[data-theme=sand] .cf-table{--cf-felt:#c8b599;--cf-felt-rim:#a2927b;--cf-felt-glow:#13afcb14;--cf-felt-text:#372507;--cf-felt-muted:#645339;--cf-felt-chip:#37250717;--cf-felt-chip-line:#3725076b;--away-bg:#a3291c29;--away-line:#a3291ca6;--away-text:#7c2c22}.cf-control{flex:0 0 var(--cf-render-control-w);width:var(--cf-render-control-w);height:var(--cf-render-control-h);box-sizing:border-box;padding:var(--cf-control-pad);gap:var(--cf-control-slot-gap);background:var(--surface);border:1px solid var(--border);overflow-anchor:none;scrollbar-gutter:stable;border-right:none;border-radius:18px 0 0 18px;flex-direction:column;align-items:stretch;display:flex;overflow-y:auto}.cf-table--side .cf-control{background:0 0;border-color:#0000;border-radius:0}.cf-felt-stage{flex:0 0 var(--cf-render-felt-w);width:var(--cf-render-felt-w);height:var(--cf-render-felt-h);position:relative;overflow:hidden}.cf-felt-frame{width:var(--cf-felt-w);height:var(--cf-table-h);transform-origin:0 0;transform:scale(var(--cf-felt-scale,1));position:absolute;top:0;left:0}.cf-slot{flex:none;overflow:hidden}.cf-slot-menu{height:var(--cf-slot-menu-h);align-items:center;gap:8px;display:flex}.cf-slot-board{height:var(--cf-slot-board-h)}.cf-table--side .cf-slot-board{justify-content:flex-start;align-items:center;display:flex}.cf-slot-contract{height:var(--cf-slot-contract-h)}.cf-slot-tricks{height:var(--cf-slot-tricks-h)}.cf-slot-extra{flex:none;overflow:visible}.cf-felt{width:var(--cf-felt-w);height:var(--cf-table-h);box-sizing:border-box;padding:var(--cf-felt-pad-top) var(--cf-felt-pad-x) var(--cf-felt-pad-bottom);gap:var(--cf-band-gap);border:1px solid var(--cf-felt-rim);background:radial-gradient(ellipse at 50% 28%, var(--cf-felt-glow), transparent 62%), var(--cf-felt);color:var(--cf-felt-text);border-radius:18px;flex-direction:column;display:flex;position:relative;box-shadow:inset 0 0 70px #0000004d}.cf-table--dock{flex-direction:column;align-items:center}.cf-table--dock .cf-felt-stage{order:1;flex:0 0 var(--cf-render-felt-h)}.cf-table--dock .cf-control{order:2;flex:0 0 var(--cf-render-control-h);grid-template-columns:minmax(var(--cf-dock-col-min), 1fr) var(--cf-dock-board-w) minmax(var(--cf-dock-col-min), 1fr);grid-template-rows:var(--cf-dock-row1-h) var(--cf-dock-row2-h) min-content;align-items:center;gap:var(--cf-dock-gap);padding:var(--cf-dock-pad);scrollbar-gutter:auto;border-right:1px solid var(--border);border-radius:14px;display:grid;overflow:hidden auto}.cf-table--dock .cf-slot{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.cf-table--dock .cf-slot-menu{grid-area:1/1}.cf-table--dock .cf-slot-board{grid-area:1/2/span 2}.cf-table--dock .cf-slot-contract{grid-area:1/3}.cf-table--dock .cf-cp-face{gap:var(--space-4)}.cf-table--dock .cf-cp-strain,.cf-table--dock .cf-cp-by{width:var(--cf-dock-contract-chip);height:var(--cf-dock-contract-chip)}.cf-table--dock .cf-cp-x{min-width:var(--cf-dock-contract-chip)}.cf-table--dock .cf-slot-tricks{grid-area:2/1}.cf-table--dock .cf-slot-extra{flex-direction:column;grid-area:3/1/auto/-1;justify-content:flex-start;align-items:stretch;height:auto;overflow:visible}.cf-table--dock .auction-disclosure,.cf-table--dock .sbb-panel{left:calc((var(--cf-render-control-w,0px) - var(--cf-render-felt-w,0px)) / 2)}.cf-band{flex:none;justify-content:center;width:100%;display:flex}.cf-band-top{height:var(--cf-band-top-h);align-items:flex-start}.cf-band-mid{height:var(--cf-band-mid-h);grid-template-columns:repeat(3, var(--cf-mid-track-w));place-items:center;display:grid}.cf-band-bot{height:var(--cf-band-bot-h);align-items:flex-end}.cf-station{align-items:center;gap:var(--cf-station-gap);box-sizing:border-box;flex-direction:column;flex:none;display:flex}.cf-station-top{width:var(--cf-station-top-w);height:var(--cf-station-top-h)}.cf-station-left,.cf-station-right{width:var(--cf-station-side-w);height:var(--cf-station-side-h)}.cf-station-bottom{width:var(--cf-station-bottom-w);height:var(--cf-station-bottom-h);flex-direction:column-reverse}.cf-centre{width:var(--cf-mid-track-w);height:var(--cf-band-mid-h);grid-column:2;justify-content:center;align-items:center;display:flex}.cf-band-top .hand-columns,.cf-band-top .hand-suitlines{--card-w:var(--cf-cw-dummy-columns)}.cf-band-top .hand-line{--card-w:var(--cf-cw-dummy-line)}.cf-station>.hand-columns,.cf-station>.hand-suitlines{flex:auto;align-self:center;min-height:0}.cf-band-top .hand-stack{--card-w:var(--cf-cw-top-stack)}.cf-band-mid .hand-stack{--card-w:var(--cf-cw-side-stack)}.cf-table{--cf-side-opponent-card-w:var(--cf-side-rail-card-w);--cf-side-opponent-w:calc(var(--cf-side-opponent-card-w) * var(--card-ratio));--side-opponent-face-up-card-w:var(--cf-side-rail-face-up-card-w)}.cf-station.cf-station-left,.cf-station.cf-station-right{top:var(--cf-side-rail-top);z-index:10;width:var(--cf-station-side-w);height:var(--cf-side-rail-h);pointer-events:none;justify-content:center;position:absolute}.cf-station.cf-station-left>*,.cf-station.cf-station-right>*{pointer-events:auto}.cf-station.cf-station-left{left:var(--cf-side-rail-inset);align-items:flex-start}.cf-station.cf-station-right{right:var(--cf-side-rail-inset);align-items:flex-end}.cf-table--phase-waiting .cf-station.cf-station-left,.cf-table--phase-waiting .cf-station.cf-station-right{z-index:auto;width:var(--cf-station-side-w);height:var(--cf-station-side-h);pointer-events:auto;justify-content:flex-start;align-items:center;position:static}.cf-table .cf-station.cf-station-left>.seat-badge,.cf-table .cf-station.cf-station-right>.seat-badge{width:var(--cf-side-rail-badge-w);max-width:var(--cf-side-rail-badge-w);--cf-rail-plate-pad:8px;padding-inline:var(--cf-rail-plate-pad);gap:5px;font-size:11px}.cf-station-left>.seat-badge .seat-letter,.cf-station-right>.seat-badge .seat-letter{width:calc(var(--cf-side-opponent-w) * .24);height:calc(var(--cf-side-opponent-w) * .24);font-size:10px}.cf-station-left>.seat-badge .seat-tags,.cf-station-right>.seat-badge .seat-tags,.cf-station-left>.seat-badge .seat-dot,.cf-station-right>.seat-badge .seat-dot{top:50%;position:absolute;inset-inline-start:auto;inset-inline-end:var(--cf-rail-plate-pad);transform:translateY(-50%)}.cf-station-left>.seat-badge>.seat-name,.cf-station-right>.seat-badge>.seat-name{margin-inline-end:calc(var(--cf-turn-cue-w) + var(--cf-turn-cue-gap))}.cf-station-left>.seat-badge .seat-tag-count,.cf-station-right>.seat-badge .seat-tag-count{display:none}.cf-band-mid .hand-stack.hand-vertical{--card-w:var(--cf-side-opponent-card-w);width:var(--cf-side-opponent-w);height:max(0px, calc(var(--cf-side-opponent-card-w) * (1 + (var(--hand-card-count,13) - 1) * .245833)));top:calc(var(--cf-side-opponent-card-w) * (1 - var(--card-ratio)) / 2);align-items:center;position:relative}.cf-band-mid .hand-stack.hand-vertical>.card+.card{margin-top:calc(var(--cf-side-opponent-card-w) * var(--card-ratio) * -.83)}.cf-station-left .hand-stack.hand-vertical>.card{--card-back-crest-size:140%;transform:rotate(90deg)}.cf-station-right .hand-stack.hand-vertical>.card{--card-back-crest-size:140%;transform:rotate(-90deg)}.cf-band-mid .hand-columns,.cf-band-mid .hand-suitlines{--card-w:var(--side-opponent-face-up-card-w,var(--cf-cw-side-columns))}.cf-station-left .hand-columns,.cf-station-right .hand-columns{--card-step-x:.46}.cf-station-left>.hand-columns,.cf-station-right>.hand-columns{flex:0 0 calc(var(--card-w) * var(--card-ratio) * 4);width:var(--cf-station-side-w);pointer-events:none;align-self:center;min-height:0}.cf-station-left>.hand-columns .card,.cf-station-right>.hand-columns .card{pointer-events:auto}.cf-station-right>.hand-columns>.hand-column,.cf-station-right>.hand-columns.hand-vertical>.hand-column{justify-content:flex-end}.cf-centre .trick-area{--card-w:var(--cf-cw-trick)}.cf-band-bot .hand-fan,.cf-band-bot .hand-suitlines{--card-w:var(--cf-cw-own-fan)}.cf-aucstack{top:var(--cf-aucstack-top);width:var(--cf-aucstack-w);z-index:25;align-items:center;gap:var(--cf-aucstack-gap);flex-direction:column;display:flex;position:absolute;left:50%;transform:translate(-50%)}.cf-aucstack[hidden],.cf-aucstack-off{visibility:hidden;pointer-events:none}.cf-aucframe{box-sizing:border-box;width:100%;height:var(--cf-aucframe-h);overflow-anchor:none;border:1.5px solid var(--cf-auction-line);background:var(--cf-auction-surface);color:var(--cf-auction-ink);border-radius:12px;justify-content:center;padding:10px 14px;display:flex;overflow-y:auto}.cf-aucframe-off{visibility:hidden;pointer-events:none}.cf-aucstack-center{top:var(--cf-aucframe-center-top)}.cf-aucstack-center-stacked{top:var(--cf-aucframe-center-stacked-top)}.cf-aucframe-stacked{height:var(--cf-aucframe-center-stacked-h)}.cf-table{--cf-auction-cell-line:#9498b447;--cf-auction-vul:#c48d90;--cf-auction-vul-ink:#2e2124;--cf-auction-vul-tint:#b06a7021}.cf-bidslot{box-sizing:border-box;width:100%;height:var(--cf-bidslot-h);min-height:var(--cf-bidslot-h);max-height:var(--cf-bidslot-h);justify-content:center;align-items:flex-start;display:flex}.cf-table .bid-illegal{opacity:0;pointer-events:none}.cf-overlays{z-index:var(--z-popup);pointer-events:none;position:absolute;inset:0}.cf-overlays>*{pointer-events:auto}@media (prefers-reduced-motion:reduce){.cf-table,.cf-table *{transition:none!important;animation:none!important}}.cf-cp{align-items:stretch;width:100%;height:100%;display:flex}.cf-cp-box{box-sizing:border-box;background:var(--surface-raised);border:1px solid var(--border);min-width:0;height:100%;color:var(--text);border-radius:10px;flex:auto;align-items:center;gap:8px;padding:0 10px;display:flex}.cf-table--side .cf-cp{width:fit-content}.cf-table--side .cf-cp-box{width:fit-content;padding:0 var(--space-8);flex:none}.cf-table--side .cf-cp-face{gap:var(--space-4);width:fit-content}.cf-table--side .cf-cp-strain,.cf-table--side .cf-cp-by{width:22px;height:22px}.cf-table--side .cf-cp-x{min-width:22px;height:20px;padding:0 var(--space-4)}.cf-table--side .cf-cp-x.cf-cp-idle{display:none}.cf-table--side .cf-cp-by{margin-left:0}.cf-cp-button{appearance:none;font:inherit;text-align:left;cursor:pointer}.cf-cp-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cf-cp-face{align-items:center;gap:8px;width:100%;min-width:0;display:flex}.cf-cp-idle{visibility:hidden}.cf-cp-box-idle{background:0 0;border-color:#0000}.cf-cp-level{font-variant-numeric:tabular-nums;flex:none;font-size:24px;font-weight:800;line-height:1}.cf-cp-strain{flex:none;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.cf-cp-suit{width:22px;height:22px}.cf-cp-nt{letter-spacing:-.02em;font-size:16px;font-weight:800;line-height:1}.cf-cp-x{box-sizing:border-box;background:var(--bid-double);min-width:26px;height:22px;color:var(--bid-special-ink);border-radius:5px;flex:none;justify-content:center;align-items:center;padding:0 5px;font-size:13px;font-weight:800;line-height:1;display:inline-flex}.cf-cp-xx{background:var(--bid-redouble)}.cf-cp-by{background:var(--accent-fill);width:26px;height:26px;color:var(--accent-contrast);border-radius:50%;flex:none;justify-content:center;align-items:center;margin-left:auto;font-size:14px;font-weight:800;line-height:1;display:inline-flex}.he-screen{box-sizing:border-box;border:1px solid var(--cf-auction-line,#b3bac9);background:var(--cf-auction-surface,#d9dde6);width:296px;height:214px;color:var(--cf-auction-ink,#23252e);box-shadow:var(--shadow-card,0 12px 32px #1b1a221a);border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:12px 14px;display:flex;position:relative}.he-screen:focus-visible{outline:3px solid var(--cf-auction-ink,#23252e);outline-offset:2px}.he-hidden{visibility:hidden}.he-plate{pointer-events:none;flex:none;width:100%;height:52px;position:relative}.he-plate-line,.he-pass{justify-content:center;align-items:center;gap:6px;display:flex;position:absolute;inset:0}.he-pass{letter-spacing:.18em;padding-left:.18em;font-size:22px;font-weight:800;line-height:1}.he-level{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:38px;font-weight:800;line-height:1}.he-strain{width:30px;height:30px}.he-nt{letter-spacing:-.04em;justify-content:center;align-items:center;font-size:19px;font-weight:800;display:inline-flex}.he-red{color:var(--card-ink-red,#b3271a)}.he-black{color:var(--cf-auction-ink,#23252e)}.he-dbl{background:var(--cf-auction-ink,#23252e);width:28px;height:20px;color:var(--cf-auction-surface,#d9dde6);letter-spacing:.02em;border-radius:5px;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:inline-flex}.he-delta{text-align:center;font-variant-numeric:tabular-nums;min-width:34px;font-size:24px;font-weight:800;line-height:1}.he-by{border:2px solid var(--cf-auction-line,#b3bac9);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:13px;font-weight:800;display:inline-flex}.he-claimed{color:var(--cf-auction-ink,#23252e);opacity:.55;font-size:15px;font-weight:800}.he-beer{font-size:15px;line-height:1}.he-tricks{flex:none;justify-content:center;align-items:center;gap:12px;width:100%;height:38px;display:flex}.he-won{border:1px solid var(--cf-auction-ink,#23252e);background:color-mix(in srgb, var(--cf-auction-line,#b3bac9) 55%, transparent);font-variant-numeric:tabular-nums;border-radius:3px;justify-content:center;align-items:center;width:20px;height:30px;font-size:13px;font-weight:800;display:flex}.he-lost{border:1px solid var(--cf-auction-ink,#23252e);background:color-mix(in srgb, var(--cf-auction-line,#b3bac9) 55%, transparent);font-variant-numeric:tabular-nums;border-radius:3px;justify-content:center;align-items:center;width:40px;height:20px;font-size:13px;font-weight:800;display:flex}.he-score{letter-spacing:-.03em;font-variant-numeric:tabular-nums;flex:none;justify-content:center;align-items:center;width:100%;height:38px;font-size:34px;font-weight:800;line-height:1;display:flex}.he-negative{color:#a8281a}.he-score:not(.he-negative){color:#14532d}.he-action{align-items:stretch;gap:var(--space-8,8px);flex:none;width:100%;height:34px;display:flex}.he-action .table-action{border-radius:8px;padding:0 14px;font-size:13px}.he-review{box-sizing:border-box;border:1px solid var(--cf-auction-line,#b3bac9);background:color-mix(in srgb, var(--cf-auction-line,#b3bac9) 22%, transparent);width:24px;height:24px;color:inherit;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:6px;right:6px}.he-review:hover{background:color-mix(in srgb, var(--cf-auction-line,#b3bac9) 45%, transparent)}.he-review-mark{border-top:2px solid;border-bottom:2px solid;width:12px;height:10px;position:relative;box-shadow:inset 0 0 0 1px #0000}.he-review-mark:after{content:"";background:currentColor;height:2px;position:absolute;top:3px;left:0;right:0}.he-celebration{pointer-events:none;border-radius:14px;position:absolute;inset:0;overflow:hidden}.ltr-backdrop{z-index:6;background:color-mix(in srgb, var(--felt-shadow,#000) 22%, transparent);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ltr-panel{width:260px;height:230px;position:relative}.ltr-card{--ltr-reach-x:54px;--ltr-reach-y:48px;--ltr-dx:0px;--ltr-dy:0px;transform:translate(-50%, -50%) translate(var(--ltr-dx), var(--ltr-dy));animation:.16s ease-out backwards ltr-arrive;position:absolute;top:50%;left:50%}.ltr-at-bottom{z-index:3;--ltr-dy:var(--ltr-reach-y)}.ltr-at-top{z-index:1;--ltr-dy:calc(var(--ltr-reach-y) * -1)}.ltr-at-left{z-index:2;--ltr-dx:calc(var(--ltr-reach-x) * -1)}.ltr-at-right{z-index:2;--ltr-dx:var(--ltr-reach-x)}.ltr-winner{z-index:4}@keyframes ltr-arrive{0%{opacity:0;transform:translate(-50%, -50%) translate(calc(var(--ltr-dx) * .55), calc(var(--ltr-dy) * .55))}}@media (prefers-reduced-motion:reduce){.ltr-card{animation:none}}.ltr-close{appearance:none;font:inherit;padding:var(--space-4) var(--space-8);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text-color);cursor:pointer;font-size:12px;font-weight:600;position:absolute;top:0;right:0}.ltr-close:hover{background:var(--surface-hover)}.ltr-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cf-tc{box-sizing:border-box;--cf-tc-paper:var(--card-back-paper,#f0ece3);--cf-tc-ink:var(--card-ink,#17151c);--cf-tc-edge:var(--card-back-ink,#6c5ce7);--cf-tc-card-h:38px;flex-direction:column;justify-content:center;width:100%;height:100%;padding:0;display:flex}.cf-tc-button{appearance:none;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px}.cf-tc-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cf-tc-face{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.cf-tc-idle{visibility:hidden}.cf-tc-wonnum{box-sizing:border-box;width:34px;height:var(--cf-tc-card-h);background:var(--cf-tc-paper);border:1.5px solid var(--cf-tc-edge);color:var(--cf-tc-ink);font-variant-numeric:tabular-nums;border-radius:4px;flex:none;justify-content:center;align-items:center;font-size:19px;font-weight:800;line-height:1;display:flex}.cf-tc-lost{box-sizing:border-box;background:var(--cf-tc-paper);border:1.5px solid var(--border);width:58px;height:30px;color:var(--cf-tc-ink);font-variant-numeric:tabular-nums;border-radius:4px;flex:none;justify-content:center;align-items:center;font-size:19px;font-weight:800;line-height:1;display:flex}.cf-table .cf-station>.seat-badge{width:var(--cf-badge-w);max-width:var(--cf-badge-w);--cf-turn-cue-w:11px;--cf-turn-cue-gap:5px;flex:none;gap:7px;padding:0 10px;position:relative}.cf-table .seat-badge-trigger{z-index:1;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0;position:absolute;inset:0}.cf-table .seat-badge-trigger:hover{box-shadow:inset 0 0 0 1px var(--accent)}.cf-table .seat-badge-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cf-table .cf-station>.seat-badge>.seat-name{flex:auto}.cf-table .seat-host-mark{top:calc(-1 * var(--space-8));right:calc(-1 * var(--space-8));z-index:2;border:2px solid var(--cf-felt);background:var(--accent-fill);width:22px;height:22px;color:var(--accent-contrast);box-shadow:inset 0 0 0 1px var(--border-strong);border-radius:50%;justify-content:center;align-items:center;font-size:12px;line-height:1;display:inline-flex;position:absolute}.cf-table .cf-station>.seat-badge>.seat-tags{gap:5px}.cf-table .seat-tag-turn{width:var(--cf-turn-cue-w);background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex}.cf-table .seat-turn-mark{border-top:5px solid #0000;border-bottom:5px solid #0000;border-right:8px solid var(--accent);width:0;height:0}.cf-table .seat-badge>.seat-dot,.cf-table .seat-tag-count{visibility:hidden}.cf-table .seat-badge.seat-away{opacity:1;background:var(--away-bg,#be3c3061);border-color:var(--away-line,#e0574a);color:var(--away-text,#ffd9d4)}.cf-table .seat-turn{box-shadow:inset 0 0 0 3px var(--accent-soft), var(--seat-badge-elevation);outline:3px solid var(--accent);outline-offset:-3px;box-shadow:var(--seat-badge-elevation)}:root[data-vulcue=plates] .cf-table .seat-vulnerable:not(.seat-empty) .seat-letter{background:var(--danger-fill);color:#fff;box-shadow:inset 0 0 0 1px var(--text)}.cf-table .seat-empty{background:var(--cf-felt-chip);border-color:var(--cf-felt-chip-line)}.cf-table .seat-empty .seat-letter{background:var(--cf-felt-chip);box-shadow:inset 0 0 0 1px var(--cf-felt-chip-line)}.analysis-centre{--ac-trick-h:8.5rem;justify-content:center;align-items:center;gap:var(--space-2);flex-direction:column;width:100%;min-width:0;height:21rem;min-height:0;max-height:100%;display:flex}.ac-strip{align-items:center;gap:var(--space-1);text-align:center;flex-direction:column;display:flex}.ac-strip .hd-summary-line{margin:0;font-size:.95rem;font-weight:700}.ac-contract-none{color:var(--text-muted);font-size:.95rem;font-weight:700}.ac-vuln{letter-spacing:.02em;color:var(--text-muted);text-transform:uppercase;font-size:.75rem;font-weight:600}.ac-vuln-live{color:var(--danger-text);font-weight:700}.ac-trick{min-height:var(--ac-trick-h)}.ac-trick-empty{min-height:var(--ac-trick-h);width:100%}.ac-label{color:var(--text-muted);margin:0;font-size:.75rem}.ac-auction-scroll{overscroll-behavior:contain;width:100%;min-width:0;max-height:15rem;display:block;overflow-y:auto}.analysis-centre .hd-auction-table{table-layout:fixed;width:100%;font-size:.8rem}.game-table{--card-w:58px;--card-ratio:1.45;--card-radius:7px;--card-step-x:.62;--card-step-y:.36;--felt:#0e1018;--felt-rim:#313747;--felt-glow:#a49aff0f;--card-face:#f7f5ef;--card-ink:#17151c;--card-ink-red:#c0102c;--card-edge:#17151c3d;--card-back-paper:#f0ece3;--card-back-ink:var(--accent-fill);--card-badge-win:#2f9e44;--card-badge-lose:#f44336;--card-badge-tie:var(--card-badge-win);--bid-pass:#1f7a45;--bid-double:#b3271a;--bid-redouble:#1d4ed8;--bid-special-ink:#fff;--danger-soft:#f0675a2e;--warning-soft:#fbbf2429;flex-direction:column;gap:20px;width:100%;max-width:1200px;margin:0 auto;padding:24px 32px 48px;display:flex;position:relative;container:bridgetable/inline-size}@container appdock (width>=49.01rem){main.table-workspace-main:has(.docked-panel--side.docked-panel--collapsed) .game-table.cf-table-page{--cf-rail-clearance:calc(44px + 2 * var(--space-4) + 2px);padding-inline-end:var(--cf-rail-clearance)}}.table-messages{z-index:var(--z-nav-bar);top:var(--space-4);gap:var(--space-4);pointer-events:none;flex-direction:column;width:min(94%,46rem);display:flex;position:absolute;left:50%;transform:translate(-50%)}.table-messages :is(button,a,input,select,textarea){pointer-events:auto}.table-error-slot{min-height:0}:root[data-theme=light] .game-table{--felt:#dcd7ec;--felt-rim:#bdb5d6;--felt-glow:#6255c30d;--card-edge:#17151c80;--danger-soft:#b3271a1f;--warning-soft:#82631324}:root[data-theme=gold] .game-table{--felt:#0d0f15;--felt-rim:#2f3542;--felt-glow:#c9a22712}:root[data-theme=slate] .game-table{--felt:#1e222c;--felt-rim:#454c5e;--felt-glow:#c4bdff12}:root[data-theme=graphite] .game-table{--felt:#131417;--felt-rim:#3b3e45;--felt-glow:#e0c3980f}:root[data-theme=indigo] .game-table{--felt:#12161f;--felt-rim:#3a4356;--felt-glow:#a8caf212}:root[data-theme=cream] .game-table{--felt:#c4b898;--felt-rim:#a2946f;--felt-glow:#5e458f0f;--card-edge:#1c181080;--danger-soft:#a3291c1f;--warning-soft:#75560f24}:root[data-theme=sage] .game-table{--felt:#aec2a6;--felt-rim:#8ba382;--felt-glow:#295c460f;--card-edge:#12181280;--danger-soft:#a3291c1f;--warning-soft:#75560f24}.table-error{background:var(--danger-soft);border:1px solid var(--danger-text);color:var(--text);border-radius:10px;padding:10px 16px;font-size:14px;font-weight:600}.table-banner{color:var(--text);background:var(--warning-soft);border:1px solid var(--warning-text);border-radius:10px;align-items:center;min-height:62px;padding:10px 16px;font-size:14px;font-weight:500;display:flex}.table-banner strong{font-weight:700}.table-status-chip{width:fit-content;max-width:90%;padding:var(--space-4) var(--space-12);border-radius:var(--radius-pill);border:1px solid var(--warning-text);background:var(--warning-soft);color:var(--warning-text);letter-spacing:.02em;align-self:flex-end;font-size:.75rem;font-weight:600;line-height:1.4}.table-status-chip-open{letter-spacing:normal;max-width:100%;color:var(--text);font-weight:500}.table-status-chip strong{font-weight:700}.table-banner-away{border-color:var(--border-strong)}.table-banner-vacant{border-color:var(--warning-text)}.table-banner-lost-seat{align-items:flex-start;gap:var(--space-6);border-color:var(--warning-text);border-width:2px;flex-direction:column}.table-banner-lost-seat p{margin:0}.lost-seat-actions{gap:var(--space-8);display:flex}.lost-seat-sit{padding:var(--space-4) var(--space-16);border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer;font-size:14px;font-weight:600}.lost-seat-sit[aria-disabled=true]{cursor:default;opacity:.6}.lost-seat-sit:not([aria-disabled=true]):hover,.lost-seat-sit:focus-visible{background:color-mix(in srgb, var(--text) 10%, transparent)}.lost-seat-none,.lost-seat-error{font-weight:400}.table-notice{text-align:center;max-width:420px;margin:80px auto}.table-notice p{margin-top:8px}.table-layout{grid-template-columns:minmax(0,1fr) 268px;align-items:start;gap:24px;display:grid}.table-felt{--seat-badge-h:34px;--seat-gap:8px;--hand-box-h:190px;--seat-side-w:212px;--centre-h:252px;grid-template-columns:var(--seat-side-w) minmax(0, 1fr) var(--seat-side-w);grid-template-rows:calc(var(--seat-badge-h) + var(--seat-gap) + var(--hand-box-h)) var(--centre-h) calc(var(--seat-badge-h) + var(--seat-gap) + var(--hand-box-h));background:radial-gradient(ellipse 70% 60% at 50% 44%, var(--felt-glow), transparent 70%), var(--felt);border:1px solid var(--felt-rim);border-radius:22px;gap:14px;padding:22px;display:grid;position:relative;box-shadow:inset 0 2px 14px #0006,inset 0 1px #ffffff0a}.table-seat{align-items:center;gap:var(--seat-gap);flex-direction:column;width:100%;min-width:0;height:100%;display:flex}.seat-hand-slot{flex:1 1 0;justify-content:center;align-items:flex-start;width:100%;min-height:0;display:flex;overflow:visible}.table-seat-bottom .seat-hand-slot{align-items:flex-end}.table-seat-top{grid-area:1/1/auto/-1}.table-seat-bottom{flex-direction:column-reverse;grid-area:3/1/auto/-1}.table-seat-left,.table-seat-right{grid-row:2}.table-seat-left{grid-column:1}.table-seat-right{grid-column:3}.table-seat-left .seat-hand-slot{justify-content:flex-end}.table-seat-right .seat-hand-slot{justify-content:flex-start}.table-centre{--card-w:54px;grid-area:2/2;justify-content:center;align-items:center;min-height:0;display:flex}.own-hand-notice{align-items:center;gap:var(--space-6);padding:var(--space-8) 0;flex-direction:column;display:flex}.own-hand-notice-text{color:var(--text-2);margin:0;font-size:13px}.own-hand-retry{padding:var(--space-4) var(--space-16);border-radius:var(--radius-pill);border:1px solid var(--border-strong);color:var(--text);cursor:pointer;background:0 0;font-size:13px;font-weight:600}.own-hand-retry:hover,.own-hand-retry:focus-visible{background:color-mix(in srgb, var(--text) 10%, transparent)}.seat-sit{justify-content:center;align-items:center;padding:8px 0;display:flex}.seat-sit-btn{border:1px dashed var(--border-strong);background:var(--cf-felt-chip);color:var(--text);cursor:pointer;border-radius:999px;padding:6px 18px;font-size:15px;font-weight:600}.seat-sit-btn:hover,.seat-sit-btn:focus-visible{background:color-mix(in srgb, var(--text) 10%, transparent);border-style:solid}.table-waiting{text-align:center}.table-waiting-lead{color:var(--text);font-size:15px;font-weight:700}.table-waiting-detail{color:var(--text-2);margin-top:4px;font-size:13px}.table-sidebar{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:16px;flex-direction:column;gap:20px;padding:18px;display:flex}.sidebar-heading{text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);margin-bottom:8px;font-size:12px}.table-board{background:var(--surface);border:1px solid var(--border);width:min(300px,100%);box-shadow:var(--shadow-card);border-radius:14px;align-self:flex-start;max-height:100%;padding:16px;overflow-y:auto}.table-action{background:var(--accent-fill);width:100%;color:var(--accent-contrast);font:inherit;cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;padding:9px 16px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.table-action:hover{background:var(--accent-fill-hover)}.card{width:var(--card-w);height:calc(var(--card-w) * var(--card-ratio));border-radius:var(--card-radius);font:inherit;-webkit-user-select:none;user-select:none;border:none;flex:none;padding:0;position:relative;container:card/inline-size}.card-front{background:var(--card-face);border:1px solid var(--card-edge);text-align:left;display:block;box-shadow:0 2px 6px #00000059}.card-black{color:var(--card-ink)}.card-red{color:var(--card-ink-red)}.card-index{flex-direction:column;align-items:flex-start;gap:1px;line-height:1;display:flex;position:absolute;top:4px;left:5px}.card-badge{top:var(--card-badge-top,0);width:calc(var(--card-w) * var(--card-step-x,1));pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;left:0}.card-badge-pill{padding:0 var(--space-2);border-radius:var(--radius-pill);font-size:calc(var(--card-w) * .225);color:var(--card-ink);font-weight:700;line-height:1.35;box-shadow:0 0 0 1px #17151c3d}.card-badge-win{background:var(--card-badge-win)}.card-badge-lose{background:var(--card-badge-lose)}.card-badge-tie{background:var(--card-badge-tie)}.trick-slot .card-badge{width:auto;inset:auto 5px 4px auto}.card-index-2{align-items:flex-end;display:none;inset:auto 5px 4px auto}.card-rank{font-size:var(--card-mark-rank,18px);letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-weight:800}.card-suit{width:var(--card-mark-suit,16px);height:var(--card-mark-suit,16px);display:block}:root[data-underline69=on] :is(.card,.card-token):is([data-rank="6"],[data-rank="9"]) :is(.card-rank,.card-big-rank,.card-token-rank){text-underline-offset:.05em;text-decoration-line:underline;text-decoration-thickness:max(1px,.06em)}.hand-fan,.hand-line{--card-mark-fit:calc(var(--card-w) * var(--card-step-x) - 6px);--card-mark-rank:clamp(10px, calc(var(--card-mark-fit) * .72), 18px);--card-mark-suit:calc(var(--card-mark-rank) * .89)}.hand-column{--card-mark-fit:calc(var(--card-w) * var(--card-ratio) * var(--card-step-y) - 6px);--card-mark-rank:max(10px, calc((min(var(--card-mark-fit), 28px) - 1px) / 1.89));--card-mark-suit:calc(var(--card-mark-rank) * .89)}@container card (width>=59px){:root:not([data-cards=large],[data-cards=corner]) .hand-fan .card-index-2,:root:not([data-cards=large],[data-cards=corner]) .hand-line .card-index-2,:root:not([data-cards=large],[data-cards=corner]) .hand-columns.hand-vertical .card-index-2{display:flex}}@container card (width>=30px){:root:not([data-cards=large],[data-cards=corner]) .hand-columns:not(.hand-vertical) .hand-column .card-index-2{display:flex}}.card-interactive{cursor:pointer;transition:transform .12s,box-shadow .12s}.card-draggable{touch-action:none}.card-interactive.card-dragging{transform:translate(var(--card-drag-x,0px), var(--card-drag-y,0px));cursor:grabbing;z-index:3;transition:none}.card-interactive:hover{transform:translate(var(--card-drag-x,0px), calc(var(--card-drag-y,0px) - 10px));box-shadow:0 10px 18px #00000073}.card-interactive:focus-visible{outline:3px solid var(--accent);outline-offset:2px;z-index:2}.card-interactive.card-illegal{cursor:not-allowed}.card-interactive.card-illegal:hover{transform:none;box-shadow:0 2px 6px #00000059}.card-interactive.card-legal-cue:after{content:"";pointer-events:none;background:#e3bd52;border-radius:2px 2px 0 0;width:min(55%,26px);height:3px;position:absolute;bottom:0;left:4px}.hand-column .card-interactive.card-legal-cue:after{border-radius:2px;top:3px;bottom:auto}.card-highlighted{box-shadow:0 0 0 3px var(--accent), 0 6px 16px #00000073}.card-token{font-variant-numeric:tabular-nums;background:0 0;border:none;border-radius:4px;align-items:center;gap:1px;padding:1px 3px;font-size:16px;font-weight:800;line-height:1;display:inline-flex}.card-token-rank{letter-spacing:-.03em}.card-token-red{color:var(--card-ink-red)}.card-token-black{color:var(--text)}.card-token-suit{width:14px;height:14px}.card-token-interactive{cursor:pointer}.card-token-interactive:hover{background:var(--surface-hover,#ffffff14)}.card-token-interactive:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.card-token-interactive.card-token-dragging{transform:translate(var(--card-drag-x,0px), var(--card-drag-y,0px));cursor:grabbing;z-index:3}.card-token-interactive.card-token-illegal{cursor:not-allowed}.card-token-interactive.card-token-illegal:hover{background:0 0}.card-token-interactive.card-token-legal-cue{box-shadow:inset 0 -2px #e3bd52}.card-token-highlighted{box-shadow:0 0 0 2px var(--accent), 0 4px 10px #0006}.hand-suitlines{flex-direction:column;justify-content:center;align-items:stretch;gap:2px;width:100%;height:100%}.hand-diag-row{align-items:center;gap:4px;min-width:0;display:flex}.hand-diag-suit{flex:none;width:15px;height:15px}.hand-diag-tokens{flex-wrap:wrap;align-items:center;gap:0 1px;min-width:0;display:flex}.hand-diag-void{color:var(--text-2);font-size:15px;line-height:1}:root[data-deck=four] .card-s-D{color:var(--bid-redouble)}:root[data-deck=four] .card-s-C{color:var(--bid-pass)}.card-big,:root[data-cards=large] .card-index{display:none}:root[data-cards=large] .card-big{letter-spacing:-.02em;font-weight:800;line-height:.92;font-size:calc(var(--card-w) * .52);font-variant-numeric:tabular-nums;flex-direction:column;justify-content:center;align-items:center;gap:2%;display:flex;position:absolute;inset:0}:root[data-cards=large] .card-big-suit{width:min(calc(var(--card-w) * .44), 1.27em);height:min(calc(var(--card-w) * .44), 1.27em)}:root[data-cards=large] .hand-fan .card-big,:root[data-cards=large] .hand-line .card-big,:root[data-cards=large] .hand-stack .card-big{font-size:calc((var(--card-w) * (var(--card-step-x) - .05) - 2px) * .78);justify-content:flex-start;align-items:flex-start;padding:5% 0 0 5%}:root[data-cards=large] .hand-column .card-big{font-size:calc(var(--card-w) * .44);flex-direction:row;justify-content:center;align-items:flex-start;gap:2px;padding-top:3%}:root[data-cards=large] .hand-columns.hand-vertical .card-big{font-size:calc((var(--card-w) * (var(--card-step-x) - .05) - 2px) * .78);flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:0;padding:5% 0 0 5%}:is(:root,.cards-corner)[data-cards=corner] .hand-fan .card-front,:is(:root,.cards-corner)[data-cards=corner] .hand-line .card-front,:is(:root,.cards-corner)[data-cards=corner] .hand-column .card-front{box-shadow:none;background:0 0;border-color:#0000}:is(:root,.cards-corner)[data-cards=corner] .hand-fan .card-front:before,:is(:root,.cards-corner)[data-cards=corner] .hand-line .card-front:before,:is(:root,.cards-corner)[data-cards=corner] .hand-column .card-front:before{content:"";width:calc(var(--card-w) * var(--card-step-x));background:var(--card-face);border:1px solid var(--card-edge);border-radius:var(--card-radius);pointer-events:none;height:100%;position:absolute;top:0;left:0;box-shadow:0 2px 6px #00000059}:is(:root,.cards-corner)[data-cards=corner] .hand-column .card-front:before{width:100%;height:calc(var(--card-w) * var(--card-ratio) * var(--card-step-y))}:is(:root,.cards-corner)[data-cards=corner] .hand-columns.hand-vertical .card-front:before{width:calc(var(--card-w) * var(--card-step-x));height:100%}:is(:root,.cards-corner)[data-cards=corner] .card-index-2{display:none}:is(:root,.cards-corner)[data-cards=corner] .hand-fan .card-interactive:focus-visible,:is(:root,.cards-corner)[data-cards=corner] .hand-line .card-interactive:focus-visible,:is(:root,.cards-corner)[data-cards=corner] .hand-column .card-interactive:focus-visible{outline:none}:is(:root,.cards-corner)[data-cards=corner] .hand-fan .card-interactive:focus-visible:before,:is(:root,.cards-corner)[data-cards=corner] .hand-line .card-interactive:focus-visible:before,:is(:root,.cards-corner)[data-cards=corner] .hand-column .card-interactive:focus-visible:before{outline:3px solid var(--accent);outline-offset:2px}:root[data-legalcue=off] .card-interactive.card-legal-cue:after{display:none}:root[data-legalcue=off] .card-token-interactive.card-token-legal-cue{box-shadow:none}:root{--card-anim-dur:.25s;--trick-lead-delay:calc(var(--card-anim-dur) * .5);--trick-enter-ref:70;--trick-enter-stretch-max:2}:root[data-anim=slow]{--card-anim-dur:.55s}:root[data-anim=fast]{--card-anim-dur:80ms}:root[data-anim=off]{--card-anim-dur:0s}@media (prefers-reduced-motion:reduce){:root,:root[data-anim]{--card-anim-dur:0s}}:root[data-anim=off] .card,:root[data-anim=off] .card *{transition:none!important;animation:none!important}@keyframes trick-enter-top{0%{translate:0 calc(var(--trick-travel) * -1);scale:.86}to{translate:0;scale:1}}@keyframes trick-enter-bottom{0%{translate:0 var(--trick-travel);scale:.86}to{translate:0;scale:1}}@keyframes trick-enter-left{0%{translate:calc(var(--trick-travel) * -1) 0;scale:.86}to{translate:0;scale:1}}@keyframes trick-enter-right{0%{translate:var(--trick-travel) 0;scale:.86}to{translate:0;scale:1}}@keyframes trick-enter-dropped{0%{translate:var(--trick-drop-dx,0px) var(--trick-drop-dy,0px);scale:.86}to{translate:0;scale:1}}.trick-slot-entering{z-index:4;animation:var(--card-anim-dur) cubic-bezier(.2, .8, .2, 1) both}.trick-slot-entering.trick-slot-top{animation-name:trick-enter-top}.trick-slot-entering.trick-slot-bottom{animation-name:trick-enter-bottom}.trick-slot-entering.trick-slot-left{animation-name:trick-enter-left}.trick-slot-entering.trick-slot-right{animation-name:trick-enter-right}.trick-slot-entering.trick-slot-dropped{animation-name:trick-enter-dropped;animation-duration:calc(var(--card-anim-dur) * clamp(1, calc(var(--trick-drop-dist,0) / var(--trick-enter-ref)), var(--trick-enter-stretch-max)))}.trick-slot-entering.trick-slot-after-gather{animation-delay:var(--trick-lead-delay)}.trick-gather{pointer-events:none;animation:var(--card-anim-dur) cubic-bezier(.4, 0, .6, 1) both;position:absolute;inset:0}.trick-gather-top{transform-origin:50% 0}.trick-gather-bottom{transform-origin:50% 100%}.trick-gather-left{transform-origin:0%}.trick-gather-right{transform-origin:100%}@keyframes trick-collapse-top{0%{opacity:1;translate:0;scale:1}to{opacity:0;translate:0 calc(var(--trick-travel) * -.55);scale:.22}}@keyframes trick-collapse-bottom{0%{opacity:1;translate:0;scale:1}to{opacity:0;translate:0 calc(var(--trick-travel) * .55);scale:.22}}@keyframes trick-collapse-left{0%{opacity:1;translate:0;scale:1}to{opacity:0;translate:calc(var(--trick-travel) * -.55) 0;scale:.22}}@keyframes trick-collapse-right{0%{opacity:1;translate:0;scale:1}to{opacity:0;translate:calc(var(--trick-travel) * .55) 0;scale:.22}}.trick-gather-top{animation-name:trick-collapse-top}.trick-gather-bottom{animation-name:trick-collapse-bottom}.trick-gather-left{animation-name:trick-collapse-left}.trick-gather-right{animation-name:trick-collapse-right}:root[data-rot=toward] .trick-slot-left .card{transform:rotate(90deg)}:root[data-rot=toward] .trick-slot-right .card{transform:rotate(-90deg)}:root[data-rot=toward] .trick-slot-top .card{transform:rotate(180deg)}.card-back{background:#efece4;border:1px solid #17151c4d}.card-back-face{border-radius:calc(var(--card-w) * .07);position:absolute;inset:9%}button.card-back>.card-back-face{pointer-events:none}:root .card-back,:root:not([data-back]) .card-back,:root[data-back=crestLight] .card-back,:root[data-back=stripeLight] .card-back{background:var(--card-back-light);border-color:color-mix(in srgb, var(--card-back-ink) 55%, #000)}:root[data-back=crestDark] .card-back,:root[data-back=stripeDark] .card-back{background:var(--card-back-dark);border-color:color-mix(in srgb, var(--card-back-ink) 70%, #fff)}.card-back-face{border:1px solid color-mix(in srgb, var(--card-back-ink) 40%, transparent)}:root:not([data-back]) .card-back-face,:root[data-back=crestLight] .card-back-face,:root[data-back=crestDark] .card-back-face{border:1px solid color-mix(in srgb, #d8ae2f 72%, var(--card-back-ink));background-image:linear-gradient(145deg, color-mix(in srgb, var(--card-back-ink) 22%, transparent), transparent 46%, #d8ae2f1a);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--card-back-ink) 45%, transparent);inset:4%}:root[data-back=stripeLight] .card-back-face{background-image:repeating-linear-gradient(45deg, color-mix(in srgb, var(--card-back-ink) 62%, transparent) 0 2px, transparent 2px 6px)}:root[data-back=stripeDark] .card-back-face{background-image:repeating-linear-gradient(45deg, color-mix(in srgb, var(--card-back-ink) 75%, #fff) 0 2px, transparent 2px 6px)}:root:not([data-back]) .hand>.card-back:last-child .card-back-face,:root:not([data-back]) .hand-column>.card-back:last-child .card-back-face,:root[data-back=crestLight] .hand>.card-back:last-child .card-back-face,:root[data-back=crestLight] .hand-column>.card-back:last-child .card-back-face,:root[data-back=crestDark] .hand>.card-back:last-child .card-back-face,:root[data-back=crestDark] .hand-column>.card-back:last-child .card-back-face{background:url(/brand/bridgebrawl-condensed.svg) center / var(--card-back-crest-size,205%) auto no-repeat, linear-gradient(145deg, color-mix(in srgb, var(--card-back-ink) 22%, transparent), transparent 46%, #d8ae2f1a);box-shadow:inset 0 0 0 1px #d8ae2f, inset 0 0 0 2px color-mix(in srgb, var(--card-back-ink) 52%, transparent);border:none}.hand{align-items:center;display:flex}.hand-fan{--card-w:62px;width:max(0px, calc(var(--card-w) * (1 + (var(--hand-card-count,13) - 1) * var(--card-step-x))));height:calc(var(--card-w) * var(--card-ratio));flex:none;justify-content:flex-start}.hand.hand-empty{width:0;height:0}.hand-fan>.card+.card{margin-left:calc(var(--card-w) * (var(--card-step-x) - 1))}.hand-columns{--card-w:46px;width:calc(var(--card-w) * 4 + 12px);flex:none;justify-content:flex-start;align-self:stretch;align-items:stretch;gap:4px}.hand-column{flex-direction:column;flex:0 0 var(--card-w);justify-content:flex-start;display:flex}.table-seat-bottom .hand-column{justify-content:flex-end}.hand-column>*+*{margin-top:calc(var(--card-w) * var(--card-ratio) * (var(--card-step-y) - 1))}.hand-column .card-index{flex-direction:row;align-items:center;gap:3px}.hand-column .card-index:not(.card-index-2){flex-direction:column;align-items:flex-start;gap:1px}.hand-columns.hand-vertical{flex-direction:column;align-items:stretch}.hand-columns.hand-vertical>.hand-column{flex-direction:row;flex:0 0 calc(var(--card-w) * var(--card-ratio));--card-mark-fit:calc(var(--card-w) * var(--card-step-x) - 6px);--card-mark-rank:clamp(10px, calc(var(--card-mark-fit) * .72), 18px);--card-mark-suit:calc(var(--card-mark-rank) * .89);justify-content:flex-start}.hand-columns.hand-vertical>.hand-column>.card+.card{margin-top:0;margin-left:calc(var(--card-w) * (var(--card-step-x) - 1))}.hand-columns.hand-vertical .card-index{flex-direction:column;align-items:flex-start;gap:1px}.hand-columns.hand-vertical .card-index-2{align-items:flex-end}.hand-line{width:max(0px, calc(var(--card-w) * (1 + (var(--hand-card-count,13) - 1) * var(--card-step-x))));height:calc(var(--card-w) * var(--card-ratio));flex:none;justify-content:flex-start;align-items:flex-start}.hand-line>.card+.card{margin-left:calc(var(--card-w) * (var(--card-step-x) - 1))}.hand-stack{--card-w:36px;flex:none;justify-content:flex-start;align-items:flex-start}.hand-stack.hand-vertical{height:max(0px, calc(var(--card-w) * var(--card-ratio) * (1 + (var(--hand-card-count,13) - 1) * .24)));width:var(--card-w);flex-direction:column}.hand-stack.hand-vertical>*+*{margin-top:calc(var(--card-w) * var(--card-ratio) * -.76)}.hand-stack:not(.hand-vertical){width:max(0px, calc(var(--card-w) * (1 + (var(--hand-card-count,13) - 1) * .45)));height:calc(var(--card-w) * var(--card-ratio))}.hand-stack:not(.hand-vertical)>*+*{margin-left:calc(var(--card-w) * -.55)}.hand-stack.hand-vertical .card{box-shadow:0 -2px 5px #00000059}.hand-stack:not(.hand-vertical) .card{box-shadow:-2px 0 5px #00000059}.hand-stack .card{opacity:1}.trick-area{width:calc(var(--card-w) * 2.6);height:calc(var(--card-w) * var(--card-ratio) * 2.6);--trick-travel:calc(var(--card-w) * 1.3);position:relative}.trick-slot{width:var(--card-w);height:calc(var(--card-w) * var(--card-ratio));justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%}.trick-slot-top{z-index:1;transform:translate(-50%,-130%)}.trick-slot-bottom{z-index:3;transform:translate(-50%,30%)}.trick-slot-left{z-index:2;transform:translate(-130%,-50%)}.trick-slot-right{z-index:2;transform:translate(30%,-50%)}.trick-slot-winner{z-index:4}.seat-badge{height:var(--seat-badge-h,34px);box-sizing:border-box;background:var(--surface);border:1px solid var(--border);--seat-badge-elevation:0 2px 8px #00000040;max-width:100%;box-shadow:var(--seat-badge-elevation);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:600;display:flex}.seat-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.seat-letter{background:var(--surface-raised);width:22px;height:22px;color:var(--text);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:inline-flex}.seat-empty{border-style:dashed;border-color:var(--border);box-shadow:none;color:var(--text-2);background:0 0}.seat-empty .seat-letter{box-shadow:inset 0 0 0 1px var(--border);color:var(--text-2);background:0 0}.seat-reserved{border-style:dotted}.seat-reserved .seat-name{font-style:italic}.seat-self .seat-letter{background:var(--accent-fill);color:var(--accent-contrast)}.seat-turn{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft), var(--seat-badge-elevation)}.seat-you{color:var(--text-2);font-weight:500}.seat-tags{white-space:nowrap;flex-wrap:nowrap;flex:none;gap:5px;display:flex}.seat-tag{background:var(--surface-raised);text-transform:uppercase;letter-spacing:.05em;color:var(--text-2);border-radius:5px;padding:1px 6px;font-size:10px}.seat-tag-count{background:var(--surface-hover);color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:normal;text-align:center;min-width:calc(2ch + 12px)}.seat-tag-count-idle{visibility:hidden}.seat-away{opacity:.75;border-color:var(--warning-text)}.seat-dot{border-radius:50%;flex:none;width:7px;height:7px}.seat-dot-on{background:var(--success-text)}.seat-dot-off{background:var(--text-2)}.bidding-box{flex-direction:column;gap:8px;display:flex}.bidding-grid{flex-direction:column;gap:4px;display:flex}.bidding-row,.bidding-specials{gap:4px;display:flex}.bidding-specials .bid-button{flex:1}.bid-button{border:1px solid var(--card-edge);background:var(--card-face);min-width:44px;height:30px;color:var(--card-ink);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:2px;padding:0 6px;font-size:15px;font-weight:800;transition:transform .1s,filter .1s;display:inline-flex}.bid-button:hover:not(:disabled){transform:translateY(calc(-2px * var(--lift-on)));filter:brightness(1.06)}.bid-button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.bid-red{color:var(--card-ink-red,var(--danger-text))}.bid-black{color:var(--card-ink,var(--text))}:root[data-deck=four] .bid-suit[data-suit=D]{color:var(--bid-redouble,var(--suit-four-d))}:root[data-deck=four] .bid-suit[data-suit=C]{color:var(--bid-pass,var(--suit-four-c))}.bid-suit{width:15px;height:15px}.bid-nt{font-size:12px;font-weight:800}.bid-illegal{opacity:.4;cursor:not-allowed}.bid-pass{background:var(--bid-pass);color:var(--bid-special-ink);border-color:#0000}.bid-double{background:var(--bid-double);color:var(--bid-special-ink);border-color:#0000}.bid-redouble{background:var(--bid-redouble);color:var(--bid-special-ink);border-color:#0000}.table-hint-slot{min-height:25px}.undo-slot{min-height:30px}.claim-slot{min-height:64px}.undo-slot+.claim-slot{margin-top:var(--space-8)}.undo-slot.slot-unreserved,.claim-slot.slot-unreserved{min-height:0}.table-hint{margin-top:8px;font-size:12px;font-weight:600}.game-table .undo-request,.game-table .undo-cancel,.game-table .undo-accept,.game-table .undo-reject,.game-table .claim-propose,.game-table .claim-withdraw,.game-table .claim-accept,.game-table .claim-reject,.game-table .claim-tricks-select{font:inherit;padding:var(--space-6) var(--space-12);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text-color);cursor:pointer;font-size:13px;font-weight:600;transition:background .2s,border-color .2s}.game-table .undo-request,.game-table .undo-accept,.game-table .claim-propose,.game-table .claim-accept{background:var(--accent-fill);color:var(--accent-contrast);border-color:#0000}.game-table .undo-request:hover:not(:disabled),.game-table .undo-accept:hover:not(:disabled),.game-table .claim-propose:hover:not(:disabled),.game-table .claim-accept:hover:not(:disabled){background:var(--accent-fill-hover)}.game-table .undo-cancel:hover:not(:disabled),.game-table .undo-reject:hover:not(:disabled),.game-table .claim-withdraw:hover:not(:disabled),.game-table .claim-reject:hover:not(:disabled){background:var(--surface-hover)}.game-table .undo-request:disabled,.game-table .undo-cancel:disabled,.game-table .undo-accept:disabled,.game-table .undo-reject:disabled,.game-table .claim-propose:disabled,.game-table .claim-withdraw:disabled,.game-table .claim-accept:disabled,.game-table .claim-reject:disabled{opacity:.6;cursor:default}.game-table .claim-tricks-select{cursor:pointer;margin:0;padding:6px 4px 6px 8px}.game-table .claim-offer{gap:var(--space-6);flex-direction:column;display:flex}.game-table .claim-offer-row,.game-table .claim-tricks-label,.game-table .claim-beer-label{align-items:center;gap:var(--space-6);display:flex}.game-table .claim-offer-row{justify-content:flex-start}.game-table .claim-offer .claim-propose{align-self:flex-start}.game-table .claim-tricks-label,.game-table .claim-beer-label{min-width:0;font-size:13px;font-weight:600}.game-table .claim-beer-label{align-items:flex-start;line-height:1.2}.game-table .claim-beer-label input{flex:none;margin:0}.game-table .claim-beer-copy{flex-direction:column;min-width:0;display:flex}.game-table .claim-beer-suit{vertical-align:-.05em;width:.8em;height:.8em;margin-inline:.08em}.game-table .undo-answer,.game-table .claim-answer{gap:8px;display:flex}.game-table .undo-pending,.game-table .claim-pending{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.game-table .claim-pending{box-shadow:inset var(--space-4) 0 0 var(--accent);background:color-mix(in srgb, var(--accent-fill) 10%, transparent)}.game-table .claim-pending .claim-message{font-weight:650}.game-table .control-unavailable{cursor:not-allowed;filter:grayscale();color:var(--text-2)}.game-table .control-unavailable:hover{transform:none}.auction-grid{table-layout:fixed;border-collapse:separate;border-spacing:1px;background:var(--border);border:1px solid var(--border);border-radius:8px;width:100%;font-size:13px;font-weight:700;overflow:hidden}.auction-header{text-align:center;background:var(--surface);width:25%;color:var(--text-2);padding:4px;font-size:11px;font-weight:700}.auction-cell{text-align:center;vertical-align:middle;background:var(--surface-raised);height:26px;padding:3px}.auction-cell .auction-bid,.auction-cell .auction-pass,.auction-cell .auction-double,.auction-cell .auction-redouble{justify-content:center;align-items:center;gap:1px;display:inline-flex}.auction-bid{background:var(--card-face);border-radius:5px;align-items:center;gap:1px;padding:1px 5px;display:inline-flex}.auction-suit{width:12px;height:12px}.auction-pass{color:var(--text-2)}.auction-double,.auction-redouble{color:var(--danger-text)}@container bridgetable (width<=1016px){.hand-fan{--card-w:54px}.hand-columns{--card-w:40px}.hand-stack{--card-w:30px}.table-centre{--card-w:46px}.table-felt{--seat-side-w:186px;--hand-box-h:166px;--centre-h:216px}}@container bridgetable (width<=836px){.table-layout{grid-template-columns:minmax(0,1fr)}}@media (width<=900px){.game-table{padding:16px}}@media (prefers-reduced-motion:reduce){.card-interactive,.bid-button{transition:none}.card-interactive:hover:not(.card-dragging),.bid-button:hover:not([aria-disabled=true]){transform:none}.card-interactive.card-dragging{transform:translate(var(--card-drag-x,0px), var(--card-drag-y,0px))}}.bid-button[aria-disabled=true]{cursor:not-allowed}.bid-button:hover[aria-disabled=true]{filter:none;transform:none}.seat-tag-turn{background:var(--accent-fill);color:var(--accent-contrast);text-align:center;font-weight:700}.seat-tag-turn-idle{visibility:hidden}.analysis-deal-cross{--card-ratio:1.45;--card-step-x:1;--card-step-y:1;--card-radius:5px;--card-face:#f7f5ef;--card-ink:#17151c;--card-ink-red:#c0102c;--card-edge:#17151c3d;--card-back-paper:#f0ece3;--card-back-ink:var(--accent-fill);grid-template-columns:minmax(72px,110px) minmax(150px,1fr) minmax(72px,110px);grid-template-areas:".n.""w c e"".s.";place-items:center;gap:4px 8px;width:100%;height:100%;min-height:0;display:grid;container-type:inline-size}.adc-seat{flex-direction:column;align-items:center;gap:4px;min-height:0;max-height:100%;display:flex}.adc-seat-toggle{font:inherit;border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:700;display:flex}.adc-seat-toggle:hover{background:var(--surface-hover)}.adc-seat-toggle.adc-vulnerable{border-color:var(--danger-border,var(--danger-text));background:var(--danger-surface,var(--surface-raised));color:var(--danger-text)}.adc-seat-toggle.adc-vulnerable:hover{background:var(--danger-surface-hover,var(--surface-hover))}.adc-tag-slot{justify-content:center;min-width:9ch;display:inline-flex}.adc-centre{justify-content:center;align-items:center;width:100%;min-width:0;min-height:0;max-height:100%;display:flex}.adc-seat-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.adc-seat-toggle.adc-hidden{border-color:var(--accent-fill);border-width:2px}.adc-tag{text-transform:uppercase;letter-spacing:.05em;background:var(--surface-hover);color:var(--text-2);border-radius:999px;padding:1px 6px;font-size:9px}.adc-tag-declarer{background:var(--accent-fill);color:var(--accent-contrast)}.adc-hide-label{color:var(--text-2);font-size:10px;font-weight:600}.analysis-deal-cross.adc-diagram{grid-template-columns:10rem minmax(15rem,1fr) 10rem}.analysis-deal-cross.adc-diagram .hd-hand-cards{gap:1px;font-size:13px;line-height:1.35}.analysis-deal-cross.adc-diagram .hd-suit-icon{width:.9em;height:.9em}.analysis-deal-cross.adc-cards{--card-step-x:.62;--card-step-y:.46;grid-template-columns:minmax(96px,max-content) minmax(150px,1fr) minmax(96px,max-content)}.analysis-deal-cross.adc-cards .hand-columns,.analysis-deal-cross.adc-cards .hand-stack{--card-w:38px}.analysis-deal-cross.adc-cards.cards-corner .hand-columns .hand-column .card-index-2{display:none}.analysis-timeline{flex-direction:column;flex:none;gap:6px;display:flex}.atl-buttons{gap:6px;display:flex}.atl-buttons button{font:inherit;border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text);cursor:pointer;border-radius:8px;padding:6px 10px;font-size:13px;font-weight:600}.atl-buttons button:hover:not(:disabled){background:var(--surface-hover)}.atl-buttons button:disabled{color:var(--text-2);cursor:not-allowed;opacity:.6}.atl-buttons button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.atl-slider-row{align-items:center;gap:10px;display:flex}.atl-slider-row input[type=range]{accent-color:var(--accent-fill);flex:1}.atl-position-label{text-align:right;min-width:8em;color:var(--text-2);font-size:13px;font-weight:700}.atl-blocked{border:1px solid var(--danger-text);color:var(--danger-text);border-radius:8px;margin:0;padding:6px 10px;font-size:13px;font-weight:600}.analysis-workbench{gap:var(--space-8);flex-direction:column;flex:1;min-height:0;display:flex}.aw-deal-area{flex:1;min-height:0;position:relative;overflow:auto}.analysis-workbench.aw-diagram{grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr);align-items:stretch;display:grid}@container (width<=700px){.analysis-workbench.aw-diagram{grid-template-columns:minmax(0,1fr);overflow:auto}}.aw-table{min-height:0;padding:0}.aw-rail{gap:var(--space-8);flex-direction:column;height:100%;min-height:0;display:flex;overflow:auto}.aw-felt>.aw-rail{flex:none;height:auto}.aw-rail>*{min-width:0}.aw-rail .atl-buttons,.aw-rail .atl-slider-row{flex-wrap:wrap}.aw-rail .atl-position-label{text-align:left;min-width:0}.aw-seats{align-items:center;gap:var(--space-4);flex-wrap:wrap;flex:none;display:flex}.aw-seats-label{color:var(--text-2);margin:0;font-size:12px;font-weight:700}.aw-seat-toggle{font:inherit;width:28px;padding:var(--space-6) 0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;font-size:13px;font-weight:700;line-height:1}.aw-seat-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.aw-relax-badge{top:var(--space-8);right:var(--space-8);padding:var(--space-4) var(--space-12);border-radius:var(--radius-pill);border:1px solid var(--warning-text);background:var(--warning-soft);color:var(--warning-text);letter-spacing:.02em;margin:0;font-size:.75rem;font-weight:600;position:absolute}.aw-felt-notice{bottom:var(--space-8);max-width:80%;padding:var(--space-4) var(--space-12);border-radius:var(--radius-lg);border:1px solid var(--danger-text);background:var(--surface);color:var(--danger-text);margin:0;font-size:.75rem;font-weight:600;position:absolute;left:50%;transform:translate(-50%)}.aw-strip{align-items:center;gap:var(--space-8);flex-wrap:wrap;flex:none;display:flex}.aw-button{font:inherit;padding:var(--space-4) var(--space-12);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);cursor:pointer;font-size:13px;font-weight:700}.aw-button:hover:not(:disabled){background:var(--surface-raised)}.aw-button:disabled{opacity:.5;cursor:default}.aw-button.aw-on{background:var(--accent-fill);border-color:var(--accent);color:var(--accent-contrast)}.aw-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.aw-notice{min-width:0;color:var(--text-2);flex:1;margin:0;font-size:12px}.aw-saves{align-items:center;gap:var(--space-8);flex:none;display:flex}.aw-saves-label{color:var(--text-2);margin:0;font-size:12px;font-weight:700}.aw-slot-row{gap:var(--space-4);flex-wrap:wrap;display:flex}.aw-slot{display:inline-flex}.aw-slot-button,.aw-slot-load{font:inherit;padding:var(--space-4) var(--space-6);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;font-size:12px;line-height:1}.aw-slot-button{border-radius:var(--radius-sm) 0 0 var(--radius-sm);font-weight:700}.aw-slot-load{border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-2);border-left:none}.aw-slot-load:disabled{opacity:.4;cursor:default}.aw-slot-button:focus-visible,.aw-slot-load:focus-visible{outline:2px solid var(--accent);outline-offset:1px}[data-analysis-borders=off] :is(.aw-button,.aw-seat-toggle,.aw-slot-button,.aw-slot-load):not(.aw-on),[data-analysis-borders=off] .aw-rail .atl-buttons button{background:0 0;border-color:#0000;border-radius:0}@media (hover:hover) and (pointer:fine){[data-analysis-borders=off] :is(.aw-button,.aw-seat-toggle,.aw-rail .atl-buttons button):not(.aw-on):hover:not(:disabled){background:var(--surface-raised)}}.deal-input-panel{flex-direction:column;gap:8px;height:100%;min-height:0;display:flex}.dip-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-2);font-size:12px;font-weight:700}.dip-textarea{resize:none;border:1px solid var(--border-strong);background:var(--surface-raised);min-height:80px;color:var(--text);border-radius:8px;flex:1;padding:8px;font-family:ui-monospace,monospace;font-size:12px}.dip-textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.dip-parse-button{font:inherit;background:var(--accent-fill);color:var(--accent-contrast);cursor:pointer;border:none;border-radius:8px;align-self:flex-start;padding:6px 14px;font-size:13px;font-weight:700}.dip-parse-button:hover:not(:disabled){background:var(--accent-fill-hover)}.dip-parse-button:disabled{opacity:.5;cursor:not-allowed}.dip-results{flex-direction:column;gap:6px;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.dip-result{background:var(--surface-raised);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.dip-result button{font:inherit;border:1px solid var(--border-strong);color:var(--text);cursor:pointer;background:0 0;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}.dip-error{color:var(--danger-text)}.dd-panel{flex-direction:column;gap:12px;min-height:0;font-size:13px;display:flex}.dd-status{color:var(--text-2);font-size:13px}.dd-error{color:var(--danger-text)}.dd-table{border-collapse:collapse;width:100%}.dd-table th,.dd-table td{border:1px solid var(--border);text-align:center;font-variant-numeric:tabular-nums;padding:4px 8px}.dd-table thead th{background:var(--surface-raised);color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.dd-table tbody th{background:var(--surface-raised);text-align:left;font-weight:700}.dd-heading{text-transform:uppercase;letter-spacing:.05em;color:var(--text-2);margin:0 0 4px;font-size:12px;font-weight:700}.dd-summary p{margin:0}.dd-optimal-columns{grid-template-columns:1fr 1fr;gap:12px;display:grid}.dd-optimal-side{margin:0 0 2px;font-weight:700}.dd-optimal-list{margin:0;padding-left:18px}.dd-strain-suit{vertical-align:-.08em;width:.85em;height:.85em}.dd-strain-nt{font-weight:700}.pdl{margin-top:var(--space-16)}.pdl-heading{color:var(--text);margin:0;font-size:.85rem;font-weight:700}.pdl-turn{margin:var(--space-2) 0 var(--space-8);color:var(--text-2);font-size:.75rem}.pdl-chips{gap:var(--space-6);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.pdl-chip{align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-6);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-raised);white-space:nowrap;font-size:.8rem;display:inline-flex}.pdl-card{align-items:center;font-weight:700;display:inline-flex}.pdl-suit{width:.8em;height:.8em}.pdl-delta{font-variant-numeric:tabular-nums;font-weight:700}.pdl-chip[data-dd-delta^=\-] .pdl-delta{color:var(--danger-text)}.pdl-chip:not([data-dd-delta^=\-]):not([data-dd-delta="0"]) .pdl-delta{color:var(--success-text)}.page-head{align-items:baseline;gap:var(--space-12);flex-flow:wrap;display:flex}.page-head>h1{margin-top:0}.page-head>.back-link{align-self:baseline}.back-link{align-items:baseline;gap:var(--space-4);color:var(--accent);padding:var(--space-8) var(--space-4);margin:calc(-1 * var(--space-8)) calc(-1 * var(--space-4));border-radius:var(--radius-sm);flex:none;align-self:flex-start;font-size:14px;text-decoration:none;display:inline-flex}.back-link:hover,.back-link:focus-visible{text-decoration:underline}.back-link-arrow{font-size:1.1em;line-height:1}.analysis-board-page{gap:10px;padding:16px 24px;overflow:hidden;container-type:inline-size}@media (width>=64rem){.analysis-board-page{flex-basis:0}}.ab-toolbar{flex:none;align-items:baseline;gap:12px;display:flex}.ab-toolbar h1{margin:0;font-size:20px}.ab-table-picker{gap:var(--space-4);margin-left:auto;display:flex}.ab-picker-button{font:inherit;padding:var(--space-4) var(--space-8);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-2);cursor:pointer;font-size:12px;font-weight:700}.ab-picker-button.selected,.ab-picker-button[aria-pressed=true]{background:var(--surface-raised);color:var(--text)}.ab-picker-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ab-main-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ab-board-heading{color:var(--text-2);margin:0;font-size:13px;font-weight:700}.ab-board-tag{color:var(--text-2);background:var(--surface-raised);border-radius:999px;padding:2px 10px;font-size:13px;font-weight:700}.ab-empty{color:var(--text-2)}.ab-error{color:var(--danger-text)}.ab-main{flex:1;grid-template-columns:minmax(0,1fr);gap:16px;min-height:0;display:grid}.ab-main-empty{grid-template-columns:1fr;grid-auto-rows:min-content;max-width:640px;overflow:auto}.ab-empty-input{flex:1;min-height:0;display:flex}.ab-left{flex-direction:column;gap:8px;min-height:0;display:flex}.ab-source{color:var(--text-2);margin:0;font-size:12px}.ab-deal-area{flex:1;min-height:0;position:relative;overflow:auto}.ab-right{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.ab-tablist{border-bottom:1px solid var(--border);flex:none;display:flex}.ab-tab{font:inherit;color:var(--text-2);cursor:pointer;background:0 0;border:none;flex:1;padding:8px;font-size:13px;font-weight:700}.ab-tab.selected{color:var(--text);background:var(--surface-raised);box-shadow:inset 0 -2px 0 var(--accent-fill)}.ab-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ab-panel-body{flex:1;min-height:0;padding:10px;position:relative;overflow:auto}.ab-panel{height:100%;min-height:0}@container (width<=700px){.ab-main-pair{grid-template-columns:minmax(0,1fr);overflow:auto}}[data-analysis-borders=off] .ab-picker-button:not([aria-pressed=true]):not(.selected),[data-analysis-borders=off] .ab-right{background:0 0;border-color:#0000;border-radius:0}.compare-page{width:100%;max-width:1120px;margin:var(--space-16) auto;padding:0 var(--space-24);gap:var(--space-16);flex-direction:column;display:flex}.compare-page h1:not(.page-title){letter-spacing:-.6px;margin:0;font-size:30px}.compare-page h2{text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);margin:0;font-size:15px;font-weight:700}.compare-page p{margin:0}.compare-lead{color:var(--text-muted);line-height:1.6}.compare-promise{padding:var(--space-16);border:1px solid var(--border);border-left-width:4px;border-left-color:var(--accent);border-radius:var(--radius-lg);background:var(--surface);line-height:1.6}.compare-columns{gap:var(--space-24);grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));display:grid}.compare-column{gap:var(--space-8);padding:var(--space-12);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;display:flex}.compare-column ul{padding-left:var(--space-16);gap:var(--space-8);flex-direction:column;margin:0;display:flex}.compare-column li{line-height:1.5}.compare-status{font-weight:600;line-height:1.6}.compare-cta{gap:var(--space-12);display:flex}main:has(>.loading-overlay){position:relative}[data-page-region]:has(>.loading-overlay){position:relative;overflow:hidden}.loading-overlay{z-index:var(--z-loading);background:var(--base);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.loading-overlay:focus{outline:none}.team-team1{--team-color:var(--accent);--team-soft:var(--accent-soft)}.team-team2{--team-color:var(--info-text);--team-soft:color-mix(in srgb, var(--info-text) 14%, transparent)}.primary-button{font:inherit;padding:var(--space-8) var(--space-16);border-radius:var(--radius-lg);background:var(--accent-fill);color:var(--accent-contrast);cursor:pointer;border:1px solid #0000;font-size:14px;font-weight:600;text-decoration:none;transition:background .2s,opacity .2s;display:inline-block}.primary-button:hover:not(:disabled){background:var(--accent-fill-hover)}.primary-button:disabled{opacity:.55;cursor:default}.match-page{max-width:68rem;padding:var(--space-32) var(--space-16) var(--space-64);margin:0 auto}.match-page-head{margin-bottom:var(--space-32)}.match-eyebrow{margin:0 0 var(--space-6);letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);font-size:.75rem;font-weight:600}.match-page-head h1{margin:0 0 var(--space-8);font-size:clamp(1.6rem,4vw,2.3rem);line-height:1.15}.match-versus{color:var(--text-2);padding:0 .15em;font-size:.6em;font-weight:400}.match-lede,.match-hint{color:var(--text-2);margin:var(--space-6) 0;line-height:1.55}.match-hint{font-size:.85rem}.match-derived{margin:var(--space-12) 0 0;padding:var(--space-8) var(--space-12);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text);font-size:.9rem}.match-settings-summary{gap:var(--space-6);margin:var(--space-12) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.match-settings-summary li{padding:var(--space-4) var(--space-8);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text-2);font-size:.78rem}.match-back-link{color:var(--accent);font-size:.9rem;text-decoration:none}.match-back-link:hover{text-decoration:underline}.match-form{gap:var(--space-24);flex-direction:column;display:flex}.match-field{gap:var(--space-6);margin-top:var(--space-16);flex-direction:column;display:flex}.match-field:first-of-type{margin-top:0}.match-field label{font-size:.9rem;font-weight:600}.match-field input[type=text],.match-field input[type=number],.match-field select{max-width:26rem}.match-field-pair{gap:var(--space-16);grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));display:grid}.match-choice-row{gap:var(--space-12);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));display:grid}.match-choice{align-items:center;gap:var(--space-2) var(--space-8);padding:var(--space-12);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-raised);cursor:pointer;transition:background var(--lift-fast) var(--lift-ease), border-color var(--lift-fast) var(--lift-ease), transform var(--lift-fast) var(--lift-ease), box-shadow var(--lift-fast) var(--lift-ease);grid-template-columns:auto auto 1fr;grid-template-areas:"radio logo label"". .blurb";display:grid}.match-choice-logo{grid-area:logo;width:auto;display:block}.match-choice:hover{background:var(--surface-hover);transform:translateY(calc(-2px * var(--lift-on)));border-color:var(--border-strong);box-shadow:0 8px 18px #0000002e}.match-choice.is-selected{border-color:var(--accent);background:var(--accent-soft)}.match-choice input{margin-top:var(--space-4);grid-area:radio}.match-choice-label{grid-area:label;font-weight:600}.match-choice-blurb{color:var(--text-2);grid-area:blurb;font-size:.8rem;line-height:1.45}.match-switch{align-items:center;gap:var(--space-8);cursor:pointer;font-size:.9rem;font-weight:600;display:flex}.match-switch input:disabled+span{color:var(--text-2)}.match-seat-grid{gap:var(--space-16);margin-top:var(--space-12);grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));display:grid}.match-seat-table-name{margin:0 0 var(--space-8);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);font-size:.8rem}.match-seat-compass{gap:var(--space-4) var(--space-8);grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:".north north.""west west east east"".south south.";display:grid}.match-seat-row.seat-N{grid-area:north}.match-seat-row.seat-W{grid-area:west}.match-seat-row.seat-E{grid-area:east}.match-seat-row.seat-S{grid-area:south}.match-seat-row{align-items:center;gap:var(--space-6);padding:var(--space-4) var(--space-6);border:1px solid var(--border);border-left:3px solid var(--team-color);border-radius:var(--radius-md);background:var(--surface-raised);grid-template-columns:minmax(0,1fr) auto auto;display:grid;position:relative}.match-seat-row.is-me{background:var(--team-soft);border-color:var(--team-color)}.match-seat-row.is-wrong{border-color:var(--danger-text)}.match-seat-row.is-wrong .match-seat-input{box-shadow:inset 0 0 0 1px var(--danger-text);background:color-mix(in srgb, var(--danger-text) 10%, transparent)}.match-seat-status{flex:none;justify-content:center;align-items:center;width:.9rem;height:.9rem;display:flex}.match-seat-status.is-online{color:var(--success-text)}.match-seat-status.is-offline{color:var(--text-2)}.match-seat-status.is-bad{color:var(--danger-text)}.match-seat-input{min-width:0;padding:var(--space-4) var(--space-8);font-size:.85rem}.match-seat-input[readonly]{cursor:default}.match-seat-suggestions{z-index:20;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);max-height:9rem;margin:0;list-style:none;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow-y:auto;box-shadow:0 6px 18px #00000040}.match-seat-suggestion{align-items:center;gap:var(--space-6);padding:var(--space-4) var(--space-6);border-radius:var(--radius-sm);cursor:pointer;font-size:.8rem;display:flex}.match-seat-suggestion.is-active{background:var(--team-soft,var(--surface));outline:1px solid var(--border)}.match-seat-suggestion-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.match-seat-me{padding:var(--space-4) var(--space-8);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-2);font:inherit;cursor:pointer;font-size:.75rem}.match-seat-me[aria-pressed=true]{background:var(--team-soft);border-color:var(--team-color);box-shadow:inset 0 0 0 1px var(--team-color);color:var(--text)}.match-actions{align-items:center;gap:var(--space-16);margin-top:var(--space-24);flex-wrap:wrap;display:flex}.match-seats-needed{min-height:1.2em;color:var(--text-2);margin:0;font-size:.85rem}.create-match-page{max-width:60rem;padding:0 var(--space-16) var(--space-24)}.create-match-page h1{margin:0 0 var(--space-12);line-height:1.2}.create-match-page h1:not(.page-title){font-size:1.75rem}.create-match-page .match-form{gap:var(--space-12)}.create-match-page .match-actions{margin-top:0}.create-match-page .match-tabpanel{min-height:19.5rem}.match-option-grid{gap:var(--space-12) var(--space-16);grid-template-columns:repeat(auto-fit,minmax(min(100%,21rem),1fr));align-items:start;display:grid}.match-format-fields{gap:var(--space-12) var(--space-16);margin-top:var(--space-16);grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));align-items:start;display:grid}.match-option-grid .match-field,.match-format-fields .match-field,.create-match-page .match-field-pair .match-field{margin-top:0}.create-match-page .match-hint{margin:0;font-size:.78rem;line-height:1.4}.create-match-page .match-seat-grid{gap:var(--space-16);margin-top:0}.create-match-page .match-derived{margin-top:var(--space-8);padding:var(--space-8) var(--space-12);font-size:.85rem}.match-summary-bar{justify-content:space-between;align-items:center;gap:var(--space-16);margin-bottom:var(--space-24);padding:var(--space-12) var(--space-16);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-wrap:wrap;display:flex}.match-count{font-variant-numeric:tabular-nums;font-weight:600}.match-count-note{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.85rem}.match-mirror{gap:var(--space-16);grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));align-items:start;display:grid}.match-mirror-table{border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-16);background:var(--surface)}.match-mirror-heading{margin:0 0 var(--space-12);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);font-size:.8rem}.match-lineup{gap:var(--space-6);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.match-lineup-row{align-items:center;gap:var(--space-12);padding:var(--space-8) var(--space-12);border:1px solid var(--border);border-left:3px solid var(--team-color);border-radius:var(--radius-md);background:var(--surface-raised);grid-template-columns:1.75rem 1fr auto;display:grid}.match-lineup-row.is-taken{background:var(--team-soft)}.match-lineup-seat{color:var(--team-color);font-weight:700}.match-lineup-body{flex-direction:column;min-width:0;display:flex}.match-lineup-name{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:600;overflow:hidden}.match-lineup-meta{color:var(--text-2);font-size:.75rem}.match-lineup-action{gap:var(--space-6);display:flex}.match-lineup-action button{padding:var(--space-6) var(--space-8);font-size:.8rem}.match-lineup-status{color:var(--text-2);font-size:.78rem}.match-invite-form{margin-top:var(--space-16);padding:var(--space-16);border:1px solid var(--accent);border-radius:var(--radius-lg);background:var(--accent-soft)}.match-invite-form label{margin-bottom:var(--space-8);font-size:.9rem;font-weight:600;display:block}.match-invite-row{gap:var(--space-8);flex-wrap:wrap;display:flex}.match-invite-row input{flex:14rem}.match-mirror-live{grid-template-columns:1fr}@media (width>=60rem){.match-mirror-live{grid-template-columns:1fr minmax(12rem,.7fr) 1fr;align-items:stretch}}.match-table-card{gap:var(--space-8);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-16);background:var(--surface);flex-direction:column;display:flex}.match-table-card.is-mine{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.match-table-card-head{justify-content:space-between;align-items:center;gap:var(--space-8);display:flex}.match-table-card-head h2{margin:0;font-size:1.05rem}.match-badge{letter-spacing:.06em;text-transform:uppercase;padding:var(--space-4) var(--space-8);border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent);font-size:.7rem;font-weight:600}.match-board-line{align-items:baseline;gap:var(--space-6);margin:0;display:flex}.match-board-number{font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:700}.match-board-of{color:var(--text-2);font-size:.85rem}.match-table-status{color:var(--text-2);margin:0;font-size:.9rem}.match-table-seats{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.match-table-seat{align-items:center;gap:var(--space-8);padding:var(--space-4) var(--space-8);border-left:3px solid var(--team-color);border-radius:var(--radius-sm);grid-template-columns:1.4rem 1fr auto;font-size:.85rem;display:grid}.match-table-seat.is-turn{background:var(--team-soft);font-weight:600}.match-table-seat-letter{color:var(--team-color);font-weight:700}.match-table-seat-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.match-table-seat-team{color:var(--text-2);font-size:.7rem}.match-table-card>a,.match-table-card>.route-button{text-align:center;margin-top:auto;text-decoration:none;display:block}.match-spine{gap:var(--space-12);flex-direction:column;justify-content:center;align-items:stretch;display:flex}.match-score{border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-16) var(--space-16);background:var(--surface);text-align:center}.match-score.is-final{border-color:var(--accent);background:var(--accent-soft)}.match-score-heading{margin:0 0 var(--space-8);letter-spacing:.1em;text-transform:uppercase;color:var(--text-2);font-size:.75rem;font-weight:600}.match-score-line{justify-content:center;align-items:baseline;gap:var(--space-8);font-variant-numeric:tabular-nums;margin:0;font-size:2.2rem;font-weight:700;line-height:1;display:flex}.match-score-team{color:var(--team-color);opacity:.55}.match-score-team.is-leading{opacity:1}.match-score-dash{color:var(--text-2);font-size:1.4rem;font-weight:400}.match-score-outcome{margin:var(--space-8) 0 0;font-size:.85rem;font-weight:600}.match-score-secondary,.match-progress{margin:var(--space-6) 0 0;color:var(--text-2);font-size:.78rem}.match-score-note{margin:var(--space-8) 0 0;color:var(--text-2);font-size:.78rem;line-height:1.5}.match-score-sealed{border-style:dashed;border-color:var(--border-strong)}.match-score-sealed .match-score-heading{color:var(--warning-text)}.match-watch-both{text-align:center;padding:var(--space-8) var(--space-12);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--accent);font-size:.85rem;font-weight:600;text-decoration:none;display:block}.match-watch-both:hover{background:var(--surface-hover)}.match-history{margin-top:var(--space-32)}.match-history h2{margin:0 0 var(--space-12);font-size:1.1rem}.match-history-scroll{border:1px solid var(--border);border-radius:var(--radius-lg);position:relative;overflow-x:auto}.match-history-table{border-collapse:collapse;background:var(--surface);width:100%;font-size:.85rem}.match-history-table th,.match-history-table td{padding:var(--space-8) var(--space-12);text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.match-history-table thead th{letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);background:var(--surface-raised);font-size:.72rem}.match-history-table tbody tr:last-child th,.match-history-table tbody tr:last-child td{border-bottom:none}.match-history-dealer{color:var(--text-2);font-size:.72rem;font-weight:400}.match-history-perspective{color:var(--text-2);white-space:nowrap;font-size:.72rem;font-weight:400}.match-history-score{font-variant-numeric:tabular-nums;color:var(--text-2)}.match-history-pending{color:var(--text-2);font-style:italic}.match-history-result{font-weight:600}.match-table-page{flex-direction:column;display:flex}.match-table-banner{justify-content:space-between;align-items:center;gap:var(--space-16);padding:var(--space-8) var(--space-16);border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;display:flex}.match-table-banner-main{align-items:center;gap:var(--space-12);font-size:.9rem;display:flex}.match-table-banner-meta{align-items:center;gap:var(--space-8);flex-wrap:wrap;display:flex}.match-chip{padding:var(--space-4) var(--space-8);border-radius:var(--radius-md);background:var(--surface-raised);border:1px solid var(--border);color:var(--text);font-variant-numeric:tabular-nums;flex-direction:column;font-size:.8rem;font-weight:600;text-decoration:none;display:inline-flex}.match-chip-link{color:var(--accent)}.match-chip-link:hover{background:var(--surface-hover)}.match-chip-sub{color:var(--text-2);font-size:.68rem;font-weight:400}.match-chip-sealed{border-style:dashed;border-color:var(--border-strong);color:var(--warning-text)}.match-chip-score{font-size:1rem}.match-chip-vul.vul-ns,.match-chip-vul.vul-ew{color:var(--warning-text);border-color:var(--warning-text)}.match-chip-vul.vul-both{color:var(--danger-text);border-color:var(--danger-text)}.match-board-break{justify-content:space-between;align-items:center;gap:var(--space-16);padding:var(--space-12) var(--space-16);background:var(--accent-soft);border-bottom:1px solid var(--accent);flex-wrap:wrap;font-size:.9rem;display:flex}.match-host-tools{margin-top:var(--space-16);max-width:420px;padding:var(--space-12) var(--space-16);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.match-host-tools h2{margin:0 0 var(--space-8);font-size:.95rem}.kibitzer-controls{margin-top:var(--space-16)}.kibitzer-group{margin-bottom:var(--space-16)}.kibitzer-group-label{margin:0 0 var(--space-6);letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);font-size:.75rem}.kibitzer-seat-row{gap:var(--space-6);display:flex}.kibitzer-seat{padding:var(--space-6) 0;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text);font:inherit;cursor:pointer;flex:1;font-weight:700}.kibitzer-seat:hover{background:var(--surface-hover)}.kibitzer-seat.is-selected{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--accent-contrast)}.kibitzer-hide-list{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.kibitzer-hide{align-items:center;gap:var(--space-8);cursor:pointer;font-size:.85rem;display:flex}.kibitzer-hide-who{color:var(--text-2);font-size:.78rem}.kibitzer-note{margin:var(--space-12) 0 0;color:var(--text-2);font-size:.75rem;line-height:1.5}.match-watch{padding:var(--space-16)}.match-watch-head{justify-content:space-between;align-items:center;gap:var(--space-16);margin-bottom:var(--space-16);flex-wrap:wrap;display:flex}.match-watch-head h1{margin:var(--space-4) 0 0;font-size:1.4rem}.match-watch-controls{align-items:center;gap:var(--space-6);display:flex}.match-watch-controls .kibitzer-group-label{margin:0}.match-watch-controls .kibitzer-seat{flex:0 0 2.2rem}.match-watch-grid{gap:var(--space-16);flex:auto;grid-template-columns:1fr;min-height:0;display:grid}@media (width>=78rem){.match-watch-grid{grid-template-columns:1fr 1fr}}.match-watch-pane{border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-12);background:var(--surface);min-width:0;overflow:hidden}.match-watch-pane .game-table{padding:0}.match-watch-pane-head{align-items:center;gap:var(--space-8);margin-bottom:var(--space-8);flex-wrap:wrap;display:flex}.match-watch-pane-head h2{margin:0;font-size:1rem}@media (prefers-reduced-motion:reduce){.kibitzer-seat,.match-choice{transition:none}}.alert-toast-stack{z-index:5;pointer-events:none;flex-direction:column;gap:8px;width:min(280px,90%);display:flex;position:absolute;top:8px;right:8px}.alert-toast{pointer-events:auto;cursor:pointer;background:var(--surface-raised);border:1px solid var(--border-strong);box-shadow:var(--shadow-card);border-radius:12px;padding:10px 30px 10px 12px;position:relative}.alert-toast-heading{text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);align-items:center;gap:5px;margin:0;font-size:11px;font-weight:700;display:flex}.alert-toast-call{color:var(--text);text-transform:none;letter-spacing:normal;align-items:center;gap:1px;font-size:15px;display:inline-flex}.alert-toast-muted{color:var(--text-2);font-weight:500}.alert-toast-red{color:var(--danger-text)}.alert-toast-glyph{width:.85em;height:.85em}.alert-toast-text{color:var(--text);margin:5px 0 0;font-size:13px;line-height:1.45}.alert-toast-dismiss{width:22px;height:22px;color:var(--text-2);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:15px;line-height:1;display:inline-flex;position:absolute;top:5px;right:5px}.alert-toast-dismiss:hover{background:var(--surface-hover);color:var(--text)}.alert-toast-dismiss:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@keyframes alert-toast-arrive{0%{opacity:0;transform:translateY(calc(-6px * var(--lift-on)))}}.alert-toast{animation:alert-toast-arrive var(--lift-slow) var(--lift-ease) both}.bidding-alert{align-items:stretch;gap:5px;display:flex}.bidding-alert-toggle{background:var(--card-face);color:#c2001a;cursor:pointer;border:2px solid #ff4d5e;border-radius:9px;flex:none;align-items:center;gap:5px;padding:0 8px;font-size:12.5px;font-weight:700;display:inline-flex}.bidding-alert-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-fill);cursor:pointer;flex-shrink:0}.bidding-alert-explanation{box-sizing:border-box;min-width:0;font:inherit;color:var(--text);background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:6px;flex:auto;padding:5px 10px;font-size:13px}.bidding-alert-explanation::placeholder{color:var(--text-2)}.bidding-alert-explanation:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.bidding-alert-explanation:disabled{opacity:.6;cursor:not-allowed}.bidding-alert-note{color:var(--text-2);margin:0;font-size:11px}.popup-bidding-box{box-sizing:border-box;border:1px solid var(--cf-felt-chip-line);background:var(--surface-raised);--popup-bid-col:44px;border-radius:12px;flex-direction:column;align-items:center;gap:6px;width:100%;padding:10px 8px;display:flex;box-shadow:0 14px 34px #00000073}.popup-bid-row{justify-content:center;gap:4px;display:flex}.popup-bid-grid{grid-template-columns:repeat(7, var(--popup-bid-col));gap:4px;display:grid}.popup-bid-grid>.bid-button{min-width:0}.popup-bidding-box .bid-button[aria-pressed=true]{background:color-mix(in srgb, var(--card-ink) 88%, var(--card-face));color:var(--card-face);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--card-face) 38%, transparent)}.popup-bid-specials{gap:8px}.popup-bid-alert{align-items:center;gap:6px;width:100%;max-width:320px;display:flex}.popup-bid-alert-toggle{border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text);cursor:pointer;border-radius:8px;flex:none;align-items:center;gap:4px;padding:4px 8px;font-size:12px;font-weight:600;display:flex}.popup-bid-alert-toggle:has(input:checked){border-color:var(--danger-text,#ff4d5e);color:var(--danger-text,#ff4d5e)}.popup-bid-alert-explanation{border:1px solid var(--border-strong);background:var(--surface-raised);min-width:0;color:var(--text);font:inherit;border-radius:8px;flex:auto;padding:5px 8px;font-size:12px}.explain-panel{top:var(--cf-control-pad,18px);left:calc(var(--cf-control-w,304px) + 12px);z-index:var(--z-felt-panel-over);border:1px solid var(--border-strong);background:var(--surface-raised);width:320px;max-height:76%;color:var(--text);box-shadow:var(--shadow-card);border-radius:12px;flex-direction:column;gap:6px;padding:10px;display:flex;position:absolute;overflow-y:auto}.explain-panel-head{text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);justify-content:space-between;align-items:center;font-size:12px;font-weight:700;display:flex}.explain-panel-close{border:1px solid var(--border-strong);background:var(--surface);width:22px;height:22px;color:var(--text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-size:14px;line-height:1;display:flex}.explain-panel-close:hover{background:var(--surface-hover)}.explain-panel-close:focus-visible,.explain-panel-cta:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.explain-panel-call{align-items:center;gap:8px;margin:0;font-weight:700;display:flex}.explain-panel-badge{align-items:center;gap:1px;font-size:16px;font-weight:700;display:inline-flex}.explain-panel-badge.is-red{color:var(--danger-text)}.explain-panel-badge.is-muted{opacity:.8;font-weight:400}.explain-panel-glyph{width:.85em;height:.85em}.explain-panel-text{margin:0;font-size:13.5px;line-height:1.4}.explain-panel-muted{color:var(--text-2)}.explain-panel-note{color:var(--text-2);margin:0;font-size:12.5px;font-weight:600}.explain-panel-toggle{align-items:center;gap:6px;font-size:13px;display:flex}.explain-panel-label{color:var(--text-2);font-size:12px;font-weight:600}.explain-panel-input{resize:vertical;border:1px solid var(--border-strong);background:var(--surface);width:100%;color:var(--text);font:inherit;border-radius:8px;padding:6px 8px;font-size:13px}.explain-panel-cta{border:1px solid var(--border-strong);background:var(--accent);color:var(--accent-ink,#fff);font:inherit;cursor:pointer;border-radius:8px;padding:6px 10px;font-size:13px;font-weight:600}.explain-panel-cta.explain-panel-secondary{background:var(--surface);color:var(--text)}.explain-panel-cta[aria-disabled=true]{opacity:.55;cursor:not-allowed}.explain-panel-error{color:var(--danger-text);margin:0;font-size:12.5px}.review-panel{z-index:var(--z-felt-panel);border:1px solid var(--border-strong);background:var(--surface-raised);border-radius:14px;flex-direction:column;gap:14px;width:min(520px,84%);max-height:80%;padding:16px;display:flex;position:absolute;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 16px 44px #0006}.review-panel-head{text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);justify-content:space-between;align-items:center;font-size:13px;font-weight:700;display:flex}.review-panel-close{border:1px solid var(--border-strong);background:var(--surface);width:24px;height:24px;color:var(--text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-size:15px;line-height:1;display:flex}.review-panel-close:hover{background:var(--surface-hover)}.review-panel-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.review-panel-heading{text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);margin:0 0 8px;font-size:11px;font-weight:700}.review-panel-empty{color:var(--text-2);margin:0;font-size:13px}.review-panel-tricks{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.review-trick-row{background:var(--surface);border-radius:8px;align-items:center;gap:8px;padding:4px 8px;display:flex}.review-trick-number{color:var(--text-2);font-variant-numeric:tabular-nums;flex:0 0 20px;font-size:11px;font-weight:700}.review-trick-cards{flex:auto;gap:6px;display:flex}.review-trick-card{color:var(--text);align-items:center;gap:1px;font-size:13px;font-weight:700;display:inline-flex}.review-trick-suit{width:12px;height:12px}.review-red{color:var(--card-ink-red,#c0102c)}.review-black{color:var(--text)}.review-trick-winner{color:var(--accent);flex:none;font-size:11px;font-weight:700}.review-panel-analyze{border:1px solid var(--border-strong);background:var(--surface);color:var(--accent);border-radius:8px;align-self:center;padding:8px 16px;font-size:13px;font-weight:700;text-decoration:none}.review-panel-analyze:hover{background:var(--surface-hover)}.ptag-menu{top:var(--cf-control-pad,18px);left:calc(var(--cf-control-w,304px) + 12px);z-index:var(--z-felt-menu);border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text);border-radius:12px;flex-direction:column;gap:6px;width:176px;padding:10px;display:flex;position:absolute;box-shadow:0 12px 32px #00000059}.ptag-menu-head{text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);justify-content:space-between;align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.ptag-menu-head>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ptag-menu-close{border:1px solid var(--border-strong);background:var(--surface);width:22px;height:22px;color:var(--text);cursor:pointer;border-radius:6px;flex:none;justify-content:center;align-items:center;font-size:14px;line-height:1;display:flex}.ptag-menu-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.ptag-menu-item{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:600;display:block}.ptag-menu-item:hover{border-color:var(--border-strong)}.ptag-menu-item[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.ptag-menu-item[aria-disabled=true]{cursor:default;border-style:dashed}.ptag-menu-remove{color:var(--danger-text);border-color:color-mix(in srgb, var(--danger-text) 45%, transparent)}.ptag-menu-confirm{gap:var(--space-6);flex-direction:column;display:flex}.ptag-menu-confirm-note{color:var(--text-2);margin:0;font-size:12px}.ptag-menu-confirm-actions{gap:var(--space-6);display:flex}.ptag-menu-confirm-button{padding:var(--space-6) var(--space-8);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;flex:1;font-size:13px;font-weight:600}.ptag-menu-remove-yes{color:var(--danger-text);border-color:color-mix(in srgb, var(--danger-text) 45%, transparent)}.ptag-menu-confirm-button:disabled{cursor:default;border-style:dashed}.mht{flex-direction:column;gap:8px;display:flex}.mht-lede{color:var(--text-2);margin:0;font-size:11px;line-height:1.35}.mht-error{color:var(--danger-text);margin:0;font-size:11px;line-height:1.35}.mht-tables{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.mht-table{min-width:0}.mht-table-head{text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);margin:0 0 3px;font-size:10px;font-weight:700}.mht-here{text-transform:none;letter-spacing:0;font-weight:400}.mht-seats{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.mht-seat{grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:4px;font-size:11px;line-height:1.3;display:grid}.mht-seat-id{color:var(--text-2);font-weight:700}.mht-seat-who{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mht-vacated .mht-seat-who,.mht-declined .mht-seat-who{color:var(--danger-text);font-weight:600}.mht-offered .mht-seat-who{color:var(--text-2);font-style:italic}.mht-btn{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;border-radius:999px;padding:2px 6px;font-size:10px;line-height:1.2}.mht-btn:hover{background:var(--surface-hover)}.mht-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mht-btn[aria-disabled=true]{opacity:.55;cursor:default}.mht-btn-go{border-color:var(--accent);background:var(--accent-soft);font-weight:600}.mht-form{align-items:center;gap:4px;display:flex}.mht-form input{border:1px solid var(--border-strong);background:var(--surface);min-width:0;color:var(--text);font:inherit;border-radius:6px;flex:auto;padding:3px 6px;font-size:11px}.mht-foot{border-top:1px solid var(--border);justify-content:flex-end;margin-top:6px;padding-top:6px;display:flex}.mht-btn-end{border-color:color-mix(in srgb, var(--danger-text) 45%, transparent);color:var(--danger-text)}.tdir{flex-direction:column;gap:10px;display:flex}.tdir-h{text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);margin:0;font-size:12px}.tdir-note{color:var(--text-2);margin:0;font-size:13px}.tdir-boards{flex-wrap:wrap;gap:4px;display:flex}.tdir-board{min-width:30px;font:inherit;color:var(--text);background:var(--surface-raised);border:1px solid var(--border-strong);cursor:pointer;border-radius:6px;padding:4px 6px;font-size:13px;position:relative}.tdir-board[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft,var(--surface))}.tdir-dot{background:var(--accent);vertical-align:middle;border-radius:50%;width:5px;height:5px;margin-left:3px;display:inline-block}.tdir-halves{flex-direction:column;gap:4px;display:flex}.tdir-half{width:100%;font:inherit;color:var(--text);text-align:left;background:var(--surface-raised);border:1px solid var(--border-strong);cursor:pointer;border-radius:6px;justify-content:space-between;gap:8px;padding:6px 8px;font-size:13px;display:flex}.tdir-half[aria-pressed=true]{border-color:var(--accent)}.tdir-half-score{font-variant-numeric:tabular-nums;font-weight:600}.tdir-from{color:var(--text-2);font-weight:400}.tdir-withheld{color:var(--text-2);border:1px dashed var(--border);border-radius:6px;margin:0;padding:6px 8px;font-size:13px}.tdir-form{flex-direction:column;gap:8px;display:flex}.tdir-field{align-items:center;gap:8px;font-size:13px;display:flex}.tdir-field>span{color:var(--text-2);flex:0 0 54px}.tdir-field input{flex:auto;min-width:0;padding:5px 8px}.tdir-go{align-self:flex-start}.tdir-choice{border:none;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0;padding:0;display:flex}.tdir-choice legend{float:left;width:54px;color:var(--text-2);padding:0;font-size:13px}.tdir-opt{cursor:pointer;align-items:center;gap:4px;font-size:13px;display:inline-flex}.tdir-error{color:var(--danger,#d05c5c);margin:0;font-size:13px}.tdir-done{color:var(--text-2);margin:0;font-size:13px}.tmenu-btn{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:34px;height:34px;padding:0;display:flex}.tmenu-btn:hover{background:var(--surface-hover)}.tmenu-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tmenu-btn span{background:var(--text);border-radius:1px;width:16px;height:2px;display:block}.tmenu-panel{top:var(--cf-control-pad,18px);z-index:var(--z-felt-panel);width:min(304px,100%);max-height:calc(100% - 2 * var(--cf-control-pad,18px));border:1px solid var(--border-strong);background:var(--surface-raised);border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex;position:absolute;left:0;overflow:clip hidden;box-shadow:0 12px 32px #00000059}.tmenu-panel-head{text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);justify-content:space-between;align-items:center;font-size:12px;font-weight:700;display:flex}.tmenu-panel-close{border:1px solid var(--border-strong);background:var(--surface);width:22px;height:22px;color:var(--text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-size:14px;line-height:1;display:flex}.tmenu-panel-close:hover{background:var(--surface-hover)}.tmenu-panel-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tmenu-tablist{flex-wrap:wrap;gap:4px;display:flex}.tmenu-tab{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-2);font:inherit;cursor:pointer;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:600;line-height:1.2}.tmenu-tab:hover{background:var(--surface-hover)}.tmenu-tab.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.tmenu-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tmenu-tabpanel{flex:auto;min-height:0;overflow-y:auto}.tmenu-tabpanel:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tmenu-tabpanel .setting-choice,.tmenu-tabpanel .tmenu-card-layout{margin-bottom:10px}.tmenu-tabpanel .setting-choice:last-child,.tmenu-tabpanel .tmenu-card-layout:last-child,.tmenu-tabpanel .tmenu-card-layout .setting-choice{margin-bottom:0}.tmenu-tabpanel .setting-choice-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);margin:0 0 4px;font-size:11px;font-weight:700}.tmenu-tabpanel .setting-choice-options{grid-template-columns:repeat(2,1fr);gap:4px;display:grid}.tmenu-tabpanel .setting-choice-options:has(.setting-preview-back){grid-template-columns:repeat(2,1fr)}.tmenu-card-layout{align-items:start;gap:var(--space-8);grid-template-columns:minmax(0,3fr) minmax(0,2fr);display:grid}.tmenu-card-layout>.tmenu-suit-stack{grid-area:1/2/span 2}.tmenu-suit-stack{gap:var(--space-8);min-width:0;display:grid}:is(.tmenu-tabpanel .setting-choice-options:has(.setting-preview-cards),.tmenu-tabpanel .setting-choice-options:has(.setting-preview-diagram)){grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}.tmenu-tabpanel .setting-choice-options:has(.setting-preview-suits){grid-template-columns:repeat(2,1fr)}.tmenu-tabpanel .tmenu-suit-stack .setting-choice-options:has(.setting-preview-suits){grid-template-columns:1fr}.tmenu-tabpanel .tmenu-suit-stack .setting-choice-options:not(:has(.setting-preview)){grid-template-columns:1fr}.tmenu-tabpanel .setting-choice-options .theme-option{border-radius:8px;gap:6px;min-width:0;padding:5px 8px;font-size:12px}.tmenu-tabpanel .setting-choice-options .theme-option input{flex:none}.tmenu-cc-list{flex-direction:column;gap:4px;margin:0 0 6px;padding:0;list-style:none;display:flex}.tmenu-cc-row{align-items:center;gap:8px;font-size:13px;display:flex}.tmenu-cc-seat{color:var(--text-2);flex:0 0 18px;font-weight:700}.tmenu-cc-link{color:var(--accent)}.tmenu-cc-none{color:var(--text-2)}.tmenu-cc-note,.tmenu-director-note{color:var(--text-2);margin:0;font-size:12px}.tmenu-cc-picker{flex-direction:column;gap:6px;margin-top:2px;display:flex}.tmenu-cc-picker label{color:var(--text-2);font-size:12px}.tmenu-cc-picker select{font-size:13px}.tmenu-cc-partnerships{flex-wrap:wrap;gap:6px;display:flex}.tmenu-cc-error{color:var(--danger-text);margin:0;font-size:12px}.tmenu-panel-foot{gap:var(--space-8);border-top:1px solid var(--border);padding-top:8px;display:flex}.tmenu-leave,.tmenu-standup{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:8px;flex:auto;padding:7px 10px;font-size:13px}.tmenu-leave:hover:not(:disabled):not([aria-disabled=true]){border-color:var(--danger-fill);background:var(--surface-hover)}.tmenu-standup:hover:not(:disabled):not([aria-disabled=true]){border-color:var(--accent);background:var(--surface-hover)}.tmenu-leave:disabled,.tmenu-leave[aria-disabled=true],.tmenu-standup:disabled,.tmenu-standup[aria-disabled=true]{opacity:.5;cursor:default}.tmenu-leave:focus-visible,.tmenu-standup:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sbb-btn{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:flex}.sbb-btn:hover{background:var(--surface-hover)}.sbb-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sbb-btn-off{visibility:hidden;pointer-events:none}.sbb-btn-waiting{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.sbb-glyph{grid-template-rows:repeat(2,7px);grid-template-columns:repeat(3,5px);gap:2px;display:grid}.sbb-glyph>span{background:var(--text);border-radius:1px;display:block}.sbb-panel{top:calc(var(--cf-control-pad,18px) * var(--cf-felt-scale,1));left:calc(var(--cf-render-control-w,304px) + var(--cf-render-gap,12px));transform-origin:0 0;transform:scale(var(--cf-felt-scale,1));z-index:var(--z-felt-panel);box-sizing:border-box;border:1px solid var(--border-strong);background:var(--surface-raised);border-radius:12px;flex-direction:column;gap:8px;width:296px;max-height:501px;padding:12px;display:flex;position:absolute;overflow-y:auto;box-shadow:0 12px 32px #00000059}.sbb-panel-head{justify-content:space-between;align-items:center;gap:var(--space-8);text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);-webkit-user-select:none;user-select:none;cursor:grab;touch-action:none;font-size:12px;font-weight:700;display:flex}.sbb-panel-head:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sbb-panel-dragging .sbb-panel-head{cursor:grabbing}.sbb-panel-actions{align-items:center;gap:var(--space-6);display:flex}.sbb-panel-close,.sbb-panel-reset{border:1px solid var(--border-strong);background:var(--surface);width:22px;height:22px;color:var(--text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-size:14px;line-height:1;display:flex}.sbb-panel-close:hover,.sbb-panel-reset:hover{background:var(--surface-hover)}.sbb-panel-close:focus-visible,.sbb-panel-reset:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sbb-panel-reset-off{visibility:hidden;pointer-events:none}.takeover-notice{background:var(--surface);border:1px solid var(--border);max-width:34rem;box-shadow:var(--shadow-card);text-align:left;border-radius:12px;margin:4rem auto;padding:1.75rem}.takeover-notice h2{color:var(--text);margin:0 0 .75rem;font-size:1.25rem}.takeover-notice p{color:var(--text-2);margin:0 0 1rem;line-height:1.55}.takeover-strict{color:var(--text);font-weight:600}.takeover-error{color:var(--danger-text);margin:.75rem 0 0;font-size:.9375rem}.takeover-notice .ui-button[aria-disabled=true]{opacity:.65;cursor:default}.takeover-consequence{margin:.75rem 0 0;font-size:.875rem}.ask-tab{gap:var(--space-8);flex-direction:column;min-height:0;display:flex}.ask-title{margin:0;font-size:1rem}.ask-note{color:var(--text-2);margin:0;font-size:.85rem}.ask-list{gap:var(--space-6);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ask-row{align-items:center;gap:var(--space-6);text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;padding:var(--space-8) var(--space-8);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);font-weight:600;display:flex}.ask-row:hover{background:var(--surface-hover)}.ask-row.is-unread{border-color:var(--accent)}.ask-unread-dot{background:var(--accent);border-radius:50%;width:.5rem;height:.5rem}.ask-back{font:inherit;color:var(--accent);cursor:pointer;padding:var(--space-4) 0;background:0 0;border:none;align-self:flex-start}.ask-tab .ask-conversation{flex:auto;height:auto;min-height:16rem}.eor{justify-content:center;align-items:center;gap:var(--space-16);min-height:0;padding:var(--space-32) var(--space-16);text-align:center;flex-direction:column;flex:1;display:flex}.eor-heading{margin:0;font-size:1.6rem}.eor-status{max-width:34rem;color:var(--text-muted);margin:0}.eor-actions{align-items:center;gap:var(--space-12);flex-wrap:wrap;justify-content:center;display:flex}.eor-countdown{color:var(--text-muted);font-size:.85rem}.eor-forfeit{align-items:center;gap:var(--space-8);max-width:30rem;padding:var(--space-16) var(--space-16);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;display:flex}.eor-forfeit-heading{margin:0;font-size:1rem}.eor-forfeit-note,.eor-forfeit-votes{color:var(--text-muted);margin:0;font-size:.85rem}.eor-forfeit.is-done{border-color:var(--accent);background:var(--accent-soft)}.unrated-badge{padding:var(--space-2) var(--space-8);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text-2);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;align-self:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.hand-diagram-demo{box-sizing:border-box;width:100%;min-width:0;padding:var(--space-32) var(--space-16);gap:var(--space-32);flex-direction:column;display:flex}.hand-diagram-demo__themes{justify-content:center;gap:var(--space-8);flex-wrap:wrap;min-width:0;display:flex}.hand-diagram-demo>h2{text-align:center}.sandbox{flex-direction:column;gap:4px;padding-bottom:8px;display:flex}.sandbox-bar{border-bottom:1px solid var(--border);background:var(--nav-bg);flex-flow:wrap;flex:none;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;display:flex;position:relative}.sandbox-title{flex-wrap:wrap;flex:auto;align-items:baseline;gap:10px;min-width:0;display:flex}.sandbox-title h1{letter-spacing:-.01em;margin:0;font-size:15px}.sandbox-title p{min-width:0;max-width:68ch;color:var(--text-2);max-height:1.3em;margin:0;font-size:11.5px;line-height:1.3;overflow:hidden}.sandbox-home{border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text);font:inherit;cursor:pointer;text-transform:uppercase;letter-spacing:.08em;border-radius:999px;flex:none;align-self:center;margin-left:auto;padding:3px 9px;font-size:11px;font-weight:700;line-height:1;text-decoration:none}.sandbox-home:hover{background:var(--surface-hover)}.sandbox-home:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sandbox-absent,.sandbox-following{border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text);font:inherit;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;border-radius:999px;flex:none;align-self:center;padding:3px 9px;font-size:11px;font-weight:700;line-height:1}.sandbox-absent:hover,.sandbox-following:hover{background:var(--surface-hover)}.sandbox-absent:focus-visible,.sandbox-following:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sandbox-following{border-color:var(--accent);color:var(--accent)}.sandbox-absent-list{margin-top:var(--space-8)}.sandbox-absent-list:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sandbox-absent-list h2{text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);margin:0;font-size:11px;font-weight:700}.sandbox-absent-list p{margin:var(--space-4) 0 var(--space-8);max-width:78ch;color:var(--text-2);font-size:11.5px;line-height:1.35}.sandbox-absent-list dl{gap:var(--space-4) var(--space-12);grid-template-columns:max-content 1fr;margin:0;font-size:11.5px;line-height:1.35;display:grid}.sandbox-absent-list dl>div{grid-column:1/-1;grid-template-columns:subgrid;display:grid}.sandbox-absent-list dt{color:var(--text);font-weight:700}.sandbox-absent-list dd{color:var(--text-2);margin:0}.sandbox-controls{flex-wrap:wrap;align-items:flex-end;gap:10px 16px;display:flex}.sandbox-field{border:none;flex-direction:column;gap:5px;min-width:0;margin:0;padding:0;display:flex}.sandbox-field>span,.sandbox-field>legend{text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);padding:0;font-size:11px;font-weight:700}.sandbox-field select{min-width:300px;font-size:14px}.sandbox-segmented{gap:4px;display:flex}.sandbox-segmented button{border:1px solid var(--border-strong);background:var(--surface-raised);min-width:40px;color:var(--text);font:inherit;cursor:pointer;border-radius:8px;padding:7px 12px;font-size:13px;font-weight:600}.sandbox-segmented button:hover{background:var(--surface-hover)}.sandbox-segmented button[aria-pressed=true]{background:var(--accent-fill);border-color:var(--accent);color:var(--accent-contrast)}.sandbox-appearance{font-size:12px}.sandbox-appearance summary{cursor:pointer;text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);padding:4px 0;font-size:11px;font-weight:700;list-style:none}.sandbox-appearance summary::-webkit-details-marker{display:none}.sandbox-appearance summary:before{content:"▸";margin-right:6px;transition:transform .1s;display:inline-block}.sandbox-appearance[open] summary:before{transform:rotate(90deg)}.sandbox-appearance summary:hover{color:var(--text)}.sandbox-appearance-controls{padding-top:10px}.sandbox-note{color:var(--text-2);font-size:13px}.sandbox-note strong{color:var(--text)}.sandbox-status{color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.sandbox-chip{border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text-2);text-transform:uppercase;letter-spacing:.08em;vertical-align:middle;border-radius:999px;margin-left:10px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-block}.sandbox-field.sandbox-narrow select{min-width:150px}.sandbox-inline{gap:6px;display:flex}.sandbox-inline select{min-width:130px}.sandbox-inline button,.sandbox-segmented button{border:1px solid var(--border-strong);background:var(--surface-raised);min-width:40px;color:var(--text);font:inherit;cursor:pointer;border-radius:8px;padding:7px 12px;font-size:13px;font-weight:600}.sandbox-inline button:hover,.sandbox-segmented button:hover{background:var(--surface-hover)}.sandbox-segmented button:disabled{opacity:.45;cursor:default}.sandbox-checks{flex-direction:column;gap:4px;display:flex}.sandbox-checks label{color:var(--text);cursor:pointer;align-items:center;gap:7px;font-size:13px;display:flex}.sandbox-body{flex:auto;grid-template-columns:minmax(0,1fr);min-height:0;display:grid}.sandbox-body-split{align-items:start;gap:20px;padding-right:20px}@media (width>=1200px){.sandbox-body-split{grid-template-columns:minmax(0,1fr) 320px}}.sandbox-table{flex-direction:column;min-width:0;min-height:0;display:flex}.sandbox-all-hands{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:16px}.sandbox-all-hands h2{text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);font-size:14px}.sandbox-all-hands>p{color:var(--text-2);margin:4px 0 12px;font-size:12px}.sandbox-bar-body{display:none}.sandbox-bar-toggle{min-width:88px;min-height:36px;padding:0 var(--space-12);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text);font:inherit;cursor:pointer;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.sandbox-bar-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sandbox-bar--open .sandbox-bar-body{gap:var(--space-8);z-index:var(--z-menu);max-height:min(78svh,42rem);padding:var(--space-12);background:var(--nav-bg);border-bottom:1px solid var(--border);box-shadow:var(--shadow-card);flex-direction:column;display:flex;position:absolute;top:100%;left:0;right:0;overflow-y:auto}@media (width<=51.99rem),(height<=34.99rem){.sandbox-bar{flex-flow:wrap;justify-content:space-between;align-items:center;gap:6px;padding:6px 10px;position:relative}.sandbox-title{gap:6px;min-width:0}.sandbox-title h1{font-size:13px}.sandbox-absent,.sandbox-following{display:none}.sandbox-title p{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;max-width:none;height:1px;max-height:none;margin:-1px;padding:0;position:absolute;overflow:hidden}.sandbox-bar-toggle{border:1px solid var(--border-strong);background:var(--surface-raised);min-width:44px;min-height:44px;color:var(--text);font:inherit;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;border-radius:10px;flex:none;justify-content:center;align-items:center;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.sandbox-bar-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sandbox-bar-body{display:none}.sandbox-bar--open .sandbox-bar-body{z-index:20;background:var(--nav-bg);border-bottom:1px solid var(--border);flex-direction:column;gap:8px;max-height:80svh;padding:8px 10px 12px;display:flex;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.sandbox-field select,.sandbox-field.sandbox-narrow select,.sandbox-inline select{width:100%;min-width:0}.sandbox-inline{flex-wrap:wrap}}.seat-reserve{top:var(--cf-control-pad,18px);left:calc(var(--cf-control-w,304px) + 12px);z-index:var(--z-felt-menu);border:1px solid var(--border-strong);background:var(--surface-raised);width:208px;color:var(--text);border-radius:12px;flex-direction:column;gap:6px;padding:10px;display:flex;position:absolute;box-shadow:0 12px 32px #00000059}.seat-reserve-head{text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);justify-content:space-between;align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.seat-reserve-head>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.seat-reserve-close{border:1px solid var(--border-strong);background:var(--surface);width:22px;height:22px;color:var(--text);cursor:pointer;border-radius:6px;flex:none;justify-content:center;align-items:center;font-size:14px;line-height:1;display:flex}.seat-reserve-take{display:flex}.seat-reserve-sit{padding:var(--space-6) var(--space-8);border-radius:var(--radius-md);border:1px solid var(--accent-fill);background:var(--accent-fill);color:var(--accent-contrast);font:inherit;cursor:pointer;flex:1;font-size:13px;font-weight:600}.seat-reserve-sit:disabled{opacity:.6;cursor:default}.seat-reserve-held{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;overflow:hidden}.seat-reserve-input{border:1px solid var(--border-strong);background:var(--surface);width:100%;color:var(--text);font:inherit;border-radius:8px;padding:6px 8px;font-size:13px}.seat-reserve-error{color:var(--danger,#d64545);margin:0;font-size:12px}.seat-reserve-actions{gap:6px;display:flex}.seat-reserve-actions button{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:8px;flex:1;padding:6px 8px;font-size:13px;font-weight:600}.seat-reserve-go{border-color:var(--accent)}.seat-reserve-actions button:disabled{cursor:default;border-style:dashed}.seat-reserve .match-seat-suggestions{width:100%;max-height:148px;position:relative;overflow-y:auto}.seat-ask{top:var(--cf-control-pad,18px);left:calc(var(--cf-control-w,304px) + var(--space-12));z-index:var(--z-felt-menu);gap:var(--space-6);width:184px;padding:var(--space-8);border-radius:var(--radius-lg);border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text);flex-direction:column;display:flex;position:absolute;box-shadow:0 12px 32px #00000059}.seat-ask-head{justify-content:space-between;align-items:center;gap:var(--space-8);text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);font-size:12px;font-weight:700;display:flex}.seat-ask-head>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.seat-ask-close{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);width:22px;height:22px;color:var(--text);cursor:pointer;flex:none;justify-content:center;align-items:center;font-size:14px;line-height:1;display:flex}.seat-ask-note{color:var(--text-2);margin:0;font-size:12px}.seat-ask-error{color:var(--danger-text,var(--text));margin:0;font-size:12px}.seat-ask-actions{gap:var(--space-6);display:flex}.seat-ask-go,.seat-ask-cancel,.seat-ask-sit{padding:var(--space-4) var(--space-8);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer;flex:1;font-size:12px;font-weight:600}.seat-ask-sit{border-color:var(--accent-fill);background:var(--accent-fill);color:var(--accent-contrast)}.seat-ask-go:disabled,.seat-ask-cancel:disabled,.seat-ask-sit:disabled{opacity:.6;cursor:default}.seat-requests{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.seat-requests-row{align-items:center;gap:var(--space-4);display:flex}.seat-requests-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.seat-requests-yes,.seat-requests-no{padding:var(--space-2) var(--space-6);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer;flex:none;font-size:11px;font-weight:600}.seat-requests-yes:disabled,.seat-requests-no:disabled{opacity:.6;cursor:default}.hand-lab-page{gap:var(--space-8);padding:var(--space-8) var(--space-16);flex-direction:column;display:flex;overflow:hidden;container-type:inline-size}.lab-panel,.lab-tray,.hand-lab-page .cf-control{position:relative}@media (width>=64rem){main .hand-lab-page{flex-basis:0}}.lab-head{align-items:baseline;gap:var(--space-12);flex:none;display:flex}.lab-head h1{margin:0;font-size:1rem}.lab-back{color:var(--text-2);font-size:.85rem}.lab-source{color:var(--text-2);margin:0;font-size:.8rem}.app-dock-row:has(>.docked-panel--side.docked-panel--collapsed) .hand-lab-page{padding-right:calc(var(--space-16) + 3.5rem)}.lab-table{padding:0}.lab-dragroot{min-height:0}.hand-lab-page .hand.lab-drop.hand-empty{width:calc(var(--card-w,46px) * var(--card-ratio));height:calc(var(--card-w,46px) * var(--card-ratio));border:1px dashed var(--cf-felt-chip-line);border-radius:var(--card-radius)}.hand-lab-page .lab-drop-over{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-md)}.lab-drag-source{opacity:.2}.lab-drag-ghost{translate:calc(var(--lab-drag-x,-100px) - 50%) calc(var(--lab-drag-y,-100px) - 50%);pointer-events:none;z-index:var(--z-dialog,1000);filter:drop-shadow(0 6px 14px #0006);position:fixed;top:0;left:0}.lab-trick-zone{justify-content:center;align-items:center;display:flex}.hand-lab-page .cf-centre .trick-area{--card-w:63.75px;transform:translateY(-57.14px)}.lab-rail{gap:var(--space-8);flex-direction:column;display:flex}.lab-transport{align-items:center;gap:var(--space-4);display:flex}.lab-transport .lab-mini-button{flex:1 1 0;min-width:0}.lab-slider{align-items:center;display:flex}.lab-slider input{width:100%}.lab-tablist{gap:var(--space-2);flex-wrap:wrap;display:flex}.lab-tab{font:inherit;padding:var(--space-2) var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text);cursor:pointer;font-size:.7rem}.lab-tab.selected{border-color:var(--accent-fill);border-width:2px;font-weight:700}.lab-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lab-panel,.lab-panel-body{gap:var(--space-8);flex-direction:column;display:flex}.lab-panel-section{gap:var(--space-6);flex-direction:column;display:flex}.lab-panel-heading{text-transform:uppercase;letter-spacing:.05em;color:var(--text-2);margin:0;font-size:.7rem}.lab-panel-row{align-items:center;gap:var(--space-6);flex-wrap:wrap;display:flex}.lab-panel-row-play-actions{gap:var(--space-4);flex-wrap:nowrap}.lab-panel-row-play-actions .lab-mini-button{padding:var(--space-2) var(--space-4)}.lab-seat-row{justify-content:space-between}.lab-seat-name{color:var(--text-2);font-size:.75rem}.lab-figures{gap:var(--space-4);flex-direction:column;margin:0;display:flex}.lab-figure{justify-content:space-between;align-items:baseline;gap:var(--space-8);font-size:.75rem;display:flex}.lab-figure dt{color:var(--text-2)}.lab-figure dd{font-variant-numeric:tabular-nums;text-align:right;margin:0;font-weight:700}.lab-field{align-items:center;gap:var(--space-4);font-size:.75rem;display:flex}.lab-field input,.lab-field select{font:inherit;flex:4rem;min-width:0;font-size:.8rem}.lab-field-grow{flex:6rem}.lab-field-grow input{width:100%}.lab-textarea{font-family:var(--font-mono,monospace);resize:vertical;min-height:5rem;font-size:.7rem}.lab-choice-list{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.lab-choice-list li{gap:var(--space-4);align-items:center;display:flex}.lab-choice-name{text-align:left;flex:6rem}.lab-mini-button{font:inherit;padding:var(--space-2) var(--space-8);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text);cursor:pointer;font-size:.75rem}.lab-mini-button:hover:not(:disabled){background:var(--surface-hover)}.lab-mini-button:disabled{opacity:.5;cursor:default}.lab-mini-button[aria-pressed=true],.lab-mini-selected{border-color:var(--accent-fill);border-width:2px;font-weight:700}.lab-panel-toggle{margin-left:auto}.lab-panel-restore{top:var(--space-8);left:var(--space-8);position:absolute}.lab-notice{color:var(--text-2);margin:0;font-size:.75rem}.lab-notice-refusal{top:var(--space-8);max-width:60%;padding:var(--space-4) var(--space-12);border-radius:var(--radius-pill);background:var(--danger-soft);color:var(--danger);text-align:center;position:absolute;left:50%;transform:translate(-50%)}.lab-relax-badge{top:var(--space-8);right:var(--space-8);padding:var(--space-4) var(--space-12);border-radius:var(--radius-pill);border:1px solid var(--warning-text);background:var(--warning-soft);color:var(--warning-text);letter-spacing:.02em;margin:0;font-size:.75rem;font-weight:600;position:absolute}.lab-tray{gap:var(--space-6);padding:var(--space-8);border:2px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;flex:0 auto;min-height:0;display:flex;overflow:hidden}.lab-tray-head{justify-content:space-between;align-items:center;gap:var(--space-8);flex-wrap:wrap;display:flex}.lab-tray-title{align-items:baseline;gap:var(--space-6);margin:0;font-size:.85rem;display:flex}.lab-tray-count{color:var(--text-2);font-size:.75rem}.lab-tray-target{gap:var(--space-4);display:flex}.lab-tray-cards{gap:var(--space-2);flex-wrap:wrap;min-height:0;display:flex;overflow:auto}.lab-tray-cards .card{--card-w:30px}.lab-tray-empty,.lab-panel-note{color:var(--text-2);margin:0;font-size:.75rem}.lab-fullscreen{z-index:var(--z-dialog);background:var(--surface);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.lab-fullscreen-bar{align-items:center;gap:var(--space-8);padding:var(--space-4) var(--space-16);flex:none;display:flex}.lab-fullscreen-hint{color:var(--text-2);font-size:.7rem}.lab-fullscreen-stage{min-height:0;padding:0 var(--space-8) var(--space-8)}.lab-keys,.lab-sheet{right:var(--space-24);bottom:var(--space-24);z-index:var(--z-dialog);width:min(22rem, calc(100vw - var(--space-48)));padding:var(--space-12);border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:var(--shadow-raised,0 4px 16px #00000040);position:fixed}.lab-sheet{width:min(30rem, calc(100vw - var(--space-48)));max-height:min(38rem, calc(100vh - var(--space-48)));overflow:auto}.lab-keys-head{justify-content:space-between;align-items:center;gap:var(--space-8);margin-bottom:var(--space-8);display:flex}.lab-keys-list{gap:var(--space-4);margin:0;display:grid}.lab-keys-row{gap:var(--space-8);grid-template-columns:9rem 1fr;font-size:.75rem;display:grid}.lab-keys-row dt{font-variant-numeric:tabular-nums;font-weight:700}.lab-keys-row dd{color:var(--text-2);margin:0}.lab-contract{gap:var(--space-4);flex-direction:column;display:flex}.lab-contract p{margin:0;font-size:.75rem}.lab-contract-vul,.lab-contract-board{color:var(--text-2)}.lab-contract-value{font-weight:700}.lab-contract-badge{margin-left:var(--space-4);color:var(--accent);font-size:.65rem}.lab-contract-input{width:100%;min-width:0}.lab-contract-error{color:var(--danger)}.lab-contract-actions{gap:var(--space-4);flex-wrap:wrap;display:flex}.lab-auction{border:1px solid var(--cf-auction-line,var(--border));border-radius:var(--radius-md);background:var(--cf-auction-surface,var(--surface-raised));max-height:8rem;color:var(--cf-auction-ink,var(--text));padding:var(--space-2);flex:none;justify-content:center;display:flex;position:relative;overflow:auto}.lab-auction .auction-grid{font-size:10px}.lab-auction .auction-header{padding:1px;font-size:8px}.lab-auction .auction-cell{height:15px;padding:0 1px}.lab-auction .auction-suit{width:8px;height:8px}.lab-auction:has(.popup-bidding-box){width:100%;max-height:none;height:calc(var(--lab-railbox-h) * var(--lab-railbox-scale,.5));justify-content:flex-start;align-items:flex-start;padding:0;overflow:hidden}.lab-auction .popup-bidding-box{width:var(--cf-aucstack-w);transform:scale(var(--lab-railbox-scale,.5));transform-origin:0 0;flex:none}.hand-lab-page .cf-station .card-badge{width:calc(var(--card-w) * var(--card-step-x));--card-badge-top:58%;right:auto}.hand-lab-page .cf-station .hand-columns:not(.hand-vertical) .card-badge{--card-badge-top:4%;width:55%;left:auto;right:0}.lab-tray-note{color:var(--text-2);margin:0;font-size:.75rem}.lab-dd-status{color:var(--text-2);font-size:.7rem}.hand-lab-page .lab-hidden-hand .card:not(.card-back){z-index:3;transform:scale(1.45)}.hand-lab-page .cf-station-left .lab-hidden-hand .card:not(.card-back),.hand-lab-page .cf-station-right .lab-hidden-hand .card:not(.card-back){transform:rotate(0)scale(1.2)}.hand-lab-page .cf-station .hand-column{transform:scale(var(--lab-column-scale,1));transform-origin:top}.history-subject-banner{align-items:center;gap:var(--space-8) var(--space-12);margin-bottom:var(--space-16);padding:var(--space-8) var(--space-16);border:1px solid var(--warning-text);border-radius:var(--radius-md);background:var(--surface);color:var(--text);border-left-width:4px;flex-wrap:wrap;display:flex}.history-subject-tag{padding:var(--space-2) var(--space-8);border-radius:var(--radius-sm);background:var(--warning-text);color:var(--base);letter-spacing:.04em;text-transform:uppercase;flex:none;font-size:.75rem;font-weight:700}.history-subject-text{flex:16rem;min-width:0;font-size:.95rem}.history-subject-uid{color:var(--text-2);overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;display:block}.history-subject-exit{color:var(--accent);white-space:nowrap;flex:none;font-size:.9rem;text-decoration:underline}.match-boards-toggle{padding:var(--space-2) var(--space-8);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--text-2);cursor:pointer;transition:border-color var(--lift-fast) var(--lift-ease), color var(--lift-fast) var(--lift-ease);align-self:flex-start;font-size:12px;font-weight:600}.match-boards-toggle:hover,.match-boards-toggle:focus-visible{border-color:var(--border-strong);color:var(--text)}.match-boards-status{color:var(--text-2);margin:0;font-size:14px}.match-board-tables{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-width:0;display:grid;overflow:hidden}.match-board-table{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.match-board-table:first-child{padding-right:var(--space-8);border-right:1px solid var(--border-strong);text-align:right}.match-board-table:last-child{padding-left:var(--space-8);text-align:left}.match-board-table-label{color:var(--text-2);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:600}.match-board-pending{color:var(--text-2);font-style:italic}.history-page,.history-detail-page{width:100%;max-width:900px;padding:0 var(--space-32) var(--space-48);gap:var(--space-16);flex-direction:column;margin:0 auto;display:flex}.history-header h1:not(.page-title),.history-detail-header h1:not(.page-title){letter-spacing:-.5px;font-size:28px}.history-header p{color:var(--text-2);margin-top:var(--space-4)}.history-empty{color:var(--text-2);padding:var(--space-32) 0}.history-groups{gap:var(--space-32);flex-direction:column;display:flex}.history-group{gap:var(--space-8);flex-direction:column;display:flex}.history-group-head{justify-content:space-between;align-items:baseline;gap:var(--space-8) var(--space-16);padding-bottom:var(--space-6);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.history-group-lineup{min-width:0;margin:0;font-size:16px;font-weight:700;line-height:1.3}.history-group-meta{align-items:baseline;gap:var(--space-8);color:var(--text-2);flex:none;margin:0;font-size:13px;display:flex}.history-group-kind{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);background:var(--accent-soft);padding:var(--space-2) var(--space-8);border-radius:var(--radius-pill);font-size:11px;font-weight:700}.history-list{flex-direction:column;gap:0;margin:0;padding:0;display:flex}.history-row{list-style:none}.history-row-link{align-items:center;gap:var(--space-16);width:100%;padding:var(--space-8) var(--space-8);border:none;border-bottom:1px solid var(--border);color:var(--text);text-align:left;background:0 0;border-radius:0;grid-template-columns:auto minmax(0,1fr) auto;text-decoration:none;display:grid}.history-row:nth-child(odd) .history-row-link{background:var(--surface)}.history-row:nth-child(2n) .history-row-link,.history-row:nth-child(odd) .history-row-link:hover,.history-row:nth-child(odd) .history-row-link:focus-visible{background:var(--surface-raised)}.history-row:nth-child(2n) .history-row-link:hover,.history-row:nth-child(2n) .history-row-link:focus-visible{background:var(--surface-hover)}.history-row:last-child .history-row-link{border-bottom-color:#0000}.history-row-board{color:var(--text-2);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px;font-weight:600}.history-row-outcome{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15px;overflow:hidden}.history-row-score{white-space:nowrap;justify-self:end;font-size:15px}.history-row-mode{text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);font-size:12px}@media (width<=480px){.history-row-link{gap:var(--space-8);grid-template-columns:minmax(0,1fr) auto}.history-row-board{grid-column:1;font-size:12px}.history-row-outcome{grid-column:1}.history-row-score{grid-area:1/2/span 2;align-self:center}}.history-detail-meta{gap:var(--space-16);color:var(--text-2);flex-wrap:wrap;font-size:14px;display:flex}.history-match-summary{padding:var(--space-16) var(--space-16);border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);gap:var(--space-6);flex-direction:column;display:flex}.history-board-list{gap:var(--space-8);flex-direction:column;display:flex}.history-board-row{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);list-style:none;overflow:hidden}.history-board-summary{align-items:center;gap:var(--space-12);width:100%;padding:var(--space-12) var(--space-16);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-wrap:wrap;display:flex}.history-board-summary:hover,.history-board-summary:focus-visible{background:var(--surface-raised)}.history-board-number{flex:none;font-weight:700}.history-board-imps{color:var(--text-2);margin-left:auto;font-weight:600}.history-board-adjustment{padding:var(--space-8) var(--space-16) var(--space-12);border-top:1px dashed var(--border);color:var(--text-2);margin:0;font-size:13px}.history-board-both{padding:var(--space-8) var(--space-16) 0;margin:0}.history-board-tables{gap:var(--space-16);padding:0 var(--space-16) var(--space-16);border-top:1px solid var(--border);padding-top:var(--space-16);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.history-board-table-heading{text-transform:uppercase;letter-spacing:.05em;color:var(--text-2);margin-bottom:var(--space-8);font-size:13px;font-weight:700}.hand-record{gap:var(--space-12);flex-direction:column;display:flex}.hand-record-seats{gap:var(--space-8);flex-wrap:wrap;display:flex}.hand-record-heading{text-transform:uppercase;letter-spacing:.05em;color:var(--text-2);font-size:13px;font-weight:700}.hand-record-outcome p{font-weight:600}.hand-record-outcome .hand-record-claim{color:var(--text-2);font-size:14px;font-weight:400}.hand-record-deal-note{color:var(--text-2);font-size:14px}.hand-record-tricks{gap:var(--space-16);flex-direction:column;display:flex}.hand-record-trick{align-items:center;gap:var(--space-6);flex-direction:column;list-style:none;display:flex}.hand-record-trick-number{color:var(--text-2);font-size:12px;font-weight:600}.history-window{z-index:var(--z-window);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:min(760px,100vw - 16px);max-height:calc(100vh - 16px);box-shadow:var(--shadow-card);color:var(--text);flex-direction:column;display:flex;position:fixed;overflow:hidden}.history-window.is-dragging{box-shadow:var(--shadow-card), 0 0 0 1px var(--accent)}.history-window-bar{justify-content:space-between;align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-8) var(--space-8) var(--space-12);background:var(--surface-raised);border-bottom:1px solid var(--border);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;display:flex}.history-window.is-dragging .history-window-bar{cursor:grabbing}.history-window-bar:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.history-window-title{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.history-window-close{width:28px;height:28px;font:inherit;border-radius:var(--radius-md);color:var(--text-2);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;place-items:center;font-size:20px;line-height:1;display:grid}.history-window-close:hover{background:var(--surface-hover);color:var(--text)}.history-window-body{padding:var(--space-16);gap:var(--space-16);flex-direction:column;min-height:240px;display:flex;position:relative;overflow-y:auto}.history-window-body .history-detail-header{gap:var(--space-8)}.match-browse-window{z-index:var(--z-window);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:min(380px,100vw - 16px);max-height:calc(100vh - 16px);box-shadow:var(--shadow-card);color:var(--text);flex-direction:column;display:flex;position:fixed;overflow:hidden}.match-browse-window.is-dragging{box-shadow:var(--shadow-card), 0 0 0 1px var(--accent)}.match-browse-window-bar{justify-content:space-between;align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-8) var(--space-8) var(--space-12);background:var(--surface-raised);border-bottom:1px solid var(--border);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;display:flex}.match-browse-window.is-dragging .match-browse-window-bar{cursor:grabbing}.match-browse-window-bar:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.match-browse-window-title{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.match-browse-window-close{width:28px;height:28px;font:inherit;border-radius:var(--radius-md);color:var(--text-2);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;place-items:center;font-size:20px;line-height:1;display:grid}.match-browse-window-close:hover{background:var(--surface-hover);color:var(--text)}.match-browse-window-body{padding:var(--space-12);gap:var(--space-8);flex-direction:column;min-height:84px;display:flex;position:relative;overflow-y:auto}.match-browse-rows{gap:var(--space-12);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.match-browse-row{align-items:baseline;column-gap:var(--space-8);row-gap:var(--space-4);grid-template-columns:1fr auto;display:grid}.match-browse-name{overflow-wrap:anywhere;font-weight:600}.match-browse-state{grid-column:1;font-size:.9rem}.match-browse-seats{font-variant-numeric:tabular-nums;letter-spacing:.08em;color:var(--text-2);grid-column:1;font-size:.9rem}.match-browse-row>.route-button,.match-browse-closed{grid-area:1/2/span 3;align-self:center}.match-browse-closed{text-align:right;white-space:nowrap;font-size:.9rem}.empty-state{align-items:flex-start;gap:var(--space-12);padding:var(--space-16) 0;flex-direction:column;display:flex}.empty-state-line{color:var(--text-2);margin:0;font-size:14px;line-height:1.6}.empty-state-note{color:var(--text-2);margin:0;font-size:13px;line-height:1.5}.empty-state-action{align-self:flex-start}.lobby-row-info{color:inherit;text-decoration:none}.lobby-seats{gap:var(--space-4);flex-wrap:wrap;flex:auto;justify-content:center;min-width:0;margin:0;padding:0;list-style:none;display:flex}.lobby-seat{align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-6);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;max-width:12ch;font-size:12px;display:flex}.lobby-seat-pos{color:var(--text-2);flex:none;font-weight:700}.lobby-seat-who{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.lobby-seat--seated{border-style:solid;border-color:var(--border-strong);color:var(--text)}.lobby-seat--held{border-style:dotted;border-color:var(--warning-text);color:var(--warning-text);font-style:italic}.lobby-seat--open{border-style:dashed;border-color:var(--accent)}.lobby-seat-take{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.lobby-seat-take:hover:not(:disabled),.lobby-seat-take:focus-visible{text-decoration:underline}.lobby-seat-take:disabled{color:var(--text-2);cursor:default}.play-page{width:100%;margin-inline:auto}.play-page>.tabstrip{margin-top:var(--space-32)}.play-page>.play-panel{margin-top:var(--space-16)}.play-panel{position:relative}.play-panel .page-title,.play-panel .page-head{display:none}.play-panel .lobby-page.fills-height{min-height:0}.kc-post{grid-template-columns:var(--kc-rail,4.75rem) minmax(0, var(--kc-measure,38rem));column-gap:var(--kc-gap,2rem);align-items:start;display:grid}.kc-index{border-top:2px solid var(--border-strong);padding-top:var(--space-12);margin-top:var(--space-6);flex-direction:column;align-items:flex-start;display:flex}.kc-index-day{letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--text);font-size:2.125rem;font-weight:800;line-height:1}.kc-index-month{margin-top:var(--space-4);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:.8125rem;font-weight:700}.kc-index-year{margin-top:var(--space-2);letter-spacing:.12em;color:var(--text-2);font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:800}.kc-post-column{min-width:0}.kc-post-head{margin-bottom:var(--space-24)}.kc-post-title{letter-spacing:-.025em;color:var(--text);align-items:baseline;gap:var(--space-8);flex-wrap:wrap;font-size:clamp(1.5rem,1.28rem + .95vw,1.95rem);font-weight:800;line-height:1.15;display:flex}.kc-byline{align-items:baseline;gap:var(--space-4) var(--space-12);margin-top:var(--space-12);color:var(--text-2);flex-wrap:wrap;font-size:.875rem;display:flex}.kc-byline>:not(:first-child){border-left:1px solid var(--border-strong);padding-left:var(--space-12)}.kc-byline-author{color:var(--text);font-weight:600}.kc-body{color:var(--text);font-size:clamp(1.0625rem,1rem + .35vw,1.1875rem);line-height:1.75}.kc-body p{color:inherit;white-space:pre-wrap;overflow-wrap:break-word;margin:0 0 1.15em}.kc-body p:last-child{margin-bottom:0}.kc-body-heading{letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);margin:2.2em 0 .75em;font-size:.8125rem;font-weight:700}.kc-body-heading:first-child{margin-top:0}.kc-body-list{margin:0 0 1.15em;padding-left:1.4em}.kc-body-list li{overflow-wrap:break-word;margin-bottom:.4em}.kc-body-quote{border-left:3px solid var(--accent);margin:0 0 1.15em;padding-left:1.1em}.kc-body-quote p{color:var(--text-2);margin-bottom:0}.kc-body-code{border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:.1em .35em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}.kc-embed{margin:0 0 1.6em}.kc-embed-frame{aspect-ratio:16/9;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);width:100%;position:relative;overflow:hidden}.kc-embed-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.kc-embed figcaption{margin-top:var(--space-8);color:var(--text-2);font-size:.875rem}.kc-note{margin-top:var(--space-4);color:var(--warning-text);font-size:.9375rem}.kc-actions{align-items:center;gap:var(--space-8);margin-top:var(--space-24);padding-top:var(--space-16);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.kc-actions-label{margin-right:var(--space-6);letter-spacing:.14em;text-transform:uppercase;color:var(--text-2);font-size:.6875rem;font-weight:700}.kc-post--hidden{background:var(--surface);border:1px solid var(--warning-text);border-radius:var(--radius-xl);padding:var(--space-24) var(--space-24)}.kc-post--hidden .kc-index{border-top-color:var(--warning-text)}.kc-badge{letter-spacing:.12em;text-transform:uppercase;padding:var(--space-4) var(--space-8);border-radius:var(--radius-md);white-space:nowrap;font-size:.6875rem;font-weight:700}.kc-badge--hidden{color:var(--warning-text);border:1px solid var(--warning-text)}.kc-badge--draft{color:var(--accent);border:1px solid var(--accent)}.kc-tablist{gap:var(--space-4);margin-left:calc(var(--kc-rail,4.75rem) + var(--kc-gap,2rem));max-width:var(--kc-measure,38rem);margin-bottom:var(--space-32);border-bottom:1px solid var(--border);display:flex}.kc-tab{appearance:none;padding:var(--space-8) var(--space-16);font:inherit;letter-spacing:.14em;text-transform:uppercase;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;font-size:.75rem;font-weight:600}.kc-tab:hover{color:var(--text)}.kc-tab.selected{color:var(--text);border-bottom-color:var(--accent)}.kc-tabpanel:focus{outline:none}.kc-tabpanel:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media (width<=52rem){.kc-post{grid-template-columns:minmax(0,1fr)}.kc-index{align-items:baseline;gap:var(--space-8);width:max-content;max-width:100%;margin-top:0;margin-bottom:var(--space-12);padding-top:var(--space-8);flex-direction:row}.kc-index-day{font-size:1.5rem}.kc-index-month,.kc-index-year{margin-top:0}.kc-post--hidden{padding:var(--space-16) var(--space-16)}}.kc-editor{gap:var(--space-16);flex-direction:column;display:flex}.kc-editor-heading{letter-spacing:.14em;text-transform:uppercase;color:var(--text-2);font-size:.6875rem;font-weight:700}.kc-field{gap:var(--space-6);flex-direction:column;display:flex}.kc-field label{color:var(--text);font-size:.875rem;font-weight:600}.kc-field textarea{min-height:12rem;line-height:1.65}.kc-field input:focus-visible,.kc-field textarea:focus-visible{border-color:var(--accent)}.kc-field-hint{color:var(--text-2);white-space:pre-line;font-size:.8125rem;line-height:1.5}.kc-editor-actions{gap:var(--space-8);flex-wrap:wrap;display:flex}.kc-watch{margin-left:calc(var(--kc-rail,4.75rem) + var(--kc-gap,2rem));max-width:var(--kc-measure,38rem)}.kc-watch-draft{align-items:flex-start;gap:var(--space-8);margin-bottom:var(--space-32);padding-bottom:var(--space-24);border-bottom:1px solid var(--border);color:var(--text-2);font-size:.9375rem;line-height:1.6;display:flex}.kc-watch-intro{color:var(--text);margin-bottom:var(--space-48);font-size:clamp(1.0625rem,1rem + .35vw,1.1875rem);line-height:1.7}.kc-watch-section{margin-bottom:var(--space-48)}.kc-watch-section h3{letter-spacing:.14em;text-transform:uppercase;color:var(--text-2);margin-bottom:var(--space-8);font-size:.8125rem;font-weight:700}.kc-watch-section-intro{color:var(--text-2);margin-bottom:var(--space-24);font-size:.9375rem;line-height:1.6}.kc-watch-empty{color:var(--warning-text);font-size:.9375rem;line-height:1.6}.kc-watch-list{gap:var(--space-24);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.kc-watch-row--featured{padding-bottom:var(--space-8)}.kc-watch-row--featured .kc-embed-frame{margin-bottom:var(--space-16)}.kc-watch-row-head{align-items:baseline;gap:var(--space-8);flex-wrap:wrap;margin:0;display:flex}.kc-watch-platform{letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);white-space:nowrap;font-size:.6875rem;font-weight:700}.kc-watch-title{overflow-wrap:break-word;font-size:1.0625rem;font-weight:600;line-height:1.4}.kc-watch-blurb{margin:var(--space-6) 0 0;color:var(--text-2);font-size:.9375rem;line-height:1.6}.kc-watch-fallback{margin:var(--space-6) 0 0;color:var(--text-2);font-size:.875rem}@media (width<=52rem){.kc-watch{max-width:none;margin-left:0}}.kc-page{--kc-rail:4.75rem;--kc-gap:2rem;--kc-measure:38rem;width:100%;max-width:47.75rem;padding:var(--space-64) var(--space-24) 6rem;margin:0 auto}.kc-masthead{margin-left:calc(var(--kc-rail) + var(--kc-gap));max-width:var(--kc-measure);margin-bottom:var(--space-48)}.kc-masthead:before{content:"";border-radius:var(--radius-sm);background:var(--accent);width:2.5rem;height:3px;margin-bottom:var(--space-24);display:block}.kc-masthead h1{letter-spacing:-.035em;color:var(--text);font-size:clamp(2.25rem,1.7rem + 2.4vw,3.5rem);font-weight:800;line-height:1.02}.kc-standfirst{margin-top:var(--space-16);color:var(--text-2);max-width:32rem;font-size:clamp(1.0625rem,1rem + .35vw,1.1875rem);line-height:1.6}.kc-latest{margin-top:var(--space-24);letter-spacing:.14em;text-transform:uppercase;color:var(--text-2);font-size:.75rem;font-weight:700}.kc-staffbar{align-items:center;gap:var(--space-8);margin-left:calc(var(--kc-rail) + var(--kc-gap));max-width:var(--kc-measure);margin-bottom:var(--space-24);padding-bottom:var(--space-24);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.kc-editor-region{margin-left:calc(var(--kc-rail) + var(--kc-gap));max-width:var(--kc-measure)}.kc-editor-region:not(:empty){margin-bottom:var(--space-48)}.kc-state,.kc-error{margin-left:calc(var(--kc-rail) + var(--kc-gap));max-width:var(--kc-measure);color:var(--text-2);font-size:1.0625rem;line-height:1.65}.kc-error{color:var(--danger-text);margin-bottom:var(--space-32);font-weight:500}.kc-end{margin-top:var(--space-48);font-size:.9375rem}.kc-feed{flex-direction:column;gap:4.5rem;margin:0;padding:0;list-style:none;display:flex}.kc-more{margin-left:calc(var(--kc-rail) + var(--kc-gap));margin-top:var(--space-48)}.kc-hidden-section{padding-top:var(--space-32);border-top:1px solid var(--border);margin-top:5rem}.kc-hidden-section h2{margin-left:calc(var(--kc-rail) + var(--kc-gap));max-width:var(--kc-measure);letter-spacing:.14em;text-transform:uppercase;color:var(--warning-text);margin-bottom:var(--space-12);font-size:.8125rem;font-weight:700}.kc-hidden-section .kc-state{margin-bottom:var(--space-32);font-size:.9375rem}.kc-action--danger{color:var(--danger-text);margin-left:auto}.kc-action--danger:hover:not(:disabled){color:var(--danger-text);background:var(--surface-raised)}@media (width<=52rem){.kc-page{padding:var(--space-32) var(--space-16) var(--space-64)}.kc-masthead,.kc-staffbar,.kc-editor-region,.kc-state,.kc-error,.kc-more,.kc-tablist,.kc-hidden-section h2{max-width:100%;margin-left:0}.kc-masthead{margin-bottom:var(--space-32)}.kc-feed{gap:var(--space-48)}.kc-action--danger{margin-left:0}}@media (prefers-reduced-motion:reduce){.kc-page *,.kc-page :before,.kc-page :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.kc-latest-when{color:var(--text)}.partnerships-page{box-sizing:border-box;width:100%;max-width:1160px;padding:0 var(--space-16) var(--space-32);gap:var(--space-16);grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));margin:0 auto;display:grid}.partnerships-page>h1,.partnerships-page>.form-error,.partnerships-page>.form-success,.partnerships-page>.pship-empty{grid-column:1/-1}.partnerships-page h1{margin:0}.pship-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-16) var(--space-16)}.pship-section h2{margin:0 0 var(--space-12);font-size:18px}.pship-section h2.pship-subheading{margin-top:var(--space-16)}.pship-hint{color:var(--text-2);margin:-4px 0 var(--space-12);max-width:62ch;font-size:14px}.pship-list{gap:var(--space-12);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.pship-row{border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-12) var(--space-12);background:var(--surface-raised);gap:var(--space-8);flex-direction:column;display:flex}.pship-head{align-items:baseline;gap:var(--space-8);flex-wrap:wrap;display:flex}.pship-name{color:var(--text);font-weight:600}.pship-partner{color:var(--text-2);font-size:14px}.pship-badge{letter-spacing:.02em;padding:var(--space-2) var(--space-8);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-size:12px}.pship-badge.agreed{color:var(--success-text)}.pship-card{align-items:center;gap:var(--space-8);color:var(--text-2);flex-wrap:wrap;font-size:14px;display:flex}.pship-card a{color:var(--accent)}.pship-actions{gap:var(--space-8);flex-wrap:wrap;align-items:center;display:flex}.pship-actions select,.pship-actions input[type=text],.pship-search input{font-size:14px}.pship-search{gap:var(--space-8);margin-bottom:var(--space-8);flex-wrap:wrap;display:flex}.pship-empty{color:var(--text-2);margin:0;font-size:14px}@media (width<=51.99rem){.partnerships-page{padding:var(--space-12) var(--space-12) var(--space-16);gap:var(--space-12)}.pship-section{padding:var(--space-12) var(--space-12)}}.legal-page{width:100%;max-width:760px;margin:var(--space-48) auto;padding:0 var(--space-24) var(--space-64);gap:var(--space-24);flex-direction:column;display:flex}.legal-draft-banner{gap:var(--space-6);padding:var(--space-16) var(--space-16);border:1px solid var(--danger-fill);border-radius:var(--radius-lg);background:var(--surface);border-left-width:4px;flex-direction:column;display:flex}.legal-draft-banner strong{color:var(--danger-text);text-transform:uppercase;letter-spacing:.6px;font-size:13px;font-weight:700}.legal-draft-banner p{color:var(--text);margin:0;font-size:14px;line-height:1.6}.legal-header h1{letter-spacing:-.6px;font-size:32px}.legal-body{gap:var(--space-16);padding:var(--space-32) var(--space-32);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-direction:column;display:flex}.legal-body h2{letter-spacing:-.3px;margin-top:var(--space-8);font-size:20px}.legal-body h2:first-child{margin-top:0}.legal-body h3{color:var(--text-2);font-size:15px}.legal-body p{color:var(--text-2);line-height:1.7}.legal-body p em{font-style:italic}.legal-body ul{padding-left:var(--space-16);gap:var(--space-8);color:var(--text-2);flex-direction:column;margin:0;line-height:1.6;display:flex}.legal-body .legal-callout{padding:var(--space-12) var(--space-16);border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--radius-lg) var(--radius-lg) 0;margin:0}.legal-body .legal-callout p{margin:0}.legal-body a{color:var(--accent)}.profile-tablist{gap:var(--space-8);flex-wrap:wrap;display:flex}.profile-tab{padding:var(--space-8) var(--space-16);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text-2);font:inherit;cursor:pointer;font-size:14px;font-weight:600}.profile-tab:hover{background:var(--surface-hover);color:var(--text)}.profile-tab.selected{border-color:var(--accent-fill);background:var(--accent-fill);color:var(--accent-contrast)}.profile-tab.selected:hover{color:var(--accent-contrast)}.profile-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.profile-tabpanel{gap:var(--space-16);flex-direction:column;display:flex}.profile-tabpanel:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--radius-xl)}.profile-stats-tab{gap:var(--space-12);flex-direction:column;display:flex}.profile-stats-grid{gap:var(--space-12);grid-template-columns:repeat(auto-fill,minmax(170px,1fr));max-height:420px;display:grid;overflow-y:auto}.profile-stat-tile{gap:var(--space-6);padding:var(--space-16) var(--space-16);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-xl);flex-direction:column;display:flex}.profile-stat-tile-label{text-transform:uppercase;letter-spacing:.5px;color:var(--subtext-color);font-size:12px;font-weight:600}.profile-stat-tile-value{color:var(--text-color);font-size:26px;font-weight:700;line-height:1.2}.profile-stat-tile-value-record{font-size:20px}.profile-stat-tile-placeholder .profile-stat-tile-value{color:var(--subtext-color)}.profile-stat-tile-note{color:var(--subtext-color);font-size:12px;line-height:1.5}.profile-stats-footnote,.profile-stats-unavailable{color:var(--subtext-color);font-size:13px;line-height:1.6}.profile-ratings-tab{gap:var(--space-12);flex-direction:column;display:flex}.profile-ratings-intro{color:var(--subtext-color);margin:0;font-size:13px;line-height:1.6}.profile-ratings-list{gap:var(--space-16);flex-direction:column;min-height:120px;max-height:min(340px,40vh);display:flex;position:relative;overflow-y:auto}.profile-ratings-ladder{gap:var(--space-8);flex-direction:column;display:flex}.profile-ratings-ladder-name{text-transform:uppercase;letter-spacing:.5px;color:var(--subtext-color);margin:0;font-size:12px;font-weight:600}.profile-ratings-rows{gap:var(--space-8);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.profile-ratings-row{align-items:baseline;gap:var(--space-4) var(--space-12);padding:var(--space-8) var(--space-12);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-xl);flex-wrap:wrap;display:flex}.profile-ratings-partner{color:var(--text-color);flex:160px;font-size:14px;font-weight:600}.profile-ratings-row-empty .profile-ratings-partner{color:var(--subtext-color);font-weight:400}.profile-ratings-count{color:var(--subtext-color);font-variant-numeric:tabular-nums;font-size:12px}
