*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{color:var(--ink);background:var(--bg);font-family:var(--font-body);font-feature-settings:"ss01", "liga";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:17px;line-height:1.5}a{color:inherit;text-decoration:none}button{font:inherit}img,svg{max-width:100%;display:block}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root,[data-theme=broadcast]{--bg:#08101a;--bg-grad:radial-gradient(1200px 600px at 10% -10%, #f5c51814, transparent 60%), radial-gradient(900px 500px at 110% 0%, #50aaff14, transparent 55%), linear-gradient(180deg, #08101a, #050a11);--panel:#0f1924;--panel-2:#152231;--ink:#f2eee3;--ink-dim:#c9d0dc;--muted:#7f8a9e;--line:#ffffff14;--line-strong:#ffffff29;--accent:#f5c518;--accent-ink:#08101a;--accent-2:#3fb6a8;--tier-bishops:#f5c518;--tier-bishops-soft:#f5c51824;--tier-knights:#3fb6a8;--tier-knights-soft:#3fb6a824;--danger:#ff5c6c;--success:#4cd696;--pill:#f5c5181f;--pill-ink:#f5c518;--font-display:"Oswald", "Arial Narrow", sans-serif;--font-body:"Archivo", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--font-numeric:"JetBrains Mono", ui-monospace, monospace;--radius:6px;--radius-lg:10px;--shadow:0 1px 0 #ffffff0a inset, 0 20px 40px -30px #000c;--btn-radius:4px;--display-weight:700;--display-track:.02em;--display-case:uppercase;--display-transform:uppercase}[data-theme=storybook]{--bg:#f3e7cc;--bg-grad:radial-gradient(800px 400px at 90% -10%, #c24d3c26, transparent 55%), radial-gradient(600px 300px at -10% 110%, #3f7a4c2e, transparent 60%), linear-gradient(180deg, #f6ecd5 0%, #eadfc2 100%);--panel:#fcf5e2;--panel-2:#fffaed;--ink:#2c1e12;--ink-dim:#473424;--muted:#7a6444;--line:#5f3c2638;--line-strong:#5f3c2661;--accent:#c2432d;--accent-ink:#fff8e6;--accent-2:#3f7a4c;--tier-bishops:#c2432d;--tier-bishops-soft:#c2432d24;--tier-knights:#3f7a4c;--tier-knights-soft:#3f7a4c29;--danger:#9b2f1f;--success:#3f7a4c;--pill:#c24d3c24;--pill-ink:#8a2517;--font-display:"Fraunces", "Iowan Old Style", Georgia, serif;--font-body:"Nunito", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--font-numeric:"Fraunces", Georgia, serif;--radius:18px;--radius-lg:26px;--shadow:0 12px 30px -20px #50280a59;--btn-radius:999px;--display-weight:900;--display-track:-.01em;--display-case:none;--display-transform:none}body{background:var(--bg-grad,var(--bg))}[data-theme=broadcast] .ornament-board{background-image:linear-gradient(45deg,#f5c5180d 25%,#0000 25% 75%,#f5c5180d 75%),linear-gradient(45deg,#f5c5180d 25%,#0000 25% 75%,#f5c5180d 75%);background-position:0 0,14px 14px;background-size:28px 28px}[data-theme=storybook] .ornament-board{background-image:radial-gradient(#5f3c2614 1px,#0000 1.5px);background-size:6px 6px}.h1,.h2,.h3,.display{font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:var(--display-track);text-transform:var(--display-transform);color:var(--ink);margin:0;line-height:1.02}.h1{font-size:clamp(2.1rem,6vw,3.6rem)}.h2{font-size:clamp(1.5rem,4vw,2.2rem);line-height:1.08}.h3{font-size:clamp(1.15rem,2.6vw,1.4rem);line-height:1.15}.eyebrow{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin:0 0 .75rem;font-size:.72rem;display:inline-block}[data-theme=storybook] .eyebrow{font-family:var(--font-body);letter-spacing:.18em;color:var(--accent);font-weight:700}.muted{color:var(--muted)}.lead{color:var(--ink-dim);max-width:58ch;font-size:1.05rem}.app{flex-direction:column;min-height:100svh;display:flex}.topbar{z-index:50;background:color-mix(in oklab, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 18px;display:grid;position:sticky;top:0}.brand{font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:var(--display-track);text-transform:var(--display-transform);color:var(--ink);align-items:center;gap:10px;font-size:1.15rem;display:inline-flex}.brand-glyph{border-radius:var(--radius);background:var(--accent);width:36px;height:36px;color:var(--accent-ink);font-family:var(--font-display);font-weight:var(--display-weight);place-items:center;line-height:1;display:inline-grid}[data-theme=storybook] .brand-glyph{border-radius:12px 22px}.nav-primary{justify-self:center;align-items:center;gap:4px;display:none}.nav-primary a{border-radius:var(--btn-radius);color:var(--ink-dim);font-weight:600;font-family:var(--font-body);padding:8px 14px}.nav-primary a[aria-current=page],.nav-primary a:hover{color:var(--ink);background:var(--pill)}@media (min-width:780px){.nav-primary{display:inline-flex}}.theme-switch{grid-template-columns:repeat(var(--theme-count,2), max-content);border:1px solid var(--line);border-radius:var(--btn-radius);background:var(--panel);justify-self:end;gap:4px;width:max-content;padding:4px;display:inline-grid}.theme-chip{color:var(--muted);border-radius:calc(var(--btn-radius) - 2px);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:6px 10px;font-size:.72rem;display:inline-flex}[data-theme=storybook] .theme-chip{font-family:var(--font-body);font-weight:700}.theme-chip[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.theme-chip:hover{color:var(--ink)}.theme-chip[aria-pressed=true]:hover{color:var(--accent-ink)}.theme-chip-dot{background:currentColor;border-radius:999px;width:8px;height:8px}.theme-chip-label{display:none}@media (min-width:520px){.theme-chip-label{display:inline}}@media (max-width:519px){.theme-chip[aria-pressed=true] .theme-chip-label{display:inline}}.main{flex:1;gap:28px;width:100%;max-width:1180px;margin:0 auto;padding:20px 18px 120px;display:grid}@media (min-width:780px){.main{gap:36px;padding:28px 24px 48px}}.bottom-nav{z-index:60;background:color-mix(in oklab, var(--panel) 92%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:6px 8px calc(6px + env(safe-area-inset-bottom));grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{color:var(--muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border-radius:var(--btn-radius);justify-items:center;gap:4px;padding:8px 6px;font-size:.72rem;display:grid}[data-theme=storybook] .bottom-nav a{font-family:var(--font-body);font-weight:700}.bottom-nav a[aria-current=page]{color:var(--accent)}.bottom-nav svg{fill:none;stroke:currentColor;stroke-width:1.75px;width:22px;height:22px}@media (min-width:780px){.bottom-nav{display:none}}.site-foot{max-width:1180px;color:var(--muted);border-top:1px solid var(--line);margin:0 auto;padding:32px 24px 48px;font-size:.9rem}@media (max-width:779px){.site-foot{padding-bottom:96px}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:20px}.panel-2{background:var(--panel-2)}[data-theme=storybook] .panel.panel-hand{border-style:solid;border-width:1.5px;border-color:var(--line-strong);border-radius:22px 28px 24px 30px}.btn{--btn-bg:var(--accent);--btn-ink:var(--accent-ink);border-radius:var(--btn-radius);background:var(--btn-bg);min-height:48px;color:var(--btn-ink);font-family:var(--font-body);letter-spacing:.02em;cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;padding:14px 18px;font-weight:700;transition:transform .12s,filter .12s;display:inline-flex}.btn:hover{filter:brightness(1.05)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:progress}[data-theme=storybook] .btn{font-weight:800}.btn-ghost{--btn-bg:transparent;--btn-ink:var(--ink);border:1px solid var(--line-strong)}.btn-danger{--btn-bg:var(--danger);--btn-ink:#fff}.btn-sm{min-height:40px;padding:10px 14px;font-size:.9rem}.row{flex-wrap:wrap;gap:10px;display:flex}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.archive-link{color:var(--accent);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem}.player-link{color:inherit;text-underline-offset:.14em;cursor:pointer;text-decoration:none;transition:color .14s,text-decoration-color .14s}.player-link:hover,.player-link:focus-visible{color:var(--accent);text-decoration:underline;text-decoration-thickness:2px}.player-link:focus-visible{outline:2px solid color-mix(in oklab, var(--accent) 45%, transparent);outline-offset:3px;border-radius:4px}.signup-agreement-link{color:var(--accent);text-underline-offset:.16em;text-decoration:underline;text-decoration-thickness:2px;-webkit-text-decoration-color:color-mix(in oklab, var(--accent) 80%, transparent);text-decoration-color:color-mix(in oklab, var(--accent) 80%, transparent);transition:color .14s,text-decoration-color .14s}.signup-agreement-link:hover,.signup-agreement-link:focus-visible{color:color-mix(in oklab, var(--accent) 82%, white);text-decoration-color:currentColor}.signup-agreement-link:focus-visible{outline:2px solid color-mix(in oklab, var(--accent) 45%, transparent);outline-offset:3px;border-radius:4px}[data-theme=storybook] .archive-link{font-family:var(--font-body);font-weight:700}.hero{padding:28px 22px;position:relative;overflow:hidden}.hero-kicker{color:var(--accent)}.hero p{margin:14px 0 20px}.hero-cta{flex-wrap:wrap;gap:10px;display:flex}.hero-stat{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);grid-template-columns:auto 1fr;align-items:center;gap:14px;padding:14px 16px;display:grid}.hero-stat-num{font-family:var(--font-numeric);font-variant-numeric:tabular-nums;font-size:2.2rem;font-weight:var(--display-weight);color:var(--accent);line-height:1}.hero-stat-meta{color:var(--muted);font-size:.9rem}.hero-stat-label{color:var(--ink);font-weight:700}.hero-grid{grid-template-columns:1fr;gap:14px;display:grid}@media (min-width:620px){.hero-grid{grid-template-columns:1fr 1fr}}.hero-records{flex-wrap:wrap;align-items:center;gap:10px;max-width:44rem;display:flex}.hero-records-legend{color:var(--muted);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;font-size:.72rem}.hero-record{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);align-items:center;gap:12px;padding:10px 14px;display:flex}.hero-record-label{color:var(--ink);white-space:nowrap;font-weight:700}.hero-record-value{color:var(--accent);font-family:var(--font-numeric);font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:var(--display-weight);white-space:nowrap}@media (max-width:479px){.hero-record{justify-content:space-between;width:100%}}.hero-deco{pointer-events:none;opacity:.8;width:340px;height:340px;position:absolute;inset:auto -80px -100px auto;transform:rotate(-8deg)}[data-theme=broadcast] .hero-deco{background:linear-gradient(135deg,#f5c51826,#0000 60%),repeating-conic-gradient(#f5c5181a 0% 12.5%,#0000 12.5% 25%);border-radius:20px}[data-theme=storybook] .hero-deco{background:radial-gradient(closest-side,#c24d3c33,#0000 70%),radial-gradient(closest-side at 30% 40%,#3f7a4c2e,#0000 60%);border-radius:50%}.section-head{gap:6px;margin-bottom:16px;display:grid}.section-head .row-between{align-items:flex-end}.divider{background:var(--line);height:1px;margin:8px 0 0}.archive-grid{grid-template-columns:1fr;gap:16px;display:grid}@media (min-width:720px){.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.season-card{gap:10px;display:grid}.season-card-range{margin:0}.season-card-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.season-card-stats div{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);gap:2px;padding:12px;display:grid}.season-card-stats strong{font-family:var(--font-numeric);color:var(--accent);font-size:1.2rem}.season-card-stats span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.archive-empty{max-width:52ch}.ladder{gap:18px;display:grid}@media (min-width:820px){.ladder{grid-template-columns:1fr 1fr;gap:22px}}.tier{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px}.tier-head{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;padding-bottom:14px;display:flex}.tier-name{font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:var(--display-track);text-transform:var(--display-transform);margin:0;font-size:1.6rem}[data-theme=storybook] .tier-name{color:var(--accent)}[data-theme=storybook] .tier-name[data-tier=knights]{color:var(--tier-knights)}.tier-tag{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.ladder-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.ladder-row{border-radius:var(--radius);background:var(--panel-2);border:1px solid #0000;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px;display:grid}.ladder-row[data-self=true]{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in oklab, var(--accent) 25%, transparent)}.rank{border-radius:var(--radius);background:var(--bg);border:1px solid var(--line);min-width:44px;height:44px;font-family:var(--font-numeric);font-variant-numeric:tabular-nums;font-weight:var(--display-weight);color:var(--ink);place-items:center;font-size:1.15rem;display:grid}[data-theme=broadcast] .rank{color:var(--accent);border-color:var(--accent);background:#000}[data-theme=storybook] .rank{background:var(--accent);color:var(--accent-ink);border-color:#0000;border-radius:14px 18px}.ladder-row .name-block{min-width:0}.name{color:var(--ink);font-size:1.05rem;font-weight:700;line-height:1.15}.sub{color:var(--muted);font-size:.88rem;font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin-top:3px}[data-theme=storybook] .sub{font-family:var(--font-body);font-weight:600}.sub-inline{align-items:baseline;gap:5px;margin-left:10px;display:inline-flex}.elo-badge{align-items:center;gap:5px;margin-top:5px;display:inline-flex}.elo-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.66rem;line-height:1}.elo-value{font-family:var(--font-numeric);font-variant-numeric:tabular-nums;color:var(--accent);font-size:.82rem;font-weight:600;line-height:1}[data-theme=storybook] .elo-value{font-family:var(--font-body)}.pill{background:var(--pill);color:var(--pill-ink);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:.68rem;display:inline-flex}[data-theme=storybook] .pill{font-family:var(--font-body);border-radius:999px;font-weight:800}.record{font-family:var(--font-numeric);font-variant-numeric:tabular-nums;font-weight:var(--display-weight);letter-spacing:.04em;color:var(--ink);text-align:right;font-size:1.05rem;line-height:1}.record small{font-family:var(--font-mono);color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-variant-numeric:normal;margin-top:4px;font-size:.68rem;display:block}.tier-badge{color:var(--ink);align-items:center;gap:6px;line-height:1;display:inline-flex}.tier-badge[data-tier=bishops]{color:var(--tier-bishops)}.tier-badge[data-tier=knights]{color:var(--tier-knights)}.tier-badge-icon{background:currentColor;flex:none;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.tier-badge-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:inherit;font-size:.72rem;font-weight:600;line-height:1}[data-theme=storybook] .tier-badge-label{font-family:var(--font-body);letter-spacing:.02em;text-transform:none;font-size:.88rem;font-weight:800}.tier-badge-pill{border-radius:999px;gap:5px;padding:4px 10px 4px 8px}.tier-badge-pill[data-tier=bishops]{background:var(--tier-bishops-soft)}.tier-badge-pill[data-tier=knights]{background:var(--tier-knights-soft)}[data-theme=storybook] .tier-badge-pill{padding:5px 12px 5px 9px}.tier-badge-glyph{gap:0;padding:0}.tier-head{align-items:center}.tier-head .tier-badge-glyph{margin-right:10px}.tier-head .tier-name{align-items:center;gap:10px;display:inline-flex}.tier-head .tier-name .tier-badge-glyph{margin-right:0}.ladder-row[data-tier-accent=bishops] .rank{box-shadow:inset 3px 0 0 var(--tier-bishops)}.ladder-row[data-tier-accent=knights] .rank{box-shadow:inset 3px 0 0 var(--tier-knights)}[data-theme=broadcast] .ladder-row[data-tier-accent=knights] .rank{color:var(--tier-knights);border-color:var(--tier-knights)}[data-theme=storybook] .ladder-row[data-tier-accent=knights] .rank{background:var(--tier-knights);color:var(--bg)}.season-player-status{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.season-player-status .sub-inline{margin-left:auto}.season-player-meta .tier-badge-inline{margin-top:3px}.feed{gap:10px;display:grid}.feed-item{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:auto 1fr auto;gap:12px;padding:14px;display:grid}.feed-mark{border-radius:var(--radius);background:var(--panel-2);border:1px solid var(--line);width:38px;height:38px;font-family:var(--font-display);font-weight:var(--display-weight);color:var(--accent);place-items:center;font-size:1.25rem;display:grid}[data-theme=storybook] .feed-mark{border-radius:12px 18px 14px 20px}.feed-body .feed-title{font-weight:700}.feed-body .feed-meta{color:var(--muted);font-size:.85rem;font-family:var(--font-mono);margin-top:3px}[data-theme=storybook] .feed-body .feed-meta{font-family:var(--font-body)}.feed-summary{color:var(--ink-dim);grid-column:1/-1;margin-top:8px;font-size:.95rem}.tier-mention[data-tier=bishops]{color:var(--tier-bishops)}.tier-mention[data-tier=knights]{color:var(--tier-knights)}.feed-result{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;background:var(--pill);color:var(--pill-ink);white-space:nowrap;border-radius:999px;align-self:center;padding:6px 10px;font-size:.78rem}.badge-showcase{grid-template-columns:1fr;gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.badge-showcase-item{min-width:0}.badge-showcase-head{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.badge-showcase-head .feed-result{justify-self:end}.badge-showcase-older{margin-top:0}.badge-chip{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;min-height:100%;padding:14px;display:grid}.badge-chip-glyph{border-radius:var(--radius);background:color-mix(in oklab, var(--accent) 18%, transparent);width:42px;height:42px;color:var(--accent);place-items:center;font-size:1.4rem;line-height:1;display:grid}.badge-chip-copy{gap:2px;min-width:0;display:grid}.badge-chip-label{color:var(--ink);font-weight:800}.badge-chip-season{color:var(--ink-dim);font-size:.92rem}.badge-chip-note{color:var(--muted);font-size:.88rem}[data-theme=storybook] .badge-chip-glyph{border-radius:12px 18px 14px 20px}.badge-showcase-more{flex-direction:column-reverse;gap:12px;margin-top:12px;display:flex}.badge-showcase-more-summary{cursor:pointer;color:var(--accent);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;justify-content:center;align-items:center;gap:10px;padding:12px 14px 2px;font-size:.78rem;list-style:none;display:flex}.badge-showcase-more-summary::-webkit-details-marker{display:none}.badge-showcase-more-summary::marker{content:""}.badge-showcase-more-label-close,.badge-showcase-more[open] .badge-showcase-more-label-open{display:none}.badge-showcase-more[open] .badge-showcase-more-label-close{display:inline}[data-theme=storybook] .badge-showcase-more-summary{font-family:var(--font-body);font-weight:800}@media (max-width:359px){.badge-showcase-head{grid-template-columns:1fr;align-items:start}.badge-showcase-head .feed-result{justify-self:start}}@media (min-width:620px){.badge-showcase{grid-template-columns:repeat(2,minmax(0,1fr))}}.dash-grid{gap:20px;display:grid}@media (min-width:960px){.dash-grid{grid-template-columns:minmax(0,1.3fr) minmax(280px,.9fr);align-items:start}}.child-cards{grid-template-columns:1fr;gap:12px;display:grid}@media (min-width:560px){.child-cards{grid-template-columns:repeat(2,1fr)}}.child-card{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.season-player-card{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:14px;display:grid}.season-player-card .rank{margin-bottom:0}[data-theme=broadcast] .season-player-card[data-tier-accent=knights] .rank{color:var(--tier-knights);border-color:var(--tier-knights)}[data-theme=storybook] .season-player-card[data-tier-accent=knights] .rank{background:var(--tier-knights);color:var(--bg)}.season-player-meta{min-width:0}.child-card[data-pending=true]{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in oklab, var(--accent) 25%, transparent)}.child-card .rank{margin-bottom:10px}.child-card .name{font-size:1.2rem}.child-card .record{text-align:left;margin-top:10px;font-size:1.5rem}.form-stack{gap:26px;display:grid}.field{gap:6px;display:grid}.field-label{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:0;font-size:.75rem;line-height:1.1}fieldset.field-set{border:0;gap:26px;margin:0;padding:0;display:grid}fieldset.field-set>legend.eyebrow{margin:0;padding:0}.player-row,.player-row-extra{gap:26px;display:grid}[data-theme=storybook] .field-label{font-family:var(--font-body);color:var(--ink-dim);letter-spacing:.1em;font-weight:800}.online-account-input{grid-template-columns:minmax(0,max-content) minmax(0,1fr);align-items:stretch;display:grid}.online-account-prefix{border:1px solid var(--line-strong);border-radius:var(--radius) 0 0 var(--radius);background:color-mix(in oklab, var(--panel-2) 85%, var(--bg));min-height:48px;color:var(--muted);font-family:var(--font-mono);overflow-wrap:anywhere;border-right:0;align-items:center;padding:0 14px;font-size:.82rem;display:inline-flex}.online-account-input .input{border-radius:0 var(--radius) var(--radius) 0}.input,.select,.date{border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--panel-2);width:100%;min-height:48px;color:var(--ink);font-family:var(--font-body);padding:14px;font-size:1rem}.input:focus,.select:focus,.date:focus{outline:2px solid var(--accent);outline-offset:2px}.online-account-input:focus-within .online-account-prefix{border-color:var(--accent)}@media (max-width:640px){.online-account-input{grid-template-columns:1fr}.online-account-prefix{border-right:1px solid var(--line-strong);border-radius:var(--radius) var(--radius) 0 0;border-bottom:0}.online-account-input .input{border-radius:0 0 var(--radius) var(--radius)}}.choice-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.choice-grid-4{grid-template-columns:repeat(2,1fr)}@media (min-width:560px){.choice-grid-4{grid-template-columns:repeat(4,1fr)}}.choice{border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--panel-2);min-height:76px;color:var(--ink);cursor:pointer;text-align:center;justify-items:center;gap:6px;padding:16px 10px;font-weight:600;display:grid;position:relative}.choice input{opacity:0;pointer-events:none;position:absolute}.choice:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in oklab, var(--accent) 30%, transparent)}.choice-mark{font-family:var(--font-display);color:var(--accent);font-size:1.6rem;line-height:1}.choice-label{letter-spacing:.02em;font-size:.95rem}.opponent-list{gap:10px;display:grid}.opponent{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px;display:grid;position:relative}.opponent input{opacity:0;pointer-events:none;position:absolute}.opponent:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in oklab, var(--accent) 30%, transparent)}[data-theme=broadcast] .opponent[data-tier-accent=knights] .rank{color:var(--tier-knights);border-color:var(--tier-knights)}[data-theme=storybook] .opponent[data-tier-accent=knights] .rank{background:var(--tier-knights);color:var(--bg)}.opp-empty{border:1px dashed var(--line-strong);border-radius:var(--radius);color:var(--muted);text-align:center;padding:18px}.status{border-radius:var(--radius);border:1px solid #0000;padding:12px 14px;font-weight:600}.status-success{background:color-mix(in oklab, var(--success) 20%, transparent);color:var(--success);border-color:color-mix(in oklab, var(--success) 40%, transparent)}.status-error{background:color-mix(in oklab, var(--danger) 20%, transparent);color:var(--danger);border-color:color-mix(in oklab, var(--danger) 40%, transparent)}.admin-toast-viewport{z-index:80;pointer-events:none;gap:10px;width:min(360px,100vw - 36px);display:grid;position:fixed;top:78px;right:18px}.admin-toast{border-radius:var(--radius);border:1px solid var(--line-strong);background:color-mix(in oklab, var(--panel) 92%, black 8%);box-shadow:var(--shadow);pointer-events:auto;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:14px 16px;display:grid}.admin-toast-success{border-color:color-mix(in oklab, var(--success) 45%, transparent);background:color-mix(in oklab, var(--panel) 72%, var(--success) 28%)}.admin-toast-error{border-color:color-mix(in oklab, var(--danger) 48%, transparent);background:color-mix(in oklab, var(--panel) 72%, var(--danger) 28%)}.admin-toast-message{color:var(--ink);margin:0;font-weight:700}.admin-toast-dismiss{color:var(--ink-dim);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:0;font-size:.75rem}.admin-toast-dismiss:hover{color:var(--ink)}@media (max-width:639px){.admin-toast-viewport{width:auto;inset:auto 12px 82px}.admin-toast{grid-template-columns:1fr}}.rules-grid{grid-template-columns:1fr;gap:16px;display:grid}@media (min-width:820px){.rules-grid{grid-template-columns:1fr 1fr}}.rule-steps{counter-reset:step;gap:14px;margin:0;padding:0;list-style:none;display:grid}.rule-steps li{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);counter-increment:step;grid-template-columns:auto 1fr;gap:14px;padding:14px;display:grid}.rule-steps li:before{content:counter(step);border-radius:var(--radius);background:var(--accent);width:36px;height:36px;color:var(--accent-ink);font-family:var(--font-numeric);font-variant-numeric:tabular-nums;font-weight:var(--display-weight);place-items:center;display:grid}[data-theme=storybook] .rule-steps li:before{border-radius:14px 20px}.rule-title{margin:0 0 4px;font-weight:800}.rule-card-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.rule-card-list li{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.rule-card-list li strong{margin-bottom:3px;display:block}.login-grid{grid-template-columns:1fr;gap:18px;display:grid}@media (min-width:860px){.login-grid{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);align-items:start}}.admin-grid{grid-template-columns:1fr;gap:20px;display:grid}.admin-collapse{padding:0}.admin-collapse-summary{cursor:pointer;flex-direction:column;gap:2px;padding:16px 20px;list-style:none;display:flex}.admin-collapse-summary::-webkit-details-marker{display:none}.admin-collapse-summary::marker{content:""}.admin-collapse-summary:after{content:"▾";color:var(--ink-dim);font-size:.8rem;position:absolute;right:20px}.admin-collapse-summary{padding-right:44px;position:relative}details[open]>.admin-collapse-summary:after{content:"▴"}.admin-collapse-body{border-top:1px solid var(--line);gap:16px;padding:16px 20px 20px;display:grid}.household-roster-embed{border-top:1px solid var(--line);margin-top:16px}.household-roster-embed .admin-collapse-summary{padding:16px 0 0}.household-roster-embed .admin-collapse-summary:after{right:0}.household-roster-embed .admin-collapse-body{padding:16px 0 0}.household-roster-summary-copy{max-width:34rem}.roster-list{gap:10px;display:grid}.roster-row{padding:0}.roster-row>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;list-style:none;display:flex}.roster-row>summary::-webkit-details-marker{display:none}.roster-row>summary::marker{content:""}.roster-row>summary:after{content:"▾";color:var(--ink-dim);font-size:.8rem}.roster-row[open]>summary:after{content:"▴"}.roster-row[open]>summary{border-bottom:1px solid var(--line)}.roster-row-title{flex-wrap:wrap;flex:1;align-items:center;gap:10px;min-width:0;font-weight:700;display:flex}.roster-row-body{gap:14px;padding:14px 16px 16px;display:grid}.role-chip{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.7rem}.admin-match-details{padding:0}.admin-match-summary{cursor:pointer;flex-direction:column;gap:2px;padding:12px 36px 12px 16px;list-style:none;display:flex;position:relative}.admin-match-summary::-webkit-details-marker{display:none}.admin-match-summary::marker{content:""}.admin-match-summary:after{content:"▾";color:var(--ink-dim);font-size:.8rem;position:absolute;right:16px}details[open]>.admin-match-summary:after{content:"▴"}.admin-match-body{border-top:1px solid var(--line);gap:12px;padding:12px 16px 16px;display:grid}.admin-match-danger{justify-content:flex-end;display:flex}.admin-form-grid{grid-template-columns:1fr;gap:14px;display:grid}@media (min-width:640px){.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-action-row,.admin-match-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.demo-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.demo-list li{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);font-family:var(--font-mono);padding:10px 12px;font-size:.92rem}kbd{background:var(--panel-2);border:1px solid var(--line-strong);font-family:var(--font-mono);border-bottom-width:2px;border-radius:4px;padding:2px 6px;font-size:.85em;display:inline-block}@media (max-width:559px){.hero{padding:22px 18px}.panel{padding:16px}.tier{padding:14px}.ladder-row{grid-template-columns:auto 1fr auto;gap:10px;padding:10px}.rank{min-width:40px;height:40px}.feed-item{padding:12px}}[data-theme=broadcast] .sub{letter-spacing:.04em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
