@font-face{font-family:GeistSans;src:url(/_next/static/media/0b78ff376f6b9734-s.p.woff2) format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local("Arial");ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.00%;size-adjust:106.28%}.__className_8adcd2{font-family:GeistSans,GeistSans Fallback}.__variable_8adcd2{--font-geist-sans:"GeistSans","GeistSans Fallback"}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Bricolage Grotesque Fallback;src:local("Arial");ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.00%;size-adjust:105.43%}.__className_b51245{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.__variable_b51245{--font-display:"Bricolage Grotesque","Bricolage Grotesque Fallback"}:root{--court-surface:linear-gradient(170deg,var(--court),var(--court-2));--court:#0b3d36;--court-2:#10514a;--court-3:#14615a;--court-line:rgba(255,255,255,0.16);--on-court:#f4f9f7;--on-court-dim:rgba(244,249,247,0.78);--teal:#0e9384;--teal-dark:#0b5a52;--teal-tint:#e6f5f2;--ball:#dff140;--ball-ink:#3c4506;--ball-tint:#f6fadb;--ink:#10201d;--text:#10201d;--muted:#4f5d59;--muted-2:#64716d;--faint:#64716d;--disabled:#b5beba;--page:#f3f4f0;--surface:#ffffff;--surface-2:#f8f9f5;--line:#e4e7e1;--line-2:#edefe9;--green:#0a7f49;--green-tint:#eafaf1;--amber-text:#7d6112;--amber-tint:#fdf4dd;--coral:#b3423f;--coral-tint:#fdeeed;--chip-blue:#34517f;--chip-amber:#8a6420;--chip-purple:#5f3a78;--chip-green:#2f6b4f;--chip-coral:#96403d;--radius-sm:12px;--radius:16px;--radius-lg:24px;--shadow-card:0 1px 2px rgba(11,61,54,0.05),0 6px 20px rgba(11,61,54,0.07);--shadow-float:0 4px 12px rgba(11,61,54,0.1),0 16px 40px rgba(11,61,54,0.16);--shadow-dock:0 -1px 0 rgba(11,61,54,0.04),0 -8px 28px rgba(11,61,54,0.1);--ease-out:cubic-bezier(0.22,1,0.36,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--dur-fast:150ms;--dur:250ms;--dur-slow:420ms;--app-max:460px;--font-body:var(--font-geist-sans),-apple-system,BlinkMacSystemFont,system-ui,sans-serif;--font-disp:var(--font-display),var(--font-geist-sans),system-ui,sans-serif}*{margin:0;padding:0;box-sizing:border-box}body,html{background:var(--page);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%}html{overflow-x:clip;overscroll-behavior-x:none;scrollbar-gutter:stable}body{min-height:100dvh;font-size:15px}[role=button],[role=tab],a,button,input,label,select,summary,textarea{touch-action:manipulation}a{text-decoration:none}a,button{color:inherit}button{font:inherit;cursor:pointer;border:none;background:none}input,select,textarea{font:inherit;font-size:16px}:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.court-panel :focus-visible,.demo-court-bar :focus-visible,.toast :focus-visible{outline-color:var(--ball)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.app-shell{max-width:var(--app-max);margin:0 auto;min-height:100dvh;background:var(--surface);display:flex;flex-direction:column;position:relative;box-shadow:0 0 0 1px var(--line)}.app-scroll{flex:1 1;padding-bottom:24px}.pad{padding:16px 18px}.grow{flex:1 1;min-width:0}.skip-link{position:absolute;left:-9999px;top:0;z-index:60}.skip-link:focus{position:fixed;left:12px;top:12px;padding:12px 16px;border-radius:var(--radius-sm);background:var(--court);color:var(--on-court);font-size:14px;font-weight:600;box-shadow:var(--shadow-float)}.app-header{display:flex;align-items:center;gap:10px;padding:10px 12px 10px 18px;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;background:var(--surface);z-index:20;min-height:60px}.app-header .h-title{font-family:var(--font-disp);font-size:16px;font-weight:700;letter-spacing:-.01em;line-height:1.15;display:flex;align-items:center;gap:7px}.app-header .h-sub,.app-header .h-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-header .h-sub{font-size:12px;color:var(--muted-2)}.header-actions{margin-left:auto;display:flex;align-items:center;gap:0;flex-shrink:0}.icon-btn{width:44px;place-items:center;color:var(--ink);position:relative;transition:background var(--dur-fast),transform var(--dur-fast) var(--ease-spring)}.avatar-chip,.icon-btn{height:44px;border-radius:12px;display:grid}.avatar-chip{min-width:44px;place-items:center;transition:background var(--dur-fast),transform var(--dur-fast) var(--ease-spring)}.avatar-chip .avatar{width:32px;height:32px;font-size:15px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2)}.display{font-family:var(--font-disp);font-size:32px;font-weight:800;line-height:1.05;letter-spacing:-.02em}.h1{font-size:26px;line-height:1.1}.h1,.h2{font-family:var(--font-disp);font-weight:700;letter-spacing:-.02em}.h2{font-size:20px}.h3{font-size:17px;font-weight:600;letter-spacing:-.01em}.lead{font-size:15px;line-height:1.5}.lead,.muted{color:var(--muted)}.small{font-size:13px}.micro{font-size:12px}.num,.tabular{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-card)}.card-2{background:var(--surface-2);box-shadow:none}.section-head{display:flex;align-items:center;justify-content:space-between;margin:22px 18px 10px}.section-head .eyebrow{margin:0}.link{color:var(--teal-dark);font-size:13px;font-weight:600}.link-tap,button.link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding-inline:8px}.court-panel{position:relative;background:var(--court-surface);color:var(--on-court);padding:22px 18px 44px;overflow:hidden}.court-panel .eyebrow,.court-panel .lead,.court-panel .muted{color:var(--on-court-dim)}.court-overlap{position:relative;z-index:2;margin-top:-28px}.court-overlap .card{box-shadow:var(--shadow-card)}.shimmer-overlay{position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.12) 50%,transparent 70%);background-size:220% 100%;animation:shimmerSweep .4s ease-out both}@keyframes shimmerSweep{0%{background-position:120% 0}to{background-position:-60% 0}}.ball-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ball);flex-shrink:0}.ball-dot.pulse{animation:ballPulse 2s var(--ease-out) infinite}@keyframes ballPulse{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(223,241,64,.55)}60%{transform:scale(1.35);box-shadow:0 0 0 7px rgba(223,241,64,0)}to{transform:scale(1);box-shadow:0 0 0 0 rgba(223,241,64,0)}}.chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:4px 9px;border-radius:999px;background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}.chip.tier{color:#fff;border:none}.chip.ghost{background:transparent}.chip.success{background:var(--green-tint);color:var(--green);border:none}.chip.warn{background:var(--amber-tint);color:var(--amber-text);border:none}.chip.ball{background:var(--ball-tint);color:var(--ball-ink);border:none}.chip.court{background:var(--court);color:var(--on-court);border:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;padding:13px 16px;border-radius:var(--radius-sm);font-size:15px;font-weight:600;transition:transform var(--dur-fast) var(--ease-spring),opacity var(--dur-fast),background var(--dur-fast),box-shadow var(--dur-fast)}.btn:active{transform:scale(.98)}.btn-court{background:var(--court-surface);color:#fff}.btn-ball{background:var(--ball);color:var(--ball-ink);box-shadow:var(--shadow-card)}.btn-outline{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.btn-ghost{padding:9px 12px;font-size:14px;color:var(--teal-dark)}.btn-ghost,.btn-sm{width:auto;min-height:44px}.btn-sm{padding:8px 14px;font-size:13px;border-radius:10px}.btn-danger{color:var(--coral)}.btn-destructive{background:var(--coral);color:#fff}.field{margin-top:16px}.label{display:block;font-size:13px;font-weight:600;margin-bottom:7px;color:var(--ink)}.label .hint{color:var(--muted-2);font-weight:400}.input{width:100%;min-height:48px;padding:13px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.input:focus{border-color:var(--teal)}.input::placeholder{color:var(--faint)}.help{font-size:12px;margin-top:8px}.divider-or,.help{color:var(--muted-2)}.divider-or{display:flex;align-items:center;gap:12px;font-size:13px;margin:18px 0}.divider-or:after,.divider-or:before{content:"";flex:1 1;height:1px;background:var(--line)}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:14px;font-weight:600;flex-shrink:0}.avatar.sm{width:32px;height:32px;font-size:12px}.avatar.lg{width:64px;height:64px;font-size:22px}.avatar-stack{display:inline-flex;align-items:center}.avatar-stack .as-item{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:600;color:#fff;border:2px solid var(--surface);margin-left:-8px;flex-shrink:0}.avatar-stack .as-item:first-child{margin-left:0}.avatar-stack .as-more{background:var(--surface-2);color:var(--muted);font-size:11px}.row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line-2)}.row:last-child{border-bottom:none}.row .grow{flex:1 1;min-width:0}.row .name{font-weight:600;font-size:15px}.row .sub{font-size:13px;color:var(--muted-2);white-space:nowrap;text-overflow:ellipsis}.bar,.row .sub{overflow:hidden}.bar{height:8px;background:var(--line)}.bar,.bar>span{border-radius:999px}.bar>span{display:block;height:100%;background:var(--teal);transition:width var(--dur) var(--ease-out)}.bar.sm{height:6px}.court-panel .bar{background:rgba(255,255,255,.16)}.court-panel .bar>span{background:var(--ball)}.stat-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow-card)}.stat-tile .num{font-family:var(--font-disp);font-size:28px;font-weight:800;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1}.stat-tile .lbl{font-size:12.5px;color:var(--muted);margin-top:2px}a.stat-tile,button.stat-tile{display:block;width:100%;text-align:left}.court-panel .stat-tile{background:rgba(255,255,255,.08);border-color:var(--court-line);box-shadow:none;color:var(--on-court)}.court-panel .stat-tile .lbl{color:var(--on-court-dim)}@media (hover:hover) and (pointer:fine){.court-panel a.stat-tile:hover,.court-panel button.stat-tile:hover{background:rgba(255,255,255,.14);border-color:var(--court-line)}}.court-panel a.stat-tile:active,.court-panel button.stat-tile:active{background:rgba(255,255,255,.16)}.delta{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.delta.up{background:var(--green-tint);color:var(--green)}.delta.down{background:var(--coral-tint);color:var(--coral)}.court-panel .delta.up{background:rgba(223,241,64,.16);color:var(--ball)}.court-panel .delta.down{background:rgba(255,255,255,.1);color:var(--on-court-dim)}.score-tile{min-height:96px;border-radius:var(--radius-lg);background:var(--surface-2);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:10px;position:relative;transition:background var(--dur-fast),border-color var(--dur-fast)}.score-tile .num{font-family:var(--font-disp);font-size:44px;font-weight:800;letter-spacing:-.02em;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.score-tile .lbl{font-size:12.5px;font-weight:600;color:var(--muted)}.score-tile input.num{width:100%;background:transparent;border:none;outline:none;text-align:center;padding:0;color:inherit;caret-color:var(--teal)}.score-tile input.num::placeholder{color:var(--disabled)}.score-tile.typing{border-color:var(--teal);background:var(--surface)}.score-tile.winner{background:var(--court-surface);border-color:transparent;color:var(--on-court)}.score-tile.winner .num{color:var(--ball)}.score-tile.winner .lbl{color:var(--on-court-dim)}.score-tile.pop{animation:tilePop var(--dur) var(--ease-spring)}@keyframes tilePop{50%{transform:scale(1.04)}}.podium{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:10px;gap:10px;align-items:end}.podium>*{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 8px;box-shadow:var(--shadow-card)}.podium>:nth-child(2){transform:translateY(-12px)}.medal{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:26px;height:26px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.medal.gold{background:var(--ball);color:var(--ball-ink)}.medal.silver{background:var(--line);color:var(--ink)}.medal.bronze{background:var(--amber-tint);color:var(--amber-text)}.actions-3{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.action{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:14px 8px;display:flex;flex-direction:column;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--ink);transition:background var(--dur-fast),transform var(--dur-fast) var(--ease-spring)}.action .ico{width:34px;height:34px;border-radius:10px;background:var(--court);color:#fff;display:grid;place-items:center}:root.chat-thread-open .dock{display:none}.dock{position:-webkit-sticky;position:sticky;bottom:calc(12px + env(safe-area-inset-bottom));margin:8px 12px calc(12px + env(safe-area-inset-bottom));display:flex;align-items:stretch;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-dock),var(--shadow-card);padding:8px 6px;z-index:30}.dock-tab{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;font-weight:500;color:var(--muted-2);padding:4px 0 10px;position:relative;min-height:48px;border-radius:var(--radius-sm);transition:background var(--dur-fast),color var(--dur-fast),transform var(--dur-fast) var(--ease-spring)}.dock-tab.active{color:var(--court);font-weight:600}.dock-tab.active:after{content:"";position:absolute;bottom:4px;left:50%;margin-left:-2px;width:4px;height:4px;border-radius:50%;background:var(--ball)}.dock-tab.active .dock-ico{animation:tabPop var(--dur) var(--ease-spring)}@keyframes tabPop{50%{transform:scale(1.15)}}.dock-slot{flex:1 1;display:grid;place-items:center}.dock-play{width:54px;height:54px;border-radius:50%;background:var(--court-surface);color:var(--ball);display:grid;place-items:center;transform:translateY(-14px);box-shadow:var(--shadow-float);transition:transform var(--dur) var(--ease-spring)}.dock-play.active{transform:translateY(-14px) scale(1.06)}.dock-play:active{transform:translateY(-14px) scale(.96)}.dock-badge,.unread-pill{min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--ball);color:var(--ball-ink);font-size:10px;font-weight:700;display:grid;place-items:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;animation:badgePulse 2s var(--ease-out) infinite}.dock-badge{position:absolute;top:0;left:50%;margin-left:6px}@keyframes badgePulse{0%{box-shadow:0 0 0 0 rgba(223,241,64,.55)}60%{box-shadow:0 0 0 7px rgba(223,241,64,0)}to{box-shadow:0 0 0 0 rgba(223,241,64,0)}}.seg{position:relative;display:flex;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:3px;min-height:52px}.seg-thumb{position:absolute;top:3px;bottom:3px;left:3px;background:var(--surface);box-shadow:var(--shadow-card);transition:transform var(--dur) var(--ease-out);pointer-events:none}.seg button,.seg-thumb{border-radius:calc(var(--radius-sm) - 3px)}.seg button{flex:1 1;position:relative;z-index:1;font-size:13px;font-weight:600;color:var(--muted);padding:8px 10px;transition:color var(--dur-fast);white-space:nowrap}.seg button.on{color:var(--ink)}.steps{display:flex;gap:6px;padding:14px 18px 4px}.steps>span{flex:1 1;height:3px;border-radius:999px;background:var(--line);transition:background var(--dur) var(--ease-out)}.steps>span.on{background:var(--teal)}.scrim{position:fixed;inset:0;background:rgba(11,32,29,.45);display:flex;align-items:flex-end;justify-content:center;z-index:60;animation:fade var(--dur-fast) ease}.scrim.center{align-items:center;padding:24px}.sheet{width:100%;max-width:var(--app-max);max-height:calc(100dvh - 48px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;background:var(--surface);border-radius:28px 28px 0 0;padding:8px 18px calc(20px + env(safe-area-inset-bottom));animation:slideup .32s var(--ease-spring)}.sheet-grab{width:40px;height:4px;border-radius:999px;background:var(--line);margin:8px auto 14px}.sheet-close{position:absolute;top:14px;right:12px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--muted);background:var(--surface-2)}@keyframes fade{0%{opacity:0}}@keyframes slideup{0%{transform:translateY(28px);opacity:0}}.scrim.closing{animation:scrimOut var(--dur-fast) ease both;pointer-events:none}.scrim.closing .sheet{animation:sheetOut var(--dur) var(--ease-out) both}.scrim.closing .confirm-card{animation:confirmOut var(--dur-fast) var(--ease-out) both}@keyframes scrimOut{to{opacity:0}}@keyframes sheetOut{to{transform:translateY(28px);opacity:0}}@keyframes confirmOut{to{opacity:0;transform:scale(.96) translateY(6px)}}.confirm-card{width:100%;max-width:320px;background:var(--surface);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-float);animation:confirmIn var(--dur) var(--ease-spring)}@keyframes confirmIn{0%{opacity:0;transform:scale(.94) translateY(8px)}}.toast-stack{position:fixed;left:50%;transform:translateX(-50%);top:calc(64px + env(safe-area-inset-top));width:calc(min(100vw, var(--app-max)) - 32px);display:flex;flex-direction:column;gap:8px;z-index:80;pointer-events:none}.toast-stack>*{pointer-events:auto}.toast{width:100%;background:var(--court);color:var(--on-court);border-radius:var(--radius);padding:8px 16px;min-height:48px;display:flex;align-items:center;gap:12px;font-size:14px;font-weight:500;box-shadow:var(--shadow-float);animation:toastIn var(--dur) var(--ease-spring)}.toast.closing{animation:toastOut var(--dur-fast) var(--ease-out) both}.toast .toast-undo{margin-left:auto;color:var(--ball);font-weight:700;font-size:14px;min-height:44px;padding:0 6px;flex-shrink:0}@keyframes toastIn{0%{opacity:0;transform:translateY(-16px)}}@keyframes toastOut{to{opacity:0;transform:translateY(-8px)}}.toggle{width:46px;height:28px;border-radius:999px;background:var(--line);position:relative;flex-shrink:0;transition:background var(--dur-fast)}.toggle.on{background:var(--teal)}.toggle:before{content:"";position:absolute;inset:-8px}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform var(--dur-fast) var(--ease-out)}.toggle.on:after{transform:translateX(18px)}.setting-row{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line-2)}.setting-row:last-child{border-bottom:none}.setting-row .grow{flex:1 1}.st-title{font-weight:600;font-size:15px}.st-sub{font-size:13px;color:var(--muted-2);margin-top:1px}.skel{background:linear-gradient(90deg,var(--line-2) 25%,var(--surface-2) 50%,var(--line-2) 75%);background-size:200% 100%;border-radius:var(--radius-sm);animation:skelShimmer 1.4s linear infinite}@keyframes skelShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:36px 24px}.empty .empty-ico{width:44px;height:44px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line);color:var(--muted);display:grid;place-items:center}.empty p{color:var(--muted);font-size:14px;max-width:260px;line-height:1.5}.rise{animation:riseIn var(--dur-slow) var(--ease-out) both;animation-delay:calc(var(--rise-i, 0) * 30ms)}.rise:nth-child(2){animation-delay:calc(var(--rise-i, 1) * 30ms)}.rise:nth-child(3){animation-delay:calc(var(--rise-i, 2) * 30ms)}.rise:nth-child(4){animation-delay:calc(var(--rise-i, 3) * 30ms)}.rise:nth-child(5){animation-delay:calc(var(--rise-i, 4) * 30ms)}.rise:nth-child(6){animation-delay:calc(var(--rise-i, 5) * 30ms)}.rise:nth-child(7){animation-delay:calc(var(--rise-i, 6) * 30ms)}.rise:nth-child(n+8){animation-delay:calc(var(--rise-i, 7) * 30ms)}.rise .rise{animation-name:riseFade}@keyframes riseIn{0%{opacity:0;transform:translateY(12px)}}@keyframes riseFade{0%{opacity:0}}.slide-in-left{animation:slideInLeft var(--dur) var(--ease-out) both}.slide-out-right{animation:slideOutRight var(--dur) var(--ease-out) both}@keyframes slideInLeft{0%{transform:translateX(100%)}}@keyframes slideOutRight{to{transform:translateX(100%)}}.burst{position:absolute;inset:0;pointer-events:none;overflow:visible}.burst span{position:absolute;left:50%;top:50%;width:6px;height:6px;border-radius:1px;opacity:0;animation:burstFly .6s var(--ease-out) forwards}@keyframes burstFly{0%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0deg)}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.4) rotate(140deg)}}.burst span:first-child{--dx:-52px;--dy:-58px;background:var(--ball)}.burst span:nth-child(2){--dx:44px;--dy:-64px;background:var(--teal)}.burst span:nth-child(3){--dx:-70px;--dy:-12px;background:var(--chip-coral)}.burst span:nth-child(4){--dx:66px;--dy:-20px;background:var(--ball)}.burst span:nth-child(5){--dx:-30px;--dy:-76px;background:var(--teal)}.burst span:nth-child(6){--dx:24px;--dy:-80px;background:var(--ball)}.burst span:nth-child(7){--dx:-60px;--dy:34px;background:var(--ball)}.burst span:nth-child(8){--dx:58px;--dy:28px;background:var(--chip-coral)}.burst span:nth-child(9){--dx:-14px;--dy:62px;background:var(--teal)}.burst span:nth-child(10){--dx:18px;--dy:56px;background:var(--ball)}.center-col{display:flex;flex-direction:column;align-items:center;text-align:center}.success-ring{width:66px;height:66px;border-radius:50%;background:var(--green-tint);color:var(--green);display:grid;place-items:center;margin-bottom:6px}.stack>*+*{margin-top:12px}.spacer{flex:1 1}.pill-toggle{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:3px}.pill-toggle button{padding:6px 14px;border-radius:999px;font-size:13px;font-weight:600;color:var(--muted);border:1px solid transparent;transition:background var(--dur-fast),color var(--dur-fast)}.pill-toggle button.on{background:var(--surface);color:var(--ink);border-color:var(--line)}a.card,a.row,a.setting-row,a.stat-tile,button.card,button.row,button.setting-row,button.stat-tile{transition:background var(--dur-fast),border-color var(--dur-fast),transform var(--dur-fast) var(--ease-spring)}@media (hover:hover) and (pointer:fine){.avatar-chip:hover,.btn-outline:hover,.icon-btn:hover,a.row:hover,a.setting-row:hover,button.row:hover,button.setting-row:hover{background:var(--surface-2)}a.card:hover,a.stat-tile:hover,button.card:hover,button.stat-tile:hover{background:var(--surface-2);border-color:var(--line)}.action:hover,.dock-tab:hover{background:var(--teal-tint)}.btn-court:hover{opacity:.94}.btn-ball:hover{filter:brightness(.97)}}.action:active,.avatar-chip:active,.dock-tab:active,.icon-btn:active,a.card:active,a.row:active,a.setting-row:active,a.stat-tile:active,button.card:active,button.row:active,button.setting-row:active,button.stat-tile:active{transform:scale(.97);background:var(--surface-2)}.content-col{width:100%}.sidenav{display:none}@keyframes sheetInDesk{0%{opacity:0;transform:scale(.96) translateY(8px)}}@keyframes sheetOutDesk{to{opacity:0;transform:scale(.96) translateY(8px)}}@media (min-width:900px){.dock{display:none}.app-shell.solo,.app-shell.storefront,.app-shell.with-sidenav{max-width:none;background:var(--page);box-shadow:none}.app-shell.with-sidenav{margin:0 0 0 232px}.app-shell.solo,.app-shell.storefront{margin:0}.content-col{max-width:640px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}.court-panel{border-radius:20px}.app-header{width:100%;max-width:640px;margin:0 auto;padding:8px 24px;min-height:56px;background:var(--page);border-bottom-color:var(--line-2)}.app-header .h-league{display:none}.demo-court-bar{width:100%;max-width:640px;margin:0 auto;border-radius:0 0 var(--radius-sm) var(--radius-sm)}.scrim{align-items:center;padding:24px}.sheet{max-width:440px;border-radius:var(--radius-lg);box-shadow:var(--shadow-float);animation:sheetInDesk var(--dur) var(--ease-out)}.scrim.closing .sheet{animation:sheetOutDesk var(--dur-fast) var(--ease-out) both}.sheet-grab{display:none}.toast-stack{left:calc(50% + 116px);bottom:32px}.sidenav{position:fixed;left:0;top:0;bottom:0;width:232px;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:14px 12px 16px;z-index:40}.sidenav-league{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);font-family:var(--font-disp);font-size:15px;font-weight:700;letter-spacing:-.01em;min-width:0;transition:background var(--dur-fast)}.sidenav-league .lg-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidenav-nav{display:flex;flex-direction:column;gap:2px;margin-top:16px}.sidenav-item{display:flex;align-items:center;gap:10px;min-height:44px;padding:9px 12px;border-radius:10px;font-size:14px;font-weight:500;color:var(--muted);transition:background var(--dur-fast),color var(--dur-fast)}.sidenav-item.active{background:var(--teal-tint);color:var(--court);font-weight:600}.sidenav-item.active:after{content:"";width:4px;height:4px;border-radius:50%;background:var(--ball)}.sidenav-item .unread-pill,.sidenav-item.active:after{margin-left:auto;flex-shrink:0}.sidenav-item .ico-ball{width:24px;height:24px;margin:-2px;border-radius:7px;background:var(--ball-tint);color:var(--ball-ink);display:grid;place-items:center;flex-shrink:0}.sidenav-item.active .ico-ball{background:var(--ball)}.sidenav-profile{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;transition:background var(--dur-fast)}@media (hover:hover) and (pointer:fine){.sidenav-item:hover,.sidenav-league:hover,.sidenav-profile:hover{background:var(--surface-2)}.sidenav-item:hover{color:var(--ink)}}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}.shimmer-overlay{display:none}}@media (display-mode:standalone){body:has(.app-shell){position:fixed;inset:0;width:100%;overflow:hidden}body:has(.app-shell) .app-shell{height:100dvh;min-height:0}body:has(.app-shell) .app-scroll{overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0}}.app-scroll{overscroll-behavior:contain}.rotate-overlay{display:none}@media (display-mode:standalone) and (orientation:landscape) and (max-height:500px) and (pointer:coarse){.rotate-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:var(--court);color:var(--on-court);text-align:center;padding:24px}}@keyframes ptr-rotate{to{transform:rotate(1turn)}}.ptr-spin{animation:ptr-rotate .9s linear infinite}@media (prefers-reduced-motion:reduce){.ptr-spin{animation:none}}.pickup-idle{position:relative;z-index:2;margin-top:-28px}.pickup-idle+.court-overlap{margin-top:0}.deck-row{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -18px;padding:0 18px;-webkit-overflow-scrolling:touch}.deck-row::-webkit-scrollbar{display:none}.deck-slide{flex-grow:0;flex-shrink:0;flex-basis:calc(100% - 26px);min-width:0;scroll-snap-align:center}.deck-slide:only-child{flex-basis:100%}.deck-dots{display:flex;justify-content:center;gap:6px;margin-top:10px}.deck-dots span{width:6px;height:6px;border-radius:99px;background:var(--line);transition:width var(--dur-fast),background var(--dur-fast)}.deck-dots span.on{width:16px;background:var(--court)}