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:8px;padding:8px 10px}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-2);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]: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,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--base:#14151a;--nav-bg:#1d2028;--surface:#262a34;--surface-raised:#363b4a;--surface-hover:#3d4353;--border:#3d4250;--border-strong:#6e7691;--text:#f2f3f5;--text-2:#a6acb9;--accent:#a49aff;--accent-fill:#5b4bd1;--accent-fill-hover:#6a5ae0;--accent-contrast:#fff;--accent-soft:#a49aff24;--danger-text:#f4675a;--danger-fill:#c0392b;--success-text:#4ade80;--warning-text:#fbbf24;--info-text:#7dd3fc;--shadow-card:0 16px 40px #00000073}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--base:#f6f5f9;--nav-bg:#eae7f1;--surface:#fff;--surface-raised:#eae8f1;--surface-hover:#e1dee9;--border:#dcd9e5;--border-strong:#868294;--text:#1b1a22;--text-2:#5b5866;--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 12px 32px #1b1a221a}:root[data-theme=gold]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--base:#12141a;--nav-bg:#1b1f27;--surface:#242832;--surface-raised:#343a46;--surface-hover:#3c4351;--border:#3c414f;--border-strong:#6f7890;--text:#f5f4f0;--text-2:#a9adb8;--accent:#c9a227;--accent-fill:#c9a227;--accent-fill-hover:#dcb434;--accent-contrast:#1b1a15;--accent-soft:#c9a22724;--danger-text:#f4675a;--danger-fill:#c0392b;--success-text:#4ade80;--warning-text:#fbbf24;--info-text:#7dd3fc;--shadow-card:0 16px 40px #00000080}: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}body{min-height:100svh;color:var(--text);background:var(--base);margin:0;font-weight:380}#root{flex-direction:column;min-height:100svh;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}.site-nav{background:var(--nav-bg);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:20px 32px;display:flex}.site-nav .brand{color:var(--text-color);border-radius:14px;align-items:center;padding:8px 14px;text-decoration:none;transition:opacity .2s;display:flex}.site-nav .brand svg{width:108px;height:auto;display:block}.site-nav .brand:hover{opacity:.85}.nav-links{align-items:center;gap:24px;display:flex}.nav-links a{color:var(--subtext-color);font-size:14px;font-weight:600;text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--text-color)}.nav-account{align-items:center;gap:12px;display:flex}.nav-account:before{content:"";background:var(--success-text);width:8px;height:8px;box-shadow:0 0 6px var(--success-text);border-radius:50%}.nav-user{font-weight:600;color:var(--text-color)!important}.nav-signout{font:inherit;border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--subtext-color);cursor:pointer;border-radius:8px;padding:6px 14px;font-size:14px;font-weight:600;transition:background .2s,color .2s}.nav-signout:hover{background:var(--surface-hover);color:var(--text-color)}main{flex-direction:column;flex:1;display:flex}.landing{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:24px;padding:48px 24px;display:flex}.landing-logo{background:radial-gradient(ellipse 72% 72% at 50% 50%, var(--accent-soft), transparent 70%);margin-bottom:12px;padding:28px 48px;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:12px;display:flex}.button-link{background:var(--accent-fill);color:var(--accent-contrast);border-radius:12px;padding:12px 24px;font-weight:600;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex;box-shadow:0 8px 20px #00000047}.button-link:hover{background:var(--accent-fill-hover);transform:translateY(-1px)}.home-card{text-align:left;background:var(--card-bg);border:1px solid var(--border-color);width:100%;max-width:480px;box-shadow:var(--shadow-card);border-radius:20px;padding:24px 28px}.home-card h2{color:var(--subtext-color);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:16px}.home-card ul{color:var(--text-color);margin:0 0 16px;padding-left:20px;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}.button-link.secondary{color:var(--text-color);border:1px solid var(--border-strong);box-shadow:none;background:0 0}.auth-page{text-align:left;background:var(--card-bg);border:1px solid var(--border-color);max-width:380px;box-shadow:var(--shadow-card);border-radius:20px;flex-direction:column;gap:16px;margin:64px auto;padding:32px;display:flex}.auth-page h1{font-size:24px}.auth-page form{flex-direction:column;gap:16px;display:flex}.auth-page label{color:var(--subtext-color);flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.auth-page button[type=submit]{font:inherit;background:var(--accent-fill);color:var(--accent-contrast);cursor:pointer;border:none;border-radius:10px;padding:12px;font-weight:600;transition:background .2s}.auth-page button[type=submit]:hover:not(:disabled){background:var(--accent-fill-hover)}.auth-page button:disabled{opacity:.6;cursor:default}.auth-page p{color:var(--subtext-color);font-size:14px}.auth-page p a{color:var(--accent-color);font-weight:600;text-decoration:none}.form-error{color:var(--danger-text);font-size:14px}.auth-divider{color:var(--subtext-color);align-items:center;gap:12px;margin:4px 0;font-size:13px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border-color);flex:1;height:1px}.google-button{border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text-color);font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:10px 12px;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;border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--subtext-color);cursor:pointer;border-radius:10px;padding:8px 16px;font-size:14px;font-weight:600;transition:background .2s,color .2s}.secondary-button:hover{background:var(--surface-hover);color:var(--text-color)}.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)}.admin-page{flex-direction:column;gap:16px;width:100%;max-width:780px;margin:48px auto;padding:0 24px;display:flex}.admin-page h1{letter-spacing:-.5px;font-size:28px}.admin-intro,.admin-empty{color:var(--subtext-color);font-size:14px;line-height:1.6}.admin-user-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.admin-user-row{background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;flex-wrap:wrap;align-items:center;gap:16px;padding:14px 18px;display:flex}.admin-username-controls{border-top:1px solid var(--border-color);flex-basis:100%;align-items:center;gap:10px;padding-top:10px;display:flex}.admin-username-controls input{flex:1;min-width:0;font-size:14px}.lock-badge{background:var(--surface-raised);color:var(--subtext-color);white-space:nowrap;border-radius:999px;padding:4px 10px;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{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.admin-user-name{color:var(--text-color);font-weight:600}.admin-user-uid{color:var(--subtext-color);text-overflow:ellipsis;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;overflow:hidden}.role-badge{text-transform:uppercase;letter-spacing:.6px;background:var(--surface-raised);color:var(--subtext-color);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700}.role-badge.role-tester{color:var(--info-text);background:color-mix(in srgb, var(--info-text) 14%, transparent)}.role-badge.role-admin{color:var(--accent);background:var(--accent-soft)}.role-badge.role-dev{color:var(--warning-text);background:color-mix(in srgb, var(--warning-text) 14%, transparent)}.admin-user-row select{font-size:14px}.admin-user-row select:disabled{opacity:.45;cursor:default}.admin-note{color:var(--subtext-color);white-space:nowrap;font-size:12px}.admin-grants{border-top:1px solid var(--border-color);flex-direction:column;gap:12px;margin-top:24px;padding-top:24px;display:flex}.admin-grants h2{letter-spacing:-.3px;font-size:20px}.admin-grant-form{background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;flex-wrap:wrap;align-items:flex-end;gap:10px;padding:14px 18px;display:flex}.admin-grant-form label{color:var(--subtext-color);flex-direction:column;gap:4px;min-width:0;font-size:12px;display:flex}.admin-grant-note{flex:1;min-width:180px}.admin-grant-form select,.admin-grant-form input{min-width:0;font-size:14px}.admin-grant-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.admin-grant-row{background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 18px;display:flex}.admin-grant-row.expired{opacity:.55}.capability-badge{letter-spacing:.4px;color:var(--accent);background:var(--accent-soft);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700}.error-boundary{flex:1;justify-content:center;align-items:center;min-height:100svh;padding:48px 24px;display:flex}.error-boundary-card{text-align:center;background:var(--card-bg);border:1px solid var(--border-color);width:100%;max-width:420px;box-shadow:var(--shadow-card);border-radius:20px;flex-direction:column;align-items:center;gap:16px;padding:32px;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{flex-direction:column;gap:24px;width:100%;max-width:720px;margin:48px auto;padding:0 24px;display:flex}.corner-header h1{letter-spacing:-.6px;margin-bottom:8px;font-size:32px}.corner-header p,.corner-empty{color:var(--subtext-color);line-height:1.6}.post-editor{background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;flex-direction:column;gap:14px;padding:24px;display:flex}.post-editor h2{text-transform:uppercase;letter-spacing:.6px;color:var(--subtext-color);font-size:14px}.post-editor label{color:var(--subtext-color);flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.post-editor-actions{gap:10px;display:flex}.post-editor button[type=submit]{font:inherit;background:var(--accent-fill);color:var(--accent-contrast);cursor:pointer;border:none;border-radius:10px;padding:10px 22px;font-weight:600;transition:background .2s}.post-editor button[type=submit]:hover:not(:disabled){background:var(--accent-fill-hover)}.post-editor button:disabled{opacity:.6;cursor:default}.post-list{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.post-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;padding:24px 28px}.post-card h2{letter-spacing:-.3px;margin-bottom:6px;font-size:20px}.post-meta{color:var(--subtext-color);margin-bottom:14px;font-size:13px}.post-body p{white-space:pre-wrap;margin-bottom:12px;line-height:1.7}.post-body p:last-child{margin-bottom:0}.account-page{flex-direction:column;gap:20px;width:100%;max-width:560px;margin:48px auto;padding:0 24px;display:flex}.account-page h1{letter-spacing:-.5px;font-size:28px}.account-header{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.account-header p{font-size:14px}.account-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;flex-direction:column;gap:14px;padding:24px;display:flex}.account-section h2{text-transform:uppercase;letter-spacing:.6px;color:var(--subtext-color);font-size:14px}.account-section form{flex-direction:column;gap:14px;display:flex}.account-section label{color:var(--subtext-color);flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.account-form-actions{align-items:center;gap:12px;display:flex}.account-form-actions button[type=submit]{font:inherit;background:var(--accent-fill);color:var(--accent-contrast);cursor:pointer;border:none;border-radius:10px;padding:10px 22px;font-weight:600;transition:background .2s}.account-form-actions button[type=submit]:hover:not(:disabled){background:var(--accent-fill-hover)}.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{flex-direction:column;gap:10px;display:flex}.theme-option{border:1px solid var(--border-strong);cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;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-option-text{flex-direction:column;gap:2px;display:flex}.theme-option-label{color:var(--text-color);font-weight:600}.theme-option-description{color:var(--subtext-color);font-size:13px}.post-card-actions{gap:10px;margin-top:18px;display:flex}.friends-page,.profile-page{flex-direction:column;gap:28px;width:100%;max-width:720px;margin:48px auto;padding:0 24px;display:flex}.friends-page h1,.profile-page h1{letter-spacing:-.5px;font-size:28px}.friends-section{flex-direction:column;gap:12px;display:flex}.friends-section h2{font-size:18px}.friends-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.friends-toggle{color:var(--subtext-color);cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.friends-hint,.friends-empty,.search-hint{color:var(--subtext-color);font-size:14px;line-height:1.6}.search-hint{font-size:12px}.friend-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.friend-row{background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.friend-identity{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.friend-name{color:var(--text-color);font-weight:600;text-decoration:none}.friend-name:hover{text-decoration:underline}.friend-actions{flex-shrink:0;gap:8px;display:flex}.presence{color:var(--subtext-color);align-items:center;gap:6px;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;background:var(--surface-raised);color:var(--subtext-color);white-space:nowrap;border-radius:999px;padding:4px 10px;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{flex-direction:column;gap:10px;display:flex}.user-search-form{gap:10px;display:flex}.user-search-form input{flex:1;font-size:15px}.profile-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.profile-header>div{flex-direction:column;gap:8px;display:flex}.profile-bio{background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;padding:18px 20px}.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{flex-wrap:wrap;align-self:flex-start;align-items:center;gap:12px;display:flex}.profile-relationship-note{color:var(--subtext-color);font-size:13px}.visibility-picker{border:none;flex-direction:column;gap:10px;margin:0;padding:0;display:flex}.visibility-picker legend{color:var(--subtext-color);padding:0 0 8px;font-size:13px;font-weight:600}.visibility-picker label{color:var(--subtext-color);cursor:pointer;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;display:flex}.visibility-picker strong{color:var(--text-color)}.bio-form{flex-direction:column;gap:10px;display:flex}.bio-form label{color:var(--subtext-color);flex-direction:column;gap:8px;font-size:13px;font-weight:600;display:flex}.bio-form textarea{border-radius:12px;padding:12px 14px;font-size:15px}.bio-form-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.char-count{color:var(--subtext-color);font-size:12px}.form-success{color:var(--success-text);font-size:14px}.ui-button{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:600;transition:background .2s,color .2s,border-color .2s}.ui-button:disabled{opacity:.6;cursor:default}.ui-button--primary{background:var(--accent-fill);color:var(--accent-contrast)}.ui-button--primary:hover:not(:disabled){background:var(--accent-fill-hover)}.ui-button--secondary{background:var(--surface-raised);border-color:var(--border-strong);color:var(--text)}.ui-button--secondary:hover:not(:disabled){border-color:var(--accent)}.ui-button--ghost{color:var(--text-2);background:0 0}.ui-button--ghost:hover:not(:disabled){background:var(--surface-raised);color:var(--text)}.ui-panel{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:24px 28px}.ui-panel-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);margin-bottom:12px;font-size:13px;font-weight:700}.table-page{flex-direction:column;gap:20px;width:100%;max-width:560px;margin:48px auto;padding:0 24px;display:flex}.table-page h1{letter-spacing:-.5px;font-size:28px}.table-page-intro{color:var(--text-2);line-height:1.6}.seat-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.seat-choice{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer;border-radius:16px;flex-direction:column;align-items:center;gap:4px;padding:20px 12px;transition:background .2s,border-color .2s,transform .2s;display:flex}.seat-choice:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px)}.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:4px;font-size:12px;font-weight:600}.access-toggle{border:none;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.access-toggle legend{color:var(--text-2);padding:0 0 2px;font-size:13px;font-weight:600}.access-option{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;border-radius:12px;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;padding:8px 12px;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)}.lobby-page{max-width:720px}.lobby-watch-notice{margin:0}.lobby-table-list{border:1px solid var(--border-strong);border-radius:12px;max-height:min(52vh,480px);padding:4px;overflow-y:auto}.lobby-rows{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.lobby-row{background:var(--surface);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.lobby-row-info{flex-direction:column;gap:2px;min-width:0;display:flex}.lobby-row-seats{color:var(--accent);font-size:12px;font-weight:600}.lobby-row-occupants{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.lobby-row-age{color:var(--text-2);font-size:12px}.lobby-row-actions{flex-shrink:0;gap:8px;display:flex}.lobby-panels{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;display:grid}.lobby-panel{border:1px solid var(--border-strong);background:var(--surface);border-radius:12px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.lobby-panel h2{margin:0;font-size:15px}.lobby-panel-heading-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.lobby-badge{text-transform:uppercase;letter-spacing:.04em;background:var(--surface-raised);color:var(--text-2);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.ranked-panel{opacity:.85}.primary-button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:var(--accent-contrast,#fff);cursor:pointer;border-radius:10px;align-self:flex-start;padding:8px 16px;font-size:14px;font-weight:600}.imp-status{margin:0}.imp-comparison{border-top:1px solid var(--border-strong);margin-top:4px;padding-top:8px}.imp-comparison h3{color:var(--text-2);margin:0 0 2px;font-size:13px}.imp-comparison-headline{margin:0;font-size:16px;font-weight:700}.casual-heading-row{margin-top:4px}.open-seats-filter{color:var(--text-2);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.share-link-row{gap:10px;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{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.seat-status-row{border:1px solid var(--border);background:var(--surface);border-radius:12px;align-items:center;gap:14px;padding:12px 16px;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)}.verify-banner{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);max-width:60rem;box-shadow:var(--shadow-card);text-align:left;border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;margin:1rem auto 0;padding:1rem 1.25rem;display:flex}.verify-banner-body{flex:24rem}.verify-banner h2{color:var(--text);margin:0 0 .4rem;font-size:1.05rem}.verify-banner p{color:var(--text-2);margin:0 0 .6rem;font-size:.9375rem;line-height:1.5}.verify-banner strong{color:var(--text);overflow-wrap:anywhere}.verify-banner-why{font-size:.875rem}.verify-banner-actions{flex-wrap:wrap;gap:.5rem;display:flex}.verify-banner-actions button{font:inherit;color:var(--text);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;padding:.45rem .9rem;font-size:.875rem}.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-dismiss{color:var(--text-2)!important;border-color:#0000!important}.verify-banner-status{color:var(--text-2);flex:100%;min-height:1.3em;margin:0;font-size:.875rem}@media (width<=40rem){.verify-banner{margin:.5rem;padding:.875rem 1rem}}.site-footer{color:var(--text-2);justify-content:center;align-items:center;gap:10px;padding:24px;font-size:12px;display:flex}.site-footer a{color:var(--text-2);text-decoration:none}.site-footer a:hover{color:var(--text);text-decoration:underline}.return-to-table{border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text);white-space:nowrap;border-radius:999px;align-items:center;gap:.5rem;padding:.35rem .7rem;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:12px;flex-direction:column;flex:0 0 320px;min-width:0;max-width:40%;display:flex}.docked-panel--collapsed{flex:none;align-self:flex-start;max-width:none}.docked-panel-bar{padding:6px;display:flex}.docked-panel--open .docked-panel-bar{border-bottom:1px solid var(--border)}.docked-panel-toggle{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:14px;font-weight:600;display:flex}.docked-panel-toggle:hover{background:var(--surface-hover)}.docked-panel-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.docked-panel-toggle-chevron{color:var(--text-2);font-size:12px}.docked-panel-body{flex-direction:column;flex:auto;min-height:0;display:flex}.docked-panel-tablist{flex-wrap:wrap;gap:6px;padding:8px;display:flex}.docked-panel-tab{border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text-2);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:13px}.docked-panel-tab:hover{background:var(--surface-hover);color:var(--text)}.docked-panel-tab.selected{border-color:var(--accent-fill);background:var(--accent-fill);color:var(--accent-contrast);font-weight:600}.docked-panel-tab.selected:hover{color:var(--accent-contrast)}.docked-panel-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.docked-panel-content{flex:auto;min-height:0;padding:14px;overflow-y:auto}.docked-panel-content:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sr-only-focusable:focus,.sr-only-focusable:focus-visible{clip:auto;clip-path:none;white-space:normal;width:auto;height:auto;margin:0;position:static;overflow:visible}.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}.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) minmax(0,1fr);grid-template-areas:".n.""w.e"".s.";place-items:start center;gap:1rem .75rem;display:grid}.hd-seat-n{grid-area:n}.hd-seat-w{grid-area:w;justify-self:end}.hd-seat-e{grid-area:e;justify-self:start}.hd-seat-s{grid-area:s}.hd-hand{border:1px solid #0000;border-radius:10px;flex-direction:column;gap:.4rem;min-width:7.5rem;padding:.55rem .75rem;display:flex}.hd-hand-vulnerable{border-color:var(--danger-text);background:color-mix(in srgb, var(--danger-text) 9%, transparent)}.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-red{color:var(--danger-text)}.hd-suit-black{color:var(--text)}.hd-suit-ranks{letter-spacing:.04em;color:var(--text)}.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-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}.hd-suit-red,.hd-contract-doubled,.hd-auction-x{color:#b3271a}.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{flex-direction:column;gap:10px;display:flex}.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-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.my-history-row-button{border:1px solid var(--border);background:var(--surface-raised);width:100%;color:var(--text);text-align:left;cursor:pointer;font:inherit;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;display:flex}.my-history-row-button:hover{background:var(--surface-hover)}.my-history-row-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.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{font:inherit;border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text);cursor:pointer;border-radius:8px;align-self:flex-start;padding:6px 12px;font-size:13px;font-weight:600}.my-history-load-more:hover,.my-history-back:hover{background:var(--surface-hover)}.my-history-load-more:disabled{opacity:.6;cursor:default}.my-history-full-link{color:var(--accent);align-self:flex-start;font-size:13px}.my-history-match-lineup,.my-history-match-result{margin:0;font-size:13px}.app-dock-container{width:100%;container:appdock/inline-size}.app-dock-row{align-items:stretch;gap:20px;width:100%;display:flex}.app-dock-content{flex:auto;min-width:0}@container appdock (width<=980px){.app-dock-row{flex-direction:column;align-items:stretch}.docked-panel{flex:none;width:100%;max-width:none}.docked-panel--collapsed{width:auto}.docked-panel--open .docked-panel-content{max-height:260px}}.account-tablist{flex-wrap:wrap;gap:8px;display:flex}.account-tab{border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text-2);white-space:nowrap;cursor:pointer;border-radius:999px;padding:8px 16px;font-size:14px;text-decoration:none}.account-tab:hover{background:var(--surface-hover);color:var(--text)}.account-tab.selected{border-color:var(--accent-fill);background:var(--accent-fill);color:var(--accent-contrast);font-weight:600}.account-tab.selected:hover{color:var(--accent-contrast)}.account-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.account-tabpanel{flex-direction:column;gap:20px;display:flex}.account-tabpanel:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:20px}.account-section label.theme-option{flex-direction:row;align-items:center;gap:12px}.account-section label.theme-option>input{flex:none;width:18px;height:18px}.account-section label.theme-option .theme-option-text{flex-direction:column;gap:3px;min-width:0;display:flex}.account-section-note{color:var(--text-2);margin:0 0 12px;font-size:14px;line-height:1.5}.alert-suboptions{border:0;border-left:2px solid var(--border);margin:0 0 16px 10px;padding:12px 0 12px 16px}.alert-suboptions:disabled{opacity:.5}.alert-suboptions .account-section-note{margin:8px 0 12px;font-size:13px}.alert-choice{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:10px;display:flex}.alert-choice-label{min-width:60px;color:var(--text-2);font-size:14px}.alert-choice-buttons{flex-wrap:wrap;gap:6px;display:flex}.alert-pill{border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;padding:6px 14px;font-size:14px;display:inline-flex;position:relative}.alert-pill:hover{background:var(--surface-hover)}.alert-pill input{clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.alert-pill:has(input:checked){border-color:var(--accent-fill);background:var(--accent-fill);color:var(--accent-contrast);font-weight:600}.alert-pill:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.alert-suboptions .secondary-button{margin-top:4px}.cc-list{flex-direction:column;gap:10px;margin:0 0 20px;padding:0;list-style:none;display:flex}.cc-row{border:1px solid var(--border);background:var(--surface-raised);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:12px 14px;display:flex}.cc-identity{flex-direction:column;gap:2px;min-width:0;display:flex}.cc-name{color:var(--text);font-weight:600}.cc-link{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--text-2);font-size:13px;overflow:hidden}.cc-actions{flex:none;gap:8px;display:flex}.cc-edit-form{flex-wrap:wrap;align-items:center;gap:8px;width:100%;display:flex}.cc-edit-form input{flex:200px;min-width:0}.cc-edit-actions{flex:none;gap:8px;display:flex}.cc-add-form{flex-direction:column;gap:12px;max-width:480px;display:flex}.cc-add-heading{color:var(--text-2);text-transform:uppercase;letter-spacing:.03em;margin:0;font-size:14px;font-weight:600}.setting-scope{display:inline}.setting-scope-label{color:var(--text);font-weight:600}.setting-scope-description{color:var(--text-2)}.settings-save-status{min-height:1.25em;color:var(--text-2);margin:12px 0 0;font-size:14px}.settings-save-status.settings-save-error{color:var(--danger-text)}.feedback-box{flex-direction:column;gap:1rem;max-width:46rem;display:flex}.feedback-privacy{background:#7c3aed1f;border:1px solid #a78bfa59;border-radius:.6rem;margin:0;padding:.85rem 1rem;line-height:1.5}.feedback-categories{border:1px solid #ffffff1f;border-radius:.6rem;flex-direction:column;gap:.6rem;margin:0;padding:.75rem 1rem 1rem;display:flex}.feedback-categories legend{padding:0 .4rem;font-weight:600}.feedback-category{cursor:pointer;grid-template-columns:auto 1fr;align-items:baseline;gap:.15rem .6rem;display:grid}.feedback-category input{grid-row:1/span 2;align-self:start;margin-top:.3rem}.feedback-category-label{font-weight:600}.feedback-category-hint{opacity:.75;grid-column:2;font-size:.9rem;line-height:1.4}.feedback-label{font-weight:600}.feedback-textarea{resize:vertical;width:100%;min-height:9rem;font:inherit;padding:.7rem .85rem;line-height:1.5}.feedback-count{opacity:.7;margin:-.5rem 0 0;font-size:.85rem}.feedback-count-over{color:#fca5a5;opacity:1}.feedback-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.feedback-confirmation{color:#86efac;margin:0}.feedback-confirmation:empty{display:none}.admin-feedback{margin-top:2.5rem}.admin-feedback-list{flex-direction:column;gap:.9rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.admin-feedback-row{border:1px solid #ffffff1f;border-radius:.6rem;flex-direction:column;gap:.6rem;padding:.9rem 1rem;display:flex}.admin-feedback-meta{opacity:.8;flex-wrap:wrap;align-items:center;gap:.6rem;font-size:.9rem;display:flex}.admin-feedback-body{white-space:pre-wrap;margin:0;line-height:1.55}.feedback-badge{border:1px solid;border-radius:999px;padding:.1rem .6rem;font-size:.8rem;font-weight:600}.feedback-badge-complaint{color:#fca5a5}.feedback-badge-suggestion{color:#93c5fd}.feedback-badge-comment{color:#d8b4fe}.feedback-status-promoted{color:#86efac}.admin-feedback-promote{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.admin-feedback-promote input[type=text]{font:inherit;flex:18rem;padding:.45rem .6rem}.admin-feedback-attribution{align-items:center;gap:.4rem;font-size:.9rem;display:flex}.feedback-page{max-width:52rem;margin:0 auto;padding:2rem 1.25rem 4rem}.feedback-page>h1{margin-bottom:.5rem}.feedback-page-intro{opacity:.85;margin:0 0 1.75rem;line-height:1.6}.confirm-dialog-backdrop{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0a0e99;justify-content:center;align-items:center;padding:20px;animation:.15s confirm-dialog-fade-in;display:flex;position:fixed;inset:0}@keyframes confirm-dialog-fade-in{0%{opacity:0}to{opacity:1}}.confirm-dialog{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:100%;max-width:440px;max-height:calc(100vh - 40px);padding:28px;animation:.18s confirm-dialog-rise;overflow-y:auto;box-shadow:0 24px 60px #0006}@keyframes confirm-dialog-rise{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.confirm-dialog--critical{border-color:var(--danger-fill)}.confirm-dialog-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--danger-text);margin:0 0 8px;font-size:12px;font-weight:700}.confirm-dialog-title{margin:0 0 12px;font-size:20px}.confirm-dialog-description{color:var(--text-2);margin:0 0 20px;font-size:15px;line-height:1.5}.confirm-dialog-description strong{color:var(--text)}.confirm-dialog-typed-check{flex-direction:column;gap:8px;margin:0 0 20px;display:flex}.confirm-dialog-typed-check label{color:var(--text-2);font-size:13px}.confirm-dialog-typed-check strong{color:var(--text);font-weight:700}.confirm-dialog-typed-check input{font-size:15px}.confirm-dialog-error{margin:0 0 16px}.confirm-dialog-actions{justify-content:flex-end;gap:12px;display:flex}.confirm-dialog-danger-button{font:inherit;background:var(--danger-fill);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:600;transition:filter .15s}.confirm-dialog-danger-button:hover:not(:disabled){filter:brightness(1.1)}.confirm-dialog-danger-button:disabled{opacity:.5;cursor:default}@media (prefers-reduced-motion:reduce){.confirm-dialog-backdrop,.confirm-dialog{animation:none}}.suit-text-red{color:var(--danger-text)}.suit-text-black{color:var(--text)}.suit-text-glyph{vertical-align:-.1em;width:.85em;height:.85em}.loading-state{color:var(--subtext-color);align-items:center;gap:10px;font-size:14px;line-height:1.6;display:flex}.loading-state-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;flex:none;width:14px;height:14px;animation:.8s linear infinite loading-state-spin}html[data-effects=reduced] .loading-state-spinner{animation:none}@media (prefers-reduced-motion:reduce){.loading-state-spinner{animation:none}}@keyframes loading-state-spin{to{transform:rotate(360deg)}}.role-badge.role-owner{background:var(--surface-raised);color:var(--text-2);border:1px solid var(--border-strong)}.admin-search{margin:0 0 12px;display:block}.admin-search input{width:100%}.admin-copy-list{border:1px solid var(--border-strong);border-radius:12px;max-height:min(60vh,560px);padding:4px 12px;overflow-y:auto}.admin-copy-group+.admin-copy-group{border-top:1px solid var(--border-color);margin-top:12px;padding-top:8px}.admin-copy-namespace{text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);margin:8px 0 4px;font-size:13px;font-weight:700}.admin-copy-rows{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.admin-copy-row{background:var(--surface);border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.admin-copy-row-header{align-items:center;gap:8px;display:flex}.admin-copy-key{font-family:monospace;font-size:13px;font-weight:600}.admin-copy-badge{text-transform:uppercase;letter-spacing:.03em;background:var(--surface-raised);color:var(--text-2);border:1px solid var(--border-strong);border-radius:999px;padding:2px 8px;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-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:8px;display:flex}.game-table{--card-w:58px;--card-ratio:1.45;--card-radius:7px;--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);--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}.table-messages{flex-direction:column;gap:10px;display:flex}.table-error-slot{min-height:40px}:root[data-theme=light] .game-table{--felt:#dcd7ec;--felt-rim:#bdb5d6;--felt-glow:#6255c30d;--card-edge:#17151c4d;--danger-soft:#b3271a1f;--warning-soft:#82631324}:root[data-theme=gold] .game-table{--felt:#0d0f15;--felt-rim:#2f3542;--felt-glow:#c9a22712}.table-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.table-title{letter-spacing:-.02em;font-size:24px}.table-status{color:var(--text);font-variant-numeric:tabular-nums;margin-top:4px;font-size:15px;font-weight:600}.table-meta{color:var(--text-2);gap:16px;font-size:13px;font-weight:600;display:flex}.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-banner-away{border-color:var(--border-strong)}.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}.hand-dealing{color:var(--text-2);margin:0;padding:8px 0;font-size:13px}.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,.hand-result{background:var(--surface);border:1px solid var(--border);width:min(300px,100%);box-shadow:var(--shadow-card);border-radius:14px;padding:16px}.table-board{align-self:flex-start;max-height:100%;overflow-y:auto}.hand-result{text-align:center}.hand-result-eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--text-2);font-size:11px;font-weight:700}.hand-result-headline{letter-spacing:-.03em;color:var(--text);margin-top:6px;font-size:30px;font-weight:800}.hand-result-outcome{color:var(--text);margin-top:2px;font-size:14px;font-weight:600}.hand-result-score{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--success-text);margin-top:8px;font-size:34px;font-weight:800}.hand-result-down{color:var(--danger-text)}.hand-result-detail{color:var(--text-2);margin-top:8px;font-size:12px}.hand-result-actions{margin-top:14px}.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}.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:center;gap:1px;line-height:1;display:flex;position:absolute;top:4px;left:5px}.card-rank{letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-size:18px;font-weight:800}.card-suit{width:16px;height:16px;display:block}.card-interactive{cursor:pointer;transition:transform .12s,box-shadow .12s}.card-interactive:hover{transform:translateY(-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-back{background:var(--card-back-paper);padding:3px}.card-back-band{border-radius:calc(var(--card-radius) - 2px);background:var(--card-back-ink);height:100%;padding:4px}.card-back-line{border-radius:calc(var(--card-radius) - 3px);background:var(--card-back-paper);height:100%;padding:2px}.card-back-centre{border-radius:calc(var(--card-radius) - 4px);background:var(--card-back-ink);height:100%}.hand{align-items:center;display:flex}.hand-fan{--card-w:62px;width:calc(var(--card-w) * 8.44);height:calc(var(--card-w) * var(--card-ratio));flex:none;justify-content:flex-start}.hand-fan>*+*{margin-left:calc(var(--card-w) * -.38)}.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) * -.64)}.hand-column .card-index{flex-direction:row;align-items:center;gap:3px}.hand-stack{--card-w:36px;flex:none;justify-content:flex-start;align-items:flex-start}.hand-stack.hand-vertical{height:calc(var(--card-w) * var(--card-ratio) * 3.88);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:calc(var(--card-w) * 6.4);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:.88}.trick-area{width:calc(var(--card-w) * 3.04);height:calc(var(--card-w) * var(--card-ratio) * 3.04);position:relative}.trick-slot{width:var(--card-w);height:calc(var(--card-w) * var(--card-ratio));position:absolute;top:50%;left:50%}.trick-slot-top{transform:translate(-50%,-152%)}.trick-slot-bottom{transform:translate(-50%,52%)}.trick-slot-left{transform:translate(-152%,-50%)}.trick-slot-right{transform:translate(52%,-50%)}.seat-badge{height:var(--seat-badge-h,34px);box-sizing:border-box;background:var(--surface);border:1px solid var(--border);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:8px;max-width:100%;padding:6px 12px;font-size:13px;font-weight:600;display:flex;box-shadow:0 2px 8px #00000040}.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{opacity:.6}.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)}.seat-vulnerable .seat-letter{box-shadow:0 0 0 2px var(--danger-fill)}.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-declarer{background:var(--accent-fill);color:var(--accent-contrast)}.seat-tag-vuln{background:var(--danger-soft);color:var(--danger-text)}.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-tag-away{background:var(--warning-soft);color:var(--warning-text)}.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){filter:brightness(1.06);transform:translateY(-2px)}.bid-button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.bid-red{color:var(--card-ink-red)}.bid-black{color:var(--card-ink)}.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:56px}.table-hint{margin-top:8px;font-size:12px;font-weight:600}.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)}.trick-count-row{color:var(--text-2);justify-content:space-between;padding:3px 0;font-size:13px;display:flex}.trick-count-row strong{color:var(--text);font-variant-numeric:tabular-nums}@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 (width>=1492px){.game-table{margin-left:calc(50% - 454px);margin-right:calc(50% - 746px)}}@media (prefers-reduced-motion:reduce){.card-interactive,.bid-button{transition:none}.card-interactive:hover,.bid-button:hover:not([aria-disabled=true]){transform:none}}.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-w:34px;--card-ratio:1.45;--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.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: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-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}.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}.analysis-board-page{--ab-chrome-h:160px;height:calc(100dvh - var(--ab-chrome-h));flex-direction:column;gap:10px;min-height:0;padding:16px 24px;display:flex;overflow:hidden;container-type:inline-size}.ab-toolbar{flex:none;align-items:baseline;gap:12px;display:flex}.ab-toolbar h1{margin:0;font-size:20px}.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(320px,1.3fr) minmax(280px,1fr);gap:16px;min-height:0;display:grid}.ab-main-empty{grid-template-columns:1fr;max-width:640px}.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}.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;overflow:auto}.ab-panel{height:100%;min-height:0}@container (width<=700px){.ab-main{grid-template-columns:1fr}}.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;background:var(--accent-fill);color:var(--accent-contrast);cursor:pointer;border:1px solid #0000;border-radius:10px;padding:8px 16px;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;margin:0 auto;padding:2rem 1.25rem 4rem}.match-page-head{margin-bottom:2rem}.match-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);margin:0 0 .35rem;font-size:.75rem;font-weight:600}.match-page-head h1{margin:0 0 .5rem;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:.35rem 0;line-height:1.55}.match-hint{font-size:.85rem}.match-derived{background:var(--surface-raised);color:var(--text);border-radius:.6rem;margin:.75rem 0 0;padding:.6rem .85rem;font-size:.9rem}.match-settings-summary{flex-wrap:wrap;gap:.4rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.match-settings-summary li{border:1px solid var(--border);background:var(--surface-raised);color:var(--text-2);border-radius:.45rem;padding:.25rem .55rem;font-size:.78rem}.match-back-link{color:var(--accent);font-size:.9rem;text-decoration:none}.match-back-link:hover{text-decoration:underline}.match-form{flex-direction:column;gap:1.5rem;display:flex}.match-fieldset{border:1px solid var(--border);background:var(--surface);border-radius:.9rem;margin:0;padding:1.25rem}.match-fieldset legend{padding:0 .5rem;font-size:.95rem;font-weight:600}.match-field{flex-direction:column;gap:.35rem;margin-top:1rem;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{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem;display:grid}.match-choice-row{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.75rem;display:grid}.match-choice{border:1px solid var(--border);background:var(--surface-raised);cursor:pointer;border-radius:.7rem;grid-template-columns:auto 1fr;grid-template-areas:"radio label"".blurb";gap:.15rem .6rem;padding:.8rem;display:grid}.match-choice:hover{background:var(--surface-hover)}.match-choice.is-selected{border-color:var(--accent);background:var(--accent-soft)}.match-choice input{grid-area:radio;margin-top:.2rem}.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{cursor:pointer;align-items:center;gap:.6rem;font-size:.9rem;font-weight:600;display:flex}.match-switch input:disabled+span{color:var(--text-2)}.match-seat-grid{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1.25rem;margin-top:.75rem;display:grid}.match-seat-table-name{letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);margin:0 0 .5rem;font-size:.8rem}.match-seat-option{border:1px solid var(--border);border-left:3px solid var(--team-color);background:var(--surface-raised);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:.55rem;grid-template-columns:2rem 1fr auto;align-items:center;gap:.6rem;margin-bottom:.4rem;padding:.55rem .7rem;display:grid}.match-seat-option:hover{background:var(--surface-hover)}.match-seat-option.is-selected{background:var(--team-soft);border-color:var(--team-color);box-shadow:inset 0 0 0 1px var(--team-color)}.match-seat-letter{color:var(--team-color);font-size:1.05rem;font-weight:700}.match-seat-name{font-size:.9rem}.match-seat-team{color:var(--text-2);white-space:nowrap;font-size:.72rem}.match-actions{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.match-summary-bar{border:1px solid var(--border);background:var(--surface);border-radius:.7rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:.85rem 1rem;display:flex}.match-count{font-variant-numeric:tabular-nums;font-weight:600}.match-summary-bar .share-link-row{flex:22rem;gap:.5rem;display:flex}.match-summary-bar .share-link-row input{flex:1;min-width:0;font-size:.85rem}.match-mirror{grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));align-items:start;gap:1.25rem;display:grid}.match-mirror-table{border:1px solid var(--border);background:var(--surface);border-radius:.9rem;padding:1rem}.match-mirror-heading{letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);margin:0 0 .75rem;font-size:.8rem}.match-lineup{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.match-lineup-row{border:1px solid var(--border);border-left:3px solid var(--team-color);background:var(--surface-raised);border-radius:.55rem;grid-template-columns:1.75rem 1fr auto;align-items:center;gap:.7rem;padding:.55rem .7rem;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:.4rem;display:flex}.match-lineup-action button{padding:.35rem .6rem;font-size:.8rem}.match-lineup-status{color:var(--text-2);font-size:.78rem}.match-invite-form{border:1px solid var(--accent);background:var(--accent-soft);border-radius:.7rem;margin-top:1.25rem;padding:1rem}.match-invite-form label{margin-bottom:.5rem;font-size:.9rem;font-weight:600;display:block}.match-invite-row{flex-wrap:wrap;gap:.5rem;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{border:1px solid var(--border);background:var(--surface);border-radius:.9rem;flex-direction:column;gap:.6rem;padding:1rem;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:.5rem;display:flex}.match-table-card-head h2{margin:0;font-size:1.05rem}.match-badge{letter-spacing:.06em;text-transform:uppercase;background:var(--accent-soft);color:var(--accent);border-radius:.35rem;padding:.2rem .45rem;font-size:.7rem;font-weight:600}.match-board-line{align-items:baseline;gap:.4rem;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{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.match-table-seat{border-left:3px solid var(--team-color);border-radius:.35rem;grid-template-columns:1.4rem 1fr auto;align-items:center;gap:.5rem;padding:.3rem .45rem;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{text-align:center;margin-top:auto;text-decoration:none;display:block}.match-spine{flex-direction:column;justify-content:center;align-items:stretch;gap:.75rem;display:flex}.match-score{border:1px solid var(--border);background:var(--surface);text-align:center;border-radius:.9rem;padding:1.1rem 1rem}.match-score.is-final{border-color:var(--accent);background:var(--accent-soft)}.match-score-heading{letter-spacing:.1em;text-transform:uppercase;color:var(--text-2);margin:0 0 .6rem;font-size:.75rem;font-weight:600}.match-score-line{font-variant-numeric:tabular-nums;justify-content:center;align-items:baseline;gap:.5rem;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:.5rem 0 0;font-size:.85rem;font-weight:600}.match-score-secondary,.match-progress{color:var(--text-2);margin:.35rem 0 0;font-size:.78rem}.match-score-note{color:var(--text-2);margin:.5rem 0 0;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;border:1px solid var(--border-strong);color:var(--accent);border-radius:.6rem;padding:.55rem .7rem;font-size:.85rem;font-weight:600;text-decoration:none;display:block}.match-watch-both:hover{background:var(--surface-hover)}.match-history{margin-top:2.5rem}.match-history h2{margin:0 0 .75rem;font-size:1.1rem}.match-history-scroll{border:1px solid var(--border);border-radius:.7rem;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{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:.5rem .7rem}.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-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{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 1rem;display:flex}.match-table-banner-main{align-items:center;gap:.85rem;font-size:.9rem;display:flex}.match-table-banner-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.match-chip{background:var(--surface-raised);border:1px solid var(--border);color:var(--text);font-variant-numeric:tabular-nums;border-radius:.45rem;flex-direction:column;padding:.28rem .6rem;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{background:var(--accent-soft);border-bottom:1px solid var(--accent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;font-size:.9rem;display:flex}.kibitzer-controls{margin-top:1rem}.kibitzer-group{margin-bottom:.9rem}.kibitzer-group-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);margin:0 0 .35rem;font-size:.75rem}.kibitzer-seat-row{gap:.35rem;display:flex}.kibitzer-seat{border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text);font:inherit;cursor:pointer;border-radius:.45rem;flex:1;padding:.4rem 0;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{flex-direction:column;gap:.2rem;margin:0;padding:0;list-style:none;display:flex}.kibitzer-hide{cursor:pointer;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.kibitzer-hide-who{color:var(--text-2);font-size:.78rem}.kibitzer-note{color:var(--text-2);margin:.75rem 0 0;font-size:.75rem;line-height:1.5}.match-watch{padding:1rem}.match-watch-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.match-watch-head h1{margin:.25rem 0 0;font-size:1.4rem}.match-watch-controls{align-items:center;gap:.4rem;display:flex}.match-watch-controls .kibitzer-group-label{margin:0}.match-watch-controls .kibitzer-seat{flex:0 0 2.2rem}.match-watch-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=78rem){.match-watch-grid{grid-template-columns:1fr 1fr}}.match-watch-pane{border:1px solid var(--border);background:var(--surface);border-radius:.9rem;min-width:0;padding:.75rem;overflow:hidden}.match-watch-pane .game-table{padding:0}.match-watch-pane .hand-fan{--card-w:38px}.match-watch-pane .hand-columns{--card-w:30px}.match-watch-pane .hand-stack{--card-w:24px}.match-watch-pane .table-centre{--card-w:34px}.match-watch-pane .table-felt{--seat-side-w:148px;--hand-box-h:124px;--centre-h:156px;padding:12px}.match-watch-pane .table-layout{grid-template-columns:minmax(0,1fr)}.match-watch-pane-head{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.5rem;display:flex}.match-watch-pane-head h2{margin:0;font-size:1rem}.match-watch-pane .table-sidebar{display:none}@media (prefers-reduced-motion:reduce){.match-seat-option,.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;background:var(--surface-raised);border:1px solid var(--border-strong);box-shadow:0 2px 0 var(--border);border-radius:8px;padding:10px 28px 10px 12px;position:relative}.alert-toast-heading{color:var(--text);align-items:center;gap:4px;margin:0;font-size:13px;font-weight:700;display:flex}.alert-toast-call{color:var(--text);align-items:center;gap:1px;display:inline-flex}.alert-toast-muted{color:var(--text-2);font-weight:500}.alert-toast-red{color:var(--danger-text)}.alert-toast-glyph{width:12px;height:12px}.alert-toast-text{color:var(--text-2);margin:4px 0 0;font-size:13px;line-height:1.4}.alert-toast-dismiss{width:20px;height:20px;color:var(--text-2);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;font-size:15px;line-height:1;display:inline-flex;position:absolute;top:4px;right:4px}.alert-toast-dismiss:hover{background:var(--surface-hover);color:var(--text)}.alert-toast-dismiss:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.auction-alert{background:var(--warning-soft,var(--surface-raised));border:1px solid var(--warning-text);width:14px;height:14px;color:var(--warning-text);cursor:default;border-radius:50%;justify-content:center;align-items:center;margin-left:2px;font-size:10px;font-weight:800;line-height:1;display:inline-flex}.bidding-alert{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.bidding-alert-toggle{color:var(--text);cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:600;display: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;width:100%;font:inherit;color:var(--text);background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:6px;padding:7px 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}.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-consequence{margin:.75rem 0 0;font-size:.875rem}.chat-panel{border:1px solid var(--border-color);background:var(--surface);border-radius:.6rem;flex-direction:column;gap:.6rem;height:22rem;min-height:0;padding:.85rem;display:flex}.chat-panel-title{margin:0;font-size:1rem;font-weight:700}.chat-panel-unread{color:var(--accent-color);margin:0;font-size:.85rem;font-weight:600}.chat-panel-unread:empty{display:none}.chat-panel-messages{border:1px solid var(--border-color);background:var(--surface-raised);border-radius:.5rem;flex-direction:column;flex:auto;gap:.45rem;min-height:0;margin:0;padding:.1rem .2rem .1rem 0;list-style:none;display:flex;overflow-y:auto}.chat-panel-empty{color:var(--subtext-color);padding:.6rem .75rem;font-size:.9rem}.chat-panel-message{word-break:break-word;padding:.35rem .75rem;line-height:1.4}.chat-panel-message-author{margin-right:.4rem;font-weight:700}.chat-panel-composer{flex-direction:column;flex:none;gap:.3rem;display:flex}.chat-panel-composer-label{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.chat-panel-composer-row{gap:.5rem;display:flex}.chat-panel-input{min-width:0;font:inherit;border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text-color);border-radius:.5rem;flex:auto;padding:.5rem .7rem}.chat-panel-input:focus-visible{outline:2px solid var(--accent-color);outline-offset:1px}.chat-panel-input:disabled{opacity:.6}.chat-panel-count{color:var(--subtext-color);margin:0;font-size:.78rem}.chat-panel-count-over{color:var(--danger-text)}.sandbox{flex-direction:column;gap:8px;padding-bottom:40px;display:flex}.sandbox-bar{border-bottom:1px solid var(--border);background:var(--nav-bg);flex-direction:column;gap:14px;padding:20px 32px;display:flex}.sandbox-title h1{letter-spacing:-.01em;font-size:20px}.sandbox-title p{max-width:68ch;color:var(--text-2);margin-top:4px;font-size:13px}.sandbox-controls{flex-wrap:wrap;align-items:flex-end;gap:20px;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-fill);color:var(--accent-contrast)}.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{grid-template-columns:minmax(0,1fr);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{min-width:0}.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}.history-page,.history-detail-page{flex-direction:column;gap:20px;width:100%;max-width:900px;margin:0 auto;padding:24px 32px 48px;display:flex}.history-header h1,.history-detail-header h1{letter-spacing:-.02em;font-size:26px}.history-header p{color:var(--text-2);margin-top:4px}.history-empty{color:var(--text-2);padding:32px 0}.history-list{flex-direction:column;gap:10px;display:flex}.history-row{list-style:none}.history-row-link{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:12px;flex-direction:column;gap:6px;padding:14px 18px;text-decoration:none;transition:border-color .12s,background .12s;display:flex}.history-row-link:hover,.history-row-link:focus-visible{border-color:var(--border-strong);background:var(--surface-raised)}.history-row-main{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.history-row-type{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);background:var(--accent-soft);border-radius:999px;flex:none;padding:2px 8px;font-size:11px;font-weight:700}.history-row-lineup{font-weight:600}.history-row-detail{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:12px;font-size:14px;display:flex}.history-row-mode{text-transform:uppercase;letter-spacing:.04em;font-size:12px}.history-row-date{margin-left:auto}.history-back-link{color:var(--accent);align-self:flex-start;text-decoration:none}.history-back-link:hover{text-decoration:underline}.history-detail-meta{color:var(--text-2);flex-wrap:wrap;gap:16px;font-size:14px;display:flex}.history-match-summary{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:6px;padding:16px 20px;display:flex}.history-board-list{flex-direction:column;gap:10px;display:flex}.history-board-row{background:var(--surface);border:1px solid var(--border);border-radius:12px;list-style:none;overflow:hidden}.history-board-summary{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-wrap:wrap;align-items:center;gap:14px;padding:12px 16px;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-tables{border-top:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;padding:16px 16px 20px;display:grid}.history-board-table-heading{text-transform:uppercase;letter-spacing:.05em;color:var(--text-2);margin-bottom:8px;font-size:13px;font-weight:700}.hand-record{flex-direction:column;gap:14px;display:flex}.hand-record-seats{flex-wrap:wrap;gap:8px;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-deal-note{color:var(--text-2);font-size:14px}.hand-record-tricks{flex-direction:column;gap:18px;display:flex}.hand-record-trick{flex-direction:column;align-items:center;gap:6px;list-style:none;display:flex}.hand-record-trick-number{color:var(--text-2);font-size:12px;font-weight:600}.convention-card-picker{flex-direction:column;gap:6px;max-width:360px;margin:4px 0 20px;display:flex}.convention-card-picker label{color:var(--text-2);font-size:14px}.convention-card-partnerships{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.convention-card-partnership-label{color:var(--text-2);flex-basis:100%;margin:0;font-size:14px}.convention-card-picker select{font-size:14px}.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);flex-direction:column;align-items:flex-start;margin-top:.35rem;padding-top:.8rem;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{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-top:.3rem;font-size:.8125rem;font-weight:700}.kc-index-year{letter-spacing:.12em;color:var(--text-2);font-variant-numeric:tabular-nums;margin-top:.15rem;font-size:.75rem;font-weight:600}.kc-post-column{min-width:0}.kc-post-head{margin-bottom:1.35rem}.kc-post-title{letter-spacing:-.025em;color:var(--text);flex-wrap:wrap;align-items:baseline;gap:.55rem;font-size:clamp(1.5rem,1.28rem + .95vw,1.95rem);font-weight:800;line-height:1.15;display:flex}.kc-byline{color:var(--text-2);flex-wrap:wrap;align-items:baseline;gap:.2rem .65rem;margin-top:.7rem;font-size:.875rem;display:flex}.kc-byline>:not(:first-child){border-left:1px solid var(--border-strong);padding-left:.65rem}.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-note{color:var(--warning-text);margin-top:.25rem;font-size:.9375rem}.kc-actions{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1.6rem;padding-top:.9rem;display:flex}.kc-actions-label{letter-spacing:.14em;text-transform:uppercase;color:var(--text-2);margin-right:.35rem;font-size:.6875rem;font-weight:700}.kc-post--hidden{background:var(--surface);border:1px solid var(--warning-text);border-radius:20px;padding:1.5rem 1.75rem}.kc-post--hidden .kc-index{border-top-color:var(--warning-text)}.kc-badge{letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;border-radius:6px;padding:.2rem .5rem;font-size:.6875rem;font-weight:700}.kc-badge--hidden{color:var(--warning-text);border:1px solid var(--warning-text)}@media (width<=52rem){.kc-post{grid-template-columns:minmax(0,1fr)}.kc-index{flex-direction:row;align-items:baseline;gap:.45rem;width:max-content;max-width:100%;margin-top:0;margin-bottom:.85rem;padding-top:.6rem}.kc-index-day{font-size:1.5rem}.kc-index-month,.kc-index-year{margin-top:0}.kc-post--hidden{padding:1.25rem}}.kc-editor{flex-direction:column;gap:1.1rem;display:flex}.kc-editor-heading{letter-spacing:.14em;text-transform:uppercase;color:var(--text-2);font-size:.6875rem;font-weight:700}.kc-field{flex-direction:column;gap:.4rem;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);font-size:.8125rem}.kc-editor-actions{flex-wrap:wrap;gap:.6rem;display:flex}.kc-page{--kc-rail:4.75rem;--kc-gap:2rem;--kc-measure:38rem;width:100%;max-width:47.75rem;margin:0 auto;padding:4rem 1.5rem 6rem}.kc-masthead{margin-left:calc(var(--kc-rail) + var(--kc-gap));max-width:var(--kc-measure);margin-bottom:3.5rem}.kc-masthead:before{content:"";background:var(--accent);border-radius:2px;width:2.5rem;height:3px;margin-bottom:1.5rem;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{color:var(--text-2);max-width:32rem;margin-top:1rem;font-size:clamp(1.0625rem,1rem + .35vw,1.1875rem);line-height:1.6}.kc-latest{letter-spacing:.14em;text-transform:uppercase;color:var(--text-2);margin-top:1.5rem;font-size:.75rem;font-weight:700}.kc-staffbar{margin-left:calc(var(--kc-rail) + var(--kc-gap));max-width:var(--kc-measure);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1.5rem;padding-bottom:1.5rem;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:3rem}.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:2rem;font-weight:500}.kc-end{margin-top:3rem;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:3.5rem}.kc-hidden-section{border-top:1px solid var(--border);margin-top:5rem;padding-top:2.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:.75rem;font-size:.8125rem;font-weight:700}.kc-hidden-section .kc-state{margin-bottom:2.5rem;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:2.5rem 1.25rem 4rem}.kc-masthead,.kc-staffbar,.kc-editor-region,.kc-state,.kc-error,.kc-more,.kc-hidden-section h2{max-width:100%;margin-left:0}.kc-masthead{margin-bottom:2.5rem}.kc-feed{gap:3.25rem}.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{max-width:860px;margin:0 auto;padding:24px 20px 64px}.partnerships-page h1{margin:0 0 6px}.partnerships-intro{color:var(--text-2);max-width:62ch;margin:0 0 24px}.pship-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:20px;padding:18px 20px}.pship-section h2{margin:0 0 4px;font-size:18px}.pship-section h2.pship-subheading{margin-top:18px}.pship-hint{color:var(--text-2);max-width:62ch;margin:0 0 14px;font-size:14px}.pship-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.pship-row{border:1px solid var(--border);background:var(--surface-raised);border-radius:10px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.pship-head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.pship-name{color:var(--text);font-weight:600}.pship-partner{color:var(--text-2);font-size:14px}.pship-badge{letter-spacing:.02em;background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:2px 8px;font-size:12px}.pship-badge.agreed{color:var(--success-text)}.pship-card{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;display:flex}.pship-card a{color:var(--accent)}.pship-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pship-actions select,.pship-actions input[type=text],.pship-search input{font-size:14px}.pship-search{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.pship-empty{color:var(--text-2);margin:0;font-size:14px}.legal-page{flex-direction:column;gap:24px;width:100%;max-width:760px;margin:48px auto;padding:0 24px 64px;display:flex}.legal-draft-banner{border:1px solid var(--danger-fill);background:var(--surface);border-left-width:4px;border-radius:12px;flex-direction:column;gap:6px;padding:16px 20px;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{background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;flex-direction:column;gap:16px;padding:32px 36px;display:flex}.legal-body h2{letter-spacing:-.3px;margin-top:8px;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{color:var(--text-2);flex-direction:column;gap:8px;margin:0;padding-left:20px;line-height:1.6;display:flex}.legal-body .legal-callout{border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 12px 12px 0;margin:0;padding:12px 18px}.legal-body .legal-callout p{margin:0}.legal-body a{color:var(--accent)}.profile-tablist{flex-wrap:wrap;gap:8px;display:flex}.profile-tab{border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text-2);font:inherit;cursor:pointer;border-radius:999px;padding:8px 16px;font-size:14px}.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);font-weight:600}.profile-tab.selected:hover{color:var(--accent-contrast)}.profile-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.profile-tabpanel{flex-direction:column;gap:20px;display:flex}.profile-tabpanel:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:20px}.profile-stats-tab{flex-direction:column;gap:12px;display:flex}.profile-stats-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;max-height:420px;display:grid;overflow-y:auto}.profile-stat-tile{background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;flex-direction:column;gap:6px;padding:16px 18px;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}
