@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@500;700&display=swap";:root{--brand-1:var(--tl-brand-1,#121a12);--brand-2:color-mix(in srgb, var(--brand-1) 82%, var(--primary));--on-brand:#f4f6f0;--primary:var(--sport-accent,#a8c66c);--on-primary:var(--sport-ink,#141a0a);--link:var(--sport-text,#4a6814);--focus:var(--sport-text,#4a6814);--pop:var(--sport-accent,#a8c66c);--pop-ink:var(--sport-ink,#141a0a);--live:#d0362a;--on-live:#fff;--gold:#e0a52c;--silver:#aab3bf;--bg:var(--tl-bg,#f4f6f0);--bg-tint:var(--tl-bg-tint,#e6ecdc);--surface:var(--tl-surface,#fff);--surface-2:var(--tl-surface-2,#eef2ea);--surface-3:var(--tl-surface-3,#e1e7dc);--border:var(--tl-border,#dde3d8);--border-strong:var(--tl-border-strong,#c5cdbf);--text:#0e140f;--text-dim:#556052;--text-faint:#7b8677;--grid-line:#0e140f0b;--glass-bg:color-mix(in srgb, var(--surface) 72%, transparent);--glass-border:#0e140f1a;--good:#17824f;--good-bg:#e2f3e8;--warn:#8a5f00;--warn-bg:#fbf0d6;--bad:#c0262b;--bad-bg:#fbe8e8;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans Tamil", "Noto Sans Devanagari", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--r-sm:6px;--r:10px;--r-lg:14px;--tally-host:#17915a;--tally-host-bg:#e4f6ec;--tally-play:#1b6fd4;--tally-play-bg:#e5effc;--tap:48px;--ease-out:cubic-bezier(.22, 1, .36, 1);--shadow-1:0 1px 2px #0e140f0d, 0 1px 3px #0e140f0a;--shadow-2:0 8px 24px #0e140f14, 0 2px 6px #0e140f0a;--shadow-brand:0 10px 30px color-mix(in srgb, var(--pop) 30%, transparent);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--brand-1:var(--td-brand-1,#e2e8f0);--brand-2:color-mix(in srgb, var(--brand-1) 80%, var(--primary));--on-brand:#0f172a;--primary:var(--sport-accent,#a8c66c);--on-primary:var(--sport-ink,#141a0a);--link:var(--sport-accent,#a8c66c);--focus:var(--sport-accent,#a8c66c);--live:#ff6b5c;--on-live:#1a0503;--bg:var(--td-bg,#020617);--bg-tint:var(--td-bg-tint,#0b1430);--surface:var(--td-surface,#0f172a);--surface-2:var(--td-surface-2,#172036);--surface-3:var(--td-surface-3,#1e293b);--border:var(--td-border,#1c2539);--border-strong:var(--td-border-strong,#334155);--text:#f8fafc;--text-dim:#94a3b8;--text-faint:#64748b;--grid-line:#94a3b80f;--glass-bg:color-mix(in srgb, var(--surface) 62%, transparent);--glass-border:#94a3b829;--good:#3ecf8e;--good-bg:#0f2b23;--warn:#e9b949;--warn-bg:#2e240c;--bad:#ff6b6b;--bad-bg:#331820;--tally-host:#3ecf8e;--tally-host-bg:#123026;--tally-play:#6aa9ff;--tally-play-bg:#11233d;--shadow-1:0 1px 2px #00000080;--shadow-2:0 10px 30px #00000073;--shadow-brand:0 10px 30px color-mix(in srgb, var(--pop) 10%, transparent);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--brand-1:var(--td-brand-1,#e2e8f0);--brand-2:color-mix(in srgb, var(--brand-1) 80%, var(--primary));--on-brand:#0f172a;--primary:var(--sport-accent,#a8c66c);--on-primary:var(--sport-ink,#141a0a);--link:var(--sport-accent,#a8c66c);--focus:var(--sport-accent,#a8c66c);--live:#ff6b5c;--on-live:#1a0503;--bg:var(--td-bg,#020617);--bg-tint:var(--td-bg-tint,#0b1430);--surface:var(--td-surface,#0f172a);--surface-2:var(--td-surface-2,#172036);--surface-3:var(--td-surface-3,#1e293b);--border:var(--td-border,#1c2539);--border-strong:var(--td-border-strong,#334155);--text:#f8fafc;--text-dim:#94a3b8;--text-faint:#64748b;--grid-line:#94a3b80f;--glass-bg:color-mix(in srgb, var(--surface) 62%, transparent);--glass-border:#94a3b829;--good:#3ecf8e;--good-bg:#0f2b23;--warn:#e9b949;--warn-bg:#2e240c;--bad:#ff6b6b;--bad-bg:#331820;--shadow-1:0 1px 2px #00000080;--shadow-2:0 10px 30px #00000073;--shadow-brand:0 10px 30px color-mix(in srgb, var(--pop) 10%, transparent);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--tally-host:#3ecf8e;--tally-host-bg:#123026;--tally-play:#6aa9ff;--tally-play-bg:#11233d}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-feature-settings:"cv11", "ss01";-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}body:before{content:"";background:radial-gradient(90% 60% at 50% -10%, var(--bg-tint) 0%, transparent 70%), linear-gradient(var(--grid-line) 1px, transparent 1px) 0 0 / 40px 40px, linear-gradient(90deg, var(--grid-line) 1px, transparent 1px) 0 0 / 40px 40px;pointer-events:none;z-index:0;position:fixed;inset:0}.app{z-index:1;max-width:720px;margin:0 auto;padding:0 16px 120px;position:relative}h1,h2,h3{letter-spacing:-.02em;margin:0 0 8px;font-weight:800;line-height:1.2}h1{font-size:1.6rem}h2{font-size:1.2rem}h3{font-size:.95rem;font-weight:700}p{margin:0 0 12px}a{color:var(--link);font-weight:600}.muted{color:var(--text-dim);font-size:.875rem}.faint{color:var(--text-faint)}.eyebrow{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);font-size:.6875rem;font-weight:700}.topbar{z-index:20;background:linear-gradient(to bottom, var(--bg) 70%, transparent);align-items:center;gap:12px;padding:14px 0 12px;display:flex;position:sticky;top:0}.topbar h1{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:1.15rem;overflow:hidden}.iconbtn{width:var(--tap);height:var(--tap);min-height:var(--tap);background:var(--surface);border:1px solid var(--border);color:var(--text);box-shadow:var(--shadow-1);border-radius:13px;flex:none;place-items:center;padding:0;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-1);margin:14px 0;padding:18px;position:relative}.card.tight{padding:12px 14px}.card>h2:first-child,.card>h3:first-child{margin-top:0}.hero{border-radius:var(--r-lg);background:linear-gradient(135deg, var(--brand-1), var(--brand-2));color:var(--on-brand);box-shadow:var(--shadow-brand);margin:8px 0 18px;padding:26px 22px;position:relative;overflow:hidden}.hero:after{content:"";background:color-mix(in srgb, var(--on-brand) 10%, transparent);border-radius:50%;width:180px;height:180px;position:absolute;top:-40px;right:-40px}.hero h1{margin-bottom:6px;font-size:1.85rem}.hero p{opacity:.9;max-width:34ch;margin:0;font-size:.9375rem}.hero .mark{background:var(--pop);width:46px;height:46px;color:var(--pop-ink);border-radius:14px;place-items:center;margin-bottom:14px;display:grid}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.spread{justify-content:space-between}.grow{flex:1;min-width:0}.stack>*+*{margin-top:12px}label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin-bottom:8px;font-size:.6875rem;font-weight:700;display:block}input,select,textarea{width:100%;min-height:var(--tap);font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:12px 14px;font-weight:500;transition:border-color .15s,background .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:var(--text-faint)}input:focus,select:focus,textarea:focus{border-color:var(--focus);background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 22%, transparent);outline:none}textarea{resize:vertical;min-height:80px}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.field{margin-bottom:14px}.field:last-child{margin-bottom:0}.fieldhint,.fielderror{margin:6px 0 0;font-size:.8125rem;line-height:1.4}.fieldhint{color:var(--text-dim)}.fielderror{color:var(--bad);font-weight:600}.field.invalid input{border-color:var(--bad);box-shadow:0 0 0 3px var(--bad-bg)}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.prefixed{position:relative}.prefixed span{color:var(--text-faint);pointer-events:none;font-weight:600;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.prefixed input{padding-left:30px}button{min-height:var(--tap);font:inherit;letter-spacing:.01em;color:var(--text);background:var(--surface-2);border-radius:var(--r-sm);cursor:pointer;transition:transform .12s var(--ease-out), background .15s, box-shadow .2s, border-color .15s;border:1px solid #0000;padding:12px 18px;font-weight:700}button:active:not(:disabled){transform:scale(.97)}button:hover:not(:disabled){border-color:var(--border-strong)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-brand);text-transform:uppercase;letter-spacing:.06em;font-weight:800}button.primary:hover:not(:disabled){box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 30%, transparent), var(--shadow-brand)}button.pop{background:var(--pop);color:var(--pop-ink)}button.danger{color:var(--bad)}button.ghost{border-color:var(--border);background:0 0}button.bare{min-height:var(--tap);background:0 0;border:0;padding:0}button.xbtn{min-width:var(--tap);min-height:var(--tap);color:var(--bad);background:0 0;border:0;flex:none;padding:0;font-size:1.05rem}button.full{width:100%}button.sm{min-height:var(--tap);padding:8px 14px;font-size:.875rem}a.button{min-height:var(--tap);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:.875rem;font-weight:700;text-decoration:none;display:inline-flex}a.button:hover{border-color:var(--border-strong)}.venuemap{gap:10px;margin-top:12px;display:grid}.venuemap .button{justify-self:start}button.iconlabel{justify-content:center;align-items:center;gap:6px;display:inline-flex}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{min-height:var(--tap);min-width:var(--tap);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-dim);border:1.5px solid #0000;padding:9px 16px;font-size:.9375rem;font-weight:700}.chip[aria-pressed=true]{background:var(--brand-1);border-color:var(--brand-1);color:var(--on-brand);box-shadow:var(--shadow-1)}.optioncard{text-align:left;border-radius:var(--r);background:var(--surface-2);border:1.5px solid #0000;width:100%;min-height:0;padding:14px 16px;font-weight:500;display:block}.optioncard[aria-pressed=true]{border-color:var(--brand-1);background:var(--surface);box-shadow:var(--shadow-2)}.badge{letter-spacing:.03em;text-transform:uppercase;background:var(--surface-3);color:var(--text-dim);border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:.6875rem;font-weight:800;display:inline-flex}.badge.live{background:var(--live);color:var(--on-live)}.badge.done{background:var(--good-bg);color:var(--good)}.badge.pop{background:var(--pop);color:var(--pop-ink)}.badge.bad{background:var(--bad-bg);color:var(--bad)}.courtchip{background:var(--surface-2);width:34px;height:34px;color:var(--text-dim);border-radius:11px;flex:none;place-items:center;font-size:.75rem;font-weight:800;display:grid}.rank{background:var(--surface-3);width:26px;height:26px;color:var(--text-dim);border-radius:9px;place-items:center;font-size:.8125rem;font-weight:800;display:grid}.rank.one{background:var(--gold);color:#3a2a00}.rank.two{background:var(--silver);color:#23272e}.notice{border-radius:var(--r-sm);background:var(--warn-bg);color:var(--warn);gap:10px;margin:14px 0;padding:12px 14px;font-size:.9375rem;font-weight:600;display:flex}.notice.bad{background:var(--bad-bg);color:var(--bad)}.notice.good{background:var(--good-bg);color:var(--good)}.notice p{margin:0}.stats{grid-template-columns:repeat(auto-fit,minmax(126px,1fr));gap:10px;display:grid}.stat{border-radius:var(--r);background:var(--surface-2);padding:14px}.stat .k{letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);margin-bottom:4px;font-size:.6875rem;font-weight:800}.stat .v{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:800}.stat.hilite{background:linear-gradient(135deg, var(--brand-1), var(--brand-2));color:var(--on-brand)}.stat.hilite .k{color:color-mix(in srgb, var(--on-brand) 75%, transparent)}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.9375rem}th,td{text-align:right;border-bottom:1px solid var(--border);padding:10px 5px}tbody tr:last-child td{border-bottom:0}th:first-child,td:first-child{text-align:left;padding-left:0}th{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-size:.6875rem;font-weight:800}tr.qualified td{background:color-mix(in srgb, var(--good-bg) 75%, transparent)}tr.qualified td:first-child{box-shadow:inset 3px 0 0 var(--good)}.matchrow{border:0;border-bottom:1px solid var(--border);text-align:left;background:0 0;border-radius:0;align-items:center;gap:12px;width:100%;min-height:0;padding:12px 0;font-weight:500;display:flex}.matchrow:last-child{border-bottom:0}.matchrow:active:not(:disabled){background:var(--surface-2);transform:none}.matchrow .teams{flex:1;min-width:0;font-size:.9375rem}.matchrow .vs{color:var(--text-faint);padding:0 2px;font-weight:600}.matchrow .meta{color:var(--text-faint);margin-top:2px;font-size:.75rem;font-weight:500;display:block}.matchrow .score{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1rem;font-weight:800}.winner{font-weight:800}.loser{color:var(--text-faint)}.scorepad{grid-template-columns:1fr 1fr;gap:12px;margin-top:4px;display:grid}.scoreside{border-radius:var(--r-lg);background:var(--surface);border:1.5px solid var(--border);box-shadow:var(--shadow-1);text-align:center;flex-direction:column;display:flex;overflow:hidden}.scoreside.leading{border-color:var(--brand-1)}.scoreside .head{padding:14px 12px 6px}.scoreside .name{letter-spacing:-.01em;justify-content:center;align-items:center;min-height:2.4em;font-size:1rem;font-weight:800;display:flex}.scoreside .players{color:var(--text-faint);min-height:1.2em;font-size:.75rem}.tapzone{background:0 0;border:0;border-radius:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;width:100%;min-height:max(190px,34vh);padding:4px 0 18px;display:flex}.tapzone:active:not(:disabled){background:var(--surface-2);transform:none}.tapzone:disabled{opacity:1;cursor:default}.tapzone:disabled .taphint{opacity:.6}.scoreside.won{border-color:var(--good)}.scoreside.won .bignum{color:var(--good)}.scoreside.lost .bignum{color:var(--text-faint)}.bignum{font-variant-numeric:tabular-nums;letter-spacing:-.04em;font-size:4.8rem;font-weight:800;line-height:1}.taphint{letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);font-size:.6875rem;font-weight:700}.matchpoint{color:var(--live);letter-spacing:.05em;text-transform:uppercase;min-height:1.1em;font-size:.75rem;font-weight:800}.scoreside .undo{border-top:1px solid var(--border);color:var(--text-dim);background:0 0;border-radius:0;min-height:44px;font-size:.875rem}.gamepills{justify-content:center;gap:8px;display:flex}.gamepill{background:var(--surface-2);font-variant-numeric:tabular-nums;color:var(--text-dim);border-radius:999px;padding:6px 12px;font-size:.875rem;font-weight:700}.gamepill.current{background:var(--brand-1);color:var(--on-brand)}.champion{text-align:center;border-radius:var(--r-lg);background:linear-gradient(135deg, var(--brand-1), var(--brand-2));color:var(--on-brand);box-shadow:var(--shadow-brand);margin:14px 0;padding:30px 20px}.champion .cup{background:var(--pop);width:62px;height:62px;color:var(--pop-ink);border-radius:20px;place-items:center;margin:0 auto 12px;display:grid}.champion h2{margin-bottom:2px;font-size:1.7rem}.bottomnav{z-index:30;background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);position:fixed;bottom:0;left:0;right:0}.bottomnav .inner{max-width:720px;margin:0 auto;position:relative}.bottomnav .tabs{display:flex}.bottomnav .half{flex:1;grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.bottomnav .homeslot{flex:0 0 76px}.bottomnav button.navhome{background:var(--primary);width:60px;height:60px;min-height:60px;color:var(--on-primary);box-shadow:0 10px 26px color-mix(in srgb, var(--primary) 35%, transparent), 0 0 0 5px var(--bg);border-radius:18px;justify-content:center;margin:-22px 0 0 -30px;padding:0;position:absolute;top:0;left:50%}.bottomnav button.navhome:active{transform:scale(.94)}.bottomnav button{min-height:58px;color:var(--text-faint);letter-spacing:-.01em;background:0 0;border:0;border-radius:0;flex-direction:column;align-items:center;gap:3px;padding:9px 0 7px;font-size:.625rem;font-weight:700;display:flex}.bottomnav button[aria-selected=true]{color:var(--text)}.bottomnav .tabtile{isolation:isolate;background:color-mix(in srgb, var(--text) 5%, transparent);width:44px;height:34px;transition:color .25s var(--ease-out);border-radius:12px;place-items:center;display:grid;position:relative}.bottomnav button[aria-selected=true] .tabtile{color:var(--on-primary)}.bottomnav button:active{transform:none}.footerbar{z-index:30;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);position:fixed;bottom:0;left:0;right:0}.footerbar .inner{max-width:720px;margin:0 auto}.statusdot{color:var(--text-faint);align-items:center;gap:5px;font-size:.6875rem;font-weight:700;display:inline-flex}.swtoast{left:12px;right:12px;bottom:calc(70px + env(safe-area-inset-bottom));z-index:40;border-radius:var(--r);background:var(--surface-3);max-width:696px;color:var(--text);box-shadow:var(--shadow-2);align-items:center;gap:8px;margin:0 auto;padding:10px 12px;font-size:.875rem;font-weight:600;display:flex;position:fixed}.betatag{letter-spacing:.05em;text-transform:uppercase;background:#fff3;border-radius:999px;margin-top:14px;padding:4px 11px;font-size:.6875rem;font-weight:800;display:inline-block}.linkbox{border-radius:var(--r-sm);background:var(--surface-2);word-break:break-all;color:var(--text-dim);padding:12px 14px;font-size:.875rem;font-weight:600}.namelist li{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:9px 0;font-weight:600;display:flex}.namelist li:last-child{border-bottom:0}.rsvpbuttons{grid-template-columns:1fr 1fr;gap:10px;display:grid}.rsvpbuttons button{justify-content:center;align-items:center;gap:8px;min-height:54px;display:flex}.wizardbar{z-index:20;background:linear-gradient(to bottom, var(--bg) 72%, transparent);padding:14px 0 12px;position:sticky;top:0}.wizardbar .top{align-items:center;gap:12px;display:flex}.wizardbar .count{letter-spacing:.04em;color:var(--text-faint);text-transform:uppercase;font-size:.75rem;font-weight:800}.progress{gap:4px;margin-top:12px;display:flex}.progress span{background:var(--surface-3);border-radius:99px;flex:1;height:4px}.progress span.done{background:var(--brand-1)}.progress span.current{background:linear-gradient(90deg, var(--brand-1), var(--brand-2))}.steptitle{margin:4px 0 2px;font-size:1.5rem}.stepsub{color:var(--text-dim);margin-bottom:4px;font-size:.9375rem}.wizardnav{gap:10px;display:flex}.wizardnav .next{flex:1}.qrcard{text-align:center}.qrcanvas{width:min(320px,100vw - 80px);height:auto;image-rendering:pixelated;background:#fff;border-radius:12px;margin:0 auto;padding:8px;display:block}.qrplaceholder{aspect-ratio:1;color:#555;place-items:center;font-size:.875rem;display:grid}.scanframe{border-radius:var(--r-lg);aspect-ratio:3/4;background:#000;margin:12px 0;position:relative;overflow:hidden}.scanframe video{object-fit:cover;width:100%;height:100%;display:block}.scanreticle{border:3px solid var(--pop);pointer-events:none;border-radius:18px;position:absolute;inset:16% 12%;box-shadow:0 0 0 100vmax #00000059}.list-reset{margin:0;padding:0;list-style:none}.cardhead{align-items:center;gap:10px;margin-bottom:14px;display:flex}.cardhead .ic{background:var(--bg-tint);width:34px;height:34px;color:var(--brand-1);border-radius:11px;flex:none;place-items:center;display:grid}.cardhead h2{margin:0}.empty{text-align:center;color:var(--text-dim);padding:30px 16px}.empty .ic{background:var(--surface-2);width:56px;height:56px;color:var(--text-faint);border-radius:18px;place-items:center;margin:0 auto 12px;display:grid}@media (width>=560px){.field-row.three{grid-template-columns:repeat(3,1fr)}.bignum{font-size:5.5rem}}@media (prefers-reduced-motion:reduce){*{transition:none!important}button:active:not(:disabled){transform:none}}.slotrow{border-radius:var(--r-sm);background:var(--surface-2);align-items:center;gap:10px;padding:12px;display:flex}.slotrow .meta{color:var(--text-dim);margin-top:3px;font-size:.8125rem;display:block}.courttime{align-items:center;gap:8px;display:flex}.courttime input{flex:1;min-width:0}.framedots{justify-content:center;gap:6px;margin-top:12px;display:flex}.framedots span{background:var(--border-strong);border-radius:50%;width:7px;height:7px;transition:background .2s}.framedots span.on{background:var(--brand-1)}.listingcard{text-align:left;width:100%;min-height:0;font-weight:500;display:block}.listingcard .meta{color:var(--text-dim);margin-top:3px;font-size:.8125rem;display:block}:root{--court-1:#5b57f2;--court-2:#0f766e;--court-3:#b45309;--court-4:#be185d;--court-5:#15803d;--on-court:#fff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--court-1:#7b78ff;--court-2:#2dd4bf;--court-3:#fbbf24;--court-4:#f472b6;--court-5:#4ade80;--on-court:#0b0f0a}}:root[data-theme=dark]{--court-1:#7b78ff;--court-2:#2dd4bf;--court-3:#fbbf24;--court-4:#f472b6;--court-5:#4ade80;--on-court:#0b0f0a}.c1{--court:var(--court-1);--court-ink:var(--on-court)}.c2{--court:var(--court-2);--court-ink:var(--on-court)}.c3{--court:var(--court-3);--court-ink:var(--on-court)}.c4{--court:var(--court-4);--court-ink:var(--on-court)}.c5{--court:var(--court-5);--court-ink:var(--on-court)}.courtchip.c1,.courtchip.c2,.courtchip.c3,.courtchip.c4,.courtchip.c5{background:color-mix(in srgb, var(--court) 16%, transparent);color:var(--court)}.matchcard{border:1px solid var(--border);border-left:4px solid var(--court,var(--brand-1));border-radius:var(--r);background:var(--surface);text-align:left;width:100%;margin-bottom:10px;padding:14px 16px;display:block}.matchcard:last-child{margin-bottom:0}.matchcard .head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.matchcard .court{letter-spacing:.06em;text-transform:uppercase;color:var(--court,var(--brand-1));font-size:.6875rem;font-weight:800}.matchcard .sides{grid-template-columns:1fr auto;align-items:center;gap:4px 12px;display:grid}.matchcard .side{letter-spacing:-.01em;font-size:1.0625rem;font-weight:700}.matchcard .pts{font-variant-numeric:tabular-nums;text-align:right;font-size:1.5rem;font-weight:800;line-height:1}.matchcard .pts.dim{color:var(--text-faint);font-weight:700}.matchcard .go{border-radius:var(--r-sm);background:var(--court,var(--brand-1));width:100%;min-height:46px;color:var(--court-ink,var(--on-brand));margin-top:12px;font-weight:700}.matchlist[data-density=roomy] .matchrow{padding:14px 0}.matchlist[data-density=normal] .matchrow{padding:10px 0}.matchlist[data-density=tight] .matchrow{padding:6px 0}.matchlist[data-density=tight] .matchrow .meta{display:none}.matchlist[data-density=tight] .courtchip{border-radius:9px;width:28px;height:28px;font-size:.6875rem}.glance{grid-template-columns:repeat(auto-fit,minmax(74px,1fr));gap:8px;margin:14px 0;display:grid}.glance div{border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--border);min-width:0;padding:10px 11px}.glance .k{letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);font-size:.625rem;font-weight:800}.glance .v{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:1.05rem;font-weight:800;overflow:hidden}@keyframes pointScored{0%{transform:scale(1)}40%{transform:scale(1.14)}to{transform:scale(1)}}.bignum{animation:.26s ease-out pointScored}@keyframes rowSettle{0%{background:color-mix(in srgb, var(--brand-1) 22%, transparent)}to{background:0 0}}tr.moved td{animation:1.1s ease-out rowSettle}@keyframes doneFlash{0%{background:color-mix(in srgb, var(--good) 20%, transparent)}to{background:0 0}}.matchrow.justdone,.matchcard.justdone{animation:1.2s ease-out doneFlash}@media (prefers-reduced-motion:reduce){.bignum,tr.moved td,.matchrow.justdone,.matchcard.justdone{animation:none}}.skiplink{z-index:1000;background:var(--surface,#fff);color:var(--text,#111);border-radius:10px;padding:10px 14px;font-weight:700;position:absolute;top:-60px;left:12px;box-shadow:0 4px 18px #00000040}.skiplink:focus{top:12px}abbr[title]{cursor:help;text-decoration:none}.appbar{z-index:30;padding:max(10px, env(safe-area-inset-top)) 16px 10px;background:color-mix(in srgb, var(--bg) 70%, transparent);-webkit-backdrop-filter:saturate(160%)blur(14px);border-bottom:1px solid color-mix(in srgb, var(--border) 60%, transparent);align-items:center;gap:10px;margin:0 -16px;display:flex;position:sticky;top:0}.appbar .brandlink{min-height:var(--tap);color:var(--text);letter-spacing:-.01em;text-transform:uppercase;align-items:center;gap:10px;font-size:.95rem;font-weight:900;text-decoration:none;display:flex}.appbar .spacer{flex:1}.controls{align-items:center;gap:8px;display:flex}.ctrl{min-width:var(--tap);min-height:var(--tap);background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text);-webkit-backdrop-filter:blur(10px);font-family:var(--font-mono);letter-spacing:.08em;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:.75rem;font-weight:700;display:inline-flex}.ctrl.round{width:var(--tap);padding:0}.ctrl:hover:not(:disabled){border-color:var(--border-strong)}.ctrl .swap{animation:iconSwap .35s var(--ease-out);place-items:center;display:grid}@keyframes iconSwap{0%{opacity:0;transform:rotate(-90deg)scale(.6)}to{opacity:1;transform:none}}.menuwrap{position:relative}.menu{z-index:50;border-radius:var(--r);background:var(--surface);border:1px solid var(--border);min-width:200px;box-shadow:var(--shadow-2);transform-origin:100% 0;animation:menuIn .16s var(--ease-out);padding:6px;position:absolute;top:calc(100% + 8px);right:0}@keyframes menuIn{0%{opacity:0;transform:translateY(-4px)scale(.97)}to{opacity:1;transform:none}}.menu [role=menuitemradio],.menu [role=menuitem]{border-radius:var(--r-sm);text-align:left;letter-spacing:0;background:0 0;border:0;align-items:center;gap:10px;width:100%;min-height:44px;padding:8px 12px;font-weight:600;display:flex}.menu [role=menuitemradio]:hover,.menu [role=menuitemradio]:focus-visible,.menu [role=menuitem]:hover,.menu [role=menuitem]:focus-visible{background:var(--surface-2);outline:none}.menu [role=menuitemradio] .tick{color:var(--link);visibility:hidden;margin-left:auto}.menu [role=menuitemradio][aria-checked=true] .tick{visibility:visible}.menu .menulabel{padding:8px 12px 4px}.accountmenu{min-width:240px}.menu .menuwho{border-bottom:1px solid var(--border);overflow-wrap:anywhere;gap:2px;margin-bottom:4px;padding:10px 12px 12px;display:grid}.menu [role=menuitem].danger{color:var(--bad)}.brandmark{border-radius:var(--r-sm);background:var(--brand-1);width:40px;height:40px;color:var(--on-brand);box-shadow:0 0 0 1px color-mix(in srgb, var(--brand-1) 20%, transparent), 0 8px 24px color-mix(in srgb, var(--pop) 18%, transparent);flex:none;place-items:center;display:grid;position:relative}.brandmark.lg{border-radius:var(--r);width:56px;height:56px}.brandmark.xl{border-radius:18px;width:84px;height:84px}.brandmark.loading svg{animation:shuttleBob 1.1s var(--ease-out) infinite alternate}.brandmark.loading:after{content:"";border-radius:inherit;background:conic-gradient(from 0deg, var(--pop) 0 25%, transparent 25% 100%);-webkit-mask-composite:xor;padding:2px;animation:1s linear infinite ringSpin;position:absolute;inset:-5px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@keyframes shuttleBob{0%{transform:translateY(2px)rotate(-8deg)}to{transform:translateY(-3px)rotate(8deg)}}@keyframes ringSpin{to{transform:rotate(360deg)}}.splash{z-index:100;background:var(--bg);align-content:center;place-items:center;gap:18px;animation:.2s ease-out fadeIn;display:grid;position:fixed;inset:0}.splash .splashline{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);font-size:.6875rem;font-weight:700}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.rise{animation:rise .45s var(--ease-out) both}.rise-1{animation-delay:50ms}.rise-2{animation-delay:.1s}.rise-3{animation-delay:.15s}.rise-4{animation-delay:.2s}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.stagger>*{animation:rise .4s var(--ease-out) both}.stagger>:first-child{animation-delay:20ms}.stagger>:nth-child(2){animation-delay:60ms}.stagger>:nth-child(3){animation-delay:.1s}.stagger>:nth-child(4){animation-delay:.14s}.stagger>:nth-child(5){animation-delay:.18s}.stagger>:nth-child(n+6){animation-delay:.22s}.skeleton{border-radius:var(--r-sm);background:linear-gradient(90deg, var(--surface-2) 0%, var(--surface-3) 50%, var(--surface-2) 100%) 0 0 / 200% 100%;animation:1.2s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.glassnav{left:50%;bottom:max(14px, env(safe-area-inset-bottom));z-index:40;background:var(--glass-bg);border:1px solid var(--glass-border);width:min(420px,100% - 24px);box-shadow:var(--shadow-2), inset 0 1px 0 #ffffff2e;-webkit-backdrop-filter:saturate(180%)blur(20px);animation:navIn .5s var(--ease-out) both;border-radius:22px;grid-template-columns:repeat(4,1fr);align-items:end;padding:6px;display:grid;position:fixed;transform:translate(-50%)}@keyframes navIn{0%{opacity:0;transform:translate(-50%,24px)}to{opacity:1;transform:translate(-50%)}}.glassnav a{min-height:56px;color:var(--text-dim);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:6px 2px;font-size:.625rem;font-weight:700;text-decoration:none;transition:color .2s,background .2s;display:flex;position:relative}.glassnav a:hover,.glassnav a[aria-current=page]{color:var(--text)}.glassnav a,.bottomnav button{isolation:isolate;position:relative}.navpill{z-index:-1;border-radius:var(--r);background:color-mix(in srgb, var(--primary) 22%, transparent);position:absolute;inset:4px}.tabpill{z-index:-1;border-radius:inherit;background:var(--primary);box-shadow:0 6px 16px color-mix(in srgb, var(--primary) 35%, transparent);position:absolute;inset:0}.glassnav a[aria-current=page]:after{content:"";background:var(--pop);border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px}.glassnav a.home{background:var(--primary);width:64px;height:64px;min-height:64px;color:var(--on-primary);box-shadow:0 10px 26px color-mix(in srgb, var(--primary) 35%, transparent), 0 0 0 6px var(--bg);border-radius:20px;place-self:center;margin-top:-26px}.glassnav a.home[aria-current=page]{background:var(--pop);color:var(--pop-ink)}.glassnav a.home[aria-current=page]:after{display:none}.visually-hidden,.glassnav a.home .label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app.withnav{padding-bottom:calc(120px + env(safe-area-inset-bottom))}.display{letter-spacing:-.03em;text-transform:uppercase;margin:10px 0 12px;font-size:clamp(2.2rem,9vw,3.4rem);font-weight:900;line-height:.95}.lede{color:var(--text-dim);max-width:38ch;font-size:1rem}.sectionhead{justify-content:space-between;align-items:baseline;gap:12px;margin:26px 0 8px;display:flex}.sectionhead h2{margin:0;font-size:1.15rem}.mono{font-family:var(--font-mono);letter-spacing:.04em}.rule{background:var(--border);border:0;height:1px;margin:22px 0}.divider{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);align-items:center;gap:12px;margin:16px 0;font-size:.6875rem;font-weight:700;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.authpage{z-index:1;max-width:460px;min-height:100dvh;margin:0 auto;padding:0 20px 40px;position:relative}.authpage .topcontrols{padding-top:max(16px, env(safe-area-inset-top));justify-content:flex-end;display:flex}.authpage form>button.primary,.authpage .wide{width:100%;min-height:54px}.googlebtn{background:var(--surface);border:1px solid var(--border);width:100%;min-height:54px;color:var(--text);justify-content:center;align-items:center;gap:10px;display:flex}.passwrap{position:relative}.passwrap input{padding-right:56px}.passwrap .peek{width:var(--tap);min-height:var(--tap);color:var(--text-dim);background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.statusstrip{border-top:1px solid var(--border);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);justify-content:space-between;gap:12px;margin-top:28px;padding-top:16px;font-size:.625rem;font-weight:700;display:flex}.greeting h1{margin:6px 0 4px;font-size:1.75rem;font-weight:800}.tiles{grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0;display:grid}.tile{border-radius:var(--r);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-1);padding:14px}.tile .v{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:800;display:block}.tile.pop{background:var(--pop);color:var(--pop-ink);border-color:#0000}.tile.pop .eyebrow{color:color-mix(in srgb, var(--pop-ink) 70%, transparent)}.tile{transition:transform .18s var(--ease-out), box-shadow .18s;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;position:relative}.tile.zoomed{z-index:1;box-shadow:var(--shadow-2);transform:scale(1.08)}.tcard{text-align:left;border-radius:var(--r);background:var(--surface);border:1px solid var(--border);width:100%;box-shadow:var(--shadow-1);letter-spacing:0;transition:transform .2s var(--ease-out), box-shadow .2s, border-color .2s;align-items:center;gap:14px;margin:10px 0;padding:14px 16px;font-weight:500;display:flex}.tcard:hover{box-shadow:var(--shadow-2);border-color:var(--border-strong);transform:translateY(-1px)}.tcard .date,.trowmain .date{border-radius:var(--r-sm);background:var(--surface-2);width:52px;min-height:52px;font-family:var(--font-mono);text-transform:uppercase;flex:none;place-items:center;line-height:1.1;display:grid}.tcard .date b,.trowmain .date b{font-family:var(--font-sans);font-size:1.25rem;font-weight:800}.tcard .date small,.trowmain .date small{letter-spacing:.1em;color:var(--text-dim);font-size:.625rem}.avatar{background:var(--surface-3);width:44px;height:44px;color:var(--text);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.profilelink{cursor:pointer;width:var(--tap);height:var(--tap);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;text-decoration:none;display:grid}.profilelink .avatar{width:36px;height:36px;box-shadow:0 0 0 2px var(--bg), 0 0 0 3px var(--border-strong);transition:transform .2s var(--ease-out);font-size:.9rem}.profilelink:hover .avatar,.profilelink:active .avatar{transform:scale(1.08)}.wizardbar .spacer{flex:1}.avatar.lg{width:88px;height:88px;font-size:1.8rem}.avatarpick{align-items:center;gap:16px;display:flex}.plans{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.plan{text-align:left;border-radius:var(--r);background:var(--surface);border:1px solid var(--border);min-height:132px;box-shadow:var(--shadow-1);letter-spacing:0;flex-direction:column;align-items:flex-start;gap:4px;padding:16px;font-weight:500;display:flex}.plan[aria-pressed=true]{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 22%, transparent), var(--shadow-2)}.plan .price{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:800}.plan .what{color:var(--text-dim);font-size:.875rem}.orderrow{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.orderrow:first-child{border-top:0}.status{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;background:var(--surface-2);color:var(--text-dim);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:.625rem;font-weight:700;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.status.ok{background:var(--good-bg);color:var(--good)}.status.warn{background:var(--warn-bg);color:var(--warn)}.status.bad{background:var(--bad-bg);color:var(--bad)}.adminshell{z-index:1;grid-template-columns:240px 1fr;min-height:100vh;display:grid;position:relative}.adminside{border-right:1px solid var(--border);background:color-mix(in srgb, var(--surface) 70%, transparent);-webkit-backdrop-filter:blur(14px);flex-direction:column;gap:4px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0}.adminside .brandrow{text-transform:uppercase;letter-spacing:-.01em;align-items:center;gap:10px;padding:4px 8px 18px;font-weight:900;display:flex}.adminside a{border-radius:var(--r-sm);min-height:44px;color:var(--text-dim);align-items:center;gap:10px;padding:8px 12px;font-weight:600;text-decoration:none;display:flex}.adminside a:hover{background:var(--surface-2);color:var(--text)}.adminside a{isolation:isolate;transition:color .2s;position:relative}.adminside a[aria-current=page]{color:var(--text);font-weight:700}.adminside a[aria-current=page] svg{color:var(--link)}.adminside .grow{flex:1}.adminmain{min-width:0;padding:0 28px 60px}.adminmain .appbar{margin:0 -28px 18px;padding-left:28px;padding-right:28px}.kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.kpi{border-radius:var(--r);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-1);padding:16px}.kpi .v{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:6px;font-size:1.75rem;font-weight:800;display:block}.kpi .sub{color:var(--text-dim);font-size:.8125rem}.tablewrap{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:.9rem}table.data th{text-align:left;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 12px;font-size:.625rem;font-weight:700}table.data td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 12px}table.data tr:last-child td{border-bottom:0}table.data td button.bare{text-align:left;min-height:40px;font-weight:700}table.data tbody th{font-family:inherit;font-size:inherit;letter-spacing:0;text-transform:none;color:var(--text);white-space:normal;border-bottom:1px solid var(--border);font-weight:600}table.data .nowrap{white-space:nowrap}.kpi.ok{border-left:4px solid var(--good)}.kpi.warn{border-left:4px solid var(--warn)}.kpi.bad{border-left:4px solid var(--bad)}.admingroup{gap:2px;margin-bottom:10px;display:grid}.admingroup>.eyebrow{padding:8px 12px 4px}pre.logfields{border-radius:var(--r-sm);background:var(--surface-2);max-width:70ch;max-height:320px;margin:8px 0 0;padding:10px;font-size:.75rem;overflow:auto}table.data details summary{cursor:pointer;min-height:32px}code.sql{white-space:pre-wrap;word-break:break-word;max-width:70ch;font-size:.75rem;display:block}.endpoints li,.changelog li{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:10px;padding:8px 0;display:flex}.endpoints .method{min-width:64px;font-family:var(--font-mono);font-size:.75rem;font-weight:800}.endpoints .method.get{color:var(--good)}.endpoints .method.post{color:var(--link)}.endpoints .method.patch{color:var(--warn)}.endpoints .method.delete{color:var(--bad)}.markdown h2,.markdown h3,.markdown h4{margin:22px 0 8px}.markdown p{max-width:80ch}.toolbar{flex-wrap:wrap;align-items:flex-end;gap:10px;margin:0 0 14px;display:flex}.toolbar .field{flex:220px;margin:0}.drawer{z-index:60;background:var(--surface);border-left:1px solid var(--border);width:min(520px,100%);box-shadow:var(--shadow-2);animation:drawerIn .28s var(--ease-out);padding:20px;position:fixed;inset:0 0 0 auto;overflow-y:auto}.drawer.modal{border:1px solid var(--border);border-radius:var(--r);width:min(460px,100% - 32px);max-height:calc(100dvh - 32px);animation:dialogIn .2s var(--ease-out);inset:50% auto auto 50%;transform:translate(-50%,-50%)}@keyframes dialogIn{0%{opacity:0;transform:translate(-50%,-48%)scale(.98)}to{opacity:1;transform:translate(-50%,-50%)}}.scrim{z-index:55;background:#02061773;animation:.2s ease-out fadeIn;position:fixed;inset:0}@keyframes drawerIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@media (width<=860px){.adminshell{grid-template-columns:1fr}.adminside{z-index:35;border-right:0;border-bottom:1px solid var(--border);flex-direction:row;height:auto;padding:8px;position:sticky;top:0;overflow-x:auto}.adminside .brandrow,.adminside .grow{display:none}.adminside a{white-space:nowrap}.adminmain{padding:0 16px 60px}.adminmain .appbar{margin:0 -16px 14px}}@media (prefers-reduced-motion:reduce){.rise,.stagger>*,.glassnav,.menu,.drawer,.splash,.ctrl .swap,.brandmark.loading svg,.skeleton{animation:none}.brandmark.loading:after{animation-duration:3s}.tcard,.tcard:hover,.tile.zoomed,.profilelink:hover .avatar,.profilelink:active .avatar{transform:none}}.tcard.flat,.tcard.flat:hover{box-shadow:none;background:0 0;border:0;margin:0;padding:0;transform:none}.menu{min-width:240px}:root{--ease-spring:cubic-bezier(.34, 1.56, .64, 1)}button,a.card,a.ctrl,.glassnav a,.profilelink{transition:transform .4s var(--ease-spring), background .15s, box-shadow .2s, border-color .15s, color .15s, filter .15s;-webkit-tap-highlight-color:transparent}button:active:not(:disabled),a.card:active,a.ctrl:active,.glassnav a:active,.profilelink:active{transition-duration:80ms;transform:scale(.96)}button.primary:active:not(:disabled),button.pop:active:not(:disabled){filter:brightness(1.08)}.cardactions{border-top:1px solid var(--border);gap:4px;margin-top:10px;padding-top:4px;display:flex}.cardactions button{border-radius:var(--r-sm);color:var(--text-dim);flex:1;padding:0 8px;font-size:.875rem}.cardactions button:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.cardactions button.danger{color:var(--bad)}.field:focus-within>label{color:var(--focus)}input,textarea{caret-color:var(--focus)}input:focus,select:focus,textarea:focus{animation:focusRing .6s var(--ease-out)}@keyframes focusRing{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--focus) 45%, transparent)}to{box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 22%, transparent)}}.fieldhint{animation:hintIn .45s var(--ease-out) both;padding-left:10px;transition:color .2s;position:relative}.fieldhint:before{content:"";background:var(--focus);width:2px;transition:transform .3s var(--ease-out);border-radius:2px;position:absolute;top:.2em;bottom:.2em;left:0;transform:scaleY(0)}.field:focus-within .fieldhint{color:var(--text)}.field:focus-within .fieldhint:before{transform:scaleY(1)}.fielderror{animation:hintIn .3s var(--ease-out) both}@keyframes hintIn{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){button:active:not(:disabled),a.card:active,a.ctrl:active,.glassnav a:active,.profilelink:active{transform:none}input:focus,select:focus,textarea:focus,.fieldhint,.fielderror{animation:none}}.tallies{gap:12px;margin:14px 0 4px;display:flex}.tally{background:var(--surface-2);width:72px;height:72px;color:var(--text-dim);cursor:pointer;border:2px solid #0000;border-radius:999px;place-items:center;padding:0;display:grid}.tally .n{font-size:1.25rem;font-weight:800;line-height:1.1}.tally .k{letter-spacing:.04em;text-transform:uppercase;font-size:.625rem;font-weight:800}.tally.hosted{background:var(--tally-host-bg);color:var(--tally-host)}.tally.playedtally{background:var(--tally-play-bg);color:var(--tally-play)}.tally.on{border-color:currentColor}.tally:focus-visible{outline:3px solid var(--brand-1);outline-offset:2px}.glassnav{grid-template-columns:repeat(5,1fr);width:min(460px,100% - 20px)}.glassnav .navbtn{min-height:56px;color:var(--text-dim);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:color .2s, background .2s, transform .2s var(--ease-out);background:0 0;border:0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:6px 2px;font-size:.625rem;font-weight:700;display:flex;position:relative}.glassnav .navbtn svg{color:var(--link)}.glassnav a:active,.glassnav .navbtn:active{transform:scale(.94)}.glassnav a.home{background:radial-gradient(120% 90% at 30% 15%, #ffffff8c, transparent 55%), linear-gradient(160deg, color-mix(in srgb, var(--primary) 88%, #fff), var(--primary));width:66px;height:66px;min-height:66px;color:var(--on-primary);box-shadow:0 14px 30px color-mix(in srgb, var(--primary) 40%, transparent), 0 0 0 6px color-mix(in srgb, var(--bg) 70%, transparent), inset 0 1px 0 #ffffffb3, inset 0 -8px 16px color-mix(in srgb, var(--on-primary) 10%, transparent);-webkit-backdrop-filter:blur(12px)saturate(160%);transition:transform .25s var(--ease-out), box-shadow .25s;border:1px solid #ffffff8c;border-radius:22px;margin-top:-30px}.glassnav a.home:hover{transform:translateY(-2px)}.glassnav a.home:active{transform:translateY(0)scale(.95)}.sportgrid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:12px 0 16px;display:grid}.sporttile{border:1.5px solid var(--border);background:var(--surface);min-height:112px;color:var(--text);text-align:left;cursor:pointer;transition:border-color .2s, background .2s, transform .2s var(--ease-out), box-shadow .2s;border-radius:18px;flex-direction:column;align-items:flex-start;gap:10px;padding:14px;font-weight:700;display:flex;position:relative}.sporttile:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.sporttile:active{transform:scale(.97)}.sportglyph{background:color-mix(in srgb, var(--tile-accent) 22%, var(--surface-2));width:44px;height:44px;color:var(--text);transition:background .2s, transform .3s var(--ease-out);border-radius:14px;place-items:center;display:grid}.sporttile[aria-pressed=true]{border-color:var(--tile-accent);background:color-mix(in srgb, var(--tile-accent) 12%, var(--surface));box-shadow:0 10px 24px color-mix(in srgb, var(--tile-accent) 25%, transparent)}.sporttile[aria-pressed=true] .sportglyph{background:var(--tile-accent);color:var(--tile-ink);animation:sportPop .35s var(--ease-out)}.sporttile .badge{background:var(--tile-accent);color:var(--tile-ink);position:absolute;top:10px;right:10px}@keyframes sportPop{0%{transform:scale(.85)}60%{transform:scale(1.12)}to{transform:scale(1)}}.sportlist{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.sportrow{border:1.5px solid var(--border);background:var(--surface);min-height:56px;color:var(--text);text-align:left;cursor:pointer;border-radius:16px;align-items:center;gap:12px;padding:6px 14px 6px 8px;font-weight:700;transition:border-color .2s,background .2s;display:flex}.sportrow[aria-checked=true]{border-color:var(--tile-accent);background:color-mix(in srgb, var(--tile-accent) 12%, var(--surface))}.sportrow[aria-checked=true] .sportglyph{background:var(--tile-accent);color:var(--tile-ink)}.brandmark{animation:wiggle .9s var(--ease-out) .2s both;transform-origin:50% 85%}.brandlink:hover .brandmark,.brandlink:active .brandmark{animation:wiggle .7s var(--ease-out)}@keyframes wiggle{0%{transform:rotate(0)}15%{transform:rotate(-12deg)scale(1.04)}30%{transform:rotate(10deg)scale(1.04)}45%{transform:rotate(-7deg)}60%{transform:rotate(5deg)}75%{transform:rotate(-2deg)}to{transform:rotate(0)}}@media (prefers-reduced-motion:reduce){.brandmark,.brandlink:hover .brandmark,.brandlink:active .brandmark,.sporttile[aria-pressed=true] .sportglyph{animation:none}.glassnav a.home,.sporttile{transition:none}}.brandmark.loading{animation:none}.leafletmap{border:1px solid var(--border);background:var(--surface-2);z-index:0;isolation:isolate;border-radius:18px;height:220px;position:relative;overflow:hidden}.leafletmap.tall{height:min(52vh,420px)}.nearmap{margin-bottom:16px;position:relative}.maplegend{z-index:1;background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);border-radius:999px;padding:6px 12px;font-size:.85rem;font-weight:700;position:absolute;bottom:12px;left:12px}.mappin{background:var(--pop);width:18px;height:18px;transition:transform .2s var(--ease-out);border:3px solid #fff;border-radius:50%;box-shadow:0 2px 8px #00000059}.mappin:hover{transform:scale(1.25)}.mapyou{background:#1b6fd4;border:3px solid #fff;border-radius:50%;animation:2s ease-out infinite youPulse;box-shadow:0 0 0 6px #1b6fd440;width:14px!important;height:14px!important}@keyframes youPulse{0%{box-shadow:0 0 #1b6fd473}to{box-shadow:0 0 0 16px #1b6fd400}}.placesearch{position:relative}.placeinput{border:1.5px solid var(--border-strong);background:var(--surface);color:var(--text-dim);border-radius:14px;align-items:center;gap:10px;padding-left:14px;transition:border-color .2s,box-shadow .2s;display:flex}.placeinput:focus-within{border-color:var(--focus);box-shadow:0 0 0 4px color-mix(in srgb, var(--focus) 18%, transparent)}.placeinput input{min-width:0;box-shadow:none;background:0 0;border:0;outline:none;flex:1}.placeinput .spinner{margin-right:12px}.suggestions{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-2);animation:suggestIn .18s var(--ease-out);border-radius:16px;margin:6px 0 0;padding:6px;list-style:none}.suggestions li{min-height:var(--tap);cursor:pointer;color:var(--text-dim);border-radius:12px;align-items:center;gap:12px;padding:8px 10px;display:flex}.suggestions li strong,.suggestions li .muted{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.suggestions li strong{color:var(--text)}.suggestions li[aria-selected=true],.suggestions li:hover{background:color-mix(in srgb, var(--pop) 16%, var(--surface))}.suggestions .grow{flex:1;min-width:0}.suggestions .distance{color:var(--link);flex:none;font-size:.8rem;font-weight:700}@keyframes suggestIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.spinner.sm{border:2px solid var(--border-strong);border-top-color:var(--focus);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.pagehead{margin:8px 0 16px}.pagehead .eyebrow{color:var(--link);align-items:center;gap:6px;display:inline-flex}@media (prefers-reduced-motion:reduce){.mapyou,.spinner.sm,.suggestions{animation:none}}body:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(32vmax 32vmax at 12% 18%, color-mix(in srgb, var(--pop) 38%, transparent), transparent 70%), radial-gradient(28vmax 28vmax at 88% 30%, color-mix(in srgb, var(--tally-play) 22%, transparent), transparent 70%), radial-gradient(36vmax 30vmax at 70% 92%, color-mix(in srgb, var(--pop) 26%, transparent), transparent 70%);filter:blur(10px);animation:28s ease-in-out infinite alternate glowDrift;position:fixed;inset:-20vmax}@keyframes glowDrift{0%{transform:translate(0,0)scale(1)}to{transform:translate(-3vmax,2vmax)scale(1.06)}}:root{--glass-surface:color-mix(in srgb, var(--surface) 74%, transparent);--glass-edge:#fff9;--glass-blur:saturate(170%) blur(18px)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--glass-surface:color-mix(in srgb, var(--surface) 68%, transparent);--glass-edge:#ffffff1a}}:root[data-theme=dark]{--glass-surface:color-mix(in srgb, var(--surface) 68%, transparent);--glass-edge:#ffffff1a}.card,.drawer,.menu,.suggestions{background:var(--glass-surface);border-color:var(--glass-edge);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-1), inset 0 1px 0 var(--glass-edge)}.appbar{background:color-mix(in srgb, var(--surface) 55%, transparent);border-bottom-color:var(--glass-edge);box-shadow:0 1px 0 color-mix(in srgb, var(--text) 4%, transparent)}.glassnav{background:color-mix(in srgb, var(--surface) 58%, transparent);border-color:var(--glass-edge);box-shadow:var(--shadow-2), inset 0 1px 0 var(--glass-edge)}@media (width>=960px){.app{max-width:880px;padding-left:32px;padding-right:32px}.appbar{margin:0 -32px;padding-left:32px;padding-right:32px}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.card,.drawer,.menu,.suggestions,.appbar,.glassnav{background:var(--surface)}}@media (prefers-reduced-motion:reduce){body:after{animation:none}}@media (prefers-reduced-transparency:reduce){body:after{display:none}.card,.drawer,.menu,.suggestions,.appbar,.glassnav{background:var(--surface);-webkit-backdrop-filter:none}}.leafletmap .leaflet-tile-container img{width:256.5px!important;height:256.5px!important}.courtpage{--gear-frame:#1f2a1c;--court-line:#ffffffe6;--horizon:36vh;isolation:isolate;max-width:560px;position:relative}.courtscape{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.courtscape .floor{left:-30%;right:-30%;top:var(--horizon);background:var(--court-floor);transform-origin:50% 0;transition:background-color .7s var(--ease-out);position:absolute;bottom:-40vh;transform:perspective(900px)rotateX(55deg)}.courtscape .floor:before{content:"";border:3px solid var(--court-line);background:linear-gradient(var(--court-line) 0 0) 50% 0 / 3px 100% no-repeat, linear-gradient(var(--court-line) 0 0) 0 26% / 100% 3px no-repeat, linear-gradient(var(--court-line) 0 0) 0 74% / 100% 3px no-repeat;position:absolute;inset:4% 26% 10%}.courtscape .net{left:4%;right:4%;top:calc(var(--horizon) + 15vh - var(--divider-h));height:var(--divider-h);border-top:3px solid #fff;border-left:5px solid var(--gear-frame);border-right:5px solid var(--gear-frame);transition:top .7s var(--ease-out), height .7s var(--ease-out);background:repeating-linear-gradient(90deg,#fff6 0 1px,#0000 1px 7px),repeating-linear-gradient(0deg,#ffffff4d 0 1px,#0000 1px 7px),#0000001f;position:absolute}.courtscape .frontwall{left:0;right:0;top:calc(var(--horizon) - 22vh);background:color-mix(in srgb, var(--court-floor) 22%, var(--surface));border-bottom:3px solid var(--court-line);height:22vh;display:none;position:absolute}.courtscape .tin{height:var(--divider-h);background:var(--bad);transition:height .7s var(--ease-out);position:absolute;bottom:0;left:0;right:0}.courtpage[data-divider=tin] .frontwall{display:block}.courtpage[data-divider=tin] .net{display:none}:root[data-theme=dark] .courtpage{--court-floor:var(--court-floor-dark)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .courtpage{--court-floor:var(--court-floor-dark)}}.authintro{text-align:center;margin:8px 0 18px}.authintro .brandmark{margin:0 auto}.authintro .eyebrow{margin:18px 0 0}.authintro .lede{margin-inline:auto}.courtstage{grid-template-columns:1fr 1fr;grid-template-areas:"card card""left right";align-items:end;display:grid;position:relative}.courtcard{z-index:2;border:1px solid var(--glass-border);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-2);border-radius:22px;grid-area:card;padding:24px 22px 22px;position:relative}.courtcard h2{letter-spacing:-.02em;margin:4px 0 10px;font-size:1.6rem;font-weight:800}.courtcard form>button.primary{width:100%;min-height:54px}.player{z-index:1;aspect-ratio:3/4;pointer-events:none;-webkit-user-select:none;user-select:none;justify-self:center;width:min(150px,100%);margin-top:8px;position:relative}.player.left{grid-area:left}.player.right{grid-area:right;transform:scaleX(-1)}.playerbody{position:absolute;inset:0}.player img{z-index:1;object-fit:contain;filter:drop-shadow(0 12px 10px #00000047);width:100%;height:100%;display:block;position:relative}.player.boy{--fist-x:83%;--fist-y:31%}.player.girl{--fist-x:84%;--fist-y:36%}.racquetgrip{z-index:0;aspect-ratio:60/160;width:22%;left:calc(var(--fist-x) - 11%);top:calc(var(--fist-y) - 36.85%);transform-origin:50% 83.75%;position:absolute}.racquetsway{transform-origin:50% 83.75%;width:100%;height:100%;display:block}.racquetsway svg{width:100%;height:100%;display:block}.sportchips{flex-wrap:wrap;justify-content:center;gap:8px;margin:18px 0 8px;display:flex}.sportchip{min-height:var(--tap);border:1px solid var(--glass-border);background:var(--surface);color:var(--text);text-transform:none;letter-spacing:0;border-radius:999px;padding:0 14px;font-weight:700;position:relative}.sportchip[aria-pressed=true]{color:var(--pop-ink)}.sportchipon{background:var(--pop);box-shadow:var(--shadow-brand);border-radius:999px;position:absolute;inset:-1px}.sportchiplabel{align-items:center;gap:8px;display:inline-flex;position:relative}.courtpage .statusstrip{color:var(--court-line);border-top-color:#0000}@media (width>=960px){.courtpage{--horizon:44vh;max-width:1180px}.courtstage{grid-template-columns:1fr minmax(380px,440px) 1fr;grid-template-areas:"left card right";column-gap:8px}.player{width:min(300px,100%);margin-bottom:2%}.sportchips{margin-top:26px}}@media (prefers-reduced-motion:reduce){.courtscape .floor,.courtscape .net,.courtscape .tin{transition:none}}.coachdock{z-index:60;left:12px;right:12px;bottom:calc(96px + env(safe-area-inset-bottom));pointer-events:none;justify-content:center;display:flex;position:fixed}.coachtoast{pointer-events:auto;border:1px solid var(--glass-border);background:var(--surface);width:min(440px,100%);color:var(--text);box-shadow:var(--shadow-2);border-radius:20px;align-items:center;gap:12px;padding:10px 6px 10px 10px;display:flex}.coachavatar{flex:none;width:60px;height:60px;position:relative}.coachface{background:color-mix(in srgb, var(--pop) 40%, var(--surface));border:2px solid var(--surface);width:100%;height:100%;box-shadow:0 0 0 2px color-mix(in srgb, var(--pop) 60%, transparent);border-radius:50%;display:block;overflow:hidden}.coachtoast[data-mood=oops] .coachface{background:var(--bad-bg)}.coachtoast[data-mood=think] .coachface{background:var(--warn-bg)}.coachtoast[data-mood=wave] .coachface{background:var(--tally-play-bg)}.coachface img{object-fit:cover;object-position:50% 0;width:100%;height:100%;display:block}.coachmark{background:var(--surface);width:24px;height:24px;box-shadow:var(--shadow-1);border-radius:50%;place-items:center;font-size:.85rem;line-height:1;display:grid;position:absolute;bottom:-4px;right:-4px}.coachbubble{flex:1;margin:0;font-weight:600;line-height:1.35}.coachghost{visibility:hidden}.speakbars{vertical-align:middle;align-items:center;gap:2px;height:12px;margin-left:6px;display:inline-flex}.speakbars span{background:var(--link);transform-origin:50% 100%;border-radius:2px;width:3px;height:12px;display:block}.coachclose{flex:none}.greeting{margin:22px 0 6px}.greeting h1{letter-spacing:-.03em;font-size:clamp(1.75rem,5vw,2.4rem);font-weight:900;line-height:1.05}.tile{background:var(--glass-surface);border-color:var(--glass-edge);-webkit-backdrop-filter:var(--glass-blur);border-radius:20px;padding:16px}.tile .v{margin-top:6px;font-size:2rem}.tile.pop{background:radial-gradient(120% 120% at 0% 0%, #ffffff59, transparent 60%), var(--pop);box-shadow:0 12px 28px color-mix(in srgb, var(--pop) 35%, transparent)}.tallies{background:var(--glass-surface);border:1px solid var(--glass-edge);-webkit-backdrop-filter:var(--glass-blur);border-radius:999px;grid-auto-flow:column;gap:4px;margin:6px 0;padding:4px;display:inline-grid}.tally{width:auto;height:auto;min-height:44px;color:var(--text-dim);transition:background .25s var(--ease-out), color .25s, box-shadow .25s;background:0 0;border:0;border-radius:999px;flex-direction:row-reverse;align-items:center;gap:8px;padding:0 18px;display:inline-flex}.tally .n{background:color-mix(in srgb, var(--text) 8%, transparent);border-radius:999px;place-items:center;min-width:26px;height:26px;padding:0 7px;font-size:.85rem;display:inline-grid}.tally .k{letter-spacing:.06em;font-size:.8rem}.tally.hosted,.tally.playedtally{color:var(--text-dim);background:0 0}@media (prefers-reduced-motion:reduce){.tally{transition:none}}.app>.appbar{border:1px solid var(--glass-edge);box-shadow:var(--shadow-2), inset 0 1px 0 var(--glass-edge);border-radius:20px;margin:10px -6px 0;padding:8px 10px 8px 12px;top:10px}@media (width>=960px){.app>.appbar{margin:12px -12px 0}}.glassnav{background:color-mix(in srgb, var(--surface) 92%, transparent);border:1px solid color-mix(in srgb, var(--text) 14%, transparent);box-shadow:0 18px 40px #0000002e, 0 2px 6px #0000001a, inset 0 1px 0 var(--glass-edge)}.glassnav a,.glassnav .navbtn{color:var(--text);font-size:.6875rem}.glassnav a:not(.home) svg,.glassnav .navbtn svg{color:var(--text)}@media (width>=960px){.glassnav{width:520px}}.tlist{background:var(--glass-surface);border:1px solid var(--glass-edge);box-shadow:var(--shadow-1);-webkit-backdrop-filter:var(--glass-blur);border-radius:22px;margin:8px 0 18px;padding:4px;list-style:none}.trow+.trow{border-top:1px solid color-mix(in srgb, var(--text) 8%, transparent)}.trowline{align-items:center;gap:2px;padding-right:4px;display:flex}.trowmain{min-width:0;min-height:72px;color:var(--text);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:18px;flex:auto;align-items:center;gap:14px;padding:10px 12px;transition:background .2s;display:flex}.trowmain:hover{background:color-mix(in srgb, var(--text) 5%, transparent)}.trowmain:active{background:color-mix(in srgb, var(--text) 9%, transparent)}.trowtext{gap:2px;min-width:0;display:grid}.trowname{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:1.02rem;font-weight:800;overflow:hidden}.trowtext .meta{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.trowline .iconbtn{box-shadow:none;color:var(--text-dim);background:0 0;border-color:#0000}.trowline .iconbtn:hover{background:color-mix(in srgb, var(--text) 7%, transparent);color:var(--text)}.trowline .iconbtn.danger:hover{background:color-mix(in srgb, var(--bad) 12%, transparent);color:var(--bad)}.trowconfirm{background:color-mix(in srgb, var(--bad) 8%, transparent);border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;margin:0 8px 10px;padding:10px 12px;display:flex}@media (width<=380px){.trowmain .date{display:none}}body:before{background:radial-gradient(90% 60% at 50% -10%, var(--bg-tint) 0%, transparent 70%)}body:after{opacity:.45}.tiles{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-1);border-radius:20px;gap:0;margin:18px 0 12px;overflow:hidden}.tile,.tile.pop{color:var(--text);box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0;border-radius:0;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.tile+.tile{border-left:1px solid var(--border)}.tile .eyebrow,.tile.pop .eyebrow{font-family:var(--font-sans);letter-spacing:0;text-transform:none;color:var(--text-dim);align-items:center;gap:6px;font-size:.8125rem;font-weight:600;display:inline-flex}.tile.pop .eyebrow:before{content:"";background:var(--good);width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in srgb, var(--good) 20%, transparent);border-radius:50%}.tile .v{margin:0;font-size:1.75rem;line-height:1.1}.tile.zoomed{background:var(--surface-2);box-shadow:none;transform:none}button.tile{min-height:var(--tap);font:inherit;text-align:start;text-transform:none;letter-spacing:0;cursor:pointer;transition:background .2s}button.tile[aria-pressed=true]{background:color-mix(in srgb, var(--primary) 16%, var(--surface));box-shadow:inset 0 -3px 0 var(--primary)}.tallies{background:var(--surface-3);width:100%;box-shadow:none;-webkit-backdrop-filter:none;border:0;border-radius:14px;grid-template-columns:1fr 1fr;gap:4px;margin:0 0 16px;padding:4px;display:grid}.tally,.tally.hosted,.tally.playedtally{min-height:40px;color:var(--text-dim);border-radius:10px;justify-content:center}.tally .k{font-family:var(--font-sans);letter-spacing:0;text-transform:none;font-size:.875rem;font-weight:600}.tally.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.tally.on .n{background:var(--text);color:var(--surface)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .tallies{background:var(--surface);box-shadow:inset 0 0 0 1px var(--border)}:root:not([data-theme=light]) .tally.on{background:var(--surface-3)}}:root[data-theme=dark] .tallies{background:var(--surface);box-shadow:inset 0 0 0 1px var(--border)}:root[data-theme=dark] .tally.on{background:var(--surface-3)}.appbar .brandlink{white-space:nowrap;text-transform:none;letter-spacing:-.02em;min-width:0;font-size:1rem}.appbar .brandlink>span{text-overflow:ellipsis;overflow:hidden}.glassnav a,.glassnav .navbtn{font-family:var(--font-sans);letter-spacing:0;text-transform:none;font-weight:600}.greeting .eyebrow{font-family:var(--font-sans);letter-spacing:0;text-transform:none;font-size:.8125rem;font-weight:600}.appbar .controls{gap:2px}.appbar .ctrl{-webkit-backdrop-filter:none;font-family:var(--font-sans);letter-spacing:.02em;background:0 0;border-color:#0000}.appbar .ctrl:hover:not(:disabled){background:color-mix(in srgb, var(--text) 6%, transparent);border-color:#0000}@media (width<=420px){.appbar .ctrl:not(.round){width:var(--tap);padding:0}.appbar .ctrl:not(.round)>span{display:none}}.appbar .brandlink{flex:0 auto}.appbar .spacer{flex:1 1 0;min-width:0}.appbar{gap:4px}.appbar .brandlink{gap:8px;font-size:.9375rem;font-weight:800}.sideavatars{flex:none;display:inline-flex}.sideavatars .initials{border:2px solid var(--surface);background:hsl(var(--h) 70% 86%);width:30px;height:30px;color:hsl(var(--h) 60% 22%);letter-spacing:.02em;border-radius:50%;place-items:center;font-size:.6875rem;font-weight:800;display:inline-grid}.sideavatars .initials+.initials{margin-left:-10px}.sideavatars.lg .initials{width:44px;height:44px;font-size:.9375rem}:root[data-theme=dark] .sideavatars .initials{background:hsl(var(--h) 35% 26%);color:hsl(var(--h) 80% 88%)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .sideavatars .initials{background:hsl(var(--h) 35% 26%);color:hsl(var(--h) 80% 88%)}}td .sideavatars{margin-right:2px}.sidename{min-width:0}.bracket{--bgap:36px;justify-content:center;align-items:center;gap:var(--bgap);grid-template-columns:minmax(0,340px);grid-template-areas:"champ""final";display:grid}.bracket.halves{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);grid-template-areas:".champ.""left final right"}.bleft{grid-area:left}.bright{grid-area:right}.bfinal{grid-area:final}.bchampslot{grid-area:champ}.bmatch{position:relative}.bmatch:after,.bfinal:before{content:"";border-color:var(--border-strong);pointer-events:none;border-style:solid;border-width:0;position:absolute}.bleft:after{width:var(--bgap);border-top-width:2px;top:50%;left:100%}.bright:after{width:var(--bgap);border-top-width:2px;top:50%;right:100%}.bfinal:before{height:var(--bgap);border-left-width:2px;bottom:100%;left:50%}.bmatch.live .bmatchbody{border-color:var(--live);box-shadow:0 0 0 1px var(--live)}.bfinal .bmatchbody{border-width:2px;border-color:color-mix(in srgb, var(--primary) 60%, var(--border));background:color-mix(in srgb, var(--primary) 8%, var(--surface))}@media (width<=640px){.bracket.halves,.bracket{--bgap:26px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"final final""champ champ"}.bracket.halves{grid-template-areas:"left right""final final""champ champ";column-gap:10px}.bfinal,.bchampslot{justify-self:center;width:min(100%,320px)}.bleft:after,.bright:after{width:calc(50% + 5px);height:calc(var(--bgap) / 2);border-top-width:0;border-bottom-width:2px;top:100%}.bleft:after{border-left-width:2px;border-bottom-left-radius:10px;left:50%}.bright:after{border-right-width:2px;border-bottom-right-radius:10px;right:50%}.bfinal:before{height:calc(var(--bgap) / 2);bottom:100%}.bfinal:after{height:var(--bgap);border-left-width:2px;top:100%;left:50%}.bracket:not(.halves) .bfinal:before{display:none}}.bmatchbody{width:100%;min-height:var(--tap);border-radius:var(--r-lg);border:1px solid var(--border);background:var(--surface-2);color:var(--text);text-align:start;font:inherit;text-transform:none;letter-spacing:0;gap:6px;padding:10px 12px;font-weight:500;display:grid}button.bmatchbody:hover{border-color:var(--border-strong)}.bmatchbody .eyebrow{margin:0}.bside{align-items:center;gap:8px;min-height:32px;display:flex}.bside.pending .bname{color:var(--text-faint);font-style:italic}.bside.won .bname{font-weight:800}.bname{overflow-wrap:break-word;flex:1;min-width:0;line-height:1.2}.bsub{color:var(--text-faint);font-size:.75rem;font-weight:500;display:block}.bscore{font-variant-numeric:tabular-nums;color:var(--text-dim);font-weight:700}.bwin{background:var(--good-bg);width:22px;height:22px;color:var(--good);border-radius:50%;place-items:center;display:inline-grid}.bchamp{border-radius:var(--r-lg);border:1px dashed var(--border-strong);text-align:center;width:100%;color:var(--text-dim);justify-items:center;gap:6px;padding:18px 12px;display:grid}.bchamp.crowned{border:1px solid color-mix(in srgb, var(--gold) 60%, var(--border));background:color-mix(in srgb, var(--gold) 14%, var(--surface));color:var(--text)}.bchamp .eyebrow{margin:0}input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea{transition:border-color .15s, background .15s, box-shadow .15s, transform .6s var(--ease-out);transform:perspective(700px)translateZ(0)}input:not([type=checkbox]):not([type=radio]):not([type=range]):focus,textarea:focus{transform:perspective(700px)translateZ(28px)rotateX(2deg)}input::placeholder,textarea::placeholder{transition:opacity .3s var(--ease-out)}input:focus::placeholder,textarea:focus::placeholder{opacity:.6}.field>label{transition:color .2s var(--ease-out)}@media (prefers-reduced-motion:reduce){input:not([type=checkbox]):not([type=radio]):not([type=range]),input:not([type=checkbox]):not([type=radio]):not([type=range]):focus,textarea,textarea:focus{transition:none;transform:none}}.viewswitch{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;gap:4px;width:100%;margin:0 0 12px;padding:4px;display:flex}.viewswitch button{min-height:44px;color:var(--text-dim);text-transform:none;letter-spacing:0;background:0 0;border:0;border-radius:999px;flex:1;padding:0 14px;font-weight:700;position:relative}.viewswitch button[aria-pressed=true]{color:var(--on-primary)}.viewswitchpill{background:var(--primary);box-shadow:var(--shadow-1);border-radius:999px;position:absolute;inset:0}.viewswitchlabel{align-items:center;gap:8px;display:inline-flex;position:relative}.typewrap{transition:transform .6s var(--ease-out), box-shadow .6s var(--ease-out);display:block;position:relative;transform:perspective(700px)translateZ(0)}.typewrap:focus-within{box-shadow:0 14px 30px color-mix(in srgb, var(--primary) 28%, transparent);border-radius:var(--r);transform:perspective(700px)translateZ(28px)rotateX(2deg)}input.typeinput,input.typeinput:focus{color:#0000;-webkit-text-fill-color:transparent;caret-color:var(--focus);font-kerning:none;font-variant-ligatures:none;transform:none}input.typeinput::placeholder{-webkit-text-fill-color:var(--text-faint);color:var(--text-faint)}.typelayer{pointer-events:none;font:inherit;font-kerning:none;font-variant-ligatures:none;color:var(--text);white-space:pre;border:1px solid #0000;align-items:center;padding:0 14px;font-weight:500;display:flex;position:absolute;inset:0;overflow:hidden}.passwrap .typelayer{padding-right:56px}.typewrap.secret .typelayer{-webkit-text-security:disc}.typetrack{white-space:pre;display:inline-block}.typechar{transform-origin:50% 70%;animation:charin .7s var(--ease-out);display:inline-block}@keyframes charin{0%{opacity:0;filter:blur(3px);text-shadow:0 0 14px var(--primary);transform:perspective(240px)translateZ(150px)rotateX(-40deg)scale(2.2)}45%{opacity:1;filter:none;transform:perspective(240px)translateZ(-12px)rotateX(8deg)scale(.92)}70%{text-shadow:0 0 6px var(--primary);transform:perspective(240px)translateZ(4px)rotateX(-3deg)scale(1.04)}to{opacity:1;text-shadow:none;transform:none}}input.typeinput:autofill{-webkit-text-fill-color:var(--text)}input.typeinput:autofill+.typelayer{visibility:hidden}input.typeinput:-webkit-autofill{-webkit-text-fill-color:var(--text)}input.typeinput:-webkit-autofill+.typelayer{visibility:hidden}.stagenet{height:calc(var(--net-ratio) * 100%);transition:height .7s var(--ease-out);grid-area:net;align-self:end;margin:0 4px 6%;position:relative}.stagenet:before{content:"";height:calc(var(--net-share,1) * 100%);border-top:3px solid #fff;border-left:4px solid var(--gear-frame);border-right:4px solid var(--gear-frame);background:repeating-linear-gradient(90deg,#ffffff73 0 1px,#0000 1px 6px),repeating-linear-gradient(0deg,#ffffff59 0 1px,#0000 1px 6px);background-size:100% calc(var(--mesh,1) * 100%);background-repeat:no-repeat;position:absolute;inset:0 0 auto}.courtpage[data-table] .stagenet:after{content:"";height:calc((1 - var(--net-share,1)) * 100%);border-top:6px solid var(--gear-frame);background:linear-gradient(var(--gear-frame), var(--gear-frame)) 12% 0 / 4px 100% no-repeat, linear-gradient(var(--gear-frame), var(--gear-frame)) 88% 0 / 4px 100% no-repeat;position:absolute;inset:auto -70% 0}.courtscape .net{background-size:100% calc(var(--mesh,1) * 100%);background-repeat:no-repeat}.courtpage[data-divider=tin] .stagenet,.courtscape .net{display:none}.courtstage{grid-template-columns:1fr minmax(24px,.5fr) 1fr;grid-template-areas:"card card card""left net right"}@media (width>=960px){.courtstage{grid-template-columns:1fr minmax(380px,440px) 1fr;grid-template-areas:"left card right""left net right";container-type:inline-size}.courtstage .player{grid-row:1/span 2;align-self:end}.stagenet{width:86%;height:calc(var(--net-ratio) * min(300px, (100cqw - 456px) / 2) * 4 / 3);justify-self:center;margin:18px 0 2%}.courtpage[data-table] .stagenet:after{inset:auto -8% 0}}.sportchip{transform-style:preserve-3d}@media (prefers-reduced-motion:reduce){.typechar{animation:none}.typewrap,.typewrap:focus-within,.stagenet{transition:none;transform:none}}.tour{z-index:80;position:fixed;inset:0}.tourspot{box-shadow:0 0 0 200vmax #04070a9e, 0 0 0 3px var(--primary), 0 0 28px 6px color-mix(in srgb, var(--primary) 55%, transparent);pointer-events:none;border-radius:16px;position:fixed}.tourdim{background:#04070a9e;position:fixed;inset:0}.tourcard{border:1px solid var(--glass-border);background:var(--surface);color:var(--text);box-shadow:var(--shadow-2);border-radius:20px;grid-template-columns:74px 1fr;grid-template-areas:"guide talk""bar bar";gap:6px 12px;padding:14px 14px 12px;display:grid;position:fixed}.tourguide{object-fit:contain;object-position:bottom;filter:drop-shadow(0 6px 8px #00000040);grid-area:guide;align-self:end;width:74px;height:99px;margin-top:-44px}.tourtalk{grid-area:talk;min-width:0}.tourtalk h2{margin:2px 0 4px;font-size:1.05rem}.tourwords{color:var(--text-dim);margin:0;line-height:1.45}.tourrest{visibility:hidden}.tourbar{flex-wrap:wrap;grid-area:bar;align-items:center;gap:8px;margin-top:6px;display:flex}.tourbar .spacer{flex:1}.tourstop{min-height:var(--tap);color:var(--text-dim);align-items:center;gap:6px;display:inline-flex}@media (forced-colors:active){.tourspot{outline:3px solid highlight}}.stree{padding-left:4px;position:relative}.sroot{background:var(--primary);min-height:36px;color:var(--on-primary);border-radius:999px;align-items:center;padding:6px 14px;font-weight:800;display:inline-flex}.sbranches{border-left:2px solid var(--border-strong);margin-left:18px;padding-left:22px;position:relative}.sbranch{padding-top:18px;position:relative}.sbranch:before{content:"";border-top:2px solid var(--border-strong);width:18px;position:absolute;top:36px;left:-22px}.snode{border:2px solid var(--border-strong);background:var(--surface);border-radius:999px;align-items:center;min-height:32px;padding:4px 12px;font-size:.875rem;font-weight:700;display:inline-flex}.sleaves{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:10px;margin-top:10px;display:grid}.sleaf.live .bmatchbody{border-color:var(--live);box-shadow:0 0 0 1px var(--live)}.sleaf.done .bmatchbody{background:var(--surface)}.sleaf .eyebrow{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.courtdot{background:var(--court,var(--brand-1));border-radius:50%;width:10px;height:10px}.sstatus{background:var(--surface-3);color:var(--text);border-radius:999px;margin-left:auto;padding:1px 8px}.sstatus.live{background:var(--live);color:var(--on-live)}.bside .bname{font-size:.8125rem}.bside .bsub{font-size:.6875rem}.bside .sideavatars .initials{width:34px;height:34px;box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 70%, transparent);font-size:.75rem}.sideavatars .initials.empty{border:2px dashed var(--border-strong);background:var(--surface);color:var(--text-faint);box-shadow:none}.adminhero{border:1px solid color-mix(in srgb, var(--primary) 35%, var(--border));background:radial-gradient(120% 140% at 0% 0%, color-mix(in srgb, var(--primary) 26%, transparent), transparent 60%), var(--surface);box-shadow:var(--shadow-2);border-radius:20px;grid-template-columns:minmax(220px,1fr) minmax(0,1.4fr);gap:16px;margin-bottom:22px;padding:20px;display:grid}.herofigure{align-content:center;gap:4px;display:grid}.herofigure .v{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(2rem,4vw,2.75rem);font-weight:900}.herofigure .sub{color:var(--text-dim);font-size:.8125rem}.perday ul{gap:10px;margin-top:10px;display:grid}.perday li{grid-template-columns:110px 1fr auto;align-items:center;gap:10px;font-size:.875rem;display:grid}.perday .k{color:var(--text-dim)}.perday .n{font-variant-numeric:tabular-nums;font-weight:700}.perday .bar{background:var(--surface-3);border-radius:999px;height:10px;overflow:hidden}.perday .bar span{border-radius:inherit;background:linear-gradient(90deg, color-mix(in srgb, var(--primary) 70%, var(--surface)), var(--primary));height:100%;animation:growbar .9s var(--ease-out) both;transform-origin:0;display:block}@keyframes growbar{0%{transform:scaleX(0)}}.kpigroups{gap:18px;margin-bottom:8px;display:grid}.kpigroups h2.eyebrow{margin:0 0 8px}.kpi{transition:transform .25s var(--ease-out), box-shadow .25s var(--ease-out), border-color .25s;position:relative}.kpi:hover{border-color:color-mix(in srgb, var(--primary) 45%, var(--border));box-shadow:var(--shadow-2);transform:translateY(-2px)}.kpihead{align-items:center;gap:8px;display:flex}.kpiicon{background:color-mix(in srgb, var(--primary) 22%, var(--surface));width:30px;height:30px;color:var(--text);border-radius:10px;place-items:center;display:inline-grid}table.data tbody tr{transition:background .15s}table.data tbody tr:hover{background:color-mix(in srgb, var(--primary) 7%, var(--surface))}@media (width<=760px){.adminhero{grid-template-columns:1fr}.perday li{grid-template-columns:90px 1fr auto}}@media (prefers-reduced-motion:reduce){.perday .bar span{animation:none}.kpi,.kpi:hover{transition:none;transform:none}}.card.resume{border-color:color-mix(in srgb, var(--primary) 45%, var(--border));background:radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--primary) 22%, transparent), transparent 60%), var(--surface);justify-items:start;gap:4px;display:grid}.card.resume h2{margin:0;font-size:1.25rem}.card.resume p{margin:0 0 8px}
