:root,:root[data-theme=light]{color-scheme:light;--font: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Geist Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--font-num: var(--font);--bg: #fafafa;--surface: #ffffff;--surface-2: #f4f4f5;--surface-3: #e9e9ec;--line: #e4e4e7;--line-strong: #d4d4d8;--ink: #09090b;--muted: #71717a;--primary: #18181b;--primary-ink: #fafafa;--input-bg: #ffffff;--accent: #ff6b2c;--accent-ink: #1f0a00;--accent-text: #c2410c;--accent-soft: #fff4ed;--accent-line: #fdc9a8;--shine-edge: #ff9a66;--shine-core: #ff6b2c;--danger: #dc2626;--danger-soft: #fef2f2;--ok: #15803d;--ok-soft: #f0fdf4;--focus: #18181b;--court: var(--tc-court, #b0613f);--court-deep: color-mix(in srgb, var(--court) 80%, #000);--kitchen: var(--tc-kitchen, #57534e);--court-line: #ffffff;--ball: var(--accent);--ball-ink: var(--accent-ink);--radius-sm: 8px;--radius: 10px;--radius-lg: 14px;--radius-xl: 20px;--shadow-sm: 0 1px 2px rgba(9, 9, 11, .05);--shadow: 0 1px 2px rgba(9, 9, 11, .04), 0 6px 20px -10px rgba(9, 9, 11, .14);--shadow-lg: 0 24px 48px -16px rgba(9, 9, 11, .28);--scrim: rgba(9, 9, 11, .4)}:root[data-theme=dark]{color-scheme:dark;--bg: #09090b;--surface: #111113;--surface-2: #18181b;--surface-3: #232327;--line: #2a2a2e;--line-strong: #3f3f46;--ink: #fafafa;--muted: #a1a1aa;--primary: #fafafa;--primary-ink: #09090b;--input-bg: #0b0b0d;--accent: #ff7a3d;--accent-ink: #1a0800;--accent-text: #ff9a66;--accent-soft: #1d1613;--accent-line: #5c3119;--shine-edge: #ff9a66;--shine-core: #ffffff;--danger: #f87171;--danger-soft: #2a1313;--ok: #4ade80;--ok-soft: #0f2416;--focus: #d4d4d8;--court: color-mix(in srgb, var(--tc-court, #b0613f) 88%, #09090b);--court-deep: color-mix(in srgb, var(--court) 78%, #000);--kitchen: color-mix(in srgb, var(--tc-kitchen, #57534e) 88%, #09090b);--court-line: rgba(255, 255, 255, .88);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px -12px rgba(0, 0, 0, .7);--shadow-lg: 0 24px 48px -16px rgba(0, 0, 0, .8);--scrim: rgba(0, 0, 0, .62)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-variant-numeric:tabular-nums;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01","cv11";min-height:100dvh}h1,h2,h3,.display{font-family:var(--font);font-weight:600;letter-spacing:-.03em;line-height:1.1;margin:0}h1{font-size:clamp(1.75rem,5.5vw,2.25rem)}h2{font-size:1.125rem;letter-spacing:-.02em}h3{font-size:1rem;letter-spacing:-.015em}p{margin:0}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:6px}.muted{color:var(--muted)}.small{font-size:.8125rem}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:.9375rem;font-weight:550;letter-spacing:-.01em;text-decoration:none;white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-sm);transition:background-color .15s ease,border-color .15s ease,transform .08s ease;-webkit-tap-highlight-color:transparent}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary:disabled,.btn-ball:disabled,.btn-danger-solid:disabled{opacity:1;background:var(--surface-2);border-color:var(--line);color:color-mix(in srgb,var(--muted) 75%,transparent);box-shadow:none}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 88%,var(--bg))}.btn-ball{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-ghost{background:transparent;border-color:transparent;box-shadow:none}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn-danger{color:var(--danger)}.btn-danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}:root[data-theme=dark] .btn-danger-solid{color:#2a0b0b}.btn-sm{min-height:40px;padding:0 12px;font-size:.875rem;border-radius:var(--radius-sm)}.btn-block{width:100%}.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:var(--radius);border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;transition:background-color .15s ease,color .15s ease}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.icon{width:18px;height:18px;flex:none}.field{display:grid;gap:6px}.field label{font-weight:550;font-size:.875rem}.field .hint{color:var(--muted);font-size:.8125rem}.input{width:100%;min-height:44px;padding:10px 12px;border-radius:var(--radius);border:1px solid var(--line);background:var(--input-bg);font-size:1rem;box-shadow:var(--shadow-sm);transition:border-color .15s ease,box-shadow .15s ease}.input::placeholder{color:color-mix(in srgb,var(--muted) 80%,transparent)}select.input{appearance:none;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}textarea.input{min-height:120px;resize:vertical}.input:focus{outline:none;border-color:var(--line-strong);box-shadow:0 0 0 3px color-mix(in srgb,var(--ink) 10%,transparent)}.input-prefix{display:flex;align-items:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--input-bg);box-shadow:var(--shadow-sm);overflow:hidden}.input-prefix span{display:inline-flex;padding-left:12px;color:var(--muted);white-space:nowrap}.input-prefix .input{border:0;padding-left:6px;box-shadow:none}.input-prefix:focus-within{border-color:var(--line-strong);box-shadow:0 0 0 3px color-mix(in srgb,var(--ink) 10%,transparent)}.input-prefix .input:focus{box-shadow:none}.form-error{color:var(--danger);font-weight:500;font-size:.875rem}.stack{display:grid;gap:16px}.row{display:flex;gap:8px;align-items:center}.row-wrap{flex-wrap:wrap}.spread{justify-content:space-between}.switch{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;cursor:pointer}.switch input{appearance:none;width:44px;height:24px;border-radius:99px;background:var(--line-strong);position:relative;cursor:pointer;flex:none;transition:background-color .15s ease}.switch input:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform .15s ease}.switch input:checked{background:var(--primary)}.switch input:checked:after{background:var(--primary-ink);transform:translate(20px)}.stepper{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.stepper button{width:44px;height:44px;border:0;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center}.stepper button:hover:not(:disabled){color:var(--ink)}.stepper button:disabled{opacity:.35;cursor:not-allowed}.stepper output{min-width:40px;text-align:center;font-family:var(--font-num);font-weight:600;font-size:1.125rem}.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 16px}.narrow{max-width:460px}.topbar{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}.topbar-inner{display:flex;align-items:center;gap:4px;min-height:56px}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:600;font-size:.9375rem;letter-spacing:-.01em;margin-right:auto;min-width:0}.brand>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-mark{display:inline-grid;width:28px;height:28px;flex:none}.brand-mark img{width:100%;height:100%}.brand-wordmark{display:block;width:auto;height:22px}:root[data-theme=dark] .for-light,:root:not([data-theme=dark]) .for-dark{display:none}.nav{display:flex;align-self:stretch;gap:4px;margin-right:8px}.nav a{position:relative;display:flex;align-items:center;padding:0 12px;text-decoration:none;font-size:.875rem;font-weight:500;color:var(--muted);transition:color .15s ease}.nav a:hover{color:var(--ink)}.nav a[aria-current=page]{color:var(--ink);font-weight:600}.nav a[aria-current=page]:after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2px;border-radius:2px;background:var(--ink)}.bottom-nav{display:none}@media(max-width:719px){.nav{display:none}.bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;inset:auto 0 0;z-index:25;background:var(--bg);border-top:1px solid var(--line);padding:6px 8px env(safe-area-inset-bottom)}.bottom-nav a{display:grid;justify-items:center;gap:3px;padding:4px 4px 8px;font-size:.6875rem;font-weight:500;text-decoration:none;color:var(--muted)}.bottom-nav a .icon{width:52px;height:30px;padding:5px 0;border-radius:99px;transition:background-color .15s ease}.bottom-nav a[aria-current=page]{color:var(--ink);font-weight:600}.bottom-nav a[aria-current=page] .icon{background:var(--surface-3)}.has-bottom-nav{padding-bottom:calc(84px + env(safe-area-inset-bottom))}}.page{padding-top:24px;padding-bottom:48px;display:grid;gap:20px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-head p{margin-top:6px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-sm)}.panel-tight{padding:6px}.empty{text-align:center;padding:36px 20px;display:grid;gap:12px;justify-items:center;border-style:dashed;box-shadow:none;background:transparent}.empty p{max-width:38ch}.pill{display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:99px;font-size:.75rem;font-weight:550;background:var(--surface);border:1px solid var(--line);white-space:nowrap}.pill-live:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent);animation:live 2s ease-in-out infinite}@keyframes live{50%{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent)}}.pill-guest{font-weight:500;color:var(--muted);background:var(--surface-2)}.auth{min-height:100dvh;display:grid;place-items:center;padding:32px 16px}.auth-card{width:100%;max-width:400px;display:grid;gap:24px}.auth-card .brand{margin:0}.session-head{display:grid;gap:12px}.back-btn{justify-self:start;min-height:40px;margin:-6px 0 -6px -10px;color:var(--muted)}.session-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.session-title-row h1{font-size:clamp(1.625rem,6vw,2.125rem)}.counts{display:flex;gap:6px;flex-wrap:wrap}.count{display:inline-flex;align-items:baseline;gap:6px;padding:6px 12px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);font-size:.8125rem;font-weight:500;color:var(--muted)}.count b{font-family:var(--font-num);font-size:1rem;font-weight:600;color:var(--ink)}.tabs{display:flex;gap:2px;padding:3px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto;scrollbar-width:none}.tabs button{flex:1 1 auto;min-height:40px;padding:0 10px;font-size:.875rem;border:0;border-radius:7px;background:transparent;font-weight:550;color:var(--muted);cursor:pointer;white-space:nowrap;transition:color .15s ease,background-color .15s ease}.tabs button:hover{color:var(--ink)}.tabs button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm),0 0 0 1px var(--line)}:root[data-theme=dark] .tabs button[aria-selected=true],:root[data-theme=dark] .seg button[aria-checked=true]{background:var(--surface-3);box-shadow:0 0 0 1px var(--line-strong)}.tabs .tab-count{font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin-left:6px;color:var(--muted);font-weight:500;font-size:.75rem}.courts{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr))}.court{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:12px;display:grid;align-content:start;gap:12px;box-shadow:var(--shadow-sm)}.court-head{display:flex;align-items:center;gap:10px;padding:0 2px}.court-no{display:inline-grid;place-items:center;min-width:32px;height:32px;padding:0 6px;border-radius:var(--radius-sm);background:var(--ink);color:var(--bg);font-family:var(--font-mono);font-weight:600;font-size:.9375rem;line-height:1}.court-name{font-size:.875rem;font-weight:500;color:var(--muted);margin-right:auto}.court-clock{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.875rem;font-weight:500;color:var(--muted)}.court-head .icon-btn{margin:-6px -6px -6px 0}.diagram{display:grid;grid-template-columns:1fr .42fr 5px .42fr 1fr;aspect-ratio:44 / 20;min-height:110px;min-width:0;background:var(--court);border:2px solid var(--court-line);border-radius:4px;outline:2px solid var(--court-deep);outline-offset:0;margin:2px;color:#fff;overflow:hidden}.diagram .half{display:grid;grid-template-rows:1fr 1fr}.diagram .box{display:flex;align-items:center;justify-content:center;padding:4px 8px;text-align:center;font-weight:600;font-size:clamp(.8125rem,3.4vw,.9375rem);letter-spacing:-.01em;line-height:1.15;overflow-wrap:anywhere}.diagram button.box{border:0;background:none;color:inherit;font-family:inherit;cursor:pointer;text-decoration:underline dotted color-mix(in srgb,currentColor 55%,transparent);text-underline-offset:4px}.diagram button.box:active{background:#ffffff24}.diagram button.box:focus-visible{outline:2px solid #fff;outline-offset:-5px}.diagram .half .box:first-child{border-bottom:2px solid var(--court-line)}.diagram .half-left{border-right:2px solid var(--court-line)}.diagram .half-right{border-left:2px solid var(--court-line)}.diagram .kitchen{background:var(--kitchen)}.diagram .net{background:repeating-linear-gradient(0deg,#fffffff2 0 3px,#ffffff59 3px 6px);box-shadow:0 0 0 1px #0000002e}.diagram.is-free{opacity:.5}.diagram .winner{background:#ffffff29}.diagram .you{background:#fff;color:#09090b}.diagram-free-label{grid-column:1 / -1}.diagram .serving:before{content:"";flex:none;width:9px;height:9px;margin-right:6px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px #00000040}.court-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.court-actions .btn{min-height:52px;padding:6px 10px;font-size:.875rem;line-height:1.2;white-space:normal}.court-free{display:grid;gap:8px;justify-items:stretch;padding:0 2px 2px}.live-score{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0;padding:0 2px;font-size:.875rem}.live-score b{font-family:var(--font-num);font-weight:600;font-size:1.375rem;letter-spacing:-.03em;line-height:1}.ump-call{display:grid;justify-items:center;gap:4px;text-align:center;padding:8px 0}.ump-call b{font-family:var(--font-num);font-weight:600;font-size:clamp(3.25rem,17vw,4.5rem);letter-spacing:-.05em;line-height:1}.ump-score{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ump-score>span{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);font-size:.875rem;font-weight:550;overflow-wrap:anywhere}.ump-score>span.is-serving{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.ump-score b{font-family:var(--font-num);font-size:1.5rem;font-weight:600}.ump-rally{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ump-rally .btn{min-height:84px;padding:8px 10px;font-size:1rem;line-height:1.25;white-space:normal}.upnext{border-radius:var(--radius-lg);padding:16px;background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--ink);display:grid;gap:14px}.upnext-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.upnext-head h2{display:inline-flex;align-items:center;gap:8px;font-size:1.0625rem}.upnext-head h2:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}.upnext-head .small{color:var(--muted)}.upnext-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}.upnext-team{display:grid;gap:6px;justify-items:start}.upnext-team:last-child{text-align:right;justify-items:end}.upnext-vs{font-family:var(--font-mono);font-weight:500;font-size:.75rem;color:var(--muted)}.chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);font-weight:550;font-size:.9375rem;color:inherit;text-align:left;max-width:100%}button.chip{cursor:pointer}button.chip:hover{border-color:var(--line-strong)}.chip.is-you{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.upnext-actions{display:flex;flex-wrap:wrap;gap:8px}.upnext.is-empty{background:transparent;color:var(--ink);border:1px dashed var(--line-strong)}.upnext.is-empty .upnext-head h2:before{background:var(--line-strong)}.line-list{list-style:none;margin:0;padding:0}.line-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius);min-height:60px}.line-item+.line-item{border-top:1px solid var(--line);border-radius:0}.line-item.is-you{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-line);border-radius:var(--radius);border-top-color:transparent}.line-item.is-you+.line-item{border-top-color:transparent}.line-pos{width:32px;flex:none;text-align:center;font-family:var(--font-num);font-weight:600;font-size:1rem;line-height:1;color:var(--muted)}.line-item:nth-child(-n+4) .line-pos{color:var(--ink)}.line-main{flex:1;min-width:0;display:grid;gap:2px}.line-name{font-weight:550;font-size:.9375rem;display:flex;align-items:center;gap:8px;min-width:0}.line-name span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-meta{color:var(--muted);font-size:.8125rem}.line-side{text-align:right;font-size:.8125rem;color:var(--muted);white-space:nowrap}.line-side b{display:block;color:var(--ink);font-family:var(--font-mono);font-size:.875rem;font-weight:500}button.line-item{width:100%;border:0;background:transparent;text-align:left;cursor:pointer}button.line-item:hover{background:var(--surface-2)}.skill{display:inline-flex;gap:2px;vertical-align:middle}.skill i{width:5px;height:5px;border-radius:50%;background:var(--line-strong)}.skill i.on{background:var(--ink)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.section-head h2{font-size:1.0625rem}.table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.table th,.table td{padding:12px 8px;text-align:left;border-bottom:1px solid var(--line)}.table th{font-size:.75rem;color:var(--muted);font-weight:500}.table td.n,.table th.n{text-align:right}.table .rank{font-family:var(--font-mono);font-weight:600;width:36px}.table tr:last-child td{border-bottom:0}.table-scroll{overflow-x:auto}.game-log{list-style:none;margin:0;padding:0;display:grid}.game{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;padding:12px 2px;border-bottom:1px solid var(--line)}.game:last-child{border-bottom:0}.game-team{font-size:.9375rem;font-weight:500;color:var(--muted)}.game-team.won{color:var(--ink);font-weight:600}.game-team:last-of-type{text-align:right}.game-score{font-family:var(--font-num);font-weight:600;font-size:1.0625rem;text-align:center;min-width:64px}.game-foot{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:.75rem}.game-actions{display:flex;gap:4px}.game-actions .btn{min-height:44px}.sheet-scrim{position:fixed;inset:0;z-index:70;background:var(--scrim);display:flex;align-items:flex-end;justify-content:center;animation:fade .15s ease}.sheet{width:100%;max-width:520px;max-height:88dvh;overflow:auto;background:var(--surface);border:1px solid var(--line);border-bottom:0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:8px 20px calc(24px + env(safe-area-inset-bottom));display:grid;gap:16px;box-shadow:var(--shadow-lg);animation:rise .22s cubic-bezier(.2,.8,.2,1)}.sheet-grip{width:36px;height:4px;border-radius:4px;background:var(--line-strong);margin:4px auto 0}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px}@media(min-width:720px){.sheet-scrim{align-items:center}.sheet{border-bottom:1px solid var(--line);border-radius:var(--radius-xl);padding-bottom:24px}.sheet-grip{display:none}}@keyframes rise{0%{transform:translateY(16px);opacity:0}}@keyframes fade{0%{opacity:0}}.pick-list{display:grid;gap:6px;list-style:none;margin:0;padding:0}.pick{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;padding:8px 14px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);text-align:left;font-weight:550;font-size:.9375rem;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.pick:hover{background:var(--surface-2)}.pick[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.pick:disabled{opacity:.5;cursor:not-allowed}.pick-go{display:inline-flex;align-items:center;gap:2px;color:var(--muted);font-size:.8125rem;font-weight:500}.score-entry{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:end}.score-entry .input{text-align:center;font-family:var(--font-num);font-weight:600;font-size:1.625rem;min-height:60px}.winner-pick{display:grid;grid-template-columns:1fr 1fr;gap:8px}.winner-pick .pick{justify-content:center;text-align:center;min-height:64px;gap:8px;line-height:1.25}.winner-pick .pick .icon{color:var(--ink)}.qr{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:14px;width:min(100%,280px);margin:0 auto}.qr svg{display:block;width:100%;height:auto}.toast-host{position:fixed;left:0;right:0;bottom:calc(96px + env(safe-area-inset-bottom));display:flex;justify-content:center;pointer-events:none;z-index:60;padding:0 16px}.toast{pointer-events:auto;display:flex;align-items:center;gap:14px;max-width:480px;padding:10px 10px 10px 16px;border-radius:var(--radius);background:var(--ink);color:var(--bg);font-size:.875rem;font-weight:500;box-shadow:var(--shadow-lg);animation:rise .2s ease}.toast button{border:0;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg) 14%,transparent);color:var(--bg);font-weight:600;padding:7px 12px;cursor:pointer}@media(min-width:720px){.toast-host{bottom:24px}}.you-card{border-radius:var(--radius-lg);padding:18px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);display:grid;gap:10px}.you-card.is-up{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.you-card.is-up .muted{color:inherit;opacity:.75}.you-card.is-playing{background:var(--court);border-color:var(--court);color:#fff}.you-card.is-playing .muted{color:inherit;opacity:.8}.you-status{font-weight:600;font-size:clamp(1.75rem,8vw,2.5rem);letter-spacing:-.04em;line-height:1.02}.you-card .btn{background:transparent;border-color:color-mix(in srgb,currentColor 25%,transparent);box-shadow:none;color:inherit}.you-card .btn-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.you-card.is-up .btn-primary{background:var(--accent-ink);border-color:var(--accent-ink);color:var(--accent)}.pulse{animation:pulse 1.2s ease 2}@keyframes pulse{50%{transform:scale(1.015)}}.board-grid{display:grid;gap:20px}@media(min-width:1000px){.board-grid.two{grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr);align-items:start}.sticky-side{position:sticky;top:76px}}.hero{padding:40px 0 32px;display:grid;gap:36px}@media(min-width:960px){.hero{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:56px;padding:64px 0 48px}.hero-demo .courts{grid-template-columns:1fr 1fr}.hero-demo .diagram{min-height:0}.hero-demo .line-item{min-height:46px;padding-top:6px;padding-bottom:6px}}.hero h1{font-size:clamp(2.5rem,8vw,3.75rem);font-weight:600;letter-spacing:-.05em;line-height:1;max-width:12ch}.shine{color:var(--muted)}@supports ((-webkit-background-clip: text) or (background-clip: text)){.shine{color:transparent;background-image:linear-gradient(105deg,var(--muted) 38%,var(--shine-edge) 47%,var(--shine-core) 50%,var(--shine-edge) 53%,var(--muted) 62%);background-size:260% 100%;background-position:130% 0;-webkit-background-clip:text;background-clip:text;animation:shine 3.8s linear infinite}}@keyframes shine{0%{background-position:130% 0}70%,to{background-position:-30% 0}}@media(prefers-reduced-motion:reduce){.shine{animation:none;background-position:-30% 0}}.hero-copy{display:grid;gap:22px;justify-items:start}.hero-copy p{font-size:1rem;color:var(--muted);max-width:44ch}.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;border-radius:99px;border:1px solid var(--line);background:var(--surface);font-size:.8125rem;font-weight:500;color:var(--muted)}.hero-badge b{padding:2px 8px;border-radius:99px;background:var(--accent);color:var(--accent-ink);font-size:.6875rem;font-weight:600}.hero-demo{display:grid;gap:12px;padding:12px;border-radius:var(--radius-xl);border:1px solid var(--line);background:var(--surface-2)}.points{display:grid;gap:12px;padding:8px 0 56px}@media(min-width:800px){.points{grid-template-columns:repeat(3,1fr)}}.point{display:grid;gap:8px;align-content:start;padding:20px;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface);transition:transform .25s cubic-bezier(.2,.7,.2,1),border-color .25s ease,box-shadow .25s ease}.point .icon{width:36px;height:36px;padding:8px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line);margin-bottom:4px;transition:background-color .25s ease,border-color .25s ease,color .25s ease}@media(hover:hover){.point:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:var(--shadow)}.point:hover .icon{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}}.reveal{opacity:0}.reveal.is-in{animation:reveal .6s cubic-bezier(.2,.7,.2,1) calc(var(--i, 0) * 80ms) both}@keyframes reveal{0%{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}.point h3{font-size:1rem}.point p{color:var(--muted);font-size:.9375rem}.footer{border-top:1px solid var(--line);padding:24px 0 40px;color:var(--muted);font-size:.8125rem}.roster-add{display:grid;gap:12px}@media(min-width:720px){.roster-add{grid-template-columns:1fr auto;align-items:end}}.skill-picker{display:flex;gap:6px;flex-wrap:wrap}.skill-picker button{min-width:44px;min-height:44px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);font-family:var(--font-num);font-weight:600;cursor:pointer}.skill-picker button[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.two-col{display:grid;gap:20px}@media(min-width:900px){.two-col{grid-template-columns:1fr 1fr;align-items:start}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:419px){.hide-narrow{display:none}}.desktop-only{display:none}@media(min-width:1000px){.desktop-only{display:block}}.tick{display:grid;place-items:center;width:44px;height:44px;margin:-6px -4px -6px -8px;flex:none;cursor:pointer}.tick input{width:20px;height:20px;accent-color:var(--ink);cursor:pointer}.line-item .tick+.line-main{cursor:pointer}.bulk-bar{position:sticky;bottom:calc(84px + env(safe-area-inset-bottom));z-index:15;padding:8px 0}@media(min-width:720px){.bulk-bar{bottom:16px}}.alert{display:grid;gap:10px;justify-items:start;padding:12px 14px;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);background:var(--danger-soft);color:var(--ink);font-size:.875rem;font-weight:500;animation:rise .18s ease}.alert .btn{white-space:normal;text-align:left;height:auto;padding-top:8px;padding-bottom:8px}.input-invalid{border-color:var(--danger)}.input-invalid:focus{border-color:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 18%,transparent)}@media(max-width:400px){.score-entry .input{font-size:1.375rem;min-height:56px}.sheet{padding-left:16px;padding-right:16px}}.standings{list-style:none;margin:0;padding:0}.standings>li{border-bottom:1px solid var(--line)}.standings>li:last-child{border-bottom:0}.standing{display:flex;align-items:center;gap:12px;width:100%;padding:12px 6px;border-radius:var(--radius-sm)}button.standing{border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background-color .15s ease}button.standing:hover,button.standing:active{background:var(--surface-2)}.standing-chevron{flex:none;width:16px;height:16px;margin-left:-4px;color:var(--muted)}.standing.is-you{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-line)}.standing-main{flex:1;min-width:0;display:grid;gap:1px}.standing-name{font-weight:550;font-size:.9375rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.standing-meta{color:var(--muted);font-size:.75rem}.standing-wins{display:grid;justify-items:end;font-size:.6875rem;color:var(--muted);min-width:44px}.standing-wins b{font-family:var(--font-num);font-weight:600;font-size:1.375rem;letter-spacing:-.03em;line-height:1.1;color:var(--ink)}.seg{display:flex;gap:2px;padding:3px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius)}.seg button{flex:1 1 0;min-height:40px;padding:0 10px;border-radius:7px;border:0;background:transparent;font-size:.875rem;font-weight:550;color:var(--muted);cursor:pointer;white-space:nowrap}.seg button[aria-checked=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm),0 0 0 1px var(--line)}.pick-row{display:flex;align-items:center;gap:6px}.pick-row .pick{flex:1;min-width:0}.pick-row .btn{min-height:44px}.pc-head{display:flex;align-items:center;gap:12px}.pc-rank{flex:1;min-width:0;display:grid}.pc-rank b{font-family:var(--font-num);font-weight:600;font-size:1.375rem;letter-spacing:-.03em;line-height:1.1}.pc-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pc-tiles>div:last-child:nth-child(odd){grid-column:1 / -1}.pc-tiles>div{display:grid;justify-items:center;gap:2px;padding:12px 6px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-2);text-align:center}.pc-tiles b{font-family:var(--font-num);font-size:1.25rem;font-weight:600;letter-spacing:-.03em;line-height:1.15}.pc-tiles span{color:var(--muted);font-size:.75rem}.player-card h3{margin:0 0 8px;font-size:.9375rem}.pc-why{padding:12px 14px;border-radius:var(--radius);border:1px solid var(--line)}.pc-why ul{margin:0;padding-left:18px;display:grid;gap:6px;font-size:.875rem;color:var(--muted)}.pc-games{list-style:none;margin:0;padding:0}.pc-game{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.875rem}.pc-game:last-child{border-bottom:0}.pc-result{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.8125rem;font-weight:600;background:var(--surface-2);border:1px solid var(--line);color:var(--muted)}.pc-result.is-win{background:var(--ok-soft);border-color:color-mix(in srgb,var(--ok) 30%,transparent);color:var(--ok)}.pc-game-main{flex:1;min-width:0;display:grid;gap:1px;overflow-wrap:anywhere}.pc-score{font-family:var(--font-num);font-weight:600}.medal{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:50%;font-family:var(--font-num);font-weight:600;font-size:.875rem;color:var(--muted)}.medal-gold,.medal-silver,.medal-bronze{color:#1c1917;box-shadow:inset 0 0 0 1px #0000001f}.medal-gold{background:#f2c94c}.medal-silver{background:#d4d8de}.medal-bronze{background:#dba67a}.podium{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;gap:8px;padding:8px 0 16px;margin-bottom:4px;border-bottom:1px solid var(--line)}.step{display:grid;justify-items:center;gap:2px;min-width:0;text-align:center}.step-name{font-weight:600;font-size:.9375rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.step-record{font-family:var(--font-mono);font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}.step-block{width:100%;display:grid;place-items:start center;padding-top:10px;margin-top:6px;border-radius:var(--radius) var(--radius) 4px 4px;border:1px solid var(--line);background:var(--surface-2)}.step-1 .step-block{height:96px;background:var(--ink);border-color:var(--ink)}.step-2 .step-block{height:70px}.step-3 .step-block{height:52px}.step .medal{width:36px;height:36px;font-size:1rem}.summary{display:grid;gap:12px}.summary-tiles{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.summary-tiles.panel{padding:0}.summary-tiles>div{display:grid;justify-items:center;gap:2px;padding:14px 4px}.summary-tiles>div+div{border-left:1px solid var(--line)}.summary-tiles b{font-family:var(--font-num);font-weight:600;font-size:clamp(1.375rem,6vw,1.75rem);letter-spacing:-.04em;line-height:1.1}.summary-tiles span{color:var(--muted);font-size:.75rem}.summary-pace{color:var(--muted);font-size:.875rem}.summary-pace b{color:var(--ink);font-weight:600}.tie-note{margin-top:8px;padding:10px 12px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line);font-size:.8125rem}.tie-note summary{cursor:pointer;font-weight:550;padding:4px 0}.tie-note ol{margin:8px 0 2px;padding-left:20px;display:grid;gap:6px;color:var(--muted)}.tie-note b{color:var(--ink);font-weight:600}.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:10px}.swatch{--court: var(--sw-court);--kitchen: var(--sw-kitchen);--court-deep: color-mix(in srgb, var(--sw-court) 80%, #000);display:grid;gap:8px;padding:8px 8px 10px;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface);cursor:pointer;font-size:.875rem;font-weight:550;text-align:center;transition:border-color .15s ease}.swatch:hover{border-color:var(--line-strong)}:root[data-theme=dark] .swatch{--court: color-mix(in srgb, var(--sw-court) 88%, #09090b);--kitchen: color-mix(in srgb, var(--sw-kitchen) 88%, #09090b)}.swatch[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.swatch .diagram{min-height:0;margin:2px;border-width:2px}.swatch-label{display:inline-flex;align-items:center;justify-content:center;gap:6px}.color-field{display:grid;grid-template-columns:56px 1fr;gap:10px}.color-input{width:56px;height:44px;padding:4px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);cursor:pointer}.color-input::-webkit-color-swatch-wrapper{padding:0}.color-input::-webkit-color-swatch{border:none;border-radius:6px}.color-input::-moz-color-swatch{border:none;border-radius:6px}.color-input:focus-visible{outline:none;border-color:var(--line-strong);box-shadow:0 0 0 3px color-mix(in srgb,var(--ink) 10%,transparent)}.modes{display:grid;gap:8px}.mode{display:grid;gap:4px;width:100%;padding:12px 14px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.mode:hover{border-color:var(--line-strong)}.mode[aria-checked=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.mode-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:600;font-size:.9375rem}.mode-check{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1px solid var(--line-strong);flex:none}.mode[aria-checked=true] .mode-check{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.mode-check .icon{width:12px;height:12px}.mode-badge{padding:1px 8px;border-radius:99px;font-size:.6875rem;font-weight:600;background:var(--accent);color:var(--accent-ink)}.mode-desc{color:var(--muted);font-size:.8125rem;padding-left:28px}
