.visual-donut{min-width:0;margin:0}.visual-donut figcaption{color:var(--text-primary);margin-bottom:16px;font-size:20px;font-weight:700}.visual-donut-body{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.visual-donut-ring{flex:0 0 180px;width:180px;position:relative}.visual-donut-ring svg{width:100%;display:block}.visual-ring-base,.visual-ring-segment{fill:none;stroke-width:26px}.visual-ring-base{stroke:var(--border)}.visual-ring-segment{transform-origin:50%;transform:rotate(-90deg)}.visual-donut-ring>div{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.visual-donut-ring strong{font-variant-numeric:tabular-nums;font-size:30px}.visual-donut-ring span{color:var(--text-secondary);font-size:15px}.visual-donut-legend{gap:16px;display:grid}.visual-donut-legend dt{color:var(--text-secondary);align-items:center;gap:8px;font-size:16px;display:flex}.visual-donut-legend i{border-radius:50%;width:12px;height:12px}.visual-donut-legend dd{margin:4px 0 0 20px;font-size:22px;font-weight:700}.visual-donut-legend small{color:var(--text-secondary);font-size:15px;font-weight:500}.visual-bars{gap:16px;display:grid}.visual-bar-row{width:100%;min-width:0;color:var(--text-primary);text-align:left;font:inherit;background:0 0;border:0;padding:4px 0;display:block}button.visual-bar-row{cursor:pointer;min-height:52px}.visual-bar-label{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;font-size:16px;display:flex}.visual-bar-label>span{overflow-wrap:anywhere}.visual-bar-label strong{flex-shrink:0}.visual-bar-track{background:var(--bg-elevated);border-radius:8px;height:12px;display:block;overflow:hidden}.visual-bar-track>span{transform-origin:0;height:100%;display:block}.visual-stacked>div{margin-bottom:22px}.visual-stacked p{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:10px;font-size:16px;display:flex}.visual-stack-track{background:var(--bg-elevated);border-radius:8px;height:20px;display:flex;overflow:hidden}.visual-stack-track>span:first-child{background:var(--green)}.visual-stack-track>span:last-child{background:var(--red)}.visual-stacked p strong small{color:var(--text-muted);font-size:14px;font-weight:600}.visual-legend{flex-wrap:wrap;gap:8px 20px;margin:14px 0 0;padding:0;list-style:none;display:flex}.visual-legend li{color:var(--text-secondary);align-items:center;gap:8px;font-size:15px;display:inline-flex}.visual-legend i{border-radius:3px;width:12px;height:12px}.visual-table-details{margin-top:14px}.visual-table-details>summary{min-height:44px;color:var(--text-secondary);cursor:pointer;align-items:center;font-size:15px;font-weight:650;display:flex}.visual-table-details>summary:focus-visible{outline:3px solid var(--volt);outline-offset:3px}.visual-diverging-row{align-items:stretch;gap:6px;padding:4px 2px 0;display:flex;overflow-x:auto}.visual-diverging-col{color:inherit;font:inherit;background:0 0;border:0;flex-direction:column;flex:1 0 44px;gap:8px;padding:0;display:flex}button.visual-diverging-col{cursor:pointer}.visual-diverging-plot{border-radius:6px;height:176px;display:block;position:relative}.visual-diverging-plot:before{content:"";border-top:1px dashed var(--text-muted);position:absolute;top:50%;left:0;right:0}.visual-diverging-bar{border-radius:4px;min-height:3px;position:absolute;left:14%;right:14%}.visual-diverging-bar.is-positive{background:var(--green)}.visual-diverging-bar.is-negative{background:var(--red)}.visual-diverging-value{font-family:var(--font-mono);text-align:center;font-variant-numeric:tabular-nums;padding:2px 0;font-size:14px;font-weight:700;position:absolute;left:0;right:0}.visual-diverging-value.is-positive{color:var(--green-strong)}.visual-diverging-value.is-negative{color:var(--red)}.visual-diverging-label{color:var(--text-muted);text-align:center;font-size:13px;font-weight:600}.visual-diverging-col.is-selected .visual-diverging-plot{background:var(--accent-soft)}.visual-diverging-col:focus-visible{outline:3px solid var(--volt);outline-offset:3px}.visual-trend-raw{fill:none;stroke:var(--text-muted);stroke-width:1.5px;opacity:.55}.visual-trend-avg{fill:none;stroke:var(--volt);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.visual-trend .player-chart-hit{fill:#0000;stroke:#0000;cursor:pointer}.visual-trend .player-chart-hit:focus-visible{stroke:var(--volt);stroke-width:3px}.visual-proscons>div{margin-bottom:20px}.visual-proscons p{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:16px;display:flex}.visual-proscons p b{font-family:var(--font-mono);font-size:17px}.visual-proscons p b.is-positive{color:var(--green-strong)}.visual-proscons p b.is-negative{color:var(--red)}.visual-proscons-track{background:var(--bg-elevated);border-radius:9px;height:18px;display:block;overflow:hidden}.visual-proscons-fill{height:100%;display:flex}.visual-proscons-fill>span{height:100%}.visual-proscons-fill .is-positive{background:var(--green)}.visual-proscons-fill .is-negative{background:var(--red)}.visual-columns-dense{gap:10px}.visual-columns-joined{gap:0}.visual-columns-joined .visual-column{gap:8px}.visual-columns-joined .visual-column>div{width:100%;box-shadow:inset -1px 0 0 var(--bg-base);border-radius:3px 3px 0 0}.visual-columns-joined .visual-column:last-child>div{box-shadow:none}.visual-histogram-chart{grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);gap:6px 8px;padding:8px 4px 0;display:grid}.visual-axis-y{font-variant-numeric:tabular-nums;height:210px;color:var(--text-tertiary);flex-direction:column;justify-content:space-between;align-items:flex-end;font-size:13px;line-height:1;display:flex}.visual-axis-y>span{display:block}.visual-plot{border-left:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);height:210px;position:relative}.visual-gridlines{flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}.visual-gridlines>i{border-top:1px dashed var(--border);display:block}.visual-plot-bars{align-items:flex-end;gap:clamp(6px,3%,22px);padding:0 clamp(4px,2%,16px);display:flex;position:absolute;inset:0}.visual-plot-bar{flex-direction:column;flex:1 1 0;justify-content:flex-end;align-items:stretch;min-width:0;max-width:68px;height:100%;margin-inline:auto;display:flex;position:relative}.visual-plot-total{left:0;right:0;bottom:var(--bar-height,0%);font-variant-numeric:tabular-nums;text-align:center;color:var(--text-tertiary);padding-bottom:5px;font-size:12px;font-weight:600;line-height:1;transition:color .16s ease-out;position:absolute}.visual-plot-stack{width:100%;height:var(--bar-height,0%);border-radius:5px 5px 0 0;flex-direction:column;min-height:2px;display:flex;overflow:hidden}.visual-plot-stack>i{flex-grow:0;flex-shrink:0;min-height:0;display:block}.visual-plot-stack>i.is-won{background:var(--green)}.visual-plot-stack>i.is-lost{background:var(--red)}.visual-axis-x{font-variant-numeric:tabular-nums;color:var(--text-secondary);grid-column:2;gap:clamp(6px,3%,22px);padding:0 clamp(4px,2%,16px);font-size:14px;display:flex}.visual-axis-x>span{text-align:center;flex:1 1 0;min-width:0;max-width:68px;margin-inline:auto}.visual-radial{margin:0}.visual-radial figcaption{color:var(--text-primary);margin-bottom:12px;font-size:20px;font-weight:700}.visual-radial-body{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.visual-radial-gauge{flex:0 0 190px;width:190px;position:relative}.visual-radial-gauge svg{width:100%;display:block}.visual-radial-track,.visual-radial-value{fill:none;stroke-width:20px;stroke-linecap:round}.visual-radial-track{stroke:var(--bg-elevated)}.visual-radial-gauge strong{font-family:var(--font-display);text-align:center;font-variant-numeric:tabular-nums;font-size:42px;font-weight:800;line-height:1;position:absolute;bottom:8px;left:0;right:0}.visual-radial-gauge strong small{font-size:20px}.visual-radial-body>p{color:var(--text-secondary);font-size:17px}.visual-gauge{flex:none;display:inline-block;position:relative}.visual-gauge svg{width:100%;height:100%;display:block;overflow:visible}.visual-gauge-track,.visual-gauge-value{fill:none;stroke-width:6.5px;stroke-linecap:round}.visual-gauge-track{stroke:var(--status-pending-soft)}.visual-gauge-value{stroke:var(--status-pending);transition:stroke-dasharray var(--dur-chart,.9s) var(--ease-out)}.visual-gauge-needle{fill:var(--status-pending);transform-origin:28px 28px}.visual-gauge-mark-halo{stroke:var(--bg-card-solid);stroke-width:4.4px;stroke-linecap:round}.visual-gauge-mark{stroke:var(--text-primary);stroke-width:2.2px;stroke-linecap:round}.visual-gauge.is-reached .visual-gauge-track{stroke:var(--status-official-soft)}.visual-gauge.is-reached .visual-gauge-value{stroke:var(--status-official)}.visual-gauge.is-reached .visual-gauge-needle{fill:var(--status-official)}@media (prefers-reduced-motion:no-preference){.visual-gauge-needle{animation:gauge-sweep var(--dur-chart,.9s) var(--ease-out) both}@keyframes gauge-sweep{0%{transform:rotate(calc(var(--sweep,0deg) * -1))}}}.visual-heatmap-scroll{max-height:68vh;overflow:auto}.visual-heatmap table{border-collapse:separate;border-spacing:2px;font-variant-numeric:tabular-nums}.visual-heatmap th,.visual-heatmap td{padding:0}.visual-heatmap thead th{z-index:2;background:var(--bg-card-solid);min-width:42px;height:34px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:700;position:sticky;top:0}.visual-heatmap tbody th{z-index:1;background:var(--bg-card-solid);min-width:118px;color:var(--text-primary);text-align:left;white-space:nowrap;padding-right:10px;font-size:15px;font-weight:700;position:sticky;left:0}.visual-heatmap tbody th button{color:var(--volt);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:6px 0}.visual-heatmap tbody th button:focus-visible{outline:3px solid var(--volt);outline-offset:2px}.visual-heatmap-corner{text-align:left;left:0;z-index:3!important}.visual-heatmap td{text-align:center;border-radius:4px;min-width:42px;height:40px;font-size:16px;font-weight:700}.visual-heatmap-self{background:repeating-linear-gradient(45deg, var(--bg-elevated), var(--bg-elevated) 4px, transparent 4px, transparent 8px)}.visual-heatmap-zero{background:var(--bg-secondary);color:var(--text-muted)}.visual-heatmap-scale{color:var(--text-secondary);align-items:center;gap:12px;margin-top:14px;font-size:14px;display:flex}.visual-heatmap-scale i{background:linear-gradient(90deg,#16a34a,#eab308,#ea580c,#dc2626);border-radius:5px;flex:1;height:10px}.visual-caption,.visual-empty{color:var(--text-secondary);margin:12px 0;font-size:15px;line-height:1.5}.visual-metric-tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.visual-metric-tabs button{border:1px solid var(--border-strong);background:var(--bg-card-solid);min-height:44px;color:var(--text-primary);cursor:pointer;border-radius:10px;padding:8px 16px;font-size:16px}.visual-metric-tabs button[aria-pressed=true]{background:var(--volt);color:var(--on-accent)}.visual-columns{gap:18px;padding:8px 4px 14px;display:flex;overflow-x:auto}.visual-column{flex-direction:column;flex:1 0 64px;align-items:center;gap:10px;font-size:16px;display:flex}.visual-column>div{background:var(--bg-elevated);border-radius:8px 8px 0 0;width:min(48px,100%);height:150px;overflow:hidden}.visual-column>div>span{background:var(--volt);transform-origin:bottom;width:100%;height:100%;display:block}.visual-bar-row:focus-visible,.visual-metric-tabs button:focus-visible{outline:3px solid var(--volt);outline-offset:4px}@media (width<=420px){.visual-donut-body{gap:12px}.visual-donut-ring{flex-basis:150px;width:150px}}@media (width<=620px){.visual-radial-gauge{flex-basis:168px;width:168px}.visual-diverging-plot{height:150px}.visual-heatmap tbody th{min-width:96px;font-size:14px}.visual-heatmap td{min-width:36px;height:36px;font-size:15px}}[data-reveal] .visual-bar-track>span,[data-reveal] .visual-column>div>span,[data-reveal] .visual-plot-stack,[data-reveal] .visual-diverging-bar,[data-reveal] .visual-proscons-fill,[data-reveal] .visual-stack-track>span,[data-reveal] .visual-ring-segment,[data-reveal] .visual-radial-value{transition-delay:calc(var(--i,0) * var(--stagger,45ms))}[data-reveal] .visual-plot-total{transition-delay:calc(var(--dur-chart,.52s) + var(--i,0) * var(--stagger,45ms)), 0s}[data-reveal=out] .visual-bar-track>span{transform:scaleX(0)!important}[data-reveal=out] .visual-column>div>span{transform:scaleY(0)!important}[data-reveal=out] .visual-plot-stack{min-height:0;height:0!important}[data-reveal=out] .visual-plot-total{opacity:0}[data-reveal=out] .visual-diverging-bar{min-height:0;height:0!important}[data-reveal=out] .visual-diverging-value{opacity:0}[data-reveal=out] .visual-proscons-fill,[data-reveal=out] .visual-stack-track>span{width:0!important}[data-reveal=out] .visual-ring-segment,[data-reveal=out] .visual-radial-value{stroke-dasharray:0 100!important}.visual-bar-track>span,.visual-column>div>span{transition:transform var(--dur-chart,.52s) var(--ease-out)}.visual-plot-stack{transition:height var(--dur-chart,.52s) var(--ease-out)}.visual-plot-total{transition:opacity var(--dur-pop,.2s) ease, color .16s ease-out}.visual-diverging-bar{transition:height var(--dur-chart,.52s) var(--ease-out)}.visual-diverging-value{transition:opacity var(--dur-pop,.2s) ease}.visual-proscons-fill,.visual-stack-track>span{transition:width var(--dur-chart,.52s) var(--ease-out)}.visual-ring-segment{transition:stroke-dasharray var(--dur-chart,.52s) var(--ease-out), stroke-dashoffset var(--dur-chart,.52s) var(--ease-out)}.visual-radial-value{transition:stroke-dasharray var(--dur-chart,.52s) var(--ease-out)}.visual-trend-raw,.visual-trend-avg{stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.25s var(--ease-in-out)}.visual-trend-avg{transition-delay:.16s}[data-reveal=out] .visual-trend-raw,[data-reveal=out] .visual-trend-avg{stroke-dashoffset:1px}.visual-trend-dot{transition:opacity .3s var(--ease-out), r .3s var(--ease-out);transition-delay:calc(.62s + var(--i,0) * 34ms)}[data-reveal=out] .visual-trend-dot{opacity:0;r:0}.visual-heatmap tbody tr td,.visual-heatmap tbody tr th{transition:opacity .36s var(--ease-out), transform .36s var(--ease-out);transition-delay:calc(var(--i,0) * 55ms)}.visual-heatmap[data-reveal=out] tbody tr td,.visual-heatmap[data-reveal=out] tbody tr th{opacity:0;transform:translateY(6px)}@media (hover:hover) and (pointer:fine){.visual-plot-bar:hover .visual-plot-stack{filter:brightness(1.06)}.visual-plot-bar:hover .visual-plot-total{color:var(--text-primary)}.visual-column:hover>div>span{filter:brightness(1.08)}}@media (prefers-reduced-motion:reduce){[data-reveal] *{transition-duration:0s!important;transition-delay:0s!important}[data-reveal]{animation:.2s both reveal-fade}.visual-gauge-needle{animation:none}@keyframes reveal-fade{0%{opacity:0}to{opacity:1}}}.skeleton-page{gap:var(--space-5);padding-top:var(--space-2);display:grid}.skeleton-bar{background:linear-gradient(90deg, var(--bg-secondary) 0%, var(--bg-hover) 50%, var(--bg-secondary) 100%);border-radius:var(--radius-sm);animation:skeleton-shimmer 1.6s var(--ease-in-out) infinite;background-size:200% 100%;display:block}@keyframes skeleton-shimmer{0%{background-position:150% 0}to{background-position:-50% 0}}.skeleton-head{gap:var(--space-3);display:grid}.skeleton-kpis{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.skeleton-kpi{gap:var(--space-3);padding:var(--space-5);border:1px solid var(--border);background:var(--bg-card-solid);display:grid}.skeleton-block,.skeleton-table,.skeleton-form{gap:var(--space-4);display:grid}.skeleton-row{align-items:center;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border);background:var(--bg-card-solid);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.skeleton-row-text{gap:8px;display:grid}.skeleton-field{gap:var(--space-2);display:grid}.skeleton-row:nth-child(2) .skeleton-bar{animation-delay:80ms}.skeleton-row:nth-child(3) .skeleton-bar{animation-delay:.16s}.skeleton-row:nth-child(n+4) .skeleton-bar{animation-delay:.24s}@media (width<=760px){.skeleton-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.skeleton-row{grid-template-columns:auto minmax(0,1fr)}.skeleton-row>.skeleton-bar:last-child{display:none}}@media (prefers-reduced-motion:reduce){.skeleton-bar{background:var(--bg-secondary);animation:none}}.image-picker{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.image-picker-preview{flex-shrink:0}.image-picker-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.image-picker-hint{font-size:var(--text-xs);color:var(--text-tertiary);margin:0}.image-picker-error{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--red);flex-basis:100%;margin:0;display:flex}.league-photo-preview{border-radius:var(--radius-md,10px);object-fit:cover;background:var(--bg-subtle,#0000000d);width:108px;height:72px;display:block}.league-photo-placeholder{border-radius:var(--radius-md,10px);width:108px;height:72px;color:var(--text-tertiary);background:var(--bg-subtle,#0000000d);border:1px dashed var(--border,#00000026);place-items:center;display:grid}.profile-page{width:min(1160px,100%);color:var(--text-primary);gap:28px;margin:0 auto;display:grid}.profile-hero{isolation:isolate;background:var(--mobile-navy,oklch(27% .055 257));color:oklch(98% .006 255);border-radius:22px;position:relative;overflow:hidden}.profile-hero-court{z-index:-1;opacity:.13;pointer-events:none;border:2px solid;width:430px;height:330px;position:absolute;top:-55px;right:-20px;transform:rotate(17deg)}.profile-hero-court:before,.profile-hero-court:after,.profile-hero-court i{content:"";background:currentColor;display:block;position:absolute}.profile-hero-court:before{height:2px;top:50%;left:0;right:0}.profile-hero-court:after{width:2px;top:0;bottom:0;left:50%}.profile-hero-court i:first-child{height:2px;top:25%;left:0;right:0}.profile-hero-court i:nth-child(2){height:2px;top:75%;left:0;right:0}.profile-hero-court i:nth-child(3){opacity:.8;height:8px;top:calc(50% - 4px);left:0;right:0}.profile-hero-main{align-items:center;gap:24px;min-height:210px;padding:32px 38px 28px;display:flex}.profile-avatar-edit{flex:none}.profile-avatar-edit .image-picker{justify-items:center;gap:9px;display:grid}.profile-avatar-edit .image-picker-preview{border-radius:50%;box-shadow:0 0 0 5px oklch(100% 0 0/.11)}.profile-avatar-edit .user-avatar{background:var(--lime);width:92px;height:92px;color:var(--on-lime);box-shadow:none;border-radius:50%;font-size:34px}.profile-avatar-edit .image-picker-actions{justify-content:center;gap:8px;max-width:168px}.profile-avatar-edit .image-picker-actions .btn{min-height:36px;color:inherit;background:oklch(100% 0 0/.08);border-color:oklch(100% 0 0/.22);padding:7px 10px;font-size:11px}.profile-avatar-edit .image-picker-actions .btn:hover{background:oklch(100% 0 0/.15)}.profile-avatar-edit .settings-link-btn{color:oklch(87% .02 255);align-items:center;gap:4px;font-size:11px;display:inline-flex}.profile-avatar-edit .image-picker-hint:empty{display:none}.profile-avatar-edit .image-picker-error{color:oklch(86% .09 25);font-size:11px}.profile-kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--volt);margin:0 0 8px;font-size:10px;font-weight:750;line-height:1.2}.profile-hero .profile-kicker{color:var(--lime)}.profile-hero-copy h1{color:inherit;letter-spacing:-1.6px;margin:0;font-size:42px;font-weight:680;line-height:1}.profile-identity-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.profile-identity-meta span{color:oklch(89% .018 255);background:oklch(100% 0 0/.07);border:1px solid oklch(100% 0 0/.14);border-radius:8px;align-items:center;min-height:28px;padding:5px 9px;font-size:12px;display:inline-flex}.profile-identity-meta span:last-child{background:var(--lime);color:var(--on-lime);border-color:#0000;font-weight:700}.profile-kpis{background:oklch(19% .045 257/.32);border-top:1px solid oklch(100% 0 0/.13);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.profile-kpis>div{border-right:1px solid oklch(100% 0 0/.12);min-width:0;padding:20px 28px}.profile-kpis>div:last-child{border-right:0}.profile-kpis dt{color:oklch(80% .024 255);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:650}.profile-kpis dd{color:inherit;font-family:var(--font-mono);letter-spacing:-1.2px;margin:0;font-size:30px;font-weight:700;line-height:1}.profile-kpis>div:nth-child(2) dd{color:var(--lime)}.profile-kpis small{color:oklch(75% .02 255);text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:11px;line-height:1.35;display:block;overflow:hidden}.profile-alert{background:var(--red-soft);color:var(--red);border:1px solid oklch(65% .18 25/.25);border-radius:12px;align-items:center;gap:8px;padding:12px 14px;display:flex}.profile-section-head{justify-content:space-between;align-items:end;gap:24px;padding-top:8px;display:flex}.profile-section-head h2,.profile-account-copy h2{letter-spacing:-.8px;margin:0;font-size:27px;font-weight:680;line-height:1.15}.profile-section-head>p{max-width:420px;color:var(--text-secondary);text-align:right;margin:0;font-size:14px;line-height:1.5}.profile-performance-grid,.profile-insights-grid{grid-template-columns:minmax(0,1.65fr) minmax(320px,.85fr);align-items:stretch;gap:18px;display:grid}.profile-panel{border:1px solid var(--border);background:var(--bg-card-solid);min-width:0;box-shadow:var(--shadow-xs);border-radius:18px;padding:24px}.profile-panel>header{justify-content:space-between;align-items:start;gap:20px;margin-bottom:16px;display:flex}.profile-panel h3{letter-spacing:-.3px;margin:0;font-size:18px;font-weight:700}.profile-panel header p{color:var(--text-secondary);margin:5px 0 0;font-size:13px;line-height:1.45}.profile-form-legend{flex-wrap:wrap;justify-content:flex-end;gap:8px 14px;padding-top:3px;display:flex}.profile-form-legend span{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:inline-flex}.profile-form-legend i{border-radius:2px;width:8px;height:8px}.profile-form-legend .is-positive{background:var(--green)}.profile-form-legend .is-negative{background:var(--red)}.profile-form-panel .visual-diverging-plot{background:linear-gradient(to bottom, transparent 49.7%, var(--border) 49.7%, var(--border) 50.3%, transparent 50.3%);height:160px}.profile-form-panel .visual-diverging-plot:before{display:none}.profile-form-panel .visual-diverging-row{gap:8px}.profile-form-panel .visual-diverging-col{flex-basis:38px}.profile-sequence-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding-top:16px;display:flex}.profile-sequence-row>span{color:var(--text-secondary);font-size:12px;font-weight:650}.profile-result-sequence{gap:5px;display:flex}.profile-result-sequence span{background:var(--bg-elevated);width:28px;height:28px;color:var(--text-muted);font-family:var(--font-mono);border-radius:7px;place-items:center;font-size:11px;font-weight:800;display:grid}.profile-result-sequence .is-win{background:var(--lime);color:var(--on-lime)}.profile-result-sequence .is-loss{background:var(--red-soft);color:var(--red);box-shadow:inset 0 0 0 1px oklch(65% .18 25/.18)}.profile-empty-inline{color:var(--text-muted);font-size:12px}.profile-balance-panel{flex-direction:column;justify-content:space-between;display:flex}.profile-balance-panel .visual-donut figcaption{font-size:18px}.profile-balance-panel .visual-donut-body{gap:14px}.profile-balance-panel .visual-donut-ring{flex-basis:146px;width:146px}.profile-balance-panel .visual-ring-base,.profile-balance-panel .visual-ring-segment{stroke-width:22px}.profile-balance-panel .visual-donut-ring strong{font-size:26px}.profile-balance-panel .visual-donut-ring span,.profile-balance-panel .visual-donut-legend small{font-size:12px}.profile-balance-panel .visual-donut-legend{gap:12px}.profile-balance-panel .visual-donut-legend dt{font-size:13px}.profile-balance-panel .visual-donut-legend dd{font-size:18px}.profile-panel-note{border-top:1px solid var(--border);color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:6px;margin:18px 0 0;padding-top:16px;font-size:12px;display:flex}.profile-panel-note svg{color:var(--volt)}.profile-years-panel{padding-bottom:18px}.profile-years-panel .visual-histogram-chart{padding-top:4px}.profile-years-panel .visual-axis-y,.profile-years-panel .visual-plot{height:190px}.profile-years-panel .visual-legend{justify-content:flex-end}.profile-insights{border:1px solid var(--border);background:var(--bg-card-solid);box-shadow:var(--shadow-xs);border-radius:18px;overflow:hidden}.profile-insight-feature{background:var(--volt-soft);padding:24px}.profile-insight-icon{background:var(--volt);width:42px;height:42px;color:var(--on-accent);border-radius:12px;place-items:center;margin-bottom:20px;display:grid}.profile-insight-icon svg{width:21px}.profile-insight-feature p{color:var(--text-secondary);margin:0 0 7px;font-size:12px;font-weight:650}.profile-insight-feature h3{letter-spacing:-.6px;margin:0;font-size:24px}.profile-insight-feature>strong{color:var(--volt);margin-top:6px;font-size:14px;display:block}.profile-insight-feature>small{color:var(--text-secondary);margin-top:5px;font-size:12px;line-height:1.5;display:block}.profile-insight-list{margin:0}.profile-insight-list>div{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:10px 20px;display:flex}.profile-insight-list dt{color:var(--text-secondary);align-items:center;gap:8px;font-size:12px;display:flex}.profile-insight-list dt svg{width:16px;color:var(--volt)}.profile-insight-list dd{font-family:var(--font-mono);margin:0;font-size:16px;font-weight:750}.profile-leagues-section{gap:15px;display:grid}.profile-league-list{border:1px solid var(--border);background:var(--bg-card-solid);box-shadow:var(--shadow-xs);border-radius:16px;overflow:hidden}.profile-league-list>a{min-height:78px;transition:background .18s var(--ease-out);align-items:center;gap:15px;padding:14px 18px;display:flex}.profile-league-list>a+a{border-top:1px solid var(--border)}.profile-league-list>a:hover{background:var(--volt-soft)}.profile-league-icon{background:var(--volt-soft);width:42px;height:42px;color:var(--volt);border-radius:12px;flex:0 0 42px;place-items:center;display:grid}.profile-league-icon svg{width:20px}.profile-league-list a>span:nth-child(2){min-width:0}.profile-league-list strong,.profile-league-list small{display:block}.profile-league-list strong{font-size:15px}.profile-league-list small{color:var(--text-secondary);margin-top:4px;font-size:12px}.profile-league-list a>span:last-child{color:var(--volt);align-items:center;gap:5px;margin-left:auto;font-size:12px;font-weight:650;display:inline-flex}.profile-league-list a>span:last-child svg{width:16px}.profile-league-list .profile-all-leagues{min-height:52px;color:var(--volt);justify-content:flex-end;font-size:12px;font-weight:650}.profile-league-list .profile-all-leagues>span:last-child{margin-left:0}.profile-account-section{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);align-items:end;gap:40px;padding:24px 0;display:grid}.profile-account-copy>p:last-child{max-width:38ch;color:var(--text-secondary);margin:8px 0 0;font-size:13px;line-height:1.5}.profile-page .profile-name-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.profile-page .profile-name-form .form-group{min-width:0;margin:0}.profile-page .profile-name-form .btn{white-space:nowrap;min-height:44px}.profile-page .profile-name-error,.profile-page .profile-name-ok{grid-column:1/-1;margin:0}.profile-page>.profile-logout{background:0 0;justify-self:end;min-width:170px;margin-top:-12px}@media (width<=900px){.profile-performance-grid,.profile-insights-grid{grid-template-columns:1fr}.profile-balance-panel .visual-donut-body{justify-content:flex-start}.profile-account-section{grid-template-columns:1fr;gap:18px}}@media (width<=760px){.profile-page{gap:22px}.profile-hero{border-radius:19px}.profile-hero-court{opacity:.09;right:-190px}.profile-hero-main{align-items:flex-start;gap:17px;min-height:0;padding:22px 18px 20px}.profile-avatar-edit .user-avatar{width:72px;height:72px;font-size:27px}.profile-avatar-edit .image-picker-actions{justify-items:center;gap:5px;max-width:110px;display:grid}.profile-avatar-edit .image-picker-actions .btn{min-height:34px;padding:6px 8px}.profile-avatar-edit .settings-link-btn{font-size:10px}.profile-hero-copy{min-width:0;padding-top:2px}.profile-hero-copy h1{overflow-wrap:anywhere;letter-spacing:-1px;font-size:30px}.profile-identity-meta{flex-direction:column;align-items:flex-start;gap:6px;margin-top:11px}.profile-identity-meta span{max-width:100%;min-height:24px;padding:4px 7px;font-size:10px}.profile-kpis{grid-template-columns:1fr 1fr}.profile-kpis>div{padding:16px 18px}.profile-kpis>div:nth-child(2){border-right:0}.profile-kpis>div:nth-child(n+3){border-top:1px solid oklch(100% 0 0/.12)}.profile-kpis dd{font-size:26px}.profile-kpis small{font-size:10px}.profile-section-head{padding-top:4px;display:block}.profile-section-head h2,.profile-account-copy h2{font-size:23px}.profile-section-head>p{text-align:left;margin-top:7px;font-size:12px}.profile-panel{box-shadow:none;border-radius:16px;padding:18px}.profile-panel>header{margin-bottom:12px;display:block}.profile-form-legend{justify-content:flex-start;margin-top:12px}.profile-form-panel .visual-diverging-row{gap:5px}.profile-form-panel .visual-diverging-col{flex-basis:38px}.profile-form-panel .visual-diverging-plot{height:146px}.profile-sequence-row{flex-direction:column;align-items:flex-start;gap:9px}.profile-balance-panel .visual-donut-body{flex-wrap:nowrap;gap:10px}.profile-balance-panel .visual-donut-ring{flex-basis:138px;width:138px}.profile-balance-panel .visual-donut-legend dd{margin-left:16px}.profile-years-panel{overflow:hidden}.profile-years-panel .visual-axis-y,.profile-years-panel .visual-plot{height:170px}.profile-insights{box-shadow:none}.profile-insight-feature{padding:20px}.profile-league-list{box-shadow:none}.profile-league-list>a{min-height:72px;padding:12px 14px}.profile-league-list a>span:nth-child(3){font-size:0}.profile-league-list a>span:nth-child(3) svg{width:18px}.profile-account-section{padding:22px 0}.profile-page .profile-name-form{grid-template-columns:1fr 1fr}.profile-page .profile-name-form .btn{grid-column:1/-1;justify-content:center}.profile-page>.profile-logout{justify-self:stretch;width:100%;margin-top:-6px}}@media (width<=380px){.profile-hero-main{gap:13px;padding-inline:15px}.profile-avatar-edit .user-avatar{width:64px;height:64px}.profile-avatar-edit .image-picker-actions .btn{font-size:10px}.profile-hero-copy h1{font-size:27px}.profile-kpis>div{padding-inline:15px}.profile-balance-panel .visual-donut-body{flex-wrap:wrap}.profile-page .profile-name-form{grid-template-columns:1fr}.profile-page .profile-name-form .btn{grid-column:auto}}@media (prefers-reduced-motion:reduce){.profile-league-list>a{transition:none}}.bell-wrap{position:relative}.bell-btn{border:1px solid var(--glass-line);width:36px;height:36px;color:var(--text-tertiary);cursor:pointer;transition:var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:inline-flex;position:relative}.bell-btn:hover,.bell-btn.is-open{color:var(--volt);border-color:var(--border-accent);background:var(--volt-soft)}.bell-btn.is-pinged svg{animation:bellRing .9s var(--ease-out);transform-origin:top}@keyframes bellRing{0%,to{transform:rotate(0)}15%{transform:rotate(14deg)}30%{transform:rotate(-12deg)}45%{transform:rotate(8deg)}60%{transform:rotate(-6deg)}75%{transform:rotate(3deg)}}.bell-count{background:var(--red);color:#fff;min-width:18px;height:18px;font-family:var(--font-mono);justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:800;line-height:1;display:inline-flex;position:absolute;top:-7px;right:-7px;box-shadow:0 0 0 2px #ffffffd9}.bell-panel{z-index:200;width:min(380px,100vw - 2rem);max-height:min(70vh,520px);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-line);animation:bellIn .22s var(--ease-out);background:#ffffffe0;position:absolute;top:calc(100% + 10px);right:0;overflow-y:auto;box-shadow:0 24px 60px #021e3c2e}@keyframes bellIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.bell-panel-head{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--glass-line);font-family:var(--font-heading);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.14em;color:var(--text-tertiary);background:#ffffffeb;padding:12px 14px;font-weight:700;display:flex;position:sticky;top:0}.bell-mark{color:var(--volt);font-family:inherit;font-size:inherit;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:0;font-weight:700;display:inline-flex}.bell-mark:hover{color:var(--volt-strong);text-underline-offset:3px;text-decoration:underline}.bell-empty{padding:var(--space-6) var(--space-5);color:var(--text-muted);font-size:var(--text-sm);text-align:center}.bell-list{list-style:none}.bell-item{border:none;border-bottom:1px solid var(--divider);text-align:left;cursor:pointer;width:100%;transition:background var(--duration-fast) var(--ease-out);background:0 0;gap:10px;padding:12px 14px;display:flex}.bell-item:hover{background:var(--bg-hover)}.bell-item.is-unread{box-shadow:inset 3px 0 0 var(--volt);background:#0251b00d}.bell-item-icon{background:var(--volt-soft);border:1px solid var(--border-accent);width:26px;height:26px;color:var(--volt);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.bell-item-body{flex-direction:column;gap:3px;min-width:0;display:flex}.bell-item-title{font-family:var(--font-heading);font-size:var(--text-sm);color:var(--text-primary);font-weight:700;line-height:1.3}.bell-item-text{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.45}.bell-item-time{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.04em;font-size:10px}.shell{isolation:isolate;flex-direction:column;min-height:100vh;display:flex;position:relative}.shell-field{z-index:-1;background:var(--bg-base);pointer-events:none;position:fixed;inset:0;overflow:hidden}.shell-blob{filter:blur(100px);will-change:transform;display:block;position:absolute}.shell-blob-1{width:44vw;height:44vw;animation:shellDrift 34s var(--ease-in-out) infinite alternate;background:#0251b024;top:-18vw;left:-10vw}.shell-blob-2{width:32vw;height:32vw;animation:shellDrift 42s var(--ease-in-out) infinite alternate-reverse;background:#0284c71a;top:-6vw;right:-8vw}@keyframes shellDrift{0%{transform:translate(0,0)scale(1)}to{transform:translate(6vw,5vw)scale(1.15)}}.shell-grid{background-image:linear-gradient(#021e3c0a 1px,#0000 1px),linear-gradient(90deg,#021e3c0a 1px,#0000 1px);background-size:72px 72px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 420px);mask-image:linear-gradient(#000,#0000 420px)}.shell-bar{z-index:100;justify-content:space-between;align-items:center;gap:var(--space-5);height:68px;padding:0 var(--gutter);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--glass-line);background:#ffffffad;display:flex;position:sticky;top:0}.shell-bar-left,.shell-bar-right{align-items:center;gap:var(--space-3);min-width:0;display:flex}.shell-back{width:32px;height:32px;color:var(--text-tertiary);border:1px solid var(--glass-line);transition:var(--transition-fast);justify-content:center;align-items:center;display:inline-flex}.shell-back:hover{color:var(--volt);border-color:var(--border-accent);background:var(--volt-soft)}.shell-brand{align-items:center;gap:9px;display:inline-flex}.shell-brand-mark{flex:none;width:32px;height:32px}.shell-brand-text{flex:none;width:auto;height:22px}.shell-sep{background:var(--glass-line);width:1px;height:22px}.shell-title{font-family:var(--font-display);font-size:var(--text-md);letter-spacing:.06em;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shell-badge{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.1em;background:var(--volt);color:var(--on-accent);white-space:nowrap;padding:4px 8px;font-size:9px;font-weight:800}.shell-nav{align-items:center;gap:var(--space-5);scrollbar-width:none;display:flex;overflow-x:auto}.shell-nav::-webkit-scrollbar{display:none}.shell-nav a{font-family:var(--font-heading);font-size:var(--text-sm);color:var(--text-tertiary);white-space:nowrap;transition:color var(--duration-fast) var(--ease-out);align-items:center;gap:6px;padding:6px 0;font-weight:600;display:inline-flex;position:relative}.shell-nav a:after{content:"";background:var(--volt);height:2px;transition:right var(--duration) var(--ease-out);position:absolute;bottom:0;left:0;right:100%}.shell-nav a:hover{color:var(--text-primary)}.shell-nav a:hover:after{right:0}.shell-nav a.active{color:var(--volt);font-weight:700}.shell-nav a.active:after{right:0}.shell-user{flex-direction:column;align-items:flex-end;min-width:0;line-height:1.2;display:flex}.shell-user-name{font-family:var(--font-heading);font-size:var(--text-sm);color:var(--text-primary);white-space:nowrap;font-weight:700}.shell-user-handle{font-family:var(--font-mono);color:var(--text-muted);font-size:10px}.shell-logout{border:1px solid var(--glass-line);color:var(--text-tertiary);font-family:var(--font-heading);font-size:var(--text-xs);letter-spacing:.04em;cursor:pointer;transition:var(--transition-fast);background:0 0;align-items:center;gap:6px;padding:8px 12px;font-weight:700;display:inline-flex}.shell-logout:hover{color:var(--red);background:var(--red-softer);border-color:#dc26264d}.shell-main{width:100%;max-width:1440px;padding:var(--space-7) var(--gutter) var(--space-10);flex:1;margin:0 auto}.shell-mobile-nav{display:none}@media (width<=1180px){.shell-bar{height:auto;padding-top:var(--space-3);row-gap:var(--space-2);flex-wrap:wrap;padding-bottom:0}.shell-nav{gap:var(--space-4);order:3;width:100%;padding-bottom:2px}.shell-user{display:none}}@media (width<=640px){.shell-brand-text,.shell-logout span{display:none}.shell-logout{padding:8px}.shell-bar{padding-bottom:var(--space-2)}.shell-nav{padding-bottom:0}.shell-nav .shell-primary-link{display:none}.shell-nav:has(a:only-child){display:none}.shell-main{padding-top:var(--space-5);padding-bottom:104px}.shell-mobile-nav{z-index:120;left:max(10px, env(safe-area-inset-left));right:max(10px, env(safe-area-inset-right));bottom:max(10px, env(safe-area-inset-bottom));border:1px solid var(--border-strong);min-height:66px;-webkit-backdrop-filter:var(--glass-blur);background:#ffffffeb;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;padding:7px 6px;display:grid;position:fixed;box-shadow:0 16px 44px #021e3c33}.shell-mobile-nav a{min-width:0;min-height:50px;color:var(--text-muted);font-family:var(--font-heading);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:9px;font-weight:700;display:flex}.shell-mobile-nav a svg{width:20px;height:20px}.shell-mobile-nav a.active{color:var(--volt)}.shell-mobile-nav .shell-mobile-nav-main{color:var(--on-accent);background:var(--volt);min-height:58px;box-shadow:var(--shadow-volt-sm);clip-path:polygon(0 0,100% 0,100% 82%,82% 100%,0 100%);margin-top:-14px}.shell-mobile-nav .shell-mobile-nav-main.active{color:var(--on-accent)}}.player-page{animation:fadeUp .5s var(--ease-out)}.player-page-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);display:flex}.player-period-select{border:1px solid var(--border);background:var(--bg-card-solid);min-height:38px;color:var(--text-secondary);cursor:pointer;border-radius:11px;align-items:center;gap:8px;padding:0 34px 0 12px;display:inline-flex;position:relative}.player-period-select:hover{border-color:var(--border-strong);background:var(--bg-secondary)}.player-period-select:focus-within{outline:3px solid var(--accent-ring);outline-offset:1px;border-color:var(--volt)}.player-period-select>svg:first-child{width:16px;height:16px;color:var(--volt)}.player-period-select>svg:last-child{pointer-events:none;width:14px;height:14px;position:absolute;right:11px}.player-period-select select{appearance:none;color:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;outline:0;font-weight:700}.player-page .player-header{grid-template-columns:auto minmax(180px,1fr) minmax(420px,auto);align-items:center;display:grid}.player-identity,.player-global-summary{min-width:0}.player-global-summary>p{color:var(--text-muted);letter-spacing:.11em;text-transform:uppercase;margin-bottom:7px;font-size:9px;font-weight:700}.player-global-kpis{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card-solid);grid-template-columns:repeat(4,minmax(82px,1fr));display:grid;overflow:hidden}.player-global-kpis>div{border-right:1px solid var(--border);min-width:0;padding:12px 15px}.player-global-kpis>div:last-child{border-right:0}.player-global-kpis dt{color:var(--text-muted);margin-bottom:4px;font-size:9px;font-weight:600}.player-global-kpis dd{color:var(--text-primary);font-size:var(--text-xl);letter-spacing:-.045em;align-items:baseline;gap:2px;font-weight:700;line-height:1;display:flex}.player-global-kpis dd.is-win{color:var(--volt)}.player-global-kpis dd.is-loss{color:var(--red)}.player-global-unit{color:var(--text-muted);font-size:var(--text-xs);letter-spacing:0;font-weight:650}.player-result-kpis{gap:var(--space-4);margin-bottom:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.player-official-progress,.player-h2h{margin-bottom:var(--space-5);padding:var(--space-4);border:1px solid var(--border-accent);background:linear-gradient(110deg, var(--accent-soft), var(--bg-secondary) 72%)}.player-progress-heading,.player-h2h-heading{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.player-progress-heading>span,.player-h2h-heading>span{color:var(--text-secondary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:7px;font-weight:800;display:inline-flex}.player-progress-heading svg,.player-h2h-heading svg{width:17px;color:var(--volt)}.player-progress-heading strong{color:var(--volt);font-family:var(--font-mono);font-size:var(--text-sm)}.player-progress-track{background:var(--border);height:8px;margin:12px 0 8px;overflow:hidden}.player-progress-track span{background:var(--lime);height:100%;display:block}.player-official-progress p,.player-h2h>p{color:var(--text-muted);font-size:var(--text-xs)}.player-h2h{border-color:var(--border-strong);background:var(--bg-secondary)}.player-h2h-heading small{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.player-h2h-score{align-items:center;gap:var(--space-4);margin:var(--space-5) 0;grid-template-columns:1fr auto 1fr;display:grid}.player-h2h-score>div{flex-direction:column;display:flex}.player-h2h-score>div:last-child{text-align:right}.player-h2h-score span{color:var(--text-tertiary);font-size:var(--text-xs);text-transform:uppercase;font-weight:800}.player-h2h-score strong{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-4xl);font-weight:800}.player-h2h-score>b{color:var(--text-muted)}.player-balance-section{margin-bottom:var(--space-5);padding:var(--space-5) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.player-balance-title{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.player-balance-title h3{color:var(--text-primary);font-size:var(--text-lg);letter-spacing:-.025em;margin-top:4px;font-weight:700}.player-balance-title>svg{width:22px;height:22px;color:var(--volt)}.player-balance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,5vw,64px);display:grid}.player-balance-chart{min-width:0}.player-balance-heading{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:12px;display:flex}.player-balance-heading>span{color:var(--text-secondary);font-size:var(--text-sm);font-weight:750}.player-balance-heading>strong{color:var(--text-primary);font-size:var(--text-xl);letter-spacing:-.04em;font-weight:700}.player-balance-heading small{color:var(--text-muted);font-size:var(--text-2xs);letter-spacing:0;font-weight:650}.player-balance-track{border-radius:var(--radius-full);background:var(--bg-elevated);width:100%;height:13px;display:flex;overflow:hidden}.player-balance-track>span{min-width:0;height:100%;transition:width .22s var(--ease-out)}.player-balance-track .is-won{background:var(--green)}.player-balance-track .is-lost{background:var(--red)}.player-balance-track .is-empty{background:var(--border);width:100%}.player-balance-legend{justify-content:space-between;gap:var(--space-3);color:var(--text-tertiary);font-size:var(--text-xs);margin-top:10px;display:flex}.player-balance-legend span{align-items:center;gap:5px;display:inline-flex}.player-balance-legend i{border-radius:50%;width:7px;height:7px;display:inline-block}.player-balance-legend i.is-won{background:var(--green)}.player-balance-legend i.is-lost{background:var(--red)}.player-balance-legend strong{color:var(--text-primary)}.player-chart-intro{margin-bottom:var(--space-3);color:var(--text-muted);font-size:var(--text-sm)}.player-form-chart svg{width:100%;height:auto;max-height:260px;display:block;overflow:visible}.player-chart-grid line{stroke:var(--border);stroke-width:1px}.player-chart-grid.is-zero line{stroke:var(--text-muted);stroke-dasharray:5 5}.player-chart-grid text{fill:var(--text-muted);font-family:var(--font-body);text-anchor:end;font-size:13px;font-weight:600}.player-chart-axis{stroke:var(--border-strong);stroke-width:1px}.player-chart-axis-label{fill:var(--text-tertiary);font-family:var(--font-body);letter-spacing:.02em;text-anchor:middle;font-size:13px;font-weight:650}.player-chart-x-tick{fill:var(--text-muted);font-family:var(--font-body);text-anchor:middle;font-size:12px;font-weight:600}.player-chart-line{fill:none;stroke:var(--volt);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.player-form-chart circle{stroke:var(--bg-secondary);stroke-width:3px}.player-form-chart circle.is-positive{fill:var(--green)}.player-form-chart circle.is-negative{fill:var(--red)}.player-chart-empty{padding:var(--space-6);color:var(--text-muted);text-align:center}.player-match-row{width:100%;color:inherit;text-align:left;cursor:pointer;border:1px solid #0000;font-family:inherit}.player-match-open{color:var(--text-muted);flex:none}@media (width<=620px){.player-page-toolbar{align-items:stretch}.player-page-toolbar .btn{flex:none}.player-period-select{justify-content:center;min-width:0}.player-period-select select{min-width:0;max-width:156px}.player-page .player-header{column-gap:var(--space-4);grid-template-columns:auto minmax(0,1fr)}.player-global-summary{width:100%;margin-top:var(--space-2);grid-column:1/-1}.player-global-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.player-global-kpis>div{text-align:center;padding:11px 8px}.player-global-kpis dd{font-size:var(--text-lg);justify-content:center}.player-h2h-score{gap:var(--space-2)}.player-h2h-score strong{font-size:var(--text-3xl)}.player-progress-heading,.player-h2h-heading{flex-direction:column;align-items:flex-start}.player-balance-grid{gap:var(--space-5);grid-template-columns:1fr}.player-chart-grid text,.player-chart-axis-label{font-size:17px}.player-chart-x-tick{font-size:15px}}@media (width<=390px){.player-period-select{padding-left:10px}.player-period-select>svg:first-child{display:none}.player-period-select select{max-width:142px}.player-global-kpis dt{font-size:8px}.player-global-kpis dd{font-size:var(--text-md)}.player-result-kpis{gap:9px}.player-balance-legend{font-size:10px}}.confirm-action{background:var(--red-softer);border:1px solid var(--red);white-space:nowrap;align-items:center;gap:8px;padding:4px 4px 4px 10px;display:inline-flex}.confirm-action-text{flex-direction:column;line-height:1.25;display:flex}.confirm-action-text strong{font-size:var(--text-xs);color:var(--red);font-weight:700}.confirm-action-text small{max-width:34ch;color:var(--text-secondary);white-space:normal;font-size:10px}@media (width<=640px){.confirm-action{white-space:normal;flex-wrap:wrap}}.invite-page{min-height:100vh;padding:var(--space-7) var(--gutter);isolation:isolate;justify-content:center;align-items:center;display:flex;position:relative}.invite-field{z-index:-1;background:var(--bg-base);pointer-events:none;position:fixed;inset:0;overflow:hidden}.invite-blob{filter:blur(110px);width:60vw;height:60vw;animation:inviteDrift 24s var(--ease-in-out) infinite alternate;background:#0251b038;margin-left:-30vw;position:absolute;top:-20vw;left:50%}@keyframes inviteDrift{0%{transform:translate(-6vw)scale(1)}to{transform:translate(6vw,6vw)scale(1.18)}}.invite-card{width:min(520px,100%);padding:var(--space-8) var(--space-7);background:var(--glass-strong);-webkit-backdrop-filter:var(--glass-blur);animation:fadeUp .5s var(--ease-out);border:1px solid #ffffffb3;box-shadow:0 30px 70px #021e3c29,inset 0 1px #ffffffd9}.invite-mark{margin-bottom:var(--space-5);flex-direction:column;align-items:center;gap:11px;display:inline-flex}.invite-eyebrow{font-family:var(--font-heading);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.16em;color:var(--text-tertiary);font-weight:700}.invite-title{font-family:var(--font-display);letter-spacing:-.015em;margin:10px 0 var(--space-4);font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1}.invite-lead{color:var(--text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-6);line-height:1.6}.invite-facts{border-top:1px solid var(--glass-line);border-bottom:1px solid var(--glass-line);margin-bottom:var(--space-6);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.invite-facts>div{padding:var(--space-4) var(--space-3) var(--space-4) 0;border-right:1px solid var(--glass-line)}.invite-facts>div:last-child{border-right:none}.invite-facts dt{font-family:var(--font-heading);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);align-items:center;gap:5px;margin-bottom:6px;font-weight:700;display:inline-flex}.invite-facts dd{font-family:var(--font-display);font-size:var(--text-xl);color:var(--text-primary);letter-spacing:-.015em;line-height:1}.invite-note{font-size:var(--text-xs);color:var(--text-tertiary);margin-bottom:var(--space-4)}.invite-error{margin-bottom:var(--space-4);background:var(--red-soft);color:var(--red-strong);font-size:var(--text-sm);border:1px solid #dc262640;align-items:center;gap:8px;padding:10px 12px;font-weight:600;display:flex}.invite-btn{font-family:var(--font-heading);font-size:var(--text-base);letter-spacing:.02em;cursor:pointer;transition:var(--transition-fast);border:1px solid #0000;align-items:center;gap:8px;padding:13px 22px;font-weight:700;display:inline-flex}.invite-btn-solid{background:var(--volt);color:var(--on-accent);box-shadow:0 10px 30px #0251b038}.invite-btn-solid:hover:not(:disabled){background:var(--volt-strong);transform:translateY(-2px)}.invite-btn-solid:disabled{opacity:.5;cursor:not-allowed}.invite-btn-line{border-color:var(--border-strong);color:var(--text-primary);background:0 0}.invite-btn-line:hover{border-color:var(--volt);color:var(--volt)}.invite-expiry{margin-top:var(--space-5);font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.invite-card-wide{width:min(680px,100%)}.invite-claimhint{margin-bottom:var(--space-5);background:var(--gold-bg);font-size:var(--text-sm);color:var(--text-secondary);text-align:left;border:1px solid #f59e0b52;align-items:center;gap:8px;padding:11px 13px;display:flex}.invite-claimhint strong{color:var(--text-primary);font-variant-numeric:tabular-nums}.invite-search{margin-bottom:var(--space-4);border:1px solid var(--border-strong);background:var(--bg-base);color:var(--text-muted);transition:var(--transition-fast);align-items:center;gap:9px;padding:10px 13px;display:flex}.invite-search:focus-within{border-color:var(--volt);color:var(--volt)}.invite-search input{font-family:inherit;font-size:var(--text-sm);color:var(--text-primary);background:0 0;border:none;outline:none;flex:1}.invite-players{margin:0 0 var(--space-5);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;max-height:340px;padding:0;list-style:none;display:grid;overflow-y:auto}.invite-player{border:1px solid var(--border-strong);background:var(--bg-base);cursor:pointer;text-align:left;width:100%;transition:var(--transition-fast);flex-direction:column;align-items:flex-start;gap:3px;padding:12px 14px;display:flex}.invite-player:hover{border-color:var(--volt);background:var(--volt-soft);transform:translateY(-1px)}.invite-player-name{font-family:var(--font-heading);font-size:var(--text-base);letter-spacing:.01em;color:var(--text-primary);font-weight:700}.invite-player-meta{font-family:var(--font-mono);color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}.invite-lastmatch{margin-bottom:var(--space-5);background:var(--bg-base);border:1px solid var(--border-accent);font-size:var(--text-sm);color:var(--text-secondary);text-align:left;padding:11px 13px}.invite-lastmatch strong{color:var(--text-primary)}.invite-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.invite-btn-ghost{color:var(--text-tertiary);text-underline-offset:3px;background:0 0;border-color:#0000;font-weight:600;text-decoration:underline}.invite-btn-ghost:hover:not(:disabled){color:var(--text-primary)}.invite-btn-ghost:disabled{opacity:.5;cursor:not-allowed}@media (width<=520px){.invite-facts{grid-template-columns:1fr}.invite-facts>div{border-right:none;border-bottom:1px solid var(--glass-line)}.invite-facts>div:last-child{border-bottom:none}.invite-btn{justify-content:center;width:100%}.invite-players{grid-template-columns:1fr;max-height:300px}.invite-actions{flex-direction:column}}.dashboard-page{gap:var(--space-7);animation:fadeUp .5s var(--ease-out);flex-direction:column;display:flex}.dash-head{gap:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid var(--glass-line);grid-template-columns:minmax(0,1fr) auto;align-items:end;display:grid}.dash-eyebrow{font-family:var(--font-heading);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.18em;color:var(--text-tertiary);align-items:center;gap:8px;font-weight:700;display:inline-flex}.dash-pulse{background:var(--volt);width:7px;height:7px;animation:dashPulse 2.4s var(--ease-out) infinite}@keyframes dashPulse{0%{box-shadow:0 0 #0251b073}70%{box-shadow:0 0 0 10px #0251b000}to{box-shadow:0 0 #0251b000}}.dash-title{font-family:var(--font-display);letter-spacing:-.015em;margin:10px 0 var(--space-5);font-size:clamp(2.25rem,5vw,3.75rem);font-weight:700;line-height:.95}.dash-title span{color:var(--volt)}.dash-kpis{border-left:1px solid var(--glass-line);grid-template-columns:repeat(4,minmax(88px,auto));display:grid}.dash-kpis>div{padding:var(--space-2) var(--space-5);border-right:1px solid var(--glass-line)}.dash-kpis dt{font-family:var(--font-heading);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin-bottom:4px;font-weight:700}.dash-kpis dd{font-family:var(--font-display);font-size:var(--text-3xl);color:var(--text-primary);align-items:baseline;gap:2px;line-height:1;display:flex}.dash-kpis dd.is-win{color:var(--volt)}.dash-kpis dd.is-loss{color:var(--red)}.dash-kpi-unit{font-family:var(--font-heading);font-size:var(--text-sm);color:var(--text-muted);font-weight:600}.dash-panel{background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);border:1px solid #ffffffb3;box-shadow:0 24px 60px #021e3c1a,inset 0 1px #ffffffd9}.dash-panel-head{justify-content:space-between;align-items:center;gap:var(--space-4);border-bottom:1px solid var(--glass-line);font-family:var(--font-heading);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.14em;padding:12px 18px;font-weight:700;display:flex}.dash-panel-label{color:var(--volt);align-items:center;gap:7px;display:inline-flex}.dash-panel-meta{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-muted)}.dash-panel-body{background:var(--glass-line);grid-template-columns:auto minmax(0,1fr);gap:1px;display:grid}.dash-panel-body>*{padding:var(--space-6);background:#ffffff73}.dash-columns{gap:var(--space-7);grid-template-columns:minmax(280px,1fr) 1.6fr;align-items:start;display:grid}.dash-block-head{justify-content:space-between;align-items:center;gap:var(--space-3);padding-bottom:var(--space-3);margin-bottom:var(--space-4);border-bottom:2px solid var(--text-primary);display:flex}.dash-block-title{font-family:var(--font-heading);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.12em;color:var(--text-primary);align-items:center;gap:8px;font-weight:700;display:inline-flex}.dash-block-title svg{color:var(--volt)}.dash-action{background:var(--volt);color:var(--on-accent);font-family:var(--font-heading);font-size:var(--text-xs);letter-spacing:.04em;cursor:pointer;transition:var(--transition-fast);border:none;align-items:center;gap:6px;padding:8px 14px;font-weight:700;display:inline-flex}.dash-action:hover:not(:disabled){background:var(--volt-strong)}.dash-action.is-quiet{color:var(--text-tertiary);border:1px solid var(--border-strong);background:0 0}.dash-action.is-quiet:hover{color:var(--text-primary);border-color:var(--text-muted)}.dash-action:disabled{opacity:.4;cursor:not-allowed}.dash-form-title{font-family:var(--font-heading);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.12em;color:var(--text-tertiary);margin-bottom:var(--space-4);font-weight:700}.user-avatar{background:linear-gradient(145deg, var(--volt), var(--volt-strong));color:var(--on-accent);font-family:var(--font-display);letter-spacing:-.015em;box-shadow:var(--shadow-volt-sm), inset 0 1px 0 #ffffff4d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex;overflow:hidden}.user-avatar img{object-fit:cover;width:100%;height:100%}.user-avatar-md{width:36px;height:36px;font-size:var(--text-base)}.user-avatar-lg{width:56px;height:56px;font-size:var(--text-xl)}.dashboard-filter-tabs{flex-wrap:wrap;gap:6px;display:flex}.dashboard-chip{border:1px solid var(--border-strong);color:var(--text-tertiary);font-family:var(--font-heading);font-size:var(--text-xs);letter-spacing:.04em;cursor:pointer;transition:var(--transition-fast);font-variant-numeric:tabular-nums;background:0 0;padding:6px 14px;font-weight:700}.dashboard-chip:hover{border-color:var(--border-strong);color:var(--text-primary);background:var(--bg-hover)}.dashboard-chip.active{background:var(--volt);color:var(--on-accent);border-color:var(--volt);box-shadow:var(--shadow-volt-sm)}.donut-naked{justify-content:center;align-items:center;display:flex}.donut-svg{width:auto;height:100%;min-height:180px;max-height:260px;display:block}.stat-icon-green{background:var(--green-soft);color:var(--green-strong);border-color:#0251b038!important}.stat-icon-red{background:var(--red-soft);color:var(--red-strong);border-color:#dc262633!important}.stat-icon-neutral{background:var(--bg-elevated);color:var(--text-secondary);border-color:var(--border-strong)!important}.stat-card-main .stat-value{font-size:var(--text-5xl)}.stat-value-date{line-height:1.4;font-family:var(--font-mono)!important;font-size:var(--text-md)!important;color:var(--text-primary)!important}.streak-card{flex-direction:column;min-height:200px;display:flex}.streak-card .card-title{margin-bottom:var(--space-4)}.streak-pill{border-radius:var(--radius-full);font-weight:800;font-family:var(--font-heading);font-size:var(--text-sm);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:8px;width:fit-content;padding:10px 16px;display:inline-flex}.streak-pill.win{color:var(--on-lime);background:var(--lime);border:1px solid var(--lime-strong)}.streak-pill.loss{color:var(--red-strong);background:var(--red-soft);border:1px solid #dc262633}.streak-pill.draw{color:oklch(42% .04 60);background:oklch(95% .015 80);border:1px solid oklch(86% .025 80)}.streak-sequence{margin-top:var(--space-4);gap:6px;display:flex}.streak-sequence span{width:38px;height:38px;font-weight:700;font-size:var(--text-md);font-family:var(--font-display);letter-spacing:-.015em;justify-content:center;align-items:center;display:inline-flex}.streak-sequence span.win{color:var(--on-lime);background:var(--lime);border:1px solid var(--lime-strong)}.streak-sequence span.loss{color:var(--red-strong);background:var(--red-soft);border:1px solid #dc262633}.streak-sequence span.draw{color:oklch(42% .04 60);background:oklch(95% .015 80);border:1px solid oklch(86% .025 80)}.best-partner-row{gap:var(--space-4);align-items:center;display:flex}.best-partner-name{font-family:var(--font-display);font-weight:700;font-size:var(--text-2xl);color:var(--text-primary);letter-spacing:-.015em;line-height:1}.best-partner-stats{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:6px}.best-partner-stats strong{color:var(--volt);font-family:var(--font-mono);font-weight:700}.best-partner-note{font-size:var(--text-xs);color:var(--text-muted);margin-top:4px}.dashboard-create-wrapper{margin-bottom:var(--space-5);background:var(--bg-secondary);border:1px solid var(--border-accent);padding:var(--space-5)}.dashboard-form-error{color:var(--red-strong);margin-bottom:var(--space-3);font-size:var(--text-xs);font-weight:600}.dashboard-leagues-grid{background:var(--glass-line);border:1px solid var(--glass-line);gap:1px;display:grid}.league-card{border:1px solid var(--border-strong);background:var(--bg-secondary);border-radius:var(--radius);padding:var(--space-4);cursor:pointer;transition:var(--transition);position:relative;overflow:hidden}.league-card:before{content:"";background:var(--volt);opacity:0;width:3px;transition:var(--transition-fast);position:absolute;top:0;bottom:0;left:0}.league-card:hover:before{opacity:1}.league-card-photo{width:calc(100% + var(--space-4) * 2);height:96px;margin:calc(var(--space-4) * -1) calc(var(--space-4) * -1) var(--space-4);object-fit:cover;display:block}.league-card header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.league-card h3{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.015em;color:var(--text-primary);font-weight:700}.league-season{font-family:var(--font-heading);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin:8px 0 var(--space-3);align-items:center;gap:6px;font-weight:700;display:inline-flex}.dashboard-matches-list{background:var(--glass-line);border:1px solid var(--glass-line);gap:1px;display:grid}.recent-match-card{border:1px solid var(--border);background:var(--bg-secondary);border-radius:var(--radius);padding:var(--space-4);transition:var(--transition-fast)}.recent-match-card:hover{background:var(--bg-hover)}.recent-match-header{margin-bottom:var(--space-3);font-size:var(--text-xs);color:var(--text-muted);font-weight:600;font-family:var(--font-mono);justify-content:space-between;align-items:center;display:flex}.recent-match-status{border-radius:var(--radius-full);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800;font-family:var(--font-heading);padding:4px 10px}.recent-match-status.win{background:var(--lime);color:var(--on-lime);border:1px solid var(--lime-strong)}.recent-match-status.loss{background:var(--red-soft);color:var(--red-strong);border:1px solid #dc262633}.recent-match-status.draw{color:oklch(42% .04 60);background:oklch(95% .015 80);border:1px solid oklch(86% .025 80)}.recent-match-grid{gap:6px var(--space-3);font-size:var(--text-xs);grid-template-columns:1fr 1fr;display:grid}.recent-match-grid p{color:var(--text-secondary);line-height:1.5}.recent-match-grid strong{color:var(--text-tertiary);font-weight:600}.recent-match-footer{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--divider);justify-content:space-between;align-items:center;gap:var(--space-3);color:var(--text-muted);font-size:var(--text-xs);display:flex}.recent-match-footer span:first-child{font-family:var(--font-mono);color:var(--text-primary);letter-spacing:.02em;font-weight:700}.empty-state-card{border:1px dashed var(--border-strong);border-radius:var(--radius);background:repeating-linear-gradient(45deg, transparent, transparent 12px, #ffffff05 12px, #ffffff05 24px), var(--bg-secondary);text-align:center;min-height:180px;padding:var(--space-5);flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.empty-state-card.compact{min-height:140px}.empty-state-icon{background:var(--volt-soft);border:1px solid var(--border-accent);width:52px;height:52px;color:var(--volt);justify-content:center;align-items:center;margin-bottom:4px;display:inline-flex}.empty-state-title{font-family:var(--font-heading);font-weight:700;font-size:var(--text-md);color:var(--text-primary)}.empty-state-description{color:var(--text-tertiary);font-size:var(--text-xs);max-width:340px}.empty-state-action{margin-top:var(--space-3)}@media (width<=1180px){.dash-columns{grid-template-columns:1fr}}@media (width<=900px){.dash-head{grid-template-columns:1fr;align-items:start}.dash-kpis{border-left:none;border-top:1px solid var(--glass-line);padding-top:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr))}.dash-kpis>div{padding-left:0}.dash-kpis>div:last-child{border-right:none}.dash-panel-body{grid-template-columns:1fr}}@media (width<=640px){.dash-kpis{row-gap:var(--space-4);grid-template-columns:repeat(2,1fr)}.dash-kpis>div:nth-child(2n){border-right:none}.dash-panel-head{flex-direction:column;align-items:flex-start;gap:6px}.dash-block-head{flex-wrap:wrap}.donut-svg{min-height:160px;max-height:200px}.recent-match-grid{grid-template-columns:1fr}}.dash-free-matches-link{margin-top:var(--space-3);color:var(--text-muted);font-size:var(--text-xs);align-items:center;gap:6px;font-weight:600;display:inline-flex}.dash-free-matches-link:hover{color:var(--accent)}.add-match-page{animation:fadeUp .5s var(--ease-out);justify-content:flex-start;display:flex}.add-match-card{width:min(980px,100%);margin:0}.add-match-title{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:-.015em;justify-content:space-between;align-items:center;font-weight:700}.add-match-title span{color:var(--volt)}.match-type-selector{margin-bottom:var(--space-5);grid-template-columns:1fr 1fr;gap:10px;display:grid}.match-type-option{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-secondary);text-align:left;padding:var(--space-4);cursor:pointer;transition:var(--transition);color:var(--text-primary);position:relative;overflow:hidden}.match-type-option span{font-family:var(--font-heading);font-size:var(--text-md);letter-spacing:.01em;font-weight:700;display:block}.match-type-option small{color:var(--text-tertiary);font-size:var(--text-xs);margin-top:6px;display:block}.match-type-option:hover{border-color:var(--border-accent);background:var(--bg-elevated)}.match-type-option.active{border-color:var(--volt);background:linear-gradient(140deg, #0251b014 0%, var(--bg-secondary) 70%);box-shadow:var(--shadow-volt-sm)}.match-type-option.active:before{content:"";background:var(--volt);width:3px;box-shadow:0 0 12px var(--volt-glow);position:absolute;top:0;bottom:0;left:0}.add-match-meta-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.padel-court-card{margin:var(--space-6) 0 var(--space-5)}.court-heading{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:12px;display:flex}.court-heading h3{color:var(--text-primary);font-size:var(--text-sm);letter-spacing:-.01em;font-weight:700}.court-heading>span{color:var(--text-muted);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.padel-court{--court-line:oklch(99% 0 0/.85);--court-ink:oklch(28% .05 250);border-radius:var(--radius-lg);color:var(--court-ink);background:oklch(93% .006 250);border:2px solid oklch(52% .16 28/.55);grid-template-columns:1fr auto 1fr;padding:12px;display:grid;position:relative;overflow:hidden}.court-side{padding:22px 10px 10px;position:relative}.court-side-a{background:oklch(82% .065 235)}.court-side-b{background:oklch(78% .085 28)}.court-side:before,.court-side:after{content:"";pointer-events:none;background:var(--court-line);position:absolute}.court-side:before{height:2px;top:50%;left:8px;right:8px}.court-side:after{width:2px;top:8px;bottom:8px}.court-side-a:after{left:22%}.court-side-b:after{right:22%}.court-boxes{z-index:1;grid-template-rows:1fr 1fr;gap:10px;height:100%;display:grid;position:relative}.court-team-label{z-index:2;color:oklch(28% .05 250/.72);letter-spacing:.16em;text-align:center;text-transform:uppercase;font-size:9px;font-weight:800;line-height:1;position:absolute;top:7px;left:0;right:0}.court-net{z-index:2;background:repeating-linear-gradient(0deg,oklch(38% .01 250) 0 1px,oklch(88% .01 250) 1px 3px);place-items:center;width:16px;display:grid;position:relative;box-shadow:inset 1px 0 oklch(30% .02 250/.5),inset -1px 0 oklch(30% .02 250/.5)}.court-net strong{border-radius:var(--radius-full);background:var(--court-ink);color:oklch(97% 0 0);letter-spacing:.04em;writing-mode:vertical-rl;padding:4px 2px;font-size:8px;font-weight:800;line-height:1.1}.court-slot{border-radius:var(--radius-sm);cursor:pointer;min-width:0;min-height:92px;color:var(--court-ink);background:oklch(100% 0 0/.3);border:1px solid oklch(100% 0 0/.55);flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:6px;display:flex;position:relative}.court-slot:hover{background:oklch(100% 0 0/.52)}.court-slot:focus-within{outline:3px solid var(--court-ink);outline-offset:1px}.court-slot-avatar{letter-spacing:-.02em;background:oklch(100% 0 0/.55);border:1px dashed oklch(28% .05 250/.42);border-radius:50%;flex:none;place-items:center;width:40px;height:40px;font-size:12px;font-weight:800;display:grid}.court-slot-avatar svg{stroke-width:1.8px;width:20px;height:20px}.court-slot.has-player .court-slot-avatar{background:var(--court-ink);color:oklch(98% 0 0);border:2px solid oklch(100% 0 0/.9);box-shadow:0 3px 9px oklch(28% .05 250/.22)}.court-slot-select{align-items:center;gap:4px;max-width:100%;font-size:11px;display:flex}.court-slot-select strong{text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-weight:700;overflow:hidden}.court-slot-select>svg{flex:none;width:12px;height:12px}.court-slot-select select{cursor:pointer;opacity:0;width:100%;height:100%;font-size:16px;position:absolute;inset:0}.court-slot-position{color:oklch(28% .05 250/.72);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:700}.court-slot-other{align-items:center;gap:5px;width:min(190px,100%);display:flex}.court-slot-other input{border-radius:var(--radius-sm);width:100%;min-width:0;min-height:34px;color:var(--court-ink);background:oklch(100% 0 0/.94);border:1px solid oklch(28% .05 250/.28);padding:7px 9px;font-size:12px}.court-slot-back{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--court-ink);cursor:pointer;background:oklch(100% 0 0/.85);border:1px solid oklch(28% .05 250/.28);flex:none;place-items:center;display:grid}.court-slot-back:hover{background:oklch(100% 0 0)}.court-slot-back svg{width:15px;height:15px}.court-slot.is-custom{padding-inline:6px}.set-editor-card{margin-top:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);padding:var(--space-4)}.set-editor-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.set-editor-toolbar h3{font-family:var(--font-heading);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary)}.set-editor-toolbar>div{gap:6px;display:flex}.set-editor-row{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3);background:var(--bg-input);margin-bottom:8px}.set-editor-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:8px;display:flex}.set-editor-header span{font-family:var(--font-display);font-weight:700;font-size:var(--text-md);letter-spacing:-.015em;color:var(--text-primary)}.set-editor-scores,.set-editor-tiebreak{align-items:center;gap:6px;display:flex}.set-editor-scores input,.set-editor-tiebreak input{text-align:center;border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:64px;font-family:var(--font-display);font-weight:800;font-size:var(--text-md);background:var(--bg-input);color:var(--text-primary);letter-spacing:-.015em;padding:8px}.set-editor-scores input:focus,.set-editor-tiebreak input:focus{border-color:var(--volt)}.set-editor-scores span,.set-editor-tiebreak span{color:var(--text-muted);font-weight:700}.set-editor-tiebreak{margin-top:8px}.set-editor-tiebreak small{font-family:var(--font-heading);color:var(--text-muted);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.1em;min-width:80px;font-weight:800}.set-editor-tiebreak small span{color:var(--text-tertiary);letter-spacing:0;text-transform:none;font-weight:600}.add-match-diff-box{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius);border:1px solid var(--border-strong);background:linear-gradient(135deg, #0251b00a, transparent 60%), var(--bg-secondary);justify-content:space-between;align-items:center;display:flex}.add-match-notes{margin:var(--space-5) 0 0}.add-match-notes-label{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.add-match-notes-label label span{color:var(--text-muted);letter-spacing:0;text-transform:none;font-weight:600}.add-match-notes-label small{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs)}.add-match-notes textarea{resize:vertical;min-height:88px;line-height:1.5}.add-match-diff-box span{font-family:var(--font-heading);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.1em;font-size:var(--text-xs);font-weight:700}.add-match-diff-box strong{font-family:var(--font-display);font-size:var(--text-3xl);letter-spacing:-.015em}.add-match-submit{width:100%;margin-top:var(--space-4);min-height:50px;font-size:var(--text-md)}@media (width<=900px){.add-match-card{width:100%}}@media (width<=768px){.match-type-selector,.add-match-meta-grid{grid-template-columns:1fr}.padel-court{padding:8px}.court-side{padding:20px 6px 6px}.court-boxes{gap:7px}.court-net{width:12px}.court-slot{gap:5px;min-height:86px}.court-slot-select strong{max-width:108px}.set-editor-toolbar,.set-editor-header{flex-direction:column;align-items:flex-start}}@media (width<=420px){.padel-court{padding:6px}.court-side{padding:18px 4px 4px}.court-side:after{display:none}.court-net{width:10px}.court-slot{min-height:82px;padding:4px}.court-slot-avatar{width:34px;height:34px}.court-slot-avatar svg{width:17px;height:17px}.court-slot-select strong{max-width:82px}.court-slot-other{flex-direction:column;align-items:stretch}.court-slot-back{width:100%;height:28px}.court-slot.is-custom{min-height:112px}}.set-positions{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--border-strong);flex-direction:column;gap:8px;display:flex}.set-positions.is-changed{border-top-color:var(--border-accent)}.set-positions-head{justify-content:space-between;align-items:center;gap:var(--space-3);font-family:var(--font-heading);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);font-weight:700;display:flex}.set-positions.is-changed .set-positions-head{color:var(--volt)}.set-positions-reset{color:var(--text-tertiary);font:inherit;letter-spacing:.08em;cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:0;display:inline-flex}.set-positions-reset:hover{color:var(--text-primary);text-underline-offset:3px;text-decoration:underline}.set-positions-side{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.set-positions-label{font-family:var(--font-heading);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);min-width:52px;font-weight:700}.set-positions-pair{min-width:180px;font-size:var(--text-xs);color:var(--text-primary);flex:1}.set-positions-pair b{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-right:4px;font-size:10px;font-weight:700}.set-positions-pair i{color:var(--text-muted);margin:0 8px;font-style:normal}.set-positions-swap{border:1px solid var(--border-strong);color:var(--text-tertiary);font-family:var(--font-heading);font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:var(--transition-fast);background:0 0;align-items:center;gap:6px;padding:6px 10px;font-weight:700;display:inline-flex}.set-positions-swap:hover{color:var(--volt);border-color:var(--border-accent);background:var(--volt-soft)}.set-positions-swap.is-swapped{background:var(--volt);border-color:var(--volt);color:var(--on-accent)}.add-match-editing-note{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);background:var(--volt-soft);border:1px solid var(--border-accent);font-size:var(--text-sm);color:var(--text-secondary);flex-wrap:wrap;padding:12px 14px;display:flex}.season-closed-note{margin-bottom:var(--space-5);background:var(--bg-secondary);border:1px solid var(--border-strong);font-size:var(--text-sm);color:var(--text-secondary);align-items:center;gap:10px;padding:12px 14px;font-weight:600;display:flex}.season-closed-note svg{color:var(--text-muted);flex-shrink:0}.add-match-free-note{margin-bottom:var(--space-5);background:var(--bg-secondary);border:1px solid var(--border-strong);font-size:var(--text-sm);color:var(--text-secondary);padding:12px 14px}.add-match-error{margin-bottom:var(--space-4);background:var(--red-soft);border:1px solid var(--red);font-size:var(--text-sm);color:var(--red);align-items:center;gap:10px;padding:12px 14px;font-weight:600;display:flex}.add-match-error svg{flex-shrink:0}.match-actions{margin-left:var(--space-3);align-items:center;gap:6px;display:inline-flex}.free-matches-page{animation:fadeUp .5s var(--ease-out)}.free-matches-head{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.free-matches-hint{max-width:48ch;color:var(--text-muted);font-size:var(--text-sm);margin-top:6px}.free-matches-error{margin-bottom:var(--space-4);background:var(--red-soft);border:1px solid var(--red);color:var(--red);font-size:var(--text-sm);align-items:center;gap:10px;padding:12px 14px;font-weight:600;display:flex}.free-matches-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.free-match-card{align-items:stretch;gap:var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-strong);padding:14px 16px;display:flex}.free-match-main{flex:1;min-width:0}.free-match-header{align-items:center;gap:var(--space-3);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs);margin-bottom:8px;display:flex}.free-match-result{font-family:var(--font-heading);letter-spacing:.1em;text-transform:uppercase;padding:2px 8px;font-size:9px;font-weight:800}.free-match-result.is-win{background:var(--volt-soft);color:var(--text-primary)}.free-match-result.is-loss{background:var(--red-softer);color:var(--red)}.free-match-result.is-draw{background:var(--bg-secondary);color:var(--text-secondary)}.free-match-players{font-size:var(--text-sm);color:var(--text-secondary);overflow-wrap:anywhere}.free-match-players strong{color:var(--text-primary)}.free-match-players i{color:var(--text-muted);font-style:normal}.free-match-score{font-family:var(--font-mono);font-size:var(--text-sm);flex-wrap:wrap;gap:10px;margin-top:8px;font-weight:700;display:flex}.free-match-score em{color:var(--text-muted);margin-left:2px;font-size:10px;font-style:normal}.free-match-notes{color:var(--text-muted);font-size:var(--text-xs);white-space:pre-wrap;margin-top:8px}.free-match-delete{width:44px;height:44px;color:var(--text-muted);border:1px solid var(--border-strong);transition:var(--transition-fast);background:0 0;flex:none;justify-content:center;align-self:center;align-items:center;display:inline-flex}.free-match-delete:hover{color:var(--red);border-color:var(--red);background:var(--red-softer)}.free-match-confirm{font-size:var(--text-xs);color:var(--text-secondary);flex:none;align-self:center;align-items:center;gap:8px;display:flex}@media (width<=640px){.free-matches-head{align-items:stretch}.free-match-card{flex-direction:column}.free-match-delete{align-self:flex-end}.free-match-confirm{flex-wrap:wrap;justify-content:flex-end;align-self:flex-end}}.ranking-page{gap:var(--space-5);animation:fadeUp .5s var(--ease-out);flex-direction:column;display:flex}.ranking-head{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.ranking-head .year-selector{margin-bottom:0}.ranking-rules{color:var(--text-muted);font-size:var(--text-xs);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:6px;width:fit-content;padding:8px 12px;display:inline-flex}.official-progress{align-items:center;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border-accent);background:linear-gradient(100deg, var(--accent-soft), var(--bg-secondary) 65%);display:flex}.official-progress-icon{background:var(--volt);width:42px;height:42px;color:var(--on-accent);flex:none;place-items:center;display:grid}.official-progress-icon svg{width:20px}.official-progress-body{flex:1;min-width:0}.official-progress-copy{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:9px;display:flex}.official-progress-copy>div{flex-direction:column;gap:2px;display:flex}.official-progress-copy span{color:var(--text-muted);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.1em;font-weight:800}.official-progress-copy strong{color:var(--text-primary);font-size:var(--text-sm)}.official-progress-copy b{color:var(--volt);font-family:var(--font-display);font-size:var(--text-xl);white-space:nowrap;font-weight:700}.official-progress-copy b small{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.official-progress-track{background:var(--border);height:7px;overflow:hidden}.official-progress-track span{background:var(--lime);height:100%;transition:width .5s var(--ease-out);display:block}.podium{gap:var(--space-3);margin-bottom:var(--space-2);grid-template-columns:1fr 1.1fr 1fr;align-items:end;display:grid}.podium--partial{flex-wrap:wrap;justify-content:center;display:flex}.podium--partial .podium-card{flex:0 300px}.podium--partial .podium-1,.podium--partial .podium-2,.podium--partial .podium-3{padding-top:var(--space-5);padding-bottom:var(--space-5);order:0}.podium-card{border:1px solid var(--border-strong);background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-5);cursor:pointer;transition:var(--transition);text-align:left;color:inherit;flex-direction:column;gap:8px;font-family:inherit;display:flex;position:relative;overflow:hidden}.podium-card:before{content:"";pointer-events:none;opacity:.08;background-image:linear-gradient(135deg,currentColor 0%,#0000 60%);position:absolute;inset:0}.podium-card:hover{box-shadow:var(--shadow-lg);border-color:currentColor;transform:translateY(-3px)}.podium-1{color:var(--gold);background:radial-gradient(120% 100% at 50% 0%, #f59e0b33, transparent 60%), var(--podium-1-bg);padding-top:var(--space-6);padding-bottom:var(--space-6);border-color:#f59e0b66;order:2;box-shadow:inset 0 0 0 1px #f59e0b40,0 12px 32px #f59e0b1f}.podium-2{color:var(--silver);background:radial-gradient(120% 100% at 50% 0%, #64748b26, transparent 60%), var(--podium-2-bg);border-color:#64748b4d;order:1}.podium-3{color:var(--bronze);background:radial-gradient(120% 100% at 50% 0%, #c2410c26, transparent 60%), var(--podium-3-bg);border-color:#c2410c4d;order:3}.podium-rank{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:-.015em;color:currentColor;align-items:center;gap:8px;font-weight:800;display:inline-flex}.podium-name{font-family:var(--font-display);font-weight:700;font-size:var(--text-2xl);color:#f1f5f9;letter-spacing:-.015em;margin-top:4px;line-height:1}.podium-stats{flex-direction:column;gap:2px;display:flex}.podium-stats span:first-child{font-family:var(--font-display);font-size:var(--text-3xl);letter-spacing:-.015em;font-weight:800;line-height:1}.podium-stats small{color:var(--text-tertiary);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.1em;font-weight:700;font-family:var(--font-heading)}.ranking-table-card{padding-top:var(--space-5)}.ranking-table{flex-direction:column;display:flex}.ranking-row{gap:var(--space-2);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);text-align:left;color:inherit;font-family:inherit;font-size:var(--text-sm);background:0 0;border:1px solid #0000;grid-template-columns:56px 1fr 110px 70px 70px 70px 90px 132px;align-items:center;padding:14px 16px;display:grid}.ranking-header{cursor:default;border-bottom:1px solid var(--border-strong);font-family:var(--font-heading);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);border-radius:0;padding:8px 16px 12px;font-weight:700}.ranking-header:hover{background:0 0}.ranking-row:hover{background:var(--bg-hover);border-color:var(--border-strong)}.ranking-pos{font-family:var(--font-display);font-weight:800;font-size:var(--text-xl);color:var(--text-tertiary);letter-spacing:-.015em}.rank-gold .ranking-pos{color:var(--gold)}.rank-silver .ranking-pos{color:var(--silver)}.rank-bronze .ranking-pos{color:var(--bronze)}.rank-gold,.rank-silver,.rank-bronze{background:#0251b005}.ranking-name{font-family:var(--font-heading);color:var(--text-primary);font-weight:700}.ranking-num{color:var(--text-tertiary);font-family:var(--font-mono)}.ranking-diff{flex-direction:column;gap:5px;min-width:0;display:flex}.ranking-diff>b{font-weight:inherit}.ranking-diff-bar{background:var(--bg-elevated);border-radius:3px;height:6px;display:block;position:relative}.ranking-diff-bar:before{content:"";background:var(--text-muted);width:1px;position:absolute;top:-2px;bottom:-2px;left:50%}.ranking-diff-bar>span{border-radius:3px;min-width:2px;height:100%;position:absolute;top:0}.ranking-diff-bar>span.is-positive{background:var(--volt)}.ranking-diff-bar>span.is-negative{background:var(--red)}.ranking-status{justify-content:center;align-items:center;min-width:0;display:inline-flex}.ranking-header:last-child{text-align:left}@media (width<=900px){.podium{grid-template-columns:1fr}.podium-1,.podium-2,.podium-3{order:initial}.ranking-row{gap:var(--space-2);grid-template-columns:36px 1fr auto}.ranking-row>span:nth-child(n+4):not(:last-child),.ranking-header{display:none}}.matches-page{gap:var(--space-5);animation:fadeUp .5s var(--ease-out);flex-direction:column;display:flex}.matches-toolbar{align-items:center;gap:var(--space-3);border:1px solid var(--border);background:var(--bg-secondary);padding:10px;display:flex}.matches-search{flex:250px;max-width:380px;position:relative}.matches-search svg{width:17px;color:var(--text-muted);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.matches-search input{border:1px solid var(--border-strong);background:var(--bg-input);width:100%;min-height:42px;color:var(--text-primary);padding:9px 12px 9px 38px}.matches-search input:focus{outline:3px solid var(--accent-glow);border-color:var(--volt)}.matches-filters{scrollbar-width:none;align-items:center;gap:4px;display:flex;overflow-x:auto}.matches-filters::-webkit-scrollbar{display:none}.matches-filters button,.matches-clear{white-space:nowrap;min-height:38px;color:var(--text-tertiary);font-family:var(--font-heading);font-size:var(--text-xs);cursor:pointer;background:0 0;border:1px solid #0000;padding:8px 12px;font-weight:700}.matches-filters button:hover{color:var(--text-primary);background:var(--bg-hover)}.matches-filters button.active{color:var(--on-accent);background:var(--volt)}.matches-clear{color:var(--volt);align-items:center;gap:5px;display:inline-flex}.matches-clear svg{width:14px}.matches-card-title{justify-content:space-between}.matches-card-title>span{align-items:center;gap:10px;display:inline-flex}.matches-card-title small{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.matches-list{flex-direction:column;gap:4px;display:flex}.match-sets{gap:4px;display:flex}.player-link-button{appearance:none;font:inherit;background:0 0;border:0;padding:0}.match-actions{gap:4px;display:inline-flex}.matches-empty{min-height:220px;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex}.matches-empty svg{width:28px}.matches-empty strong{color:var(--text-secondary)}.matches-empty span{font-size:var(--text-sm)}@media (width<=820px){.matches-toolbar{flex-wrap:wrap;align-items:stretch}.matches-search{flex-basis:100%;max-width:none}.matches-filters{flex:1}}@media (width<=768px){.matches-page .match-result{gap:8px var(--space-3);grid-template-columns:1fr auto;display:grid}.matches-page .match-date{grid-column:1}.matches-page .match-teams{grid-column:1/-1;width:100%}.matches-page .match-sets{grid-column:1}.matches-page .match-diff{grid-area:3/2;align-self:center}.matches-page .match-actions{grid-column:1/-1}}.members-page{gap:var(--space-8);animation:fadeUp .5s var(--ease-out);flex-direction:column;display:flex}.members-head{flex-direction:column;gap:6px;display:flex}.members-block-head{padding-bottom:var(--space-3);margin-bottom:var(--space-4);border-bottom:2px solid var(--text-primary)}.members-block-head h3{font-family:var(--font-heading);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.12em;color:var(--text-primary);align-items:center;gap:8px;font-weight:700;display:inline-flex}.members-block-head h3 svg{color:var(--volt)}.members-count{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);letter-spacing:0}.members-hint{font-size:var(--text-sm);color:var(--text-secondary);max-width:68ch;margin-bottom:var(--space-5);line-height:1.6}.members-error{margin-bottom:var(--space-4);background:var(--red-soft);color:var(--red-strong);font-size:var(--text-sm);border:1px solid #dc262640;align-items:center;gap:8px;padding:10px 12px;font-weight:600;display:flex}.members-invite-form,.members-add-form{align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.members-invite-form .form-group,.members-add-form .form-group{margin-bottom:0}.members-invite-form .form-group{width:170px}.members-add-form .form-group:first-child{flex:1;min-width:220px}.members-add-form .form-group:nth-child(2){width:170px}.members-invite-form .dash-action,.members-add-form .dash-action{height:42px}.members-link-out{padding:var(--space-4);margin-bottom:var(--space-5);background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-accent)}.members-link-label{font-family:var(--font-heading);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.12em;color:var(--text-tertiary);margin-bottom:var(--space-3);font-weight:700;display:block}.members-link-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.members-link-row code{background:var(--bg-secondary);border:1px solid var(--border-strong);min-width:240px;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--volt);word-break:break-all;flex:1;padding:10px 12px}.members-invites{margin-top:var(--space-5)}.members-tag{font-family:var(--font-heading);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;align-items:center;padding:4px 10px;font-weight:700;display:inline-flex}.members-tag.is-ok{background:var(--lime);color:var(--on-lime);border:1px solid var(--lime-strong)}.members-tag.is-off{background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border-strong)}.members-tag.is-neutral{background:var(--bg-secondary);color:var(--text-tertiary);border:1px solid var(--border-strong)}.members-row-actions{align-items:center;gap:6px;display:flex}.members-icon-btn{border:1px solid var(--border-strong);width:32px;height:32px;color:var(--text-tertiary);cursor:pointer;transition:var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:inline-flex}.members-icon-btn:hover{color:var(--volt);border-color:var(--border-accent);background:var(--volt-soft)}.members-icon-btn.is-danger:hover{color:var(--red);background:var(--red-soft);border-color:#dc262659}.members-select{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-strong);font-family:var(--font-body);font-size:var(--text-xs);padding:7px 10px}.members-select:disabled{opacity:.5;cursor:not-allowed}.members-muted{color:var(--text-muted);font-size:var(--text-sm)}@media (width<=760px){.members-invite-form .form-group,.members-add-form .form-group,.members-add-form .form-group:nth-child(2){width:100%}.members-invite-form .dash-action,.members-add-form .dash-action{justify-content:center;width:100%}}.members-unclaimed{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.members-unclaimed li{background:var(--gold-bg);border:1px solid #f59e0b47;flex-direction:column;gap:2px;padding:10px 13px;display:flex}.members-unclaimed-name{font-family:var(--font-heading);font-size:var(--text-sm);color:var(--text-primary);font-weight:700}.members-unclaimed-meta{font-family:var(--font-mono);color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}.settings-page{gap:var(--space-8);animation:fadeUp .5s var(--ease-out);flex-direction:column;display:flex}.settings-head{flex-direction:column;gap:6px;display:flex}.settings-block-head{padding-bottom:var(--space-3);margin-bottom:var(--space-4);border-bottom:2px solid var(--text-primary)}.settings-block-head h3{font-family:var(--font-heading);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.12em;color:var(--text-primary);align-items:center;gap:8px;font-weight:700;display:inline-flex}.settings-block-head h3 svg{color:var(--volt)}.settings-hint{font-size:var(--text-sm);color:var(--text-secondary);max-width:68ch;margin-bottom:var(--space-5);line-height:1.6}.settings-error{margin-bottom:var(--space-4);background:var(--red-soft);color:var(--red-strong);font-size:var(--text-sm);border:1px solid #dc262640;align-items:center;gap:8px;padding:10px 12px;font-weight:600;display:flex}.settings-form{align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.settings-form .form-group{width:190px;margin-bottom:0}.settings-form .dash-action{height:42px}.settings-check{height:42px;font-family:var(--font-heading);font-size:var(--text-xs);color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;font-weight:600;display:inline-flex}.settings-check input{width:16px;height:16px;accent-color:var(--volt)}.settings-rule-line{margin-bottom:var(--space-5);background:var(--volt-soft);border:1px solid var(--border-accent);font-size:var(--text-sm);color:var(--text-primary);padding:10px 14px;font-weight:600}.settings-scale{background:var(--glass-line);border:1px solid var(--glass-line);margin-bottom:var(--space-6);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.settings-scale>div{padding:var(--space-4);background:var(--bg-card-solid);flex-direction:column;gap:4px;display:flex}.settings-scale-played{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.015em;color:var(--text-primary)}.settings-scale-removed{font-family:var(--font-heading);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.1em;color:var(--volt);font-weight:700}.settings-preview-title{font-family:var(--font-heading);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.12em;color:var(--text-tertiary);margin-bottom:var(--space-3);font-weight:700}.settings-link-btn{color:var(--volt);font-family:var(--font-heading);font-size:var(--text-xs);cursor:pointer;background:0 0;border:none;padding:0;font-weight:700}.settings-link-btn:hover{color:var(--volt-strong);text-underline-offset:3px;text-decoration:underline}.settings-export-block{justify-content:space-between;align-items:center;gap:var(--space-6);padding:var(--space-6);background:var(--text-primary);color:var(--bg-primary);display:flex}.settings-export-copy{align-items:flex-start;gap:var(--space-4);display:flex}.settings-export-icon{background:var(--volt);color:#111827;border-radius:14px;flex:0 0 50px;place-items:center;width:50px;height:50px;display:grid}.settings-export-icon svg{width:24px;height:24px}.settings-export-copy .eyebrow{margin-bottom:5px}.settings-export-copy h3{color:inherit;font-family:var(--font-heading);font-size:var(--text-lg);margin-bottom:7px}.settings-export-copy p:last-child{max-width:66ch;color:color-mix(in srgb, var(--bg-primary) 72%, transparent);font-size:var(--text-sm);line-height:1.55}.settings-export-button{background:var(--volt);color:#111827;flex:none;min-height:44px}.settings-export-button:hover{background:var(--volt-strong)}@media (width<=760px){.settings-form .form-group{width:100%}.settings-form .dash-action{justify-content:center;width:100%}.settings-scale{grid-template-columns:repeat(2,1fr)}.settings-export-block{padding:var(--space-5);flex-direction:column;align-items:stretch}.settings-export-button{justify-content:center;width:100%}}.settings-denied{align-items:center;gap:var(--space-3);max-width:52ch;margin:var(--space-6) auto 0;padding:var(--space-6);text-align:center;flex-direction:column;display:flex}.settings-denied svg{color:var(--text-muted)}.settings-denied p{color:var(--text-secondary);font-size:var(--text-sm)}.settings-danger{border-color:var(--red)}.settings-danger h3,.settings-danger h3 svg{color:var(--red)}.settings-danger-form{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.settings-danger-form .form-group{flex:1;min-width:220px;margin-bottom:0}@media (width<=640px){.settings-danger-form{align-items:stretch}.settings-danger-form .btn{justify-content:center;width:100%}}.activity-page{gap:var(--space-5);animation:fadeUp .5s var(--ease-out);flex-direction:column;display:flex}.activity-head{justify-content:space-between;align-items:flex-end;gap:var(--space-5);flex-wrap:wrap;display:flex}.activity-filters{flex-wrap:wrap;gap:6px;display:flex}.activity-hint{font-size:var(--text-sm);color:var(--text-tertiary);max-width:68ch}.activity-group{flex-direction:column;gap:0;display:flex}.activity-day{top:var(--header-h);z-index:2;-webkit-backdrop-filter:blur(10px);font-family:var(--font-heading);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted);border-bottom:1px solid var(--glass-line);background:#ffffffdb;padding:8px 0;font-weight:700;position:sticky}.activity-list{list-style:none}.activity-item{align-items:flex-start;gap:var(--space-3);border-bottom:1px solid var(--divider);padding:14px 0;display:flex}.activity-icon{border:1px solid var(--border-strong);width:28px;height:28px;color:var(--text-tertiary);background:var(--bg-secondary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.activity-icon.is-add{color:var(--volt);background:var(--volt-soft);border-color:var(--border-accent)}.activity-icon.is-edit{color:var(--yellow);background:var(--yellow-soft);border-color:#d9770640}.activity-icon.is-del{color:var(--red);background:var(--red-soft);border-color:#dc262640}.activity-body{flex:1;min-width:0}.activity-summary{font-size:var(--text-sm);color:var(--text-primary);overflow-wrap:anywhere;line-height:1.5}.activity-meta{gap:var(--space-3);font-size:var(--text-xs);color:var(--text-muted);flex-wrap:wrap;margin-top:4px;display:flex}.activity-actor{color:var(--text-tertiary);font-weight:600}.activity-time{font-family:var(--font-mono);font-size:11px}.activity-type{font-family:var(--font-heading);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);flex-shrink:0;padding-top:5px;font-weight:700}@media (width<=640px){.activity-type{display:none}.activity-day{top:0}}.rules-page{gap:var(--space-5);animation:fadeUp .5s var(--ease-out);flex-direction:column;max-width:860px;display:flex}.rules-head{gap:var(--space-2);flex-direction:column;display:flex}.rules-lead{color:var(--text-secondary);font-size:var(--text-md);max-width:68ch;margin-top:var(--space-1);line-height:1.6}.rule-card{margin-bottom:0}.rule-text{color:var(--text-secondary);margin-bottom:var(--space-4);line-height:1.65}.rule-text:last-child{margin-bottom:0}.rule-formula{background:var(--accent-softer);border:1px solid var(--border-accent);border-radius:var(--radius-sm);padding:var(--space-4);margin:var(--space-4) 0;flex-direction:column;gap:6px;display:flex}.formula-label{font-family:var(--font-heading);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-weight:700}.rule-formula code{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-primary);background:0 0}.rule-list{gap:var(--space-3);margin:0 0 var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.rule-list li{color:var(--text-secondary);padding-left:20px;line-height:1.55;position:relative}.rule-list li:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:9px;left:4px}.rule-list li .badge-official,.rule-list li .badge-unofficial{vertical-align:middle;margin-right:8px}.rule-list li:has(.badge-official):before{display:none}.rule-list li:has(.badge-unofficial):before{display:none}:is(.rule-list li:has(.badge-official),.rule-list li:has(.badge-unofficial)){padding-left:0}.rule-example{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-4);margin-top:var(--space-4);flex-direction:column;gap:8px;display:flex}.rule-example>p{color:var(--text-secondary)}.rule-example-title{font-family:var(--font-heading);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);align-items:center;gap:6px;font-weight:700;display:inline-flex}.sets-row{gap:8px;margin:4px 0;display:flex}.set-chip{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-strong);border-radius:var(--radius-xs);padding:4px 10px;font-weight:700}.rule-example-calc{font-size:var(--text-sm);color:var(--text-secondary)}.rule-note{font-size:var(--text-sm);color:var(--text-tertiary);padding-left:var(--space-3);margin-top:4px;line-height:1.55}.rule-table{border:1px solid var(--border);border-radius:var(--radius-sm);margin:var(--space-4) 0;flex-direction:column;display:flex;overflow:hidden}.rule-table-row{gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);border-bottom:1px solid var(--divider);grid-template-columns:1.2fr 1fr 1.3fr;padding:11px 14px;display:grid}.rule-table-row:last-child{border-bottom:none}.rule-table-head{font-family:var(--font-heading);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);background:#ffffff05;font-weight:700}.rule-table-row span:first-child{font-family:var(--font-mono);color:var(--text-primary)}.rule-legend{gap:var(--space-3);flex-direction:column;margin:0;display:flex}.rule-legend>div{gap:var(--space-3);grid-template-columns:120px 1fr;align-items:baseline;display:grid}.rule-legend dt{font-family:var(--font-heading);color:var(--text-primary);font-weight:700;font-size:var(--text-sm)}.rule-legend dd{color:var(--text-secondary);font-size:var(--text-sm);margin:0;line-height:1.5}@media (width<=640px){.rule-table-row{grid-template-columns:1fr .8fr 1fr}.rule-legend>div{grid-template-columns:1fr;gap:2px}}.match-detail-page{gap:var(--space-5);animation:fadeUp .5s var(--ease-out);flex-direction:column;display:flex}.match-detail-topbar,.match-detail-hero{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.match-detail-date{border:1px solid var(--border);color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--text-sm);align-items:center;gap:8px;padding:10px 13px;display:inline-flex}.match-detail-date svg{width:17px;color:var(--volt)}.match-detail-scoreboard{border:1px solid var(--border-strong);background:var(--bg-secondary);grid-template-columns:1fr auto 1fr;min-height:310px;display:grid}.match-detail-team{flex-direction:column;justify-content:center;align-items:flex-start;gap:10px;padding:clamp(24px,5vw,64px);display:flex;position:relative;overflow:hidden}.match-detail-team:last-child{text-align:right;align-items:flex-end}.match-detail-side{color:var(--text-muted);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.12em;font-weight:800}.match-detail-player{color:var(--text-primary);font-family:var(--font-display);cursor:pointer;background:0 0;border:0;padding:0;font-size:clamp(1.55rem,3vw,2.7rem);font-weight:700;line-height:1}.match-detail-player:hover{color:var(--volt)}.match-detail-win{color:var(--green);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:6px;margin-top:7px;font-weight:800;display:inline-flex}.match-detail-win svg{width:16px}.match-detail-sets{min-width:210px;padding:var(--space-5);border-inline:1px solid var(--border);background:var(--bg-input);flex-direction:column;justify-content:center;align-items:center;gap:15px;display:flex}.match-detail-sets>span{color:var(--text-muted);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.13em;font-weight:800}.match-detail-sets>div{gap:8px;display:flex}.match-detail-sets strong{border:1px solid var(--border-strong);min-width:58px;font-family:var(--font-display);font-size:var(--text-xl);text-align:center;grid-template-columns:1fr auto 1fr;gap:4px;padding:8px;font-weight:800;display:grid;position:relative}.match-detail-sets strong small{color:var(--text-muted);font-family:var(--font-mono);grid-column:1/-1;font-size:9px}.match-detail-sets strong i{color:var(--text-muted);font-style:normal}.match-detail-sets>b{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700}.match-detail-sets>b small{font-family:var(--font-heading);font-size:var(--text-2xs);text-transform:uppercase}.match-detail-grid{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.match-detail-positions{flex-direction:column;display:flex}.match-detail-positions>div{justify-content:space-between;gap:var(--space-4);border-bottom:1px solid var(--divider);font-size:var(--text-sm);padding:10px 0;display:flex}.match-detail-positions>div:last-child{border-bottom:0}.match-detail-positions span{color:var(--text-muted)}.match-detail-notes{color:var(--text-secondary);white-space:pre-wrap;line-height:1.65}.match-detail-notes.is-empty{color:var(--text-muted);font-style:italic}.match-detail-meta{color:var(--text-muted);font-size:var(--text-xs);align-items:center;gap:7px;display:inline-flex}.match-detail-meta svg{width:16px}.match-detail-missing{align-items:flex-start;gap:var(--space-4);flex-direction:column;max-width:540px;display:flex}@media (width<=800px){.match-detail-scoreboard{grid-template-columns:1fr 1fr}.match-detail-sets{border-inline:0;border-top:1px solid var(--border);grid-area:2/1/auto/-1}.match-detail-grid{grid-template-columns:1fr}}@media (width<=520px){.match-detail-hero{flex-direction:column;align-items:flex-start}.match-detail-scoreboard{min-height:0}.match-detail-team{padding:24px 16px}.match-detail-player{font-size:1.3rem}.match-detail-sets{min-width:0}}.match-detail-tiebreak{font-family:var(--font-mono);letter-spacing:.02em;color:var(--text-muted);font-size:10px;font-style:normal;font-weight:700;position:absolute;top:2px;right:6px}@font-face{font-family:DM Sans;src:url(/fonts/dm-sans-variable.woff2)format("woff2-variations");font-weight:100 1000;font-stretch:100%;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-variable.woff2)format("woff2-variations");font-weight:400 800;font-style:normal;font-display:swap}:root{--bg-base:#fff;--bg-primary:#f7f9fc;--bg-secondary:#eef2f8;--bg-elevated:#e7edf6;--bg-card:#ffffffd9;--bg-card-solid:#fff;--bg-surface:#eef2f8;--bg-hover:#eaf0fb;--bg-input:#eef2f8;--bg-glass:#ffffffbf;--volt:#0251b0;--volt-soft:#0251b01a;--volt-glow:#0251b033;--volt-strong:#023e8a;--volt-deep:#011f47;--court:#0284c7;--court-soft:#0284c71a;--court-glow:#0284c733;--court-deep:#0369a1;--brand-navy:#0a2e6e;--brand-sky:#0098f8;--brand-teal:#12b0a0;--brand-teal-text:#0e8478;--accent:var(--volt);--accent-hover:var(--volt-strong);--accent-active:var(--volt-deep);--accent-soft:var(--volt-soft);--accent-softer:#0251b00f;--accent-glow:var(--volt-glow);--accent-glow-strong:#0251b047;--accent-ring:#0251b059;--on-accent:#fff;--lime:#d1ff42;--lime-strong:#b7e62e;--lime-deep:#9acb1e;--lime-soft:#d1ff4229;--on-lime:#33430a;--green:var(--volt);--green-strong:var(--volt-strong);--green-soft:var(--volt-soft);--green-softer:#0251b00f;--status-official:#15803d;--status-official-soft:#15803d24;--status-pending:#dc2626;--status-pending-soft:#dc26261f;--red:#dc2626;--red-strong:#ef4444;--red-soft:#dc26261a;--red-softer:#dc26260f;--yellow:#d97706;--yellow-soft:#d977061f;--orange:#ea580c;--text-primary:#0b1e33;--text-secondary:#33465c;--text-tertiary:#5c7086;--text-muted:#93a3b4;--text-on-accent:#fff;--text-on-dark:#e6eef9;--border:#021e3c14;--border-strong:#021e3c24;--border-accent:#0251b04d;--border-court:#0284c74d;--divider:#021e3c0d;--gold:#f59e0b;--gold-bg:#f59e0b1f;--silver:#64748b;--silver-bg:#64748b1a;--bronze:#c2410c;--bronze-bg:#c2410c1a;--podium-1-bg:#1c1608;--podium-2-bg:#0b1626;--podium-3-bg:#150d08;--scoreboard-bg:#04122b;--scoreboard-surface:#0c2147;--scoreboard-border:#ffffff1a;--scoreboard-text:#e6eef9;--scoreboard-muted:#e6eef973;--scoreboard-accent:var(--lime);--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.875rem;--text-3xl:2.5rem;--text-4xl:3.5rem;--text-5xl:4.5rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:2rem;--space-8:2.5rem;--space-10:3.5rem;--radius-xs:0;--radius-sm:0;--radius:0;--radius-lg:0;--radius-xl:0;--radius-full:0;--glass:#ffffff8c;--glass-strong:#ffffffb8;--glass-line:#021e3c1a;--glass-blur:blur(24px) saturate(165%);--gutter:clamp(1.25rem, 4vw, 4.5rem);--shadow-xs:0 1px 2px #0000000f;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000d;--shadow-md:0 4px 16px #0000001a, 0 2px 6px #0000000f;--shadow-lg:0 8px 32px #0000001f, 0 4px 10px #00000014;--shadow-xl:0 16px 48px #00000024, 0 8px 20px #0000001a;--shadow-volt:0 0 0 1px #0251b033 inset, 0 4px 16px #0251b01f;--shadow-volt-sm:0 0 0 1px #0251b029 inset, 0 2px 8px #0251b01a;--shadow-court:0 0 0 1px #0284c729 inset, 0 4px 16px #0284c71a;--shadow-card:var(--shadow-sm);--shadow-hover:var(--shadow-md);--shadow-glow:0 0 24px #0251b014;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.15s;--duration:.22s;--duration-slow:.4s;--transition:all var(--duration) var(--ease-in-out);--transition-fast:all var(--duration-fast) var(--ease-out);--font-body:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading:var(--font-body);--font-display:var(--font-body);--font-mono:"JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;--header-h:68px;--content-max:1320px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);background:var(--bg-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-optical-sizing:auto;min-height:100vh;line-height:1.55;position:relative}body:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(60% 35% at 50% 0,#0251b00d 0%,#0000 60%),radial-gradient(40% 40% at 90% 75%,#f59e0b0a 0%,#0000 55%);position:fixed;inset:0}body:after{display:none}a{color:inherit;text-decoration:none}button{font-family:inherit}img,svg{max-width:100%;display:block}.brand-mark,.brand-wordmark{object-fit:contain;flex:none}.leaderboard-item .value,.leaderboard-item .rank,.match-score,.match-diff,.recent-match-footer,table td,table th,.year-btn,.award-value,.streak-pill,.streak-sequence,.set-score input,.set-box{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.stat-value,.display-num,.badge,.badge-official,.badge-unofficial{font-variant-numeric:tabular-nums}.display-num{font-family:var(--font-display);letter-spacing:-.02em;font-variation-settings:"opsz" 40;font-weight:800}.mono{font-family:var(--font-mono)}:where(button,a,input,select,textarea,[tabindex]):focus-visible{box-shadow:0 0 0 3px var(--accent-ring);border-radius:var(--radius-xs);outline:none}@media (prefers-reduced-motion:reduce){:not(.spinner):not(.skeleton),:before,:after{animation-iteration-count:1!important}html{scroll-behavior:auto!important}}.icon{flex-shrink:0;width:18px;height:18px}.icon-xs{width:14px;height:14px}.icon-sm{width:16px;height:16px}.icon-lg{width:22px;height:22px}.icon-xl{width:28px;height:28px}.icon-2xl{width:40px;height:40px}.app{z-index:1;flex-direction:column;min-height:100vh;display:flex;position:relative}.header{-webkit-backdrop-filter:blur(18px)saturate(140%);border-bottom:1px solid var(--border);padding:0 var(--space-6);height:var(--header-h);z-index:100;background:#ffffffe6;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0;box-shadow:0 1px #0251b014}.header:after{content:"";opacity:.8;background:linear-gradient(90deg,#0000 0%,#0251b066 50%,#0000 100%);height:1px;position:absolute;bottom:-1px;left:0;right:0}.header-logo{align-items:center;gap:var(--space-3);display:flex}.header-logo h1{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.015em;color:var(--text-primary);font-weight:700}nav{align-items:center;gap:2px;display:flex}nav a{color:var(--text-tertiary);border-radius:var(--radius-sm);font-family:var(--font-heading);font-size:var(--text-sm);letter-spacing:.01em;transition:var(--transition-fast);align-items:center;gap:6px;padding:9px 14px;font-weight:600;display:inline-flex;position:relative}nav a:hover{color:var(--text-primary);background:#ffffff0a}nav a.active{background:var(--volt-soft);color:var(--volt);box-shadow:0 0 0 1px var(--border-accent) inset;font-weight:700}nav a.active:before{content:"";background:var(--volt);height:2px;box-shadow:0 0 8px var(--volt-glow);position:absolute;bottom:-1px;left:12px;right:12px}.main-content{padding:var(--space-7) var(--space-6);max-width:var(--content-max);z-index:1;flex:1;width:100%;margin:0 auto;position:relative}.card{background:var(--bg-card-solid);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-6);margin-bottom:var(--space-4);box-shadow:var(--shadow-sm);transition:var(--transition);position:relative}.card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.card-title{font-family:var(--font-heading);font-size:var(--text-md);margin-bottom:var(--space-4);align-items:center;gap:var(--space-2);letter-spacing:-.01em;color:var(--text-primary);font-weight:700;display:flex}.card-title .icon-tile{background:var(--volt-soft);width:30px;height:30px;color:var(--volt);border:1px solid var(--border-accent);justify-content:center;align-items:center;display:inline-flex}.eyebrow{font-family:var(--font-heading);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted);font-weight:700}.eyebrow-court{color:var(--court)}.section-display{font-family:var(--font-display);font-size:var(--text-3xl);letter-spacing:-.015em;color:var(--text-primary);font-weight:700;line-height:1}.table-container{overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;font-family:var(--font-heading);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);border-bottom:1px solid var(--border-strong);background:#ffffff05;padding:10px 12px;font-weight:700}td{font-size:var(--text-sm);color:var(--text-primary);border-bottom:1px solid var(--divider);transition:var(--transition-fast);padding:13px 12px}tr:last-child td{border-bottom:none}.rank-1 td:first-child{color:var(--gold);font-weight:800}.rank-2 td:first-child{color:var(--silver);font-weight:800}.rank-3 td:first-child{color:var(--bronze);font-weight:800}.positive{color:var(--green);font-weight:700}.negative{color:var(--red);font-weight:700}.neutral{color:var(--text-muted)}.badge{font-size:var(--text-2xs);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;align-items:center;gap:4px;padding:4px 10px;font-weight:700;display:inline-flex}.badge-official{background:var(--lime);color:var(--on-lime);border:1px solid var(--lime-strong);font-size:var(--text-2xs);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.06em;padding:4px 10px;font-weight:700}.badge-unofficial{background:var(--bg-elevated);color:var(--text-tertiary);font-size:var(--text-2xs);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--border-strong);padding:4px 10px;font-weight:700}.badge-role{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.08em;background:var(--volt);color:var(--on-accent);margin-left:10px;padding:4px 10px;font-size:9px;font-weight:800;box-shadow:0 4px 12px #0251b033}.year-selector{margin-bottom:var(--space-6);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);flex-wrap:wrap;gap:4px;width:fit-content;padding:4px;display:flex}.year-btn{color:var(--text-tertiary);cursor:pointer;font-family:var(--font-heading);font-size:var(--text-sm);transition:var(--transition-fast);letter-spacing:.02em;background:0 0;border:none;padding:8px 16px;font-weight:600}.year-btn:hover{color:var(--text-primary);background:#ffffff0a}.year-btn.active{background:var(--volt);color:var(--on-accent);box-shadow:var(--shadow-volt-sm);font-weight:800}.form-group{margin-bottom:var(--space-4)}.form-group label{font-family:var(--font-heading);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);margin-bottom:6px;font-weight:700;display:block}.form-group select,.form-group input,.form-group textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-input);width:100%;color:var(--text-primary);font-size:var(--text-base);font-family:var(--font-body);transition:var(--transition-fast);outline:none;padding:11px 14px}.form-group select::placeholder,.form-group input::placeholder{color:var(--text-muted)}.form-group select:focus,.form-group input:focus,.form-group textarea:focus{border-color:var(--volt);box-shadow:0 0 0 3px var(--accent-glow);background:#0251b008}.form-group select:hover,.form-group input:hover,.form-group textarea:hover{border-color:var(--text-muted)}.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238893AB' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.form-row{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.form-row-3{gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.set-score{align-items:center;gap:var(--space-2);display:flex}.set-score input{text-align:center;width:60px;font-weight:800;font-size:var(--text-md);font-family:var(--font-display);letter-spacing:-.015em}.set-score span{color:var(--text-muted);font-weight:700}.btn{border-radius:var(--radius-sm);font-family:var(--font-heading);font-size:var(--text-sm);cursor:pointer;transition:var(--transition-fast);letter-spacing:.02em;-webkit-user-select:none;user-select:none;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:7px;padding:11px 22px;font-weight:700;display:inline-flex;position:relative}.btn-primary{background:var(--volt);color:var(--on-accent);box-shadow:var(--shadow-volt-sm)}.btn-primary:hover{background:var(--volt-strong);box-shadow:var(--shadow-volt);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.btn-court{background:var(--court);color:var(--on-accent);box-shadow:0 4px 14px var(--court-glow)}.btn-court:hover{background:var(--court-deep);color:#fff}.btn-danger{background:var(--red-soft);color:var(--red);border:1px solid #ff5c7a4d}.btn-danger:hover{background:#ff5c7a2e;border-color:#ff5c7a80}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border-strong);background:#ffffff08}.btn-ghost:hover{color:var(--text-primary);background:#ffffff0f;border-color:#fff3}.btn-sm{font-size:var(--text-xs);padding:7px 14px}.btn-lg{font-size:var(--text-base);padding:13px 26px}.btn-block{width:100%}.btn[disabled]{cursor:not-allowed;opacity:.5}.grid-2{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.grid-3{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.grid-4{gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}.stat-card{background:var(--bg-card-solid);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5);box-shadow:var(--shadow-sm);transition:var(--transition);text-align:left;position:relative;overflow:hidden}.stat-card:before{content:"";pointer-events:none;background:radial-gradient(120% 80% at 0 0,#0251b00a,#0000 50%);position:absolute;inset:0}.stat-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-2px)}.stat-card .stat-icon{background:var(--volt-soft);width:38px;height:38px;color:var(--volt);margin-bottom:var(--space-3);border:1px solid var(--border-accent);justify-content:center;align-items:center;display:inline-flex}.stat-card .stat-value{font-family:var(--font-display);font-size:var(--text-4xl);color:var(--text-primary);letter-spacing:-.015em;font-weight:800;line-height:.95}.stat-card .stat-label{font-family:var(--font-heading);font-size:var(--text-2xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.1em;margin-top:10px;font-weight:700}.stat-card .stat-sub{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:4px}.player-link{color:var(--volt);cursor:pointer;transition:var(--transition-fast);font-weight:600;text-decoration:none}.player-link:hover{color:var(--volt-strong);text-underline-offset:3px;text-decoration:underline}.match-result{align-items:center;gap:var(--space-3);border-radius:var(--radius-sm);transition:var(--transition-fast);background:0 0;border:1px solid #0000;margin-bottom:4px;padding:12px 14px;display:flex}.match-date{color:var(--text-muted);font-size:var(--text-xs);min-width:80px;font-weight:600;font-family:var(--font-mono)}.match-teams{align-items:center;gap:var(--space-3);flex:1;display:flex}.match-team.loser{color:var(--text-tertiary);font-weight:500}.match-vs{color:var(--text-muted);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.1em;font-weight:700}.match-score{font-family:var(--font-mono);font-weight:700;font-size:var(--text-sm);white-space:nowrap;letter-spacing:.02em;color:var(--text-secondary)}.match-diff{text-align:right;min-width:40px;font-family:var(--font-display);font-weight:800;font-size:var(--text-md);letter-spacing:-.015em}.set-box{background:var(--scoreboard-bg);border:1px solid var(--scoreboard-border);font-family:var(--font-mono);font-weight:800;font-size:var(--text-sm);letter-spacing:.02em;justify-content:center;align-items:center;gap:4px;min-width:52px;padding:5px 10px;display:inline-flex}.set-box-loss{color:var(--scoreboard-muted)}.set-box-sep{color:#fff3}.leaderboard-card{background:var(--bg-card-solid);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5);box-shadow:var(--shadow-sm);transition:var(--transition)}.leaderboard-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.leaderboard-card h3{font-family:var(--font-heading);font-size:var(--text-sm);margin-bottom:var(--space-3);color:var(--text-secondary);align-items:center;gap:8px;font-weight:700;display:flex}.leaderboard-card h3 .icon-tile{background:var(--volt-soft);width:24px;height:24px;color:var(--volt);border:1px solid var(--border-accent);justify-content:center;align-items:center;display:inline-flex}.leaderboard-item{font-size:var(--text-sm);border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.leaderboard-item:last-child{border-bottom:none}.leaderboard-item .rank{color:var(--text-muted);min-width:24px;font-family:var(--font-display);font-weight:800;font-size:var(--text-md);letter-spacing:-.015em}.leaderboard-item .name{margin-left:var(--space-2);color:var(--text-primary);flex:1;font-weight:500}.leaderboard-item .name.player-link{color:var(--text-primary)}.leaderboard-item .name.player-link:hover{color:var(--volt)}.leaderboard-item .value{font-family:var(--font-display);font-weight:800;font-size:var(--text-md);letter-spacing:-.015em;color:var(--volt)}.tabs{margin-bottom:var(--space-6);background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border);gap:4px;width:fit-content;padding:4px;display:flex}.tab{font-family:var(--font-heading);font-size:var(--text-sm);color:var(--text-tertiary);cursor:pointer;transition:var(--transition-fast);letter-spacing:.02em;background:0 0;border:none;padding:9px 18px;font-weight:600}.tab:hover{color:var(--text-primary);background:#ffffff0a}.tab.active{color:var(--on-accent);background:var(--volt);box-shadow:var(--shadow-volt-sm);font-weight:800}.toast{bottom:var(--space-6);right:var(--space-6);background:var(--bg-elevated);color:var(--text-primary);border-radius:var(--radius-sm);font-weight:600;font-size:var(--text-sm);box-shadow:var(--shadow-xl), 0 0 0 1px var(--border-accent) inset;border:1px solid var(--border-strong);animation:toastIn .3s var(--ease-spring), toastOut .3s var(--ease-out) 2.5s forwards;z-index:1000;align-items:center;gap:10px;padding:14px 22px;display:flex;position:fixed}.toast:before{content:"";background:var(--volt);width:10px;height:10px;box-shadow:0 0 12px var(--volt-glow);border-radius:50%}@keyframes toastIn{0%{opacity:0;transform:translateY(20px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toastOut{to{opacity:0;transform:translateY(10px)scale(.96)}}.loading{min-height:50vh;color:var(--text-muted);font-size:var(--text-md);font-weight:600;font-family:var(--font-heading);letter-spacing:.02em;text-transform:uppercase;justify-content:center;align-items:center;gap:12px;display:flex}.loading:before{content:"";border:2.5px solid #ffffff1a;border-top-color:var(--volt);border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg, var(--bg-secondary) 0%, var(--bg-hover) 50%, var(--bg-secondary) 100%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.award-card{text-align:center;padding:var(--space-6) var(--space-4);position:relative}.award-icon-tile{background:var(--volt-soft);width:52px;height:52px;color:var(--volt);border:1px solid var(--border-accent);justify-content:center;align-items:center;margin:0 auto 14px;display:inline-flex}.award-icon-tile--neg{background:var(--red-soft);color:var(--red);border-color:#dc262633}.award-title{font-family:var(--font-heading);font-size:var(--text-2xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px;font-weight:700}.award-name{font-family:var(--font-display);font-size:var(--text-xl);color:var(--volt);letter-spacing:-.015em;font-weight:700}.award-value{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:4px}.progress-bar{border-radius:var(--radius-full);border:1px solid var(--border);background:#ffffff0f;height:6px;overflow:hidden}.progress-fill{border-radius:var(--radius-full);background:linear-gradient(90deg, var(--volt), var(--volt-strong));height:100%;box-shadow:0 0 12px var(--volt-glow);transition:width .5s var(--ease-out)}.player-header{align-items:center;gap:var(--space-5);margin-bottom:var(--space-7);display:flex}.player-avatar{border-radius:var(--radius);background:linear-gradient(135deg, var(--volt) 0%, var(--volt-strong) 100%);width:80px;height:80px;font-family:var(--font-display);font-size:var(--text-3xl);color:var(--on-accent);box-shadow:var(--shadow-volt);letter-spacing:-.015em;justify-content:center;align-items:center;font-weight:700;display:flex}.player-avatar-photo{object-fit:cover;background:0 0}.section-title{font-family:var(--font-heading);font-size:var(--text-sm);margin-bottom:var(--space-4);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:8px;font-weight:700;display:inline-flex}.login-page{min-height:100vh;padding:var(--space-6);z-index:1;justify-content:center;align-items:center;display:flex;position:relative}.login-page:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(70% 50% at 50% 0,#0251b01c 0%,#0000 60%),radial-gradient(50% 40% at 90% 100%,#ffd1660f 0%,#0000 50%);position:fixed;inset:0}.login-container{z-index:1;gap:var(--space-5);width:100%;max-width:460px;animation:fadeUp .6s var(--ease-out);flex-direction:column;display:flex;position:relative}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.login-brand-mark{flex-direction:column;align-items:center;gap:10px;display:inline-flex}.login-title{font-family:var(--font-display);font-size:var(--text-3xl);letter-spacing:-.015em;color:var(--text-primary);font-weight:700;line-height:1}.brand-name{color:var(--brand-navy)}.brand-name>span{color:var(--brand-teal-text)}.login-subtitle{color:var(--text-tertiary);font-size:var(--text-sm)}.login-hint{margin:calc(var(--space-2) * -1) 0 var(--space-3);color:var(--text-tertiary);font-size:var(--text-xs);line-height:1.45}.login-alt{margin:var(--space-3) 0 0;text-align:center}.login-alt .login-link-btn{margin-bottom:0}.login-link-btn{margin-bottom:var(--space-4);color:var(--volt-strong,var(--volt));font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline;display:inline-block}.profile-name-form{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.profile-name-form .form-group{flex:160px;margin:0}.profile-name-error,.profile-name-ok{align-items:center;gap:var(--space-2);margin:var(--space-3) 0 0;font-size:var(--text-sm);display:flex}.profile-name-error{color:var(--red)}.profile-name-ok{color:var(--green)}.player-handle{font-family:var(--font-mono);color:var(--text-tertiary);text-transform:none}.login-card{background:var(--bg-card-solid);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.login-card:before{content:"";pointer-events:none;background:radial-gradient(120% 80% at 50% 0,#0251b00f,#0000 50%);position:absolute;inset:0}.login-error{background:var(--red-soft);border-radius:var(--radius-sm);margin-bottom:var(--space-4);color:var(--red-strong);font-size:var(--text-sm);border:1px solid #ff5c7a4d;align-items:center;gap:8px;padding:10px 14px;font-weight:600;display:flex;position:relative}.test-creds-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);font-size:var(--text-xs);color:var(--text-tertiary)}.test-creds-card .test-creds-title{font-family:var(--font-heading);font-weight:700;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin-bottom:var(--space-3);align-items:center;gap:6px;display:flex}.test-creds-grid{gap:var(--space-2) var(--space-4);grid-template-columns:1fr 1fr;display:grid}.test-creds-grid>div{flex-direction:column;gap:2px;display:flex}.test-creds-grid code{font-family:var(--font-mono);color:var(--volt);font-size:var(--text-xs);background:var(--volt-soft);padding:1px 6px;font-weight:700}.test-creds-grid .role{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-family:var(--font-heading);font-weight:600}.input-icon-wrap{position:relative}.input-icon-wrap .input-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.input-icon-wrap input{padding-left:42px}.tabs-block{width:100%;margin-bottom:var(--space-5);background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border);gap:4px;padding:4px;display:flex}.tabs-block .tab{text-align:center;flex:1}.stagger>*{opacity:0;animation:fadeUp .5s var(--ease-out) forwards}.stagger>:first-child{animation-delay:50ms}.stagger>:nth-child(2){animation-delay:.1s}.stagger>:nth-child(3){animation-delay:.15s}.stagger>:nth-child(4){animation-delay:.2s}.stagger>:nth-child(5){animation-delay:.25s}.stagger>:nth-child(6){animation-delay:.3s}.stagger>:nth-child(7){animation-delay:.35s}.stagger>:nth-child(8){animation-delay:.4s}@media (width<=1024px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.header{gap:var(--space-3);height:auto;padding:var(--space-3);flex-direction:column}nav{flex-wrap:wrap;justify-content:center}nav a{font-size:var(--text-xs);padding:6px 10px}.main-content{padding:var(--space-4)}.grid-2,.grid-3,.grid-4,.form-row{grid-template-columns:1fr}.match-result{flex-direction:column;align-items:flex-start}.tabs{width:100%}.tab{text-align:center;font-size:var(--text-xs);flex:1;padding:8px}.test-creds-grid{grid-template-columns:1fr}.login-title{font-size:var(--text-2xl)}}.set-box-swapped{border-color:var(--lime-strong);position:relative}.set-box-swapped:after{content:"";background:var(--lime);width:5px;height:5px;position:absolute;top:3px;right:3px}:root{--bg-base:#f3f5f7;--bg-primary:#f3f5f7;--bg-secondary:#f7f8fa;--bg-elevated:#eef1f5;--bg-card:#fff;--bg-card-solid:#fff;--bg-surface:#f7f8fa;--bg-hover:#f4f7ff;--bg-input:#f7f8fa;--bg-glass:#ffffffeb;--volt:#2764d8;--volt-strong:#1f4fae;--volt-deep:#173c84;--volt-soft:#edf3ff;--volt-glow:#2764d829;--accent-soft:var(--volt-soft);--accent-softer:#f6f8ff;--accent-ring:#2764d847;--lime:#d8f58b;--lime-strong:#c4e46e;--lime-soft:#f2fad9;--on-lime:#334914;--green:#287753;--green-strong:#216545;--green-soft:#edf8f2;--green-softer:#f6fbf8;--red:#b54141;--red-strong:#a93838;--red-soft:#faeeee;--red-softer:#fcf5f5;--yellow:#a96b19;--yellow-soft:#fff7e8;--text-primary:#283240;--text-secondary:#465466;--text-tertiary:#6d7887;--text-muted:#96a0ac;--border:#e4e8ed;--border-strong:#d8dee6;--border-accent:#c9d9fa;--divider:#edf0f3;--glass:#fffffff0;--glass-strong:#fffffffa;--glass-line:#e4e8ed;--glass-blur:blur(18px) saturate(140%);--radius-xs:6px;--radius-sm:10px;--radius:15px;--radius-lg:19px;--radius-xl:24px;--radius-full:999px;--shadow-xs:0 1px 2px #1a243209;--shadow-sm:0 1px 2px #1a243209;--shadow-md:0 8px 22px -18px #1a243252;--shadow-lg:0 14px 34px -24px #1a243261;--shadow-xl:0 22px 52px -30px #1a243270;--shadow-volt-sm:0 3px 10px #2764d824;--shadow-volt:0 7px 18px #2764d82e;--font-body:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"DM Sans", ui-monospace, monospace;--content-max:1180px;--gutter:clamp(1.1rem, 3vw, 2.5rem);--header-h:66px}html{background:var(--bg-base)}body{background:var(--bg-base);letter-spacing:-.01em}body:before{display:none}button,input,select,textarea{font:inherit}button:not(:disabled):active{transform:translateY(1px)}.shell-field{background:var(--bg-base)}.shell-blob,.shell-grid{display:none}.shell-bar{min-height:var(--header-h);height:var(--header-h);padding:0 var(--gutter);border-bottom-color:var(--border);box-shadow:none;background:#fffffff0;gap:18px}.shell-bar-left,.shell-bar-right{gap:10px}.shell-back{border:0;border-radius:50%;width:38px;height:38px}.shell-back:hover{background:var(--volt-soft)}.shell-brand{gap:9px}.shell-brand-mark{width:34px;height:34px}.shell-sep{background:var(--border);height:27px}.shell-title{letter-spacing:-.02em;text-transform:none;font-size:13px;font-weight:650}.shell-badge{background:var(--bg-secondary);color:var(--text-muted);letter-spacing:.08em;border-radius:5px;padding:4px 7px;font-size:8px}.shell-nav{gap:3px}.shell-nav a{border-radius:10px;min-height:38px;padding:8px 10px;font-size:12px;font-weight:550}.shell-nav a:after{display:none}.shell-nav a:hover{background:var(--bg-secondary)}.shell-nav a.active{background:var(--volt-soft);color:var(--volt);font-weight:700}.shell-user-name{font-size:12px}.shell-user-handle{font-size:9px}.shell-logout{border:0;border-radius:50%;justify-content:center;width:38px;height:38px;padding:0}.shell-logout span{display:none}.shell-logout:hover{background:var(--red-soft)}.shell-main{max-width:var(--content-max);padding:30px var(--gutter) 72px}.card,.stat-card,.leaderboard-card{border-color:var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:var(--bg-card-solid)}.card{padding:20px}.card:hover,.stat-card:hover,.leaderboard-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm);transform:none}.card-title{letter-spacing:-.02em;margin-bottom:16px;font-size:14px;font-weight:680}.card-title .icon-tile,.leaderboard-card h3 .icon-tile{background:var(--volt-soft);border:0;border-radius:11px;width:34px;height:34px}.section-display{letter-spacing:-.045em;text-transform:none;font-size:clamp(1.8rem,4vw,2.45rem);font-weight:650;line-height:1.08}.eyebrow{letter-spacing:.14em;font-size:9px;font-weight:650}.eyebrow-accent{color:var(--text-muted)}.btn{letter-spacing:0;border-radius:12px;min-height:43px;padding:10px 16px;font-size:12px;font-weight:650}.btn-primary{background:var(--volt);box-shadow:var(--shadow-volt-sm)}.btn-primary:hover{background:var(--volt-strong);box-shadow:var(--shadow-volt)}.btn-ghost{background:var(--bg-card-solid);border-color:var(--border)}.btn-ghost:hover{background:var(--volt-soft);border-color:var(--border-accent);color:var(--volt)}.btn-danger{border-color:#f0cece}.btn-sm{min-height:36px;padding:7px 12px}.form-group label{letter-spacing:.11em;font-size:9px;font-weight:650}.form-group input,.form-group select,.form-group textarea{border-color:var(--border);background:var(--bg-input);border-radius:10px;min-height:44px;font-size:14px}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:var(--border-strong)}.tabs,.year-selector{border:1px solid var(--border);background:var(--bg-elevated);border-radius:11px;gap:3px;padding:3px}.tab,.year-btn{border-radius:8px;min-height:35px;padding:7px 13px;font-size:11px;font-weight:600}.tab.active,.year-btn.active{background:var(--bg-card-solid);color:var(--volt);box-shadow:0 1px 3px #1a243214}.stat-card{min-height:130px;padding:18px}.stat-card:before{display:none}.stat-card .stat-icon{border:0;border-radius:11px;width:34px;height:34px;margin-bottom:16px}.stat-card .stat-value,.award-name,.award-value{font-family:var(--font-body);letter-spacing:-.05em;font-weight:650}.stat-card .stat-value{font-size:2.15rem}.stat-card .stat-label{letter-spacing:0;text-transform:none;margin-top:7px;font-size:10px;font-weight:550}.stat-card .stat-sub{font-size:10px}table{border-collapse:separate;border-spacing:0}th{letter-spacing:.08em;padding:9px 11px;font-size:9px}td{padding:12px 11px;font-size:12px}tr:hover td{background:#fafbfc}.badge-official,.badge-unofficial,.badge{letter-spacing:.05em;border-radius:6px;padding:4px 7px;font-size:8px}.badge-official{background:var(--lime);border:0}.matches-toolbar{background:var(--bg-card-solid);border-radius:14px;padding:8px}.matches-search input,.players-search input{background:var(--bg-secondary);border-radius:10px}.matches-filters button,.matches-clear{border-radius:9px}.matches-filters button.active{background:var(--volt-soft);color:var(--volt)}.matches-page>.card{box-shadow:none;background:0 0;border:0;padding:0}.matches-card-title{padding:2px 2px 8px}.match-result{border:1px solid var(--border);background:var(--bg-card-solid);border-radius:15px;margin-bottom:8px;padding:13px 14px}.match-result:hover{background:#fff;border-color:#cfd8e5}.match-date{font-family:var(--font-body);font-size:10px;font-weight:500}.match-team{font-size:12px}.match-team.winner{color:var(--text-primary);font-weight:700}.match-team.loser{color:var(--text-muted)}.match-vs{font-size:8px}.set-box{background:var(--bg-elevated);min-width:42px;font-family:var(--font-body);border:0;border-radius:7px;gap:3px;padding:4px 7px;font-size:11px}.set-box-win{color:var(--text-primary)}.set-box-loss,.set-box-sep{color:var(--text-muted)}.match-diff{font-family:var(--font-body);font-size:12px;font-weight:700}.members-icon-btn{border-radius:50%}.ranking-page{gap:18px}.ranking-rules{background:0 0;border:0;border-radius:10px;padding:0}.official-progress,.player-official-progress,.player-h2h{border-radius:15px}.official-progress{background:var(--bg-card-solid);border-color:var(--border)}.official-progress-icon{border-radius:12px}.official-progress-track,.player-progress-track{border-radius:99px}.official-progress-track span,.player-progress-track span{border-radius:inherit}.podium{align-items:stretch;gap:10px}.podium-card{background:var(--bg-card-solid);min-height:190px;color:var(--text-primary);border-radius:17px;padding:20px}.podium-card:before{display:none}.podium-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.podium-1{color:var(--lime);box-shadow:none;background:#29354a;border-color:#29354a}.podium-1 .podium-name{color:#fff}.podium-1 .podium-stats small{color:#abb5c5}.podium-2,.podium-3{color:var(--text-tertiary);background:#fff}.podium-2 .podium-name,.podium-3 .podium-name{color:var(--text-primary)}.podium-name{font-family:var(--font-body);letter-spacing:-.04em;text-transform:none;font-size:20px;font-weight:650}.podium-rank,.podium-stats span:first-child{font-family:var(--font-body);letter-spacing:-.04em;font-weight:650}.ranking-table-card{padding:12px}.ranking-row{border-radius:11px;font-size:12px}.ranking-row.is-me{background:var(--volt-soft);border-color:var(--border-accent)}.ranking-pos{font-family:var(--font-body);font-size:13px;font-weight:600}.ranking-name{font-weight:650}.display-num{font-family:var(--font-body);letter-spacing:-.02em;font-weight:650}.player-header{margin-bottom:20px}.player-avatar{color:#3c5790;width:68px;height:68px;font-family:var(--font-body);background:#e9eefb;border-radius:50%;font-size:26px;font-weight:650;box-shadow:0 0 0 4px #fff}.player-header h2{font-family:var(--font-body)!important;letter-spacing:-.055em!important;text-transform:none!important;font-size:clamp(2rem,5vw,3rem)!important;font-weight:650!important}.player-h2h{color:#fff;background:#29354a;border:0}.player-h2h-heading>span,.player-h2h-heading small,.player-h2h>p{color:#b8c1cf}.player-h2h-heading svg{color:var(--lime)}.player-h2h-score strong{color:#fff;font-family:var(--font-body);font-weight:650}.player-h2h-score span{color:#b8c1cf}.player-h2h .btn-ghost{color:#fff;background:#ffffff17;border-color:#ffffff1f}.player-chart-line{stroke-width:3px}.player-match-row{box-shadow:none}.match-detail-scoreboard{background:#fff;border-radius:19px;overflow:hidden}.match-detail-team.is-winner{background:var(--lime-soft)}.match-detail-player{font-family:var(--font-body);letter-spacing:-.05em;text-transform:none;font-weight:650}.match-detail-sets{background:#f7f8fa}.match-detail-sets strong{font-family:var(--font-body);background:#fff;border-radius:9px;font-weight:650}.match-detail-sets>b{font-family:var(--font-body);font-weight:650}.match-detail-date{background:#fff;border-radius:10px}.add-match-card{border-radius:19px}.add-match-title{font-family:var(--font-body);letter-spacing:-.035em;text-transform:none;font-size:20px;font-weight:650}.match-type-option,.padel-court-card,.set-editor-card,.set-editor-row,.add-match-diff-box{border-radius:15px}.match-type-option.active{background:var(--volt-soft);box-shadow:none}.match-type-option.active:before{box-shadow:none;border-radius:3px}.padel-court{border-radius:14px}.court-slot{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0}.court-net{background:0 0;border:0}.set-editor-row{background:#fff}.set-editor-scores input,.set-editor-tiebreak input{background:var(--bg-secondary);font-family:var(--font-body);border-radius:9px;font-weight:650}.leaderboard-card h3{font-size:12px}.leaderboard-item .rank,.leaderboard-item .value{font-family:var(--font-body);font-size:12px;font-weight:650}.award-icon-tile{border:0;border-radius:13px}.toast{background:var(--text-primary);color:#fff;border-radius:13px;max-width:390px;bottom:22px;left:auto;right:22px}.dashboard-page{gap:22px}.dash-head{border:0;align-items:center;padding:0}.dash-eyebrow{letter-spacing:.12em;text-transform:none;font-size:9px;font-weight:600}.dash-pulse{border-radius:50%;width:6px;height:6px}.dash-title{font-family:var(--font-body);letter-spacing:-.06em;text-transform:none;margin:8px 0 16px;font-size:clamp(2rem,5vw,3.1rem);font-weight:650;line-height:1.1}.dashboard-filter-tabs{border:1px solid var(--border);background:var(--bg-elevated);scrollbar-width:none;border-radius:11px;flex-wrap:nowrap;width:fit-content;max-width:100%;padding:3px;overflow-x:auto}.dashboard-filter-tabs::-webkit-scrollbar{display:none}.dashboard-chip{border:0;border-radius:8px;flex:none;min-height:35px;padding:7px 13px;font-size:11px;font-weight:600}.dashboard-chip.active{color:var(--volt);background:#fff;box-shadow:0 1px 3px #1a243214}.dash-kpis{border:1px solid var(--border);background:#fff;border-radius:15px;padding:13px 0}.dash-kpis>div{border-right-color:var(--border);min-width:105px;padding:4px 20px}.dash-kpis dt{letter-spacing:0;text-transform:none;font-size:9px;font-weight:550}.dash-kpis dd{font-family:var(--font-body);letter-spacing:-.05em;font-size:1.7rem;font-weight:650}.dash-panel{border:1px solid var(--border);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border-radius:17px;overflow:hidden}.dash-panel-head{border-bottom-color:var(--border);padding:13px 17px;font-size:9px}.dash-panel-body{background:#fff;gap:0}.dash-panel-body>*{background:#fff;padding:20px}.donut-svg{min-height:150px;max-height:190px}.dash-columns{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:24px}.dash-block-head{border-bottom:1px solid var(--border);margin-bottom:13px;padding:0 0 11px}.dash-block-title{letter-spacing:-.02em;text-transform:none;font-size:13px;font-weight:650}.dash-action{letter-spacing:0;border-radius:10px;min-height:36px;padding:7px 11px;font-size:11px}.dashboard-leagues-grid,.dashboard-matches-list{background:0 0;border:0;gap:10px}.league-card{color:#fff;background:#29354a;border:0;border-radius:19px;min-height:156px;padding:18px}.league-card:before{display:none}.league-card:hover{background:#334158}.league-card h3{color:#fff;font-family:var(--font-body);letter-spacing:-.04em;text-transform:none;font-size:22px;font-weight:600}.league-card p,.league-season{color:#b8c1cf}.league-card .badge-role{background:var(--lime);color:var(--on-lime);box-shadow:none;border-radius:6px}.recent-match-card{border-color:var(--border);background:#fff;border-radius:15px;padding:14px}.recent-match-card:hover{background:#fff;border-color:#cfd8e5}.recent-match-header{font-family:var(--font-body);font-size:10px}.recent-match-status{border-radius:6px;font-size:8px}.recent-match-status.win{border:0}.recent-match-grid{font-size:11px}.recent-match-footer{border-top-style:solid}.empty-state-card{background:#fff;border-radius:15px}.empty-state-icon{border:0;border-radius:13px}.dashboard-create-wrapper{border:1px solid var(--border);background:#fff;border-radius:15px}.settings-section,.members-section,.rules-section{border-radius:15px}.activity-icon{border-radius:9px}.activity-day{background:#f3f5f7eb}.season-closed-note,.settings-error,.add-match-editing-note,.info-note{border-radius:11px}.login-card,.test-creds-card{background:#fff;border-radius:19px}.login-title{font-family:var(--font-body);letter-spacing:-.05em;text-transform:none;font-weight:650}.login-page{background:#fff;grid-template-columns:minmax(380px,560px) minmax(400px,460px);align-items:center;gap:clamp(48px,8vw,120px);min-height:100dvh;padding:clamp(28px,5vw,72px);display:grid;overflow:hidden}.login-page:before{background:radial-gradient(circle at 12% 8%,#2764d833,#0000 31%),radial-gradient(circle at 42% 92%,#d8f58b57,#0000 28%),linear-gradient(135deg,#f8faff 0%,#fff 58%)}.login-page:after{content:"";z-index:0;pointer-events:none;opacity:.42;background-image:linear-gradient(#2764d80b 1px,#0000 1px),linear-gradient(90deg,#2764d80b 1px,#0000 1px);background-size:72px 72px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle at 10%,#000,#0000 58%);mask-image:radial-gradient(circle at 10%,#000,#0000 58%)}.login-story{z-index:1;color:#fff;background:#29354a;border-radius:28px;min-height:min(720px,100dvh - 72px);padding:clamp(32px,5vw,58px);position:relative;overflow:hidden;box-shadow:0 30px 70px -38px #18223394}.login-story-brand{z-index:2;align-items:center;gap:15px;display:inline-flex;position:relative}.login-story-brand .brand-mark{box-sizing:content-box;background:#fff;border-radius:16px;padding:9px;box-shadow:0 12px 26px -14px #0009}.login-story-copy{z-index:2;max-width:440px;margin-top:clamp(70px,12vh,120px);position:relative}.login-story-copy .eyebrow{color:var(--lime)}.login-story-copy h1{letter-spacing:-.075em;margin:17px 0 20px;font-size:clamp(3.5rem,6vw,5.6rem);font-weight:600;line-height:.92}.login-story-copy h1 span{color:var(--lime)}.login-story-copy>p:last-child{color:#bdc6d3;max-width:390px;font-size:14px;line-height:1.7}.login-story-features{z-index:2;gap:10px;max-width:390px;margin-top:40px;list-style:none;display:grid;position:relative}.login-story-features li{border-top:1px solid #ffffff1a;align-items:center;gap:12px;padding:10px 0;display:flex}.login-story-features li>span{width:36px;height:36px;color:var(--lime);background:#ffffff17;border-radius:11px;place-items:center;display:grid}.login-story-features svg{width:17px}.login-story-features strong{font-size:12px;display:block}.login-story-features small{color:#9ca8ba;margin-top:3px;font-size:10px;display:block}.login-court{opacity:.1;border:2px solid #fff;width:380px;height:510px;position:absolute;bottom:-90px;right:-115px;transform:rotate(18deg)}.login-court:before,.login-court:after,.login-court i{content:"";background:#fff;position:absolute}.login-court:before{width:2px;top:0;bottom:0;left:50%}.login-court:after{height:2px;top:50%;left:0;right:0}.login-court i:first-child{height:2px;top:23%;left:0;right:0}.login-court i:nth-child(2){height:2px;bottom:23%;left:0;right:0}.login-court i:nth-child(3){background:repeating-linear-gradient(90deg,#fff 0 3px,#0000 3px 7px);height:8px;top:calc(50% - 4px);left:-10px;right:-10px}.login-container{gap:16px;max-width:460px}.login-header{text-align:left;align-items:flex-start;gap:7px}.login-header .login-brand-mark{display:none}.login-header>.eyebrow{color:var(--text-muted);margin-bottom:4px}.login-title{font-size:clamp(2.15rem,4vw,3rem);line-height:1.08}.login-subtitle{font-size:13px}.login-card{border-color:var(--border);padding:25px;box-shadow:0 18px 45px -30px #1a243273}.login-card:before{display:none}.login-card .tabs-block{background:var(--bg-elevated);border-radius:12px}.login-card .tab{border-radius:9px}.test-creds-card{border-color:var(--border);padding:15px 18px}.test-creds-grid{grid-template-columns:1fr 1fr;gap:9px 16px}.test-creds-grid>div{background:var(--volt-soft);padding:7px 9px}.test-creds-grid code{border-radius:4px}@media (width<=1180px){.shell-bar{height:auto;min-height:var(--header-h);padding-top:10px;padding-bottom:5px}.shell-nav{padding-bottom:4px}.dash-columns{grid-template-columns:1fr}}@media (width<=760px){:root{--gutter:20px}body{background:var(--bg-base)}.shell-bar{flex-wrap:nowrap;min-height:62px;padding:8px 18px}.shell-brand-text,.shell-sep,.shell-badge,.shell-user,.shell-logout{display:none}.shell-title{max-width:130px}.shell-nav{display:none}.shell-bar-right{margin-left:auto}.shell-main{padding:22px 20px 102px}.shell-mobile-nav{min-height:calc(68px + env(safe-area-inset-bottom));padding:5px 8px env(safe-area-inset-bottom);border:0;border-top:1px solid var(--border);box-shadow:none;background:#fffffff7;border-radius:0;bottom:0;left:0;right:0}.shell-mobile-nav a{min-height:56px;color:var(--text-muted);gap:3px;font-size:9px;font-weight:550}.shell-mobile-nav a svg{width:19px;height:19px}.shell-mobile-nav a.active:not(.shell-mobile-nav-main) svg{box-sizing:content-box;background:var(--volt-soft);border-radius:10px;padding:5px 13px}.shell-mobile-nav .shell-mobile-nav-main{min-height:0;color:var(--text-muted);box-shadow:none;clip-path:none;background:0 0;margin:0}.shell-mobile-nav .shell-mobile-nav-main .lucide{box-sizing:content-box;border:3px solid var(--bg-base);background:var(--volt);color:#fff;width:20px;height:20px;box-shadow:var(--shadow-volt-sm);border-radius:14px;margin-top:-13px;padding:11px}.shell-mobile-nav .shell-mobile-nav-main.active{color:var(--volt)}.section-display{font-size:2rem}.ranking-head{align-items:flex-start}.card{padding:16px}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{min-height:122px;padding:15px}.stat-card .stat-value{font-size:1.85rem}.matches-toolbar{gap:7px}.matches-filters{margin-right:-8px;padding-right:8px}.match-result{border-radius:15px}.matches-page .match-actions{border-top:1px solid var(--divider);justify-content:flex-end;width:100%;padding-top:7px}.ranking-table-card{padding:5px}.ranking-row{padding:12px 9px}.ranking-row .ranking-pos{grid-row:1/span 2}.ranking-row .ranking-name{grid-column:2}.ranking-row>span:nth-child(3){grid-area:1/3/span 2;align-self:center}.ranking-row>span:last-child{grid-area:2/2;width:fit-content}.podium-card{min-height:0}.podium{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.podium-1,.podium-2,.podium-3{order:initial;padding:13px 9px}.podium-card{gap:5px;min-width:0;min-height:144px}.podium-rank{font-size:17px}.podium-rank svg{width:16px}.podium-name{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.podium-stats span:first-child{font-size:20px}.podium-stats small{letter-spacing:.03em;font-size:7px}.podium-card .badge-official{text-align:center;margin-top:auto;padding:3px 5px;font-size:7px}.dash-head{display:block}.dash-title{font-size:2.1rem}.dashboard-filter-tabs{border-right:0;border-radius:11px 0 0 11px;width:calc(100% + 20px);margin-right:-20px}.dash-kpis{grid-template-columns:repeat(4,1fr);margin-top:18px}.dash-kpis>div{text-align:center;min-width:0;padding:2px 8px}.dash-kpis dd{justify-content:center;font-size:1.45rem}.dash-panel-body{grid-template-columns:1fr}.dash-panel-body>*+*{border-top:1px solid var(--border)}.donut-svg{min-height:135px}.dash-block-head{align-items:center}.recent-match-grid{grid-template-columns:1fr}.player-header{align-items:flex-start}.match-detail-team{padding:22px 15px}.match-detail-sets{padding:18px 12px}.add-match-card{padding:15px}.login-page{min-height:100dvh;padding:34px 20px;display:flex;overflow:visible}.login-story{display:none}.login-container{max-width:460px}.login-header{text-align:center;align-items:center;gap:8px}.login-header .login-brand-mark{margin-bottom:6px;display:inline-flex}.login-title{font-size:2.25rem}.login-card{padding:20px}}@media (width<=420px){:root{--gutter:16px}.shell-main{padding-left:16px;padding-right:16px}.grid-4{gap:9px}.dash-kpis dt{font-size:8px}.dash-kpis dd{font-size:1.25rem}.dash-kpi-unit{font-size:9px}.match-team{font-size:11px}.match-sets{max-width:100%;overflow-x:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.players-error{margin-bottom:var(--space-3);background:var(--red-soft);border:1px solid var(--red);color:var(--red);font-size:var(--text-sm);align-items:center;gap:10px;padding:10px 12px;font-weight:600;display:flex}.players-error svg{flex-shrink:0}:is(.player-page,.league-statistics-page,.dashboard-page,.ranking-page) .eyebrow,:is(.player-page,.league-statistics-page,.dashboard-page,.ranking-page) .eyebrow-accent{color:var(--text-secondary);letter-spacing:.04em;font-size:13px}:is(.player-page,.league-statistics-page,.dashboard-page) .card-title{font-size:19px}:is(.player-page,.league-statistics-page,.dashboard-page) .stat-label{color:var(--text-secondary);font-size:16px}:is(.player-page,.league-statistics-page,.dashboard-page) .stat-sub{color:var(--text-secondary);font-size:14px}:is(.player-page,.league-statistics-page) td{font-size:16px}:is(.player-page,.league-statistics-page) th{white-space:nowrap;font-size:14px}:is(.player-page,.league-statistics-page) .table-container{max-width:100%;overflow-x:auto}:is(.player-page,.league-statistics-page) .btn,.league-statistics-page .tab,.league-statistics-page .year-btn,.dashboard-page .dashboard-chip{min-height:44px;font-size:16px}.player-page .player-period-select{min-height:44px}.player-page .player-period-select select{max-width:100%;font-size:16px}.player-page .player-page-toolbar{flex-wrap:wrap}.player-page .player-header{grid-template-columns:auto minmax(0,1fr)}.player-page .player-global-summary{grid-column:1/-1;width:100%}.player-page .player-global-summary>p,.player-page .player-global-kpis dt,.dashboard-page .dash-kpis dt{color:var(--text-secondary);font-size:14px}.player-page .player-global-kpis dd,.dashboard-page .dash-kpis dd{font-size:28px}.player-page .player-global-unit,.dashboard-page .dash-kpi-unit{font-size:16px}.player-page .player-global-kpis>div{padding:16px 10px}.player-page .player-progress-heading>span,.player-page .player-h2h-heading>span{letter-spacing:0;text-transform:none;font-size:16px}.player-page .player-h2h-heading small,.player-page .player-progress-heading strong,.player-page .player-h2h-score span{font-size:16px}.player-page .player-official-progress p,.player-page .player-h2h>p{font-size:15px;line-height:1.5}.player-page .player-chart-intro{color:var(--text-secondary);font-size:16px;line-height:1.6}.player-page .player-form-chart svg{max-height:none;overflow:visible}.player-page .player-chart-grid text{fill:var(--text-secondary);font-size:15px}.player-chart-area{fill:var(--volt);opacity:.08}.player-page .player-form-chart .player-chart-hit{fill:#0000;stroke:none;cursor:pointer}.player-page .player-form-chart .player-chart-hit:focus{stroke:var(--volt);stroke-width:2px;outline:none}.statistics-details{margin-top:20px}.statistics-details summary{cursor:pointer;min-height:44px;color:var(--volt);padding:12px 0;font-size:16px;font-weight:650}.statistics-overview,.statistics-leaderboards{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:24px;display:grid}.statistics-overview>*,.statistics-leaderboards>*,.player-page .grid-2>*{min-width:0}.statistics-season-chart{margin-bottom:24px}.statistics-heatmap-card{min-width:0;margin-bottom:24px}.statistics-detail-table{border-collapse:separate;border-spacing:0}.statistics-detail-table :is(th,td):first-child{z-index:1;background:var(--bg-card-solid);box-shadow:1px 0 0 var(--border-strong), 8px 0 12px -10px #021e3c59;position:sticky;left:0}.statistics-detail-table thead th:first-child{z-index:2}.league-statistics-page .leaderboard-card h3{gap:10px;margin-bottom:22px;font-size:18px}.league-statistics-page .award-title,.league-statistics-page .award-value{font-size:16px}.league-statistics-page .award-name{font-size:24px}.league-statistics-page .year-selector{flex-wrap:wrap}.dashboard-page .dash-panel-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dashboard-page .dash-panel-head,.dashboard-page .dash-eyebrow{font-size:14px}.dashboard-page .streak-sequence span{min-width:32px;min-height:36px;font-size:16px}.dashboard-page .streak-sequence{flex-wrap:wrap}.dashboard-page .streak-pill{font-size:18px}.ranking-page .ranking-row{min-height:52px;font-size:16px}.ranking-page .ranking-pos,.ranking-page .ranking-name{font-size:16px}.ranking-page .badge-official,.ranking-page .badge-unofficial{font-size:12px}@media (width>=1050px){.player-page .player-header{grid-template-columns:auto minmax(0,1fr) minmax(420px,auto)}.player-page .player-global-summary{grid-column:auto}}@media (width<=760px){.statistics-overview,.statistics-leaderboards,.player-page .player-balance-grid,.player-page .grid-2,.dashboard-page .dash-panel-body{grid-template-columns:1fr}.dashboard-page .dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 0}.player-page .player-global-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 0}.player-page .player-global-kpis>div:nth-child(2){border-right:0}.player-page .player-global-kpis dt{font-size:15px}}:root{--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--dur-press:.12s;--dur-hover:.16s;--dur-pop:.26s;--dur-enter:.46s;--dur-chart:.9s;--stagger:70ms}.page-transition{animation:page-in var(--dur-enter) var(--ease-out) both}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.btn,button.visual-bar-row,button.visual-diverging-col,.visual-metric-tabs button,.year-btn,.tab,.league-card,.icon-btn{transition:transform var(--dur-press) var(--ease-out), background-color var(--dur-hover) ease, border-color var(--dur-hover) ease, color var(--dur-hover) ease, box-shadow var(--dur-hover) ease}.btn:active:not(:disabled),button.visual-bar-row:active,button.visual-diverging-col:active,.visual-metric-tabs button:active,.year-btn:active,.tab:active,.icon-btn:active,.btn-primary:active:not(:disabled){transform:scale(.97)}@media (hover:hover) and (pointer:fine){.card{transition:transform var(--dur-hover) var(--ease-out), border-color var(--dur-hover) ease, box-shadow var(--dur-hover) ease}.card:hover{transform:translateY(-2px)}}@media (hover:none){.card:hover{transform:none}}[data-stagger]>*{animation:page-in var(--dur-enter) var(--ease-out) both;animation-delay:calc(var(--i,0) * var(--stagger))}.dashboard-leagues-grid>*,.dashboard-matches-list>*,.dash-kpis>*,.ranking-table-card tbody tr,.matches-list>*{animation:page-in var(--dur-enter) var(--ease-out) both}.dashboard-leagues-grid>:nth-child(n+2),.dashboard-matches-list>:nth-child(n+2),.dash-kpis>:nth-child(n+2),.ranking-table-card tbody tr:nth-child(n+2),.matches-list>:nth-child(n+2){animation-delay:55ms}.dashboard-leagues-grid>:nth-child(n+3),.dashboard-matches-list>:nth-child(n+3),.dash-kpis>:nth-child(n+3),.ranking-table-card tbody tr:nth-child(n+3),.matches-list>:nth-child(n+3){animation-delay:.11s}.dashboard-leagues-grid>:nth-child(n+4),.dashboard-matches-list>:nth-child(n+4),.dash-kpis>:nth-child(n+4),.ranking-table-card tbody tr:nth-child(n+4),.matches-list>:nth-child(n+4){animation-delay:.165s}.ranking-table-card tbody tr:nth-child(n+5),.dashboard-matches-list>:nth-child(n+5),.matches-list>:nth-child(n+5){animation-delay:.22s}.ranking-table-card tbody tr:nth-child(n+6),.dashboard-matches-list>:nth-child(n+6),.matches-list>:nth-child(n+6){animation-delay:.26s}.value-tick{animation:value-tick .3s var(--ease-out)}@keyframes value-tick{0%{opacity:.4;filter:blur(2px);transform:translateY(-3px)}to{opacity:1;filter:blur();transform:none}}details[open]>:not(summary){animation:details-in var(--dur-pop) var(--ease-out) both}@keyframes details-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.page-transition,[data-stagger]>*,.stagger>*,.dashboard-leagues-grid>*,.dashboard-matches-list>*,.dash-kpis>*,.ranking-table-card tbody tr,.matches-list>*,.login-container,.toast,details[open]>:not(summary){animation:.16s both reduced-fade}.card:hover,.btn:active:not(:disabled),.btn-primary:active:not(:disabled),.tab:active,.year-btn:active,.visual-metric-tabs button:active,button.visual-bar-row:active,button.visual-diverging-col:active{transform:none}.value-tick{animation:.16s both reduced-fade}@keyframes reduced-fade{0%{opacity:0}to{opacity:1}}}.mobile-home-intro,.mobile-league-header,.mobile-season-summary,.mobile-match-score,.mobile-match-label,.mobile-matches-link{display:none}.shell-profile-link{border-radius:50%;display:inline-flex}.mobile-hub-page{gap:24px;max-width:680px;margin:0 auto;display:grid}.mobile-hub-page h1{letter-spacing:-1px;margin:6px 0 0;font-size:30px;font-weight:650}.mobile-page-description{color:var(--text-secondary);margin-top:10px}.profile-identity{border:1px solid var(--border);background:var(--bg-card-solid);border-radius:19px;flex-direction:column;align-items:center;padding:26px 16px;display:flex}.profile-identity .user-avatar{background:var(--volt-soft);width:70px;height:70px;color:var(--volt);box-shadow:none;border-radius:50%;font-size:28px}.profile-identity h2{letter-spacing:-.7px;margin:14px 0 3px;font-size:25px}.profile-identity p{color:var(--text-secondary);font-size:14px}.profile-club-badge{color:var(--on-lime);background:var(--lime);letter-spacing:1px;border-radius:6px;margin-top:16px;padding:6px 10px;font-size:10px;font-weight:650}.profile-balance h2,.profile-section-title{letter-spacing:-.3px;margin:0 0 12px;font-size:17px;font-weight:650}.profile-balance>p{color:var(--text-secondary);margin-bottom:16px;font-size:13px}.profile-menu{border:1px solid var(--border);background:var(--bg-card-solid);border-radius:15px;overflow:hidden}.profile-menu>a,.profile-menu>.leagues-row>a{align-items:center;gap:13px;min-height:76px;padding:15px;display:flex}.profile-menu>a+a,.profile-menu>.leagues-row+.leagues-row{border-top:1px solid var(--border)}.profile-menu>a:hover,.profile-menu>.leagues-row>a:hover{background:var(--volt-soft)}.profile-menu>a>svg:first-child,.profile-menu>.leagues-row>a>svg:first-child{color:var(--volt)}.profile-menu>a>svg:last-child,.profile-menu>.leagues-row>a>svg:last-child{color:var(--text-tertiary);margin-left:auto}.profile-menu strong,.profile-menu small{display:block}.profile-menu strong{font-size:14px;font-weight:650}.profile-menu small{color:var(--text-secondary);margin-top:4px;font-size:12px}.profile-logout{border:1px solid var(--border);min-height:46px;color:var(--red);background:var(--bg-card-solid);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:9px;padding:10px 16px;display:flex}.profile-logout:hover{background:var(--red-soft)}.profile-unlinked{gap:16px;display:grid}@media (width<=760px){:root{--bg-base:oklch(97.5% .004 250);--bg-card-solid:oklch(99.6% .002 250);--bg-card:var(--bg-card-solid);--text-primary:oklch(25% .035 255);--text-secondary:oklch(45% .025 250);--text-muted:oklch(51% .025 250);--volt:oklch(49% .205 258);--volt-soft:oklch(95% .025 257);--lime:oklch(91% .14 121);--border:oklch(91.5% .01 250);--mobile-navy:oklch(24% .065 258)}html{scroll-padding-top:80px;scroll-padding-bottom:100px}.shell{min-height:100dvh}.shell-bar{height:calc(63px + env(safe-area-inset-top));min-height:calc(63px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(21px, env(safe-area-inset-right)) 0 max(21px, env(safe-area-inset-left));background:var(--bg-card-solid);-webkit-backdrop-filter:none}.shell-bar .shell-back,.shell-bar .shell-title,.shell-bar .shell-profile-link{display:none}.shell-bar .shell-brand-text{width:auto;height:20px;display:block}.shell-brand-mark{width:30px;height:30px;box-shadow:none}.bell-btn{background:0 0;border:0;border-radius:50%;width:40px;height:40px}.bell-btn svg{width:21px;height:21px}.shell-main{padding:23px max(21px, env(safe-area-inset-right)) calc(100px + env(safe-area-inset-bottom)) max(21px, env(safe-area-inset-left))}.shell .shell-mobile-nav{z-index:120;min-height:calc(69px + env(safe-area-inset-bottom));padding:0 max(8px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(8px, env(safe-area-inset-left));background:var(--bg-card-solid);border:0;border-top:1px solid var(--border);box-shadow:none;-webkit-backdrop-filter:none;border-radius:0;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;display:grid;position:fixed;inset:auto 0 0}.shell .shell-mobile-nav a{min-width:0;min-height:64px;color:var(--text-muted);flex-direction:column;justify-content:flex-start;align-items:center;gap:4px;padding:8px 0 5px;font-size:10px;font-weight:550;line-height:1.4;display:flex}.shell .shell-mobile-nav a.active{color:var(--volt);box-shadow:none;background:0 0;font-weight:750}.shell-mobile-nav a:before,.mobile-league-tabs a:before{display:none}.mobile-nav-icon{border-radius:10px;place-items:center;width:47px;height:29px;display:grid}.shell .shell-mobile-nav a svg,.shell .shell-mobile-nav a.active:not(.shell-mobile-nav-main) svg{box-sizing:border-box;background:0 0;border-radius:0;width:21px;height:21px;padding:0}.shell-mobile-nav a.active:not(.shell-mobile-nav-main) .mobile-nav-icon{background:var(--volt-soft)}.shell .shell-mobile-nav .shell-mobile-nav-main{clip-path:none;box-shadow:none;background:0 0;margin:0;padding-top:0}.shell-mobile-nav .shell-mobile-nav-main .mobile-nav-icon{box-sizing:content-box;border:3px solid var(--bg-base);background:var(--volt);width:44px;height:40px;color:var(--bg-card-solid);border-radius:14px;margin-top:-7px;box-shadow:0 3px 9px oklch(49% .2 258/.17)}.shell .shell-mobile-nav .shell-mobile-nav-main .lucide{width:25px;height:25px;box-shadow:none;color:inherit;background:0 0;border:0;border-radius:0;margin:0;padding:0}.shell-mobile-nav a:focus-visible{outline:2px solid var(--volt);outline-offset:-3px;border-radius:8px}.mobile-home-intro{gap:22px;display:grid}.mobile-greeting{justify-content:space-between;align-items:center;gap:12px;display:flex}.mobile-greeting>div{min-width:0}.mobile-greeting p{color:var(--text-muted);align-items:center;gap:5px;margin-bottom:6px;font-size:11px;display:flex}.mobile-greeting p svg{color:oklch(57% .1 73)}.mobile-greeting h1{letter-spacing:-1.3px;overflow-wrap:anywhere;margin:0;font-size:29px;font-weight:650;line-height:1.15}.mobile-greeting h1>span{color:var(--volt)}.mobile-greeting .user-avatar{width:45px;height:45px;box-shadow:0 0 0 4px var(--bg-card-solid);color:oklch(39% .08 253);background:oklch(91% .04 254);border-radius:50%}.mobile-league-feature{background:var(--mobile-navy);color:var(--bg-card-solid);border-radius:19px;padding:17px 19px 15px;display:block;position:relative;overflow:hidden}.mobile-feature-top,.mobile-feature-bottom{justify-content:space-between;align-items:center;gap:10px;display:flex;position:relative}.mobile-feature-top>span{color:var(--lime);letter-spacing:1.1px;align-items:center;gap:5px;font-size:9px;font-weight:650;display:flex}.mobile-feature-top i{background:var(--lime);border-radius:50%;width:4px;height:4px}.mobile-league-feature>strong{letter-spacing:-.7px;width:210px;max-width:75%;margin-top:13px;font-size:28px;font-weight:550;line-height:1.08;display:block;position:relative}.mobile-league-feature>strong small{color:var(--lime);letter-spacing:.2px;margin-left:8px;font-size:12px;display:inline-block}.mobile-feature-name{vertical-align:baseline;max-width:8ch;display:inline-block}.mobile-feature-bottom{margin-top:14px}.mobile-feature-bottom>span:first-child{color:oklch(85% .023 260);align-items:center;gap:5px;font-size:11px;display:flex}.mobile-feature-arrow{background:var(--lime);width:27px;height:27px;color:var(--mobile-navy);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.mobile-court-art{color:oklch(73% .04 258);opacity:.5;width:182px;height:208px;position:absolute;top:-21px;right:-9px}.dashboard-page{gap:22px;animation:none}.dashboard-page>.dash-head{display:none}.mobile-season-summary{display:block}.mobile-season-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.mobile-season-heading h2{letter-spacing:-.35px;font-size:16px;font-weight:650}.mobile-season-heading select{width:auto;min-height:44px;color:var(--text-muted);background:0 0;border:0;padding:8px;font-size:13px}.mobile-stats-strip{border:1px solid var(--border);background:var(--bg-card-solid);border-radius:15px;grid-template-columns:repeat(3,minmax(0,1fr));padding:13px 0;display:grid}.mobile-stats-strip>div{text-align:center;border-right:1px solid var(--border)}.mobile-stats-strip>div:last-child{border-right:0}.mobile-stats-strip dd{letter-spacing:-1px;font-size:27px;font-weight:650;line-height:1.2}.mobile-stats-strip>div:nth-child(2) dd{color:var(--volt)}.mobile-stats-strip dd small{margin-left:1px;font-size:15px;font-weight:500}.mobile-stats-strip dt{color:var(--text-muted);margin-top:4px;font-size:12px}.mobile-streak{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-top:16px;display:flex}.mobile-streak strong,.mobile-streak>div>span{display:block}.mobile-streak strong{font-size:12px;font-weight:600}.mobile-streak>div>span{color:var(--text-muted);margin-top:4px;font-size:11px}.mobile-streak-sequence{gap:4px;display:flex}.mobile-streak .mobile-streak-sequence span{background:oklch(92% .008 250);border-radius:6px;place-items:center;width:24px;height:26px;margin:0;font-size:10px;font-weight:700;display:grid}.mobile-streak .mobile-streak-sequence .win{background:var(--lime);color:var(--on-lime)}.mobile-streak .mobile-streak-sequence .draw{color:oklch(42% .04 60);background:oklch(95% .015 80)}.dashboard-page .dash-columns{display:contents}.dashboard-matches-block{order:1}.dashboard-matches-block .desktop-match-label,.dashboard-matches-block .dash-block-title>svg,.dashboard-matches-block .dash-action{display:none}.mobile-match-label{display:inline}.mobile-matches-link{min-height:44px;color:var(--volt);align-items:center;gap:5px;font-size:12px;font-weight:600;display:inline-flex}.dashboard-matches-block .dash-block-head{border:0;margin-bottom:10px;padding:0}.dashboard-page .dash-panel{order:2}.dashboard-leagues-block{order:3}.dash-head-copy .dash-title,.dash-head-copy .dash-eyebrow{display:none}.dash-head-copy:before{content:"Tu temporada";letter-spacing:-.35px;margin-bottom:12px;font-size:16px;font-weight:650;display:block}.dashboard-filter-tabs{border:1px solid var(--border);border-radius:11px;width:100%;max-width:100%;margin:0}.dashboard-chip{min-height:40px;font-size:12px}.dash-kpis{background:var(--bg-card-solid);margin-top:14px;padding:13px 0}.dash-kpis>div{flex-direction:column-reverse;align-items:center;gap:5px;padding:2px 4px;display:flex}.dash-kpis dt{margin:0;font-size:11px}.dash-kpis dd{letter-spacing:-1px;font-size:27px}.dash-kpi-unit{font-size:15px}.dash-panel{box-shadow:none}.dash-panel-head{flex-wrap:wrap;gap:7px;font-size:11px}.dash-panel-body>*{min-width:0;padding:16px}.dash-block-title{font-size:16px}.dash-action{min-height:44px;font-size:12px}.dash-block-head{flex-wrap:wrap;gap:8px}.recent-match-header,.recent-match-status{font-size:11px}.recent-match-grid,.recent-match-footer{font-size:13px}.recent-match-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.recent-match-grid p{margin:0;line-height:1.4}.recent-match-grid p:nth-child(-n+2){grid-column:1/-1}.recent-match-grid p:nth-child(n+3){font-size:11px}.recent-match-status{text-transform:none;letter-spacing:0;font-weight:600}.mobile-league-header{gap:16px;margin-bottom:20px;display:grid}.mobile-league-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.mobile-league-heading h1{letter-spacing:-1px;margin:5px 0 0;font-size:29px;font-weight:650;line-height:1.15}.mobile-league-heading .eyebrow{letter-spacing:1.3px;font-size:10px}.mobile-league-heading>a{min-height:44px;color:var(--volt);align-items:center;gap:3px;font-size:12px;display:flex}.mobile-league-identity{align-items:center;gap:11px;display:flex}.mobile-league-identity>span{background:var(--volt-soft);width:44px;height:46px;color:var(--volt);border-radius:13px;flex-shrink:0;place-items:center;display:grid}.league-identity-photo{border-radius:inherit;object-fit:cover;width:100%;height:100%}.mobile-league-identity strong,.mobile-league-identity small{display:block}.mobile-league-identity strong{letter-spacing:-.4px;font-size:17px;font-weight:650}.mobile-league-identity small{color:var(--text-muted);margin-top:4px;font-size:12px}.mobile-league-tabs{background:oklch(93.5% .006 250);border-radius:11px;grid-template-columns:1.15fr .9fr 1fr;gap:3px;padding:4px;display:grid}.mobile-league-tabs a{min-height:40px;color:var(--text-muted);border-radius:8px;place-items:center;padding:6px 2px;font-size:12px;font-weight:600;display:grid}.mobile-league-tabs a.active{background:var(--bg-card-solid);color:var(--volt);box-shadow:var(--shadow-xs)}.mobile-league-more summary{width:fit-content;min-height:44px;color:var(--text-secondary);cursor:pointer;padding:12px 0;font-size:12px}.mobile-league-more nav{grid-template-columns:1fr 1fr;gap:6px;padding:4px 0 12px;display:grid}.mobile-league-more a{border:1px solid var(--border);background:var(--bg-card-solid);border-radius:10px;align-items:center;gap:8px;min-height:44px;padding:8px 10px;font-size:13px;display:flex}.mobile-league-more a.active{color:var(--volt);background:var(--volt-soft)}.ranking-head{flex-wrap:wrap;gap:12px}.ranking-head .section-display{font-size:22px}.year-selector{max-width:100%;overflow-x:auto}.year-btn{flex-shrink:0;min-height:40px}.podium-1{background:var(--mobile-navy)}.podium-1 .podium-stats .positive{color:var(--lime)}.podium-2{order:-1}.podium-card{padding:14px 7px}.podium-name{font-size:13px}.podium-stats small{letter-spacing:0;font-size:10px}.podium-card .badge-official{font-size:9px}.ranking-name{overflow-wrap:anywhere}.ranking-rules{font-size:12px}.match-team{font-size:13px}.match-date{font-size:12px}.matches-page .match-result{row-gap:12px}.matches-page .match-teams,.matches-page .match-sets{display:none}.mobile-match-score{grid-area:2/1/auto/-1;gap:8px;width:100%;min-width:0;display:grid;overflow-x:auto}.mobile-score-row{grid-template-columns:minmax(120px, 1fr) repeat(var(--set-count), 24px);align-items:center;gap:4px;min-height:30px;display:grid}.mobile-score-team{color:var(--text-muted);overflow-wrap:anywhere;font-size:12px;line-height:1.5}.mobile-score-team.is-winner{color:var(--text-primary);font-weight:700}.mobile-score-team button{color:inherit;text-align:left}.mobile-score-team button:focus-visible{outline:2px solid var(--volt)}.mobile-score-number{text-align:center;color:var(--text-muted);font-size:16px;font-weight:600}.mobile-score-number.is-winner{color:var(--text-primary)}.matches-page .match-actions{grid-area:4/1/auto/-1}.matches-page .match-diff{border-top:1px solid var(--border);text-align:left;grid-area:3/1/auto/-1;padding-top:8px}.matches-page .match-diff:before{content:"Diferencia de juegos ";color:var(--text-muted);font-size:11px;font-weight:400}.match-type-option small{font-size:12px}.add-match-page .match-type-selector{grid-template-columns:1fr 1fr;gap:8px}.match-type-option{border-radius:12px;padding:12px}.match-type-option span{font-size:14px}.match-type-option.active:before{display:none}.add-match-page>.add-match-card{box-shadow:none;background:0 0;border:0;padding:0}.add-match-title{margin-bottom:20px}.add-match-submit{width:100%;min-height:48px}.toast{left:16px;right:16px;bottom:calc(84px + env(safe-area-inset-bottom));max-width:none}.bell-panel{top:calc(64px + env(safe-area-inset-top));width:auto;max-height:calc(100dvh - 160px - env(safe-area-inset-bottom));background:var(--bg-card-solid);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:15px;position:fixed;left:12px;right:12px}.mobile-hub-page{gap:22px}.mobile-hub-page h1{font-size:29px}}@media (width<=360px){.shell-main{padding-left:16px;padding-right:16px}.mobile-greeting h1{font-size:26px}.mobile-league-tabs a{font-size:11px}.dash-kpis dd{font-size:24px}.podium-name{font-size:11px}.podium-stats small{font-size:9px}}.mobile-home-league{display:none}.player-all-matches{margin-top:16px}@media (width<=760px){html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;overscroll-behavior-y:none}.shell-main{padding-top:16px}.shell button,.shell a,.shell select{touch-action:manipulation}.shell button,.shell-mobile-nav a{-webkit-user-select:none;user-select:none}.shell input,.shell textarea,.shell select{font-size:16px}.shell button:active,.shell-mobile-nav a:active{opacity:.7}.dashboard-page{gap:16px}.mobile-home-intro{order:-5}.mobile-greeting h1{font-size:24px}.mobile-greeting .user-avatar{width:40px;height:40px}.mobile-season-summary{order:-4;gap:8px}.mobile-season-heading h2{font-size:15px}.mobile-streak{display:none}.dashboard-page .dash-panel{order:-3}.dash-panel-head{padding:12px 14px}.dash-panel-meta{display:none}.dash-panel-body{grid-template-columns:minmax(0,1fr)}.dash-panel-body>*{padding:14px}.dashboard-matches-block{order:-2}.mobile-home-league{order:-1;display:block}.mobile-home-league .mobile-league-feature{gap:10px;min-height:112px;padding:16px}.mobile-home-league .mobile-feature-top{display:none}.mobile-home-league .mobile-court-art{height:140px}.dashboard-page:has(.mobile-home-league) .dashboard-leagues-grid{display:none}.mobile-league-header{gap:12px;margin-bottom:16px}.mobile-league-topbar{align-items:center;gap:8px;display:flex}.mobile-league-name{flex:1;align-items:center;gap:6px;min-width:0;min-height:48px;display:flex}.mobile-league-name strong{overflow-wrap:anywhere;font-size:16px;line-height:1.2}.mobile-league-name svg{color:var(--volt);flex-shrink:0}.mobile-league-actions{flex-shrink:0;gap:4px;display:flex}.mobile-league-actions a{min-width:48px;min-height:48px;color:var(--text-secondary);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;display:flex}.mobile-league-actions a.active{background:var(--volt-soft);color:var(--volt)}.ranking-page>.ranking-rules,.ranking-head .eyebrow,.player-official-progress>p{display:none}.year-selector,.matches-filters{flex-wrap:wrap;max-width:100%;overflow:visible}.year-btn,.mobile-league-tabs a{min-height:44px}.mobile-match-score{overflow:visible}.mobile-score-row{grid-template-columns:minmax(0, 1fr) repeat(var(--set-count), minmax(18px, 24px))}.player-page{flex-direction:column;display:flex}.player-page>*{min-width:0}.player-page-toolbar{order:-6}.player-header{order:-5}.player-result-kpis{order:-4}.player-recent-matches{order:-3;margin-bottom:20px}.player-recent-matches .player-match-row{text-align:left;grid-template-columns:1fr auto;gap:8px;padding:14px 0;display:grid}.player-recent-matches .match-teams{grid-area:2/1/auto/-1;min-width:0}.player-recent-matches .match-team{white-space:normal;overflow-wrap:anywhere}.player-recent-matches .match-score{white-space:normal;grid-area:3/1}.player-recent-matches .match-diff{grid-area:3/2}.player-recent-matches .player-match-open{grid-area:1/2}.player-all-matches{width:100%;min-height:48px}.player-page .player-period-select{min-width:0}.dashboard-page .dash-panel-body{grid-template-columns:minmax(0,1fr)}.dashboard-page .visual-donut figcaption{display:none}.dashboard-page .visual-donut-ring{flex-basis:120px;width:120px}.dashboard-page .visual-donut-body{justify-content:space-between;gap:12px}.dashboard-page .visual-donut-legend{gap:10px}.dashboard-page .visual-donut-legend dt{font-size:14px}.dashboard-page .visual-donut-legend dd{font-size:20px}.dashboard-page .streak-card{min-height:0}.dashboard-page .streak-card .card-title,.mobile-hub-page>header>.eyebrow{display:none}.dashboard-page .streak-pill{padding:8px 12px;font-size:14px}.dashboard-page .streak-sequence{gap:6px;margin-top:10px}.dashboard-page .streak-sequence span{border-radius:6px;height:30px;min-height:30px}.dashboard-page .recent-match-grid{gap:6px}.dashboard-page .recent-match-grid p:nth-child(n+3){display:none}.mobile-home-league .mobile-league-feature>strong{font-size:22px}.mobile-home-league .mobile-feature-name{max-width:none}.player-page .player-global-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.player-page .player-global-kpis>div{padding:12px 6px}.player-page .player-global-kpis dt{font-size:11px}.player-page .player-global-kpis dd{font-size:22px}.player-page .player-chart-intro{display:none}.ranking-page>.ranking-rules:not(:first-of-type){display:flex}}.mobile-league-avatar{width:36px;height:36px;color:var(--volt);background:var(--volt-soft);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.mobile-league-avatar img{object-fit:cover;width:100%;height:100%;display:block}@media (width<=760px){.mobile-home-league .mobile-feature-identity{align-items:center;gap:12px;width:100%;max-width:100%;margin-top:0;display:flex}.mobile-feature-identity>span:last-child{overflow-wrap:anywhere;min-width:0}.mobile-feature-identity .mobile-league-avatar{background:var(--bg-card-solid);border-radius:12px;width:48px;height:48px}.mobile-league-name{gap:8px}}.shell-brand,.shell-bar-right,.shell-back,.shell-sep{flex-shrink:0}.shell-bar-left{min-width:0}.shell-user{max-width:180px}.shell-user-name,.shell-user-handle{text-overflow:ellipsis;max-width:100%;overflow:hidden}@media (width>=761px) and (width<=1439px){.shell-bar{flex-wrap:wrap;row-gap:8px;height:auto;padding-top:12px;padding-bottom:8px}.shell-bar-left{flex:1}.shell-nav{flex-wrap:wrap;flex:0 0 100%;order:3;width:100%;overflow:visible}}@media (width<=760px),(pointer:coarse){.set-editor-card button{min-width:44px;min-height:44px}.set-editor-toolbar>div{gap:8px;display:flex}}.request-error{justify-items:start;gap:16px;display:grid}.request-error h2{font-size:22px}.request-error p{color:var(--text-secondary)}.session-error{max-width:540px;margin:12vh auto;padding:20px}.visual-years-navigation{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.visual-years-navigation button{min-height:44px;color:var(--volt);border:1px solid var(--border);background:var(--bg-card-solid);border-radius:8px;padding:8px;font-size:13px}.visual-years-navigation button:disabled{opacity:.45;cursor:default}.visual-years-navigation span{font-variant-numeric:tabular-nums;font-size:13px}@media (width<=760px){.visual-year-stack{overflow:visible}.visual-year-stack .visual-histogram-chart{min-width:0}.leagues-row{align-items:stretch;display:flex}.leagues-row+.leagues-row{border-top:1px solid var(--border)}.leagues-row>a{flex:1;min-width:0}.leagues-row .profile-menu>a+a{border-top:0}.leagues-leave{width:54px;color:var(--text-tertiary);border:0;border-left:1px solid var(--border);background:0 0;flex:none;justify-content:center;align-items:center;display:inline-flex}.leagues-leave:hover{color:var(--red);background:var(--red-softer)}.leagues-row .confirm-action{border:0;flex:1;justify-content:flex-end}.leagues-error{background:var(--red-soft);border:1px solid var(--red);color:var(--red);font-size:var(--text-sm);align-items:center;gap:10px;margin-bottom:12px;padding:10px 12px;font-weight:600;display:flex}}
