:root{--bg:#faf7f0;--bg-elevated:#fffefa;--bg-subtle:#f0ebde;--bg-deep:#2a2620;--ink:#0c0c12;--ink-soft:#3a3a44;--ink-muted:#7c7568;--ink-faint:#b4ad9e;--line:#d9d2c0;--line-strong:#2c2820;--court:#1f4e3d;--court-soft:#e3ece4;--court-deep:#143228;--shuttle:#f5d547;--shuttle-deep:#c9a82e;--clay:#c84630;--clay-soft:#f7dfd9;--net:#11161d;--font-display:"Antonio","Bebas Neue",sans-serif;--font-body:"Manrope",system-ui,sans-serif;--font-mono:"JetBrains Mono","SF Mono",monospace;--fs-xs:0.6875rem;--fs-sm:0.8125rem;--fs-md:0.9375rem;--fs-lg:1.125rem;--fs-xl:1.5rem;--fs-2xl:2rem;--fs-3xl:2.75rem;--fs-4xl:4rem;--fs-5xl:6rem;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;--r-0:0;--r-1:2px;--r-2:6px;--r-3:12px;--r-pill:999px;--shadow-1:0 1px 0 #1410080a;--shadow-2:0 2px 8px #1410080f,0 1px 2px #1410080a;--shadow-3:0 12px 28px #1410081a,0 4px 8px #1410080d;--shadow-glow:0 0 0 4px #f5d54740;--t-fast:120ms cubic-bezier(.2,.8,.2,1);--t-med:220ms cubic-bezier(.2,.8,.2,1)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(900px 600px at 0 -200px,#1f4e3d0f,#0000 60%),radial-gradient(700px 500px at 110% 0,#f5d5471a,#0000 55%),#faf7f0;background:radial-gradient(900px 600px at 0 -200px,#1f4e3d0f,#0000 60%),radial-gradient(700px 500px at 110% 0,#f5d5471a,#0000 55%),var(--bg);color:#0c0c12;color:var(--ink);font-family:Manrope,system-ui,sans-serif;font-family:var(--font-body);font-size:.9375rem;font-size:var(--fs-md);line-height:1.5;text-rendering:optimizeLegibility}body:before{background-image:linear-gradient(rgba(20,16,8,.025) 1px,#0000 0);background-size:100% 32px;content:"";inset:0;mix-blend-mode:multiply;pointer-events:none;position:fixed;z-index:0}#root{position:relative;z-index:1}.mono,code{font-feature-settings:"tnum";font-family:JetBrains Mono,SF Mono,monospace;font-family:var(--font-mono);font-variant-numeric:tabular-nums}::selection{background:#f5d547;background:var(--shuttle);color:#0c0c12;color:var(--ink)}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#d9d2c0;background:var(--line);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#7c7568;background:var(--ink-muted)}.App{display:flex;flex-direction:column;min-height:100vh}.main-content{margin:0 auto;max-width:1240px;padding:var(--sp-6) var(--sp-5) var(--sp-9);width:100%}.navigation{background:var(--bg);border-bottom:1px solid var(--line-strong);box-shadow:0 1px 0 #1410080a;padding:0;position:-webkit-sticky;position:sticky;top:0;z-index:30}.nav-header{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1240px;padding:var(--sp-3) var(--sp-5);width:100%}.nav-brand{align-items:baseline;color:var(--ink);display:inline-flex;gap:10px;text-decoration:none}.nav-brand-mark{color:var(--shuttle-deep);letter-spacing:-.1em}.nav-brand-mark,.nav-brand-name{font-family:var(--font-display);font-size:1.5rem;font-weight:700;line-height:1}.nav-brand-name{letter-spacing:.04em;text-transform:uppercase}.nav-brand-name-accent{color:var(--court)}.mobile-menu-toggle{background:#0000;border:1px solid var(--line-strong);border-radius:0;cursor:pointer;display:none;flex-direction:column;height:44px;justify-content:space-around;padding:10px;width:44px;z-index:10}.mobile-menu-toggle span{background:var(--ink);height:2px;transition:all var(--t-fast);width:100%}.nav-links{align-items:stretch;display:flex;flex-wrap:wrap;gap:0;list-style:none;margin:0 auto;max-width:1240px;padding:0 var(--sp-5)}.nav-links li{display:flex;margin:0;padding:0}.nav-links a{align-items:center;border-bottom:3px solid #0000;color:var(--ink-soft);display:inline-flex;font-family:var(--font-display);font-size:.95rem;font-weight:600;letter-spacing:.06em;padding:var(--sp-4) var(--sp-4);position:relative;text-decoration:none;text-transform:uppercase;transition:color var(--t-fast),border-color var(--t-fast)}.nav-links a:hover{border-bottom-color:var(--shuttle);color:var(--ink)}.nav-links a.active{border-bottom-color:var(--court);color:var(--court)}.home{gap:var(--sp-7)}.hero,.home{display:flex;flex-direction:column}.hero{gap:var(--sp-3);padding:var(--sp-3) 0 var(--sp-5);position:relative}.hero-shuttle{display:none;filter:drop-shadow(0 4px 12px rgba(20,16,8,.08));height:220px;pointer-events:none;position:absolute;right:-8px;top:var(--sp-2);width:220px}@media (min-width:900px){.hero-shuttle{display:block}}.hero-title{display:flex;flex-direction:column;font-family:var(--font-display);font-size:clamp(3.5rem,11vw,8.5rem);font-weight:700;letter-spacing:-.02em;line-height:.88;margin:0;text-transform:uppercase}.hero-title-accent{color:var(--court);display:inline-block;position:relative;width:-webkit-max-content;width:max-content}.hero-title-accent:after{background:var(--shuttle);bottom:4px;content:"";height:14px;left:0;position:absolute;width:60%;z-index:-1}.hero-sub{color:var(--ink-soft);font-size:var(--fs-lg);line-height:1.55;margin:var(--sp-3) 0 0;max-width:56ch}.hero-cta{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-5)}.scoreboard{background:var(--net);border:1px solid var(--net);border-radius:var(--r-2);color:var(--bg);overflow:hidden;position:relative}.scoreboard:before{color:var(--shuttle);content:"LIVE TOTALS";font-family:var(--font-mono);font-size:10px;left:var(--sp-3);letter-spacing:.22em;position:absolute;text-transform:uppercase;top:var(--sp-2)}.scoreboard-row{display:grid;grid-template-columns:repeat(5,1fr)}.scoreboard-cell{border-right:1px solid #ffffff14;display:flex;flex-direction:column;gap:6px;padding:var(--sp-6) var(--sp-4) var(--sp-4)}.scoreboard-cell:last-child{border-right:none}.scoreboard-accent{background:linear-gradient(180deg,#0000,#f5d5470f)}.scoreboard-label{color:#ffffff8c;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase}.scoreboard-value{font-feature-settings:"tnum";color:var(--bg);font-family:var(--font-display);font-size:clamp(2rem,4vw,3.25rem);font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.scoreboard-accent .scoreboard-value{color:var(--shuttle)}@media (max-width:768px){.scoreboard-row{grid-template-columns:repeat(2,1fr)}.scoreboard-cell{border-bottom:1px solid #ffffff14}}.section{flex-direction:column}.section,.section-header{display:flex;gap:var(--sp-4)}.section-header{align-items:baseline;border-bottom:1px solid var(--line);flex-wrap:wrap;padding-bottom:var(--sp-3)}.section-header h2{flex:0 0 auto;margin:0}.section-link{color:var(--court);font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:700;letter-spacing:.08em;margin-left:auto;text-decoration:none;text-transform:uppercase}.section-link:hover{color:var(--court-deep)}.two-col{grid-gap:var(--sp-6);display:grid;gap:var(--sp-6);grid-template-columns:1fr 1fr}@media (max-width:900px){.two-col{grid-template-columns:1fr}}.type-tag{border-radius:var(--r-pill);display:inline-block;font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:700;letter-spacing:.16em;padding:3px 10px;text-transform:uppercase}.type-singiel,.type-singles{background:var(--court-soft);color:var(--court-deep)}.type-druzynowy,.type-drużynowy,.type-teams{background:var(--shuttle);color:var(--ink)}.type-mieszany,.type-mixed{background:var(--clay-soft);color:var(--clay)}.rank-list{display:flex;flex-direction:column}.rank-row{grid-gap:var(--sp-3);align-items:center;border-bottom:1px solid var(--line);color:var(--ink);display:grid;gap:var(--sp-3);grid-template-columns:auto 1fr auto auto;padding:var(--sp-3) var(--sp-4);text-decoration:none;transition:background var(--t-fast)}.rank-row:last-child{border-bottom:none}.rank-row:hover{background:var(--bg-subtle)}.rank-pos{font-feature-settings:"tnum";color:var(--court);font-family:var(--font-mono);font-size:var(--fs-2xl);font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.04em}.rank-name{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:600;letter-spacing:.02em}.rank-meta,.rank-name{text-transform:uppercase}.rank-meta{color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.08em;white-space:nowrap}@media (max-width:500px){.rank-row{grid-template-columns:auto 1fr auto}.rank-meta{grid-column:1/-1;text-align:right}}.card{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--r-2);box-shadow:var(--shadow-1);margin:var(--sp-4) 0;padding:var(--sp-5)}.card h2{align-items:baseline;color:var(--ink);display:flex;font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:600;gap:var(--sp-3);letter-spacing:.02em;margin:0 0 var(--sp-4);text-transform:uppercase}.card h2:before{background:var(--court);content:"";display:inline-block;height:22px;transform:translateY(2px);width:6px}.container{margin:0 auto;max-width:1240px;padding:var(--sp-5)}h1{font-size:clamp(2.25rem,5vw,4rem);font-weight:700;letter-spacing:-.01em;line-height:.95;margin:0}h1,h2{color:var(--ink);font-family:var(--font-display);text-transform:uppercase}h2{font-size:var(--fs-2xl);font-weight:600;letter-spacing:.02em;margin:0 0 var(--sp-4)}h3{color:var(--ink-soft);font-family:var(--font-display);font-size:var(--fs-lg);font-weight:500;letter-spacing:.04em;margin:0 0 var(--sp-3)}.eyebrow,h3{text-transform:uppercase}.eyebrow{align-items:center;color:var(--ink-muted);display:inline-flex;font-family:var(--font-mono);font-size:var(--fs-xs);gap:var(--sp-2);letter-spacing:.22em}.eyebrow:before{background:var(--ink-muted);content:"";height:1px;width:18px}.btn-primary,.btn-secondary,a.btn-primary,a.btn-secondary,button.btn-primary,button.btn-secondary{align-items:center;border:1px solid #0000;border-radius:var(--r-1);cursor:pointer;display:inline-flex;font-family:var(--font-display);font-size:.95rem;font-weight:600;gap:var(--sp-2);justify-content:center;letter-spacing:.08em;padding:12px 22px;text-decoration:none;text-transform:uppercase;transition:all var(--t-fast);-webkit-user-select:none;user-select:none}.btn-primary{background:var(--court);border-color:var(--court);color:var(--bg-elevated)}.btn-primary:hover{background:var(--court-deep);box-shadow:0 0 0 3px #1f4e3d2e}.btn-primary:active{transform:translateY(1px)}.btn-secondary{background:var(--bg-elevated);border-color:var(--line-strong);color:var(--ink)}.btn-secondary:hover{background:var(--shuttle);border-color:var(--shuttle-deep)}.btn-secondary.active{background:var(--court);border-color:var(--court);color:var(--bg-elevated)}.btn-secondary.active:hover{background:var(--court-deep);border-color:var(--court-deep);color:var(--bg-elevated)}.table-container{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--r-2);box-shadow:var(--shadow-1);overflow-x:auto}table{border-collapse:collapse;font-size:var(--fs-md);width:100%}th{background:var(--bg-subtle);border-bottom:1px solid var(--line-strong);color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:700;letter-spacing:.16em;text-align:left;text-transform:uppercase;white-space:nowrap}td,th{padding:12px var(--sp-4)}td{border-bottom:1px solid var(--line);vertical-align:middle}tr:last-child td{border-bottom:none}tbody tr{transition:background var(--t-fast)}tbody tr:hover{background:var(--bg-subtle)}.numeric,td.numeric{font-feature-settings:"tnum";font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.player-link,td a{border-bottom:1px dashed var(--ink-faint);color:var(--ink);font-weight:600;text-decoration:none;transition:border-color var(--t-fast)}.player-link:hover,td a:hover{border-bottom-color:var(--court)}.stats-grid{grid-gap:1px;background:var(--line-strong);border:1px solid var(--line-strong);border-radius:var(--r-2);display:grid;gap:1px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:var(--sp-6) 0;overflow:hidden}.stat-card{background:var(--bg-elevated);padding:var(--sp-5);position:relative;transition:background var(--t-fast)}.stat-card:hover{background:var(--shuttle)}.stat-card h3{color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:500;letter-spacing:.22em;margin:0 0 var(--sp-3);text-transform:uppercase}.stat-card .value,.stat-card p{font-feature-settings:"tnum";color:var(--ink);font-family:var(--font-display);font-size:clamp(2.25rem,4vw,3.25rem);font-variant-numeric:tabular-nums;font-weight:700;line-height:1;margin:0}.rating-progression-grid{grid-gap:var(--sp-3);display:grid;gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(380px,1fr));margin-bottom:var(--sp-6)}@media (max-width:640px){.rating-progression-grid{gap:var(--sp-2);grid-template-columns:1fr}}.rating-badge{font-feature-settings:"tnum";background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--r-1);color:var(--ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:700;padding:8px 12px;text-align:center}.rating-badge.rating-excellent,.rating-badge.very-high{background:var(--court);border-color:var(--court);color:#fff}.rating-badge.high,.rating-badge.rating-very-good{background:var(--shuttle);border-color:var(--shuttle-deep)}.rating-badge.medium,.rating-badge.rating-good{background:var(--court-soft);border-color:var(--court);color:var(--court-deep)}.rating-badge.low,.rating-badge.rating-beginner{background:var(--bg-subtle);color:var(--ink-muted)}.rating-average{color:var(--ink-soft);font-family:var(--font-mono)}.tabs{border-bottom:2px solid var(--line-strong);display:flex;gap:var(--sp-1);margin:var(--sp-4) 0}.tab-button{background:#0000;border:none;border-bottom:3px solid #0000;color:var(--ink-muted);cursor:pointer;font-family:var(--font-display);font-size:.95rem;font-weight:600;letter-spacing:.06em;margin-bottom:-2px;padding:12px var(--sp-4);text-transform:uppercase;transition:all var(--t-fast)}.tab-button:hover{color:var(--ink)}.tab-button.active{border-bottom-color:var(--court);color:var(--court)}.search-container{margin:var(--sp-4) 0;position:relative}.search-input,input[type=date],input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],select,textarea{background:var(--bg-elevated);border:1px solid var(--line-strong);border-radius:var(--r-1);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-md);outline:none;padding:12px 14px;transition:border-color var(--t-fast),box-shadow var(--t-fast);width:100%}.search-input:focus,input:focus,select:focus,textarea:focus{border-color:var(--court);box-shadow:0 0 0 3px #1f4e3d26}.sort-controls{align-items:stretch;display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-bottom:var(--sp-4)}.sort-controls__field{align-items:center;display:inline-flex;gap:var(--sp-2)}.sort-controls__label{color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.22em;text-transform:uppercase;white-space:nowrap}.sort-controls__select{height:44px;line-height:1;min-width:200px;padding:10px 14px;width:auto}.sort-controls .btn-primary{font-size:.85rem;height:44px;padding:0 22px}@media (max-width:540px){.sort-controls{align-items:stretch}.sort-controls__field{flex:1 1 100%}.sort-controls__select{flex:1 1;min-width:0}.sort-controls .btn-primary{width:100%}}.pagination{display:flex;flex-wrap:wrap;gap:var(--sp-2);justify-content:center;margin:var(--sp-6) 0}.pagination button{background:var(--bg-elevated);border:1px solid var(--line-strong);color:var(--ink);cursor:pointer;font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:600;padding:8px 14px;transition:all var(--t-fast)}.pagination button:hover:not(:disabled){background:var(--shuttle)}.pagination button:disabled{cursor:not-allowed;opacity:.45}.pagination .active,.pagination button.active{background:var(--court);border-color:var(--court);color:#fff}.events,.events-list{display:flex;flex-direction:column;gap:var(--sp-5)}.events-list-header{align-items:flex-end;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:var(--sp-3);justify-content:space-between;margin-bottom:var(--sp-3);padding-bottom:var(--sp-3)}.events-list-section-h2{border-top:1px solid var(--line);font-family:var(--font-display);font-size:var(--fs-xl);font-weight:700;letter-spacing:.04em;margin-top:var(--sp-5);padding-top:var(--sp-3);text-transform:uppercase}.events-cards{grid-gap:var(--sp-4);display:grid;gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.event-card{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--r-2);box-shadow:var(--shadow-1);overflow:hidden;padding:var(--sp-5);position:relative;transition:all var(--t-med)}.event-card:before{background:linear-gradient(90deg,var(--court) 0 50%,var(--shuttle) 50% 100%);content:"";height:4px;left:0;position:absolute;right:0;top:0}.event-card:hover{border-color:var(--court);box-shadow:var(--shadow-3);transform:translateY(-3px)}.event-card-name{color:var(--ink);font-family:var(--font-display);font-size:var(--fs-xl);font-weight:700;letter-spacing:.01em;line-height:1.05;margin:0 0 var(--sp-2);text-transform:uppercase}.event-card-meta{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-bottom:var(--sp-3)}.event-card-dates{color:var(--court);font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:700;letter-spacing:.05em}.event-card-venue{color:var(--ink-muted);font-size:var(--fs-sm)}.event-card a,.event-card-link{align-items:center;border-bottom:2px solid var(--shuttle);color:var(--ink);display:inline-flex;font-family:var(--font-display);font-size:.95rem;font-weight:600;gap:8px;letter-spacing:.08em;margin-top:var(--sp-3);padding-bottom:2px;text-decoration:none;text-transform:uppercase}.event-card a:after,.event-card-link:after{content:"→";transition:transform var(--t-fast)}.event-card a:hover:after,.event-card-link:hover:after{transform:translateX(4px)}.event-detail-error,.event-detail-loading,.events-empty,.events-error,.events-loading,.participants-empty,.participants-error,.participants-loading,.reg-form-error,.reg-form-loading{background:var(--bg-elevated);border:1px dashed var(--line-strong);border-radius:var(--r-2);color:var(--ink-muted);font-size:var(--fs-md);padding:var(--sp-7) var(--sp-5);text-align:center}.event-detail-error,.events-error,.participants-error,.reg-form-error{background:var(--clay-soft);border-color:var(--clay);color:var(--clay)}.participants-cta{background:var(--court-soft);border-left:1px solid var(--court);border:1px solid var(--court);border-left-width:4px;border-radius:var(--r-2);margin:var(--sp-5) 0;padding:var(--sp-5)}.participants-cta-title{color:var(--court-deep);font-family:var(--font-display);font-size:var(--fs-lg);font-weight:700;letter-spacing:.02em;line-height:1.25;margin:0 0 var(--sp-4);text-transform:uppercase}.participants-cta-list{counter-reset:participants-cta-step;display:flex;flex-direction:column;gap:var(--sp-3);list-style:none;margin:0;padding:0}.participants-cta-list li{align-items:flex-start;background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--r-1);color:var(--ink);counter-increment:participants-cta-step;display:flex;font-size:var(--fs-md);gap:var(--sp-3);line-height:1.5;padding:var(--sp-3) var(--sp-4)}.participants-cta-list li:before{align-items:center;background:var(--shuttle);border-radius:999px;color:var(--ink);content:counter(participants-cta-step);display:inline-flex;flex:0 0 auto;font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:700;height:28px;justify-content:center;line-height:1;margin-top:1px;width:28px}.participants-cta-list li strong{color:var(--ink);font-weight:700}.participants-cta-list li a{color:var(--court);font-weight:600;text-decoration:underline;text-underline-offset:2px}.participants-cta-list li a:hover{color:var(--court-deep)}.participants-cta-copy{align-items:center;background:var(--court);border:1px solid var(--court);border-radius:var(--r-1);color:#fff;cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--fs-sm);font-weight:600;gap:6px;margin-left:4px;padding:6px 14px;transition:background var(--t-fast),transform var(--t-fast)}.participants-cta-copy:hover{background:var(--court-deep)}.participants-cta-copy:active{transform:translateY(1px)}.participants-cta-copy:focus-visible{box-shadow:0 0 0 3px #1f4e3d40;outline:none}@media (max-width:480px){.participants-cta{padding:var(--sp-4)}.participants-cta-title{font-size:var(--fs-md)}.participants-cta-list li{flex-wrap:wrap;font-size:var(--fs-sm);padding:var(--sp-3)}.participants-cta-copy{justify-content:center;margin-left:0;margin-top:var(--sp-2);width:100%}}.calendar{display:flex;flex-direction:column;gap:var(--sp-5);margin-inline:auto;max-width:1200px;min-width:0;width:100%}.calendar-header{grid-gap:var(--sp-4);align-items:end;border-bottom:2px solid var(--line-strong);display:grid;gap:var(--sp-4);grid-template-columns:auto 1fr auto;padding:var(--sp-5) 0 var(--sp-4);position:relative}.calendar-header:after{background:var(--line-strong);bottom:-6px;content:"";height:1px;left:0;position:absolute;right:0}.calendar-header-actions{align-items:center;display:flex;gap:var(--sp-2)}.calendar-today-btn{background:var(--ink);border:1px solid var(--line-strong);border-radius:var(--r-1);box-shadow:var(--shadow-1);color:var(--shuttle);cursor:pointer;font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:700;height:48px;letter-spacing:.22em;padding:0 var(--sp-4);text-transform:uppercase;transition:transform var(--t-fast),background var(--t-fast)}.calendar-today-btn:hover{background:var(--court);transform:translateY(-1px)}.calendar-today-btn:focus-visible{outline:2px solid var(--shuttle);outline-offset:3px}@media (max-width:900px){.calendar-today-btn{font-size:10px;height:40px;letter-spacing:.18em;padding:0 var(--sp-3)}}.calendar-nav{align-self:center;background:var(--bg-elevated);border:1px solid var(--line-strong);border-radius:var(--r-1);box-shadow:var(--shadow-1);color:var(--ink);cursor:pointer;font-family:var(--font-display);font-size:1.75rem;height:48px;line-height:1;padding:0;transition:transform var(--t-fast),background var(--t-fast),color var(--t-fast);width:48px}.calendar-nav:hover{background:var(--ink);color:var(--shuttle);transform:translateY(-1px)}.calendar-nav:focus-visible{outline:2px solid var(--shuttle);outline-offset:3px}.calendar-title{align-items:flex-start;display:flex;flex-direction:column;gap:0;justify-self:center;line-height:.9;margin:0;text-align:center}.calendar-month{color:var(--ink);font-family:var(--font-display);font-size:clamp(2.75rem,7vw,4.5rem);font-weight:700;letter-spacing:-.02em;line-height:1;text-transform:uppercase}.calendar-year{color:var(--ink-muted);font-family:var(--font-mono);font-size:.95rem;font-weight:500;letter-spacing:.32em;margin-top:4px;padding-left:2px}.calendar-grid{grid-gap:1px;background:var(--line-strong);border:1px solid var(--line-strong);border-radius:var(--r-2);box-shadow:var(--shadow-2);display:grid;gap:1px;grid-template-columns:repeat(7,minmax(0,1fr));overflow:hidden}.calendar-weekday{background:var(--ink);color:var(--bg);font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:700;letter-spacing:.22em;min-width:0;padding:12px 0;text-align:center;text-transform:uppercase}.calendar-weekday:nth-child(6),.calendar-weekday:nth-child(7){color:var(--shuttle)}.calendar-cell{background:var(--bg-elevated);display:flex;flex-direction:column;gap:3px;min-height:116px;min-width:0;overflow:hidden;padding:var(--sp-2);position:relative;transition:background var(--t-fast)}.calendar-cell:not(.calendar-cell-empty):hover{background:var(--bg-subtle)}.calendar-cell:nth-child(7n):not(.calendar-cell-empty),.calendar-cell:nth-child(7n+6):not(.calendar-cell-empty){background:repeating-linear-gradient(135deg,#0000 0 6px,#1f4e3d0a 6px 7px),var(--bg-elevated)}.calendar-cell-empty{background:repeating-linear-gradient(45deg,#0000 0 4px,#7c75681a 4px 5px),var(--bg-subtle);opacity:.55}.calendar-cell-today{background:var(--shuttle)!important;box-shadow:inset 0 0 0 2px var(--ink)}.calendar-cell-today:after{background:var(--ink);border-radius:var(--r-1);color:var(--shuttle);content:"DZIŚ";font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.18em;padding:3px 6px;position:absolute;right:6px;top:6px;z-index:1}.calendar-day-num{color:var(--ink);font-family:var(--font-display);font-size:1.5rem;font-weight:700;letter-spacing:-.02em;line-height:1;margin-bottom:2px}.calendar-cell-today .calendar-day-num{color:var(--ink);font-size:1.75rem}.calendar-cell:nth-child(7n):not(.calendar-cell-empty) .calendar-day-num,.calendar-cell:nth-child(7n+6):not(.calendar-cell-empty) .calendar-day-num{color:var(--court-deep)}.calendar-entry{border-left:3px solid;border-radius:var(--r-1);display:block;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.02em;max-width:100%;min-width:0;overflow:hidden;padding:3px 6px;text-decoration:none;text-overflow:ellipsis;transition:transform var(--t-fast),background var(--t-fast),box-shadow var(--t-fast);white-space:nowrap}.calendar-entry:hover{box-shadow:var(--shadow-1);transform:translateX(2px)}.calendar-entry-tournament{background:var(--court-soft);border-left-color:var(--court);color:var(--court-deep)}.calendar-entry-round{background:var(--bg-elevated);border:1px solid var(--line);border-left:3px solid var(--shuttle-deep);color:var(--ink)}.calendar-cell-today .calendar-entry-round{background:#fff9;border-color:#0c0c1226}.calendar-entry-signup{background:var(--court);border:1px solid var(--court-deep);border-left:3px solid var(--shuttle);color:var(--bg);font-weight:700;position:relative}.calendar-entry-signup:hover{background:var(--court-deep)}.calendar-entry-badge{animation:signup-pulse 1.6s ease-in-out infinite;background:var(--shuttle);border-radius:50%;box-shadow:0 0 0 2px #f5d54759;display:inline-block;height:7px;margin-right:5px;vertical-align:middle;width:7px}@keyframes signup-pulse{0%,to{opacity:.5;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.calendar-legend{border-top:1px dashed var(--line);color:var(--ink-muted);display:flex;flex-wrap:wrap;font-family:var(--font-mono);font-size:var(--fs-xs);gap:var(--sp-5);letter-spacing:.12em;padding:var(--sp-3) 0 var(--sp-5);text-transform:uppercase}.calendar-legend-item{align-items:center;display:inline-flex;gap:10px}.calendar-legend-swatch{border-left:3px solid;border-radius:var(--r-1);display:inline-block;height:12px;width:18px}.calendar-legend-swatch.calendar-entry-tournament{background:var(--court-soft);border-left-color:var(--court)}.calendar-legend-swatch.calendar-entry-round{background:var(--bg-elevated);border:1px solid var(--line);border-left:3px solid var(--shuttle-deep)}.calendar-legend-swatch.calendar-entry-signup{background:var(--court);border-left-color:var(--shuttle)}@media (max-width:900px){.calendar-header{gap:var(--sp-3);grid-template-columns:auto 1fr auto}.calendar-month{font-size:clamp(2.25rem,9vw,3rem)}.calendar-year{font-size:.8rem;letter-spacing:.28em}.calendar-nav{font-size:1.5rem;height:40px;width:40px}.calendar-cell{gap:2px;min-height:78px;padding:5px}.calendar-day-num{font-size:1.125rem}.calendar-cell-today .calendar-day-num{font-size:1.25rem}.calendar-entry{font-size:9px;padding:2px 4px}.calendar-cell-today:after{font-size:8px;letter-spacing:.14em;padding:2px 4px}}@media (max-width:600px){.calendar-weekday{font-size:9px;letter-spacing:.14em;padding:8px 0}.calendar-cell-today:after{display:none}.calendar-cell{min-height:64px;padding:4px 3px}.calendar-day-num{font-size:1rem}.calendar-entry{font-size:8px;letter-spacing:0;padding:1px 3px}.calendar-entry-badge{height:5px;margin-right:3px;width:5px}}.event-detail{display:flex;flex-direction:column;gap:var(--sp-5)}.event-detail-back,.participants-back,.reg-form-back{color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:.06em;text-decoration:none;text-transform:uppercase}.event-detail-back:hover,.participants-back:hover,.reg-form-back:hover{color:var(--court)}.event-detail-name{font-family:var(--font-display);font-size:clamp(2.5rem,6vw,4.5rem);font-weight:700;letter-spacing:-.01em;line-height:.95;margin:0 0 var(--sp-3);text-transform:uppercase}.event-detail-meta{background:var(--bg-elevated);border:1px solid var(--line);border-left:4px solid var(--court);border-radius:var(--r-2);display:flex;flex-wrap:wrap;gap:var(--sp-5);padding:var(--sp-4) var(--sp-5)}.event-detail-meta>*{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:.05em}.event-detail-description{color:var(--ink-soft);font-size:var(--fs-lg);line-height:1.6;max-width:70ch}.event-categories{grid-gap:var(--sp-4);display:grid;gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.event-category-card{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--r-2);display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-5);transition:all var(--t-med)}.event-category-card:hover{border-color:var(--court);box-shadow:var(--shadow-2);transform:translateY(-2px)}.event-category-name{color:var(--ink);font-family:var(--font-display);font-size:var(--fs-xl);font-weight:700;margin:0;text-transform:uppercase}.event-category-discipline{align-self:flex-start;background:var(--court-soft);border-radius:var(--r-pill);color:var(--court-deep);display:inline-block;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.16em;margin-bottom:var(--sp-2);padding:4px 10px;text-transform:uppercase}.event-category-count,.event-category-participants{color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--fs-sm)}.event-category-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-3)}.event-category-register{align-items:center;background:var(--court);border-radius:var(--r-1);color:#fff;display:inline-flex;font-family:var(--font-display);font-size:.9rem;font-weight:600;gap:6px;letter-spacing:.08em;padding:10px 18px;text-decoration:none;text-transform:uppercase;transition:background var(--t-fast)}.event-category-register:hover{background:var(--court-deep)}.event-detail-archive-banner{align-items:center;background:var(--bg-subtle);border:1px solid var(--line);border-left:3px solid var(--ink-faint);border-radius:var(--r-2);color:var(--ink-muted);display:flex;font-family:var(--font-mono);font-size:var(--fs-sm);gap:var(--sp-3);letter-spacing:.04em;padding:var(--sp-3) var(--sp-4)}.event-detail-archive-banner:before{border:1px solid var(--ink-faint);border-radius:var(--r-1);color:var(--ink-faint);content:"ARCHIWUM";font-size:var(--fs-xs);font-weight:700;letter-spacing:.2em;padding:2px 8px;white-space:nowrap}.event-detail-meta--archive{border-left-color:var(--ink-faint);opacity:.75}.event-detail-meta__empty,.event-detail-meta__empty strong{color:var(--ink-faint)}.events-list-section-h2--past{border-top-color:var(--bg-subtle);color:var(--ink-muted);-webkit-user-select:none;user-select:none}.events-list-section-h2--past:hover{color:var(--ink-soft)}.event-card--past,.events-cards--past .event-card{box-shadow:none;opacity:.65}.event-card--past:hover,.events-cards--past .event-card:hover{opacity:1}.league-cards{grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));list-style:none;padding-left:0}.league-card{grid-gap:var(--sp-3);display:grid;gap:var(--sp-3);grid-template-rows:auto auto auto 1fr auto;padding-bottom:var(--sp-4);padding-top:var(--sp-5)}.league-card__discipline{background:var(--shuttle);border:1px solid var(--shuttle-deep);border-radius:999px;color:var(--court-deep);font-family:monospace;font-family:var(--font-mono,monospace);font-size:.72rem;font-weight:700;letter-spacing:.18em;line-height:1;padding:4px 10px;position:absolute;right:var(--sp-5);text-transform:uppercase;top:14px;z-index:1}.league-card__discipline--doubles{background:var(--court);border-color:var(--court-deep);color:#fff}.league-card__discipline--mixed{background:linear-gradient(135deg,var(--shuttle) 0 50%,var(--court) 50% 100%);border-color:var(--court-deep);color:var(--court-deep)}.league-card--doubles.event-card:before{background:linear-gradient(90deg,var(--court-deep) 0 50%,var(--court) 50% 100%)}.league-card--mixed.event-card:before{background:linear-gradient(90deg,var(--shuttle) 0 33%,var(--court) 33% 66%,var(--shuttle-deep) 66% 100%)}.league-card__signup-pill{background:var(--court-deep);border-radius:999px;color:#fff;font-family:monospace;font-family:var(--font-mono,monospace);font-size:.7rem;font-weight:700;left:var(--sp-5);letter-spacing:.14em;line-height:1;padding:4px 10px;position:absolute;text-transform:uppercase;top:14px;z-index:1}.league-card__name{font-size:clamp(1.35rem,1.05rem + 1.2vw,1.7rem);line-height:1.08;margin-bottom:0}.event-card a.league-card__name-link,.league-card__name-link{border-bottom:0;color:var(--ink);display:inline;font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;margin-top:0;padding-bottom:0;text-decoration:none;text-transform:inherit}.event-card a.league-card__name-link:after,.league-card__name-link:after{content:none}.league-card__name-link:hover{color:var(--court-deep)}.league-card__meta{grid-gap:var(--sp-2);align-content:start;display:grid;gap:var(--sp-2);margin:0}.league-card__row{grid-gap:var(--sp-3);align-items:baseline;border-top:1px dashed var(--line);display:grid;gap:var(--sp-3);grid-template-columns:110px 1fr;padding:6px 0}.league-card__row:first-child{border-top:0;padding-top:2px}.league-card__label{color:var(--ink-muted);font-family:monospace;font-family:var(--font-mono,monospace);font-size:.7rem;font-weight:700;letter-spacing:.16em;margin:0;text-transform:uppercase}.league-card__value{align-items:center;color:var(--ink);display:flex;font-size:.98rem;font-weight:500;gap:8px;margin:0}.league-card__value--muted{color:var(--ink-muted);font-style:italic;font-weight:400}.event-card a.league-card__org-link,.league-card__org-link{border-bottom:1px solid #0000;color:var(--court);display:inline;font-family:inherit;font-size:inherit;font-weight:600;letter-spacing:0;margin-top:0;padding-bottom:1px;text-decoration:none;text-transform:none;transition:border-color var(--t-fast),color var(--t-fast)}.event-card a.league-card__org-link:after,.league-card__org-link:after{content:none}.league-card__org-link:hover{border-bottom-color:var(--shuttle);color:var(--court-deep)}.league-card__pin{display:inline-block;flex-shrink:0;height:16px;position:relative;width:12px}.league-card__pin:before{background:var(--court);border-radius:50% 50% 50% 0;content:"";height:12px;left:0;position:absolute;top:0;transform:rotate(-45deg);width:12px}.league-card__pin:after{background:var(--bg-elevated);border-radius:50%;content:"";height:4px;left:4px;position:absolute;top:3px;width:4px}.league-card__cta{align-self:end;margin-top:4px}.league-card__next{grid-gap:2px 12px;align-items:baseline;background:linear-gradient(135deg,var(--court) 0,var(--court-deep) 100%);border-radius:var(--r-1);color:#fff;display:grid;gap:2px 12px;grid-template-columns:1fr auto;grid-template-rows:auto auto;margin:-2px 0 4px;overflow:hidden;padding:10px 14px;position:relative;text-decoration:none;transition:transform var(--t-fast),box-shadow var(--t-fast)}.league-card__next:before{background:var(--shuttle);content:"";height:100%;position:absolute;right:0;top:0;width:6px}.event-card a.league-card__next{border-bottom:0;color:#fff;display:grid;font-family:inherit;font-weight:inherit;letter-spacing:0;margin-top:-2px;padding:10px 14px;text-transform:none}.event-card a.league-card__next:after{content:none}.league-card__next:hover{box-shadow:0 4px 14px #14322840;transform:translateX(2px)}.league-card__next-eyebrow{color:var(--shuttle);font-family:monospace;font-family:var(--font-mono,monospace);font-size:.65rem;font-weight:700;grid-column:1/-1;letter-spacing:.18em;margin-bottom:2px;text-transform:uppercase}.league-card__next-name{color:#fff;font-family:var(--font-display);font-size:1rem;font-weight:700;letter-spacing:.01em;line-height:1.2;padding-right:8px}.league-card__next-date{color:var(--shuttle);font-family:monospace;font-family:var(--font-mono,monospace);font-size:.85rem;font-weight:700;letter-spacing:.04em;white-space:nowrap}.leagues-section{margin-bottom:var(--sp-6)}.leagues-section__title{border-bottom:2px solid var(--court);color:var(--court);display:inline-block;font-family:var(--font-display);font-size:clamp(1rem,.85rem + .5vw,1.2rem);font-weight:700;letter-spacing:.16em;margin:0 0 var(--sp-3);padding-bottom:6px;text-transform:uppercase}.leagues-section__title--quiet{border-bottom-color:var(--line);color:var(--ink-muted)}.leagues-section--rest .league-card{opacity:.92}.leagues-section--rest .league-card:hover{opacity:1}@media (max-width:480px){.league-card__row{gap:var(--sp-2);grid-template-columns:88px 1fr}}.league-card__eyebrow{gap:6px}.league-card__discipline-tag{background:var(--shuttle);border:1px solid var(--shuttle-deep);color:var(--court-deep);font-family:monospace;font-family:var(--font-mono,monospace);font-size:.72rem;letter-spacing:.18em;line-height:1}.league-card__discipline-tag--doubles{background:var(--court);border-color:var(--court-deep);color:#fff}.league-card__discipline-tag--mixed{background:linear-gradient(135deg,var(--shuttle) 0 50%,var(--court) 50% 100%);border-color:var(--court-deep);color:var(--court-deep)}.league-card__signup-tag{color:var(--court-deep);font-family:monospace;font-family:var(--font-mono,monospace);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.league-card--signup-open{border-left:3px solid var(--court)}.leagues-block{margin-top:var(--sp-7)}.leagues-block__head{margin-bottom:var(--sp-4)}.leagues-block__count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.leagues-block__signup-hint{font-size:.85rem}.leagues-filter{border-bottom:1px solid var(--line);border-top:1px solid var(--line)}.leagues-filter__search{border:1px solid var(--line);border-radius:var(--r-2);font-family:var(--font-body);min-width:0;padding:7px 10px}.leagues-filter__search:focus{outline-offset:1px}.leagues-filter__chips{gap:6px}.leagues-filter__chip{border:1px solid var(--line);color:var(--ink-muted);font-family:monospace;font-family:var(--font-mono,monospace);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.leagues-filter__chip--active{background:var(--court-deep);border-color:var(--court-deep)}.leagues-filter__toggle{color:var(--ink-soft);gap:6px}.leagues-filter__hidden-hint{color:var(--ink-muted);font-size:.78rem}.leagues-empty{color:var(--ink-muted);padding:var(--sp-6) 0}.leagues-empty p{margin:0 0 var(--sp-3)}.leagues-empty__reset{border:1px solid var(--court-deep);border-radius:var(--r-2);color:var(--court-deep);font-family:var(--font-body);padding:8px 18px;transition:background var(--t-fast),color var(--t-fast)}.event-card a:focus-visible,.event-card-link:focus-visible{border-radius:var(--r-1);outline:2px solid var(--shuttle);outline-offset:3px}.reg-form{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--r-2);border-top:6px solid var(--court);box-shadow:var(--shadow-2);margin:0 auto;max-width:640px;padding:var(--sp-6)}.reg-form h1{font-size:var(--fs-3xl);margin-bottom:var(--sp-2)}.reg-form-category{color:var(--court);font-family:var(--font-display);font-weight:600;letter-spacing:.06em;margin-bottom:var(--sp-1);text-transform:uppercase}.reg-form-discipline{color:var(--ink-muted);font-size:var(--fs-sm);letter-spacing:.12em;margin-bottom:var(--sp-5)}.reg-form-discipline,.reg-form-doubles-badge{font-family:var(--font-mono);text-transform:uppercase}.reg-form-doubles-badge{background:var(--shuttle);border-radius:var(--r-pill);color:var(--ink);display:inline-block;font-size:var(--fs-xs);letter-spacing:.15em;margin-left:var(--sp-2);padding:4px 10px}.reg-form label{color:var(--ink-muted);display:block;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.16em;margin-bottom:6px;margin-top:var(--sp-4)}.reg-form label,.reg-form-submit{font-weight:700;text-transform:uppercase}.reg-form-submit{background:var(--court);border:none;color:#fff;cursor:pointer;font-family:var(--font-display);font-size:1.1rem;letter-spacing:.1em;margin-top:var(--sp-5);padding:16px;transition:all var(--t-fast);width:100%}.reg-form-submit:hover:not(:disabled){background:var(--court-deep);box-shadow:0 0 0 4px #1f4e3d2e}.reg-form-submit:disabled{cursor:not-allowed;opacity:.5}.reg-form-submit-error{background:var(--clay-soft);border-left:3px solid var(--clay);color:var(--clay);font-size:var(--fs-sm);margin-top:var(--sp-4);padding:var(--sp-3)}.reg-form-success{background:var(--court-soft);border:2px solid var(--court);border-radius:var(--r-2);padding:var(--sp-6);text-align:center}.reg-form-success h2{color:var(--court-deep)}.player-picker{background:var(--bg-subtle);border:1px solid var(--line);border-radius:var(--r-2);margin-bottom:var(--sp-4);padding:var(--sp-4)}.player-picker-label{display:block;font-family:var(--font-display);font-size:var(--fs-md);font-weight:700;letter-spacing:.05em;margin-bottom:var(--sp-3);text-transform:uppercase}.player-picker-search{position:relative}.player-picker-input{width:100%}.player-picker-suggestions{background:var(--bg-elevated);border:1px solid var(--line-strong);border-radius:var(--r-1);box-shadow:var(--shadow-2);list-style:none;margin:4px 0 0;max-height:220px;overflow-y:auto;padding:0}.player-picker-suggestion{border-bottom:1px solid var(--line);cursor:pointer;font-size:var(--fs-md);padding:10px var(--sp-4)}.player-picker-suggestion:hover{background:var(--shuttle)}.player-picker-suggestion:last-child{border-bottom:none}.player-picker-selected{align-items:center;background:var(--court-soft);border:1px solid var(--court);border-radius:var(--r-1);color:var(--court-deep);display:flex;font-weight:600;justify-content:space-between;padding:10px var(--sp-4)}.player-picker-toggle{background:#0000;border:1px dashed var(--court);border-radius:var(--r-1);color:var(--court);cursor:pointer;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;margin-top:var(--sp-3);padding:8px 14px;text-transform:uppercase}.player-picker-toggle:hover{background:var(--court-soft)}.new-player-form{grid-gap:var(--sp-3);background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--r-1);display:grid;gap:var(--sp-3);margin-top:var(--sp-3);padding:var(--sp-3)}.participants{display:flex;flex-direction:column;gap:var(--sp-5)}.participants-category{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--r-2);overflow:hidden}.participants-category-name{background:var(--bg-subtle);border-bottom:1px solid var(--line);font-family:var(--font-display);font-size:var(--fs-xl);font-weight:700;margin:0;padding:var(--sp-4);text-transform:uppercase}.participants-list{list-style:none;margin:0;padding:0}.participants-item{align-items:center;border-bottom:1px solid var(--line);display:flex;font-size:var(--fs-md);gap:var(--sp-3);padding:12px var(--sp-4)}.participants-item:last-child{border-bottom:none}.participants-item:before{background:var(--court);border-radius:50%;content:"";height:6px;width:6px}.error,.loading{color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:.06em;padding:var(--sp-6);text-align:center;text-transform:uppercase}.error{color:var(--clay)}@media (max-width:768px){.main-content{padding:var(--sp-4) var(--sp-3) var(--sp-7)}.navigation:before{padding:6px var(--sp-3)}.mobile-menu-toggle,.nav-header{display:flex}.nav-links{background:var(--bg-elevated);border-top:1px solid var(--line);display:none;flex-direction:column;padding:var(--sp-2) 0}.nav-links.mobile-menu-open{display:flex}.nav-links a{border-bottom:none;border-left:3px solid #0000;padding:var(--sp-3) var(--sp-4)}.nav-links a.active{background:var(--bg-subtle);border-bottom-color:#0000;border-left-color:var(--court)}.stats-grid{grid-template-columns:repeat(2,1fr)}h1{font-size:clamp(2rem,8vw,3rem)}.card{margin:var(--sp-3) 0;padding:var(--sp-3)}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}.event-card-name{font-size:var(--fs-lg)}.main-content{padding:var(--sp-3) 0 var(--sp-6)}.card{border-left:none;border-radius:0;border-right:none;margin:var(--sp-2) 0;padding:var(--sp-3)}.table-container{margin-left:calc(var(--sp-3)*-1);margin-right:calc(var(--sp-3)*-1)}.table-container table td,.table-container table th{padding:var(--sp-2)}}.league-join{background:var(--bg-elevated);border:1px solid var(--line);border-left:3px solid var(--court);border-radius:var(--r-2);margin:var(--sp-5) 0;padding:var(--sp-5)}.league-join h3{font-family:var(--font-display);font-size:var(--fs-lg);letter-spacing:.04em;margin:0 0 var(--sp-2);text-transform:uppercase}.league-join__hint{color:var(--ink-muted);font-size:var(--fs-sm);margin:0 0 var(--sp-4)}.league-join__form{display:flex;flex-direction:column;gap:var(--sp-3)}.league-join__row{display:flex;flex-direction:column;gap:4px}.league-join__row label{color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase}.league-join__submit{align-self:flex-start;background:var(--court);border:none;border-radius:var(--r-1);color:#fff;cursor:pointer;font-family:var(--font-display);font-weight:600;letter-spacing:.06em;margin-top:var(--sp-2);padding:12px 24px;text-transform:uppercase}.league-join__submit:hover:not(:disabled){background:var(--court-deep)}.league-join__submit:disabled{cursor:not-allowed;opacity:.5}.league-join__success{background:var(--court-soft);color:var(--court-deep)}.league-join__error,.league-join__success{border-radius:var(--r-1);font-weight:600;margin:0 0 var(--sp-3);padding:12px 16px}.league-join__error{background:#c846301a;color:#c84630;color:var(--clay,#c84630)}.league-join__note{align-items:flex-start;background:var(--court-soft);border:1px solid var(--court);border-left-width:3px;border-radius:var(--r-2);display:flex;font-size:var(--fs-sm);gap:var(--sp-3);line-height:1.45;margin:0 0 var(--sp-4);padding:12px 14px}.league-join__note,.league-join__note strong{color:var(--court-deep)}.league-join__note-icon{align-items:center;background:var(--court);border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;font-family:var(--font-display);font-size:13px;font-style:italic;font-weight:700;height:22px;justify-content:center;margin-top:1px;width:22px}.league-join__missing-toggle{align-self:flex-start;background:#0000;border:none;border-bottom:1px dashed var(--line-strong);color:var(--ink-muted);cursor:pointer;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;margin:-8px 0 var(--sp-2);padding:4px 0;text-transform:uppercase;transition:color var(--t-fast),border-color var(--t-fast)}.league-join__missing-toggle:hover{border-bottom-color:var(--court);color:var(--court)}.player-search{position:relative}.player-search__input-wrap{align-items:center;display:flex;position:relative}.player-search__icon{color:var(--ink-muted);left:14px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:color var(--t-fast)}.player-search--open .player-search__icon,.player-search__input-wrap:focus-within .player-search__icon{color:var(--court)}.player-search__input{background:var(--bg-elevated);border:1.5px solid var(--line-strong);border-radius:var(--r-2);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-md);outline:none;padding:14px 44px;transition:border-color var(--t-fast),box-shadow var(--t-fast),border-radius var(--t-fast);width:100%}.player-search__input::placeholder{color:var(--ink-faint)}.player-search__input:focus{border-color:var(--court);box-shadow:0 0 0 4px #1f4e3d26}.player-search--open .player-search__input{border-bottom-color:#0000;border-bottom-left-radius:0;border-bottom-right-radius:0}.player-search__spinner{animation:player-search-spin .7s linear infinite;border:2px solid var(--line);border-radius:50%;border-top-color:var(--court);height:16px;position:absolute;right:14px;top:50%;transform:translateY(-50%);width:16px}@keyframes player-search-spin{to{transform:translateY(-50%) rotate(1turn)}}.player-search__clear{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--ink-muted);cursor:pointer;display:flex;font-size:22px;height:26px;justify-content:center;line-height:1;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:background var(--t-fast),color var(--t-fast);width:26px}.player-search__clear:hover{background:var(--bg-subtle);color:var(--ink)}.player-search__dropdown{animation:player-search-pop .14s ease-out;background:var(--bg-elevated);border:1.5px solid var(--court);border-radius:0 0 var(--r-2) var(--r-2);border-top:none;box-shadow:var(--shadow-3);left:0;overflow:hidden;position:absolute;right:0;top:100%;z-index:30}@keyframes player-search-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.player-search__dropdown-header{align-items:center;background:var(--bg-subtle);border-bottom:1px solid var(--line);color:var(--ink-muted);display:flex;font-family:var(--font-mono);font-size:var(--fs-xs);justify-content:space-between;letter-spacing:.16em;padding:8px 14px;text-transform:uppercase}.player-search__dropdown-header-right{display:inline-flex;gap:30px;padding-right:8px}.player-search__dropdown-header-right span{color:var(--ink-soft);font-weight:700;text-align:center;width:20px}.player-search__list{list-style:none;margin:0;max-height:340px;overflow-y:auto;padding:4px 0}.player-search__option{align-items:center;background:#0000;border:none;border-left:3px solid #0000;color:var(--ink);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--fs-md);gap:var(--sp-3);justify-content:space-between;padding:10px 14px;text-align:left;transition:background var(--t-fast);width:100%}.player-search__option.is-active,.player-search__option:hover{background:var(--court-soft);border-left-color:var(--court)}.player-search__option-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-search__match{background:#0000;font-weight:700;padding:0}.player-search__match,.player-search__option.is-active .player-search__match{color:var(--court-deep)}.player-search__option-ratings{display:inline-flex;flex-shrink:0;gap:6px}.player-search__empty,.player-search__loading{color:var(--ink-soft);display:flex;flex-direction:column;font-size:var(--fs-sm);gap:4px;padding:18px 14px}.player-search__empty strong{color:var(--ink);font-family:var(--font-display);font-size:var(--fs-md);letter-spacing:.06em;text-transform:uppercase}.player-search__loading{color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase}.rating-pill{font-feature-settings:"tnum";align-items:stretch;background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--r-1);display:inline-flex;font-family:var(--font-mono);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;font-weight:700;line-height:1;overflow:hidden}.rating-pill__label{background:var(--bg-subtle);border-right:1px solid var(--line);color:var(--ink-muted);letter-spacing:.05em;padding:5px 7px}.rating-pill__value{color:var(--ink);min-width:36px;padding:5px 8px;text-align:center}.rating-pill--singles{border-color:var(--court)}.rating-pill--singles .rating-pill__label{background:var(--court);border-right-color:var(--court);color:#fff}.rating-pill--doubles{border-color:var(--shuttle-deep)}.rating-pill--doubles .rating-pill__label{background:var(--shuttle);border-right-color:var(--shuttle-deep);color:var(--ink)}.rating-pill--empty{border-color:var(--line);opacity:.55}.rating-pill--empty .rating-pill__label{background:var(--bg-subtle);border-right-color:var(--line);color:var(--ink-faint)}.rating-pill--empty .rating-pill__value{color:var(--ink-faint)}.rating-pill--compact .rating-pill__label,.rating-pill--compact .rating-pill__value{padding-bottom:4px;padding-top:4px}.player-search__selected{align-items:center;background:linear-gradient(180deg,var(--court-soft) 0,var(--bg-elevated) 100%);border:1.5px solid var(--court);border-radius:var(--r-2);box-shadow:var(--shadow-1);display:flex;gap:var(--sp-3);padding:10px 12px}.player-search__selected-avatar{align-items:center;background:var(--court);border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;font-family:var(--font-display);font-size:13px;font-weight:700;height:38px;justify-content:center;letter-spacing:.04em;text-transform:uppercase;width:38px}.player-search__selected-info{display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:0}.player-search__selected-name{color:var(--ink);font-size:var(--fs-md);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-search__selected-ratings{display:inline-flex;flex-wrap:wrap;gap:6px}.player-search__selected-clear{background:#0000;border:1px solid var(--court);border-radius:var(--r-1);color:var(--court);cursor:pointer;flex-shrink:0;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;padding:6px 12px;text-transform:uppercase;transition:background var(--t-fast),color var(--t-fast)}.player-search__selected-clear:hover{background:var(--court);color:#fff}@media (max-width:480px){.player-search__option{align-items:flex-start;flex-direction:column;gap:6px}.player-search__option-ratings{width:100%}.player-search__dropdown-header-right{gap:22px}}.signup-pulse-dot{animation:signup-pulse 1.6s ease-in-out infinite;color:var(--court);font-size:12px;margin-right:8px}.event-card--signup{background:linear-gradient(90deg,var(--court-soft) 0,var(--bg-elevated) 35%,var(--bg-elevated) 100%);border-left:3px solid var(--court);position:relative}.event-card-pill{background:var(--court);border-radius:var(--r-pill);color:#fff;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.16em;padding:4px 10px;position:absolute;right:var(--sp-3);text-transform:uppercase;top:var(--sp-3)}.nav-spacer{flex:1 1}.nav-login{background:var(--court);border-radius:var(--r-1);color:#fff!important;margin:var(--sp-2) 0;padding:var(--sp-2) var(--sp-4)!important}.nav-login:hover{background:var(--court-deep);border-bottom-color:#0000!important}.nav-me{align-items:center!important;display:inline-flex!important;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3)!important}.nav-me__avatar{align-items:center;background:var(--shuttle);border-radius:50%;color:var(--ink);display:inline-flex;font-family:var(--font-display);font-size:13px;font-weight:700;height:28px;justify-content:center;letter-spacing:0;width:28px}.auth-page{display:flex;justify-content:center;padding:var(--sp-7) var(--sp-4)}.auth-card{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--r-2);box-shadow:var(--shadow-2);max-width:420px;padding:var(--sp-6);width:100%}.auth-card h1{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.25rem);letter-spacing:.02em;margin:0;text-transform:uppercase}.auth-card__hint{color:var(--ink-muted);font-size:var(--fs-sm);margin:var(--sp-2) 0 var(--sp-5)}.auth-form{gap:var(--sp-3)}.auth-form,.auth-form__row{display:flex;flex-direction:column}.auth-form__row{gap:4px}.auth-form__row label{color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase}.auth-form__row input{background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--r-1);font:inherit;padding:10px 12px;width:100%}.auth-form__row input:focus{border-color:var(--court);box-shadow:0 0 0 3px #1f4e3d26;outline:none}.auth-form__hint{color:var(--ink-muted);font-size:var(--fs-xs)}.auth-form__error{background:#c8463014;border-left:3px solid var(--clay);border-radius:var(--r-1);color:var(--clay);font-size:var(--fs-sm);margin:0;padding:10px 14px}.auth-form__submit{background:var(--court);border:none;border-radius:var(--r-1);color:#fff;cursor:pointer;font-family:var(--font-display);font-weight:600;letter-spacing:.06em;margin-top:var(--sp-3);padding:12px 24px;text-transform:uppercase}.auth-form__submit:hover:not(:disabled){background:var(--court-deep)}.auth-form__submit:disabled{cursor:not-allowed;opacity:.5}.auth-card__alt{color:var(--ink-muted);font-size:var(--fs-sm);margin:var(--sp-5) 0 0;text-align:center}.auth-card__alt a{color:var(--court);font-weight:600}.me-page{display:flex;flex-direction:column;gap:var(--sp-6)}.me-page__header{align-items:flex-end;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:var(--sp-4);justify-content:space-between;padding-bottom:var(--sp-4)}.me-page__eyebrow{color:var(--ink-muted);display:block;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.22em;margin-bottom:6px;text-transform:uppercase}.me-page__header h1{font-family:var(--font-display);font-size:clamp(2rem,5vw,3rem);margin:0;text-transform:uppercase}.me-page__email{color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--fs-sm);margin:4px 0 0}.me-page__signout{background:#0000;border:1px solid var(--line-strong);border-radius:var(--r-1);color:var(--ink);cursor:pointer;font-family:var(--font-display);font-size:.85rem;font-weight:600;letter-spacing:.06em;padding:10px 18px;text-transform:uppercase}.me-page__signout:hover{background:var(--bg-subtle)}.me-claim{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--r-2);padding:var(--sp-5)}.me-claim h2{font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:.04em;margin:0 0 var(--sp-2);text-transform:uppercase}.me-claim__hint{color:var(--ink-muted);font-size:var(--fs-sm);margin:0 0 var(--sp-4);max-width:60ch}.me-claim__search{margin-bottom:var(--sp-4);position:relative}.me-claim__search input{border:1px solid var(--line-strong);border-radius:var(--r-1);font:inherit;padding:12px 14px;width:100%}.me-claim__spinner{color:var(--ink-muted);font-family:var(--font-mono);position:absolute;right:var(--sp-3);top:50%;transform:translateY(-50%)}.me-claim__results{display:flex;flex-direction:column;gap:var(--sp-2);list-style:none;margin:0;padding:0}.me-claim__result{align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-1);display:flex;gap:var(--sp-4);justify-content:space-between;padding:var(--sp-3) var(--sp-4);transition:border-color var(--t-fast)}.me-claim__result:hover{border-color:var(--court)}.me-claim__name{font-family:var(--font-display);font-size:var(--fs-md);font-weight:600;letter-spacing:.02em;text-transform:uppercase}.me-claim__ratings{color:var(--ink-muted);display:flex;flex-wrap:wrap;font-family:var(--font-mono);font-size:var(--fs-xs);gap:var(--sp-3);margin-top:4px}.me-claim__ratings strong{color:var(--ink)}.me-claim__club{letter-spacing:.16em;text-transform:uppercase}.me-claim__pick{background:var(--court);border:none;border-radius:var(--r-1);color:#fff;cursor:pointer;font-family:var(--font-display);font-weight:600;letter-spacing:.06em;padding:10px 18px;text-transform:uppercase;white-space:nowrap}.me-claim__pick:hover:not(:disabled){background:var(--court-deep)}.me-claim__empty{color:var(--ink-muted);font-size:var(--fs-sm);margin:0}.me-claim__error{background:#c8463014;border-left:3px solid var(--clay);border-radius:var(--r-1);color:var(--clay);margin:0 0 var(--sp-4);padding:10px 14px}.me-claim--linked{border-left:3px solid var(--court)}.me-claim__linked{align-items:center;display:flex;flex-wrap:wrap;gap:var(--sp-4);justify-content:space-between}.me-claim__view{color:var(--court);font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:600;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.me-page__quick h2{font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:.04em;margin:0 0 var(--sp-3);text-transform:uppercase}.me-page__tiles{grid-gap:var(--sp-3);display:grid;gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.me-page__tile{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--r-2);color:var(--ink);display:flex;flex-direction:column;gap:4px;padding:var(--sp-4);text-decoration:none;transition:border-color var(--t-fast)}.me-page__tile:hover{border-color:var(--court)}.me-page__tile span{font-family:var(--font-display);font-size:var(--fs-md);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.me-page__tile small{color:var(--ink-muted);font-size:var(--fs-xs)}.my-signups{margin:0 auto;max-width:880px;padding:var(--sp-6) var(--sp-4) var(--sp-9)}.my-signups__back{color:var(--ink-muted);display:inline-block;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;margin-bottom:var(--sp-3);text-decoration:none;text-transform:uppercase}.my-signups__back:hover{color:var(--court)}.my-signups__eyebrow{color:var(--ink-muted);display:block;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.18em;margin-bottom:4px;text-transform:uppercase}.my-signups__head h1{font-family:var(--font-display);font-size:var(--fs-3xl);letter-spacing:.01em;line-height:1;margin:0 0 var(--sp-2)}.my-signups__lede{color:var(--ink-muted);margin:0 0 var(--sp-6);max-width:56ch}.my-signups__error{background:var(--clay-soft);border-radius:var(--r-1);color:var(--clay);font-weight:600;padding:12px 16px}.my-signups__notice{background:var(--bg-subtle);border:1px solid var(--line-strong);border-left:3px solid var(--shuttle-deep);border-radius:var(--r-2);color:var(--ink-soft);font-size:var(--fs-sm);margin-bottom:var(--sp-6);padding:var(--sp-4)}.my-signups__notice strong{color:var(--ink)}.my-signups__notice a{color:var(--court)}.my-signups__empty{background:var(--bg-elevated);border:1px dashed var(--line-strong);border-radius:var(--r-3);padding:var(--sp-7) var(--sp-4);text-align:center}.my-signups__empty h2{color:var(--ink);font-family:var(--font-display);letter-spacing:.04em;margin:0 0 var(--sp-2);text-transform:uppercase}.my-signups__empty p{color:var(--ink-muted);margin:0}.my-signups__empty a{color:var(--court);font-weight:600}.signups-block{margin:0 0 var(--sp-6)}.signups-block__head{border-bottom:1px solid var(--line);margin-bottom:var(--sp-3);padding-bottom:var(--sp-2)}.signups-block__head h2{font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:.04em;margin:0;text-transform:uppercase}.signups-block--pending .signups-block__head h2{color:var(--shuttle-deep)}.signups-block--active .signups-block__head h2{color:var(--court)}.signups-block__head p{color:var(--ink-muted);font-size:var(--fs-sm);margin:4px 0 0}.signups-block__list{grid-gap:var(--sp-3);display:grid;gap:var(--sp-3);list-style:none;margin:0;padding:0}.signup-card{grid-gap:var(--sp-3);background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--r-2);box-shadow:var(--shadow-1);display:grid;gap:var(--sp-3);grid-template-columns:1fr auto;padding:var(--sp-4);transition:box-shadow var(--t-fast)}.signup-card:hover{box-shadow:var(--shadow-2)}.signup-card--active{border-left:3px solid var(--court)}.signup-card--pending{background:linear-gradient(90deg,#f5d5470f 0,var(--bg-elevated) 60%);border-left:3px solid var(--shuttle-deep)}.signup-card__title{color:var(--ink);display:block;font-family:var(--font-display);font-size:var(--fs-lg);font-weight:700;letter-spacing:.01em;line-height:1.2;text-decoration:none}.signup-card__title:hover{color:var(--court)}.signup-card__meta{align-items:center;color:var(--ink-soft);display:flex;flex-wrap:wrap;font-size:var(--fs-sm);gap:6px;margin-top:6px}.signup-card__meta strong{color:var(--ink)}.signup-card__note{background:var(--bg-subtle);border-radius:var(--r-1);color:var(--ink-soft);font-size:var(--fs-sm);font-style:italic;margin:8px 0 0;padding:8px 12px}.signup-card__side{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:6px}.signup-card__joined{color:var(--ink-muted);font-size:11px;letter-spacing:.06em}.signup-card__joined,.status-badge{font-family:var(--font-mono);text-transform:uppercase}.status-badge{align-items:center;border-radius:var(--r-pill);display:inline-flex;font-size:10px;font-weight:700;letter-spacing:.16em;padding:4px 10px}.status-badge--ok{background:var(--court);color:#fff}.status-badge--pending{background:var(--shuttle);color:var(--ink)}.status-badge--neutral{background:var(--bg-subtle);border:1px solid var(--line);color:var(--ink-soft)}@media (max-width:520px){.signup-card{grid-template-columns:1fr}.signup-card__side{align-items:flex-start;flex-direction:row;flex-wrap:wrap}}.watch-list{margin:var(--sp-6) 0 var(--sp-5)}.watch-list__head{margin-bottom:var(--sp-4)}.watch-list__head h2{font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:.04em;margin:0 0 4px;text-transform:uppercase}.watch-list__hint{color:var(--ink-muted);font-size:var(--fs-sm);margin:0;max-width:56ch}.watch-list__error{background:var(--clay-soft);border-radius:var(--r-1);color:var(--clay);font-size:var(--fs-sm);font-weight:600;margin:var(--sp-3) 0 0;padding:10px 14px}.watch-list__empty{background:var(--bg-subtle);border:1px dashed var(--line-strong);border-radius:var(--r-2);color:var(--ink-muted);font-size:var(--fs-sm);margin:var(--sp-4) 0 0;padding:18px 16px;text-align:center}.watch-list .player-search{margin-top:var(--sp-3)}.watch-list__items{grid-gap:var(--sp-3);display:grid;gap:var(--sp-3);list-style:none;margin:var(--sp-5) 0 0;padding:0}.watch-card{grid-gap:var(--sp-3);background:var(--bg-elevated);border:1px solid var(--line);border-left:3px solid var(--court);border-radius:var(--r-2);box-shadow:var(--shadow-1);display:grid;gap:var(--sp-3);grid-template-areas:"name remove" "ranks ranks" "last last";grid-template-columns:1fr auto;padding:var(--sp-4);position:relative;transition:box-shadow var(--t-fast),transform var(--t-fast)}.watch-card:hover{box-shadow:var(--shadow-2)}.watch-card__name{color:var(--ink);font-family:var(--font-display);font-size:var(--fs-lg);font-weight:700;grid-area:name;letter-spacing:.01em;text-decoration:none}.watch-card__name:hover{color:var(--court)}.watch-card__club{color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:400;letter-spacing:.04em;text-transform:uppercase}.watch-card__ranks{display:flex;flex-wrap:wrap;gap:var(--sp-3);grid-area:ranks}.rank-block{grid-gap:2px var(--sp-2);align-items:baseline;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-1);display:grid;flex:1 1;gap:2px var(--sp-2);grid-template-areas:"label label diff" "rank rating rating";grid-template-columns:auto 1fr auto;min-width:140px;padding:10px 12px}.rank-block--court{border-color:var(--court)}.rank-block--shuttle{border-color:var(--shuttle-deep)}.rank-block__label{color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--fs-xs);grid-area:label;letter-spacing:.16em;text-transform:uppercase}.rank-block__rank{color:var(--ink);font-family:var(--font-display);font-size:var(--fs-xl);font-weight:700;grid-area:rank;letter-spacing:.02em}.rank-block--court .rank-block__rank{color:var(--court-deep)}.rank-block--shuttle .rank-block__rank{color:var(--shuttle-deep)}.rank-block__rating{font-feature-settings:"tnum";align-self:end;color:var(--ink-soft);font-family:var(--font-mono);font-size:var(--fs-md);font-variant-numeric:tabular-nums;grid-area:rating;text-align:right}.rank-block__diff{border-radius:var(--r-pill);font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:700;grid-area:diff;letter-spacing:.02em;padding:2px 6px;white-space:nowrap}.rank-block__diff--up{background:var(--court-soft);color:var(--court)}.rank-block__diff--down{background:var(--clay-soft);color:var(--clay)}.rank-block--empty .rank-block__rank,.rank-block--empty .rank-block__rating{color:var(--ink-faint)}.watch-card__last{align-items:baseline;border-top:1px dashed var(--line);color:var(--ink-soft);display:flex;flex-wrap:wrap;font-size:var(--fs-sm);gap:var(--sp-2);grid-area:last;padding-top:var(--sp-2)}.watch-card__last-label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase}.watch-card__last-label,.watch-card__last-tournament{color:var(--ink-muted);font-size:var(--fs-xs)}.result-badge{align-items:center;border-radius:var(--r-pill);color:#fff;display:inline-flex;font-family:var(--font-display);font-size:var(--fs-xs);font-weight:700;height:22px;justify-content:center;letter-spacing:.04em;min-width:22px;padding:0 6px}.result-badge--win{background:var(--court)}.result-badge--loss{background:var(--clay)}.result-badge--draw{background:var(--ink-muted)}.result-badge--unknown{background:var(--bg-subtle);color:var(--ink-muted)}.watch-card__remove{align-self:start;background:#0000;border:1px solid var(--line-strong);border-radius:var(--r-1);color:var(--ink-muted);cursor:pointer;font-family:var(--font-mono);font-size:var(--fs-xs);grid-area:remove;letter-spacing:.12em;padding:4px 10px;text-transform:uppercase;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.watch-card__remove:hover{background:var(--clay);border-color:var(--clay);color:#fff}.player-search__option-tag{background:var(--court-soft);border-radius:var(--r-pill);color:var(--court-deep);display:inline-block;font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;margin-left:var(--sp-2);padding:1px 8px;text-transform:uppercase;vertical-align:middle}.player-search__option.is-already{cursor:not-allowed;opacity:.55}.player-search__option.is-already:hover{background:#0000;border-left-color:#0000}@media (max-width:520px){.watch-card{grid-template-areas:"name" "ranks" "last" "remove";grid-template-columns:1fr}.watch-card__remove{justify-self:flex-start}}.league-card-status-pill{border-radius:var(--r-pill);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.16em;padding:4px 10px;position:absolute;right:var(--sp-3);text-transform:uppercase;top:var(--sp-3)}.league-card-status-pill--active{background:var(--court-soft);color:var(--court-deep)}.league-card-status-pill--ended{background:var(--bg-subtle);border:1px solid var(--line);color:var(--ink-faint)}.league-card--ended{border-color:var(--line);box-shadow:none;opacity:.7}.league-card--ended:before{background:linear-gradient(90deg,var(--ink-faint) 0 50%,var(--bg-subtle) 50% 100%)}.league-card--ended:hover{box-shadow:var(--shadow-2);opacity:1;transform:translateY(-2px)}.league-status-badge{border-radius:var(--r-pill);display:inline-block;font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:700;letter-spacing:.16em;padding:3px 10px;text-transform:uppercase;vertical-align:middle}.league-status-badge--active{background:var(--court-soft);color:var(--court-deep)}.league-status-badge--archived,.league-status-badge--finished{background:var(--bg-subtle);border:1px solid var(--line);color:var(--ink-muted)}.league-status-badge--draft{background:#f5d54733;border:1px solid var(--shuttle-deep);color:var(--shuttle-deep)}.league-season-block{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--r-2);margin:var(--sp-3) 0;overflow:hidden}.league-season-summary{align-items:baseline;cursor:pointer;display:flex;flex-wrap:wrap;font-family:var(--font-display);font-size:var(--fs-md);font-weight:700;gap:var(--sp-3);letter-spacing:.04em;list-style:none;padding:var(--sp-3) var(--sp-4);text-transform:uppercase;-webkit-user-select:none;user-select:none}.league-season-summary::-webkit-details-marker{display:none}.league-season-summary:hover{background:var(--bg-subtle)}.league-season-summary__meta{color:var(--ink-muted);letter-spacing:.04em}.league-season-summary__count,.league-season-summary__meta{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:400;text-transform:none}.league-season-summary__count{color:var(--ink-faint);letter-spacing:0;margin-left:auto}.league-round-list{display:flex;flex-direction:column;gap:var(--sp-1);list-style:none;margin:0;padding:0 var(--sp-2) var(--sp-2)}.league-round-item{align-items:center;background:var(--bg);border:1px solid var(--bg-subtle);border-radius:var(--r-1);display:flex;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3)}.league-round-item__name{flex:1 1;font-size:var(--fs-sm)}.league-round-item__status{color:var(--ink-faint);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.08em}.league-round-item__status--active{color:var(--court)}.league-round-link{border-bottom:1px solid var(--court-soft);color:var(--court);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.06em;padding-bottom:1px;text-decoration:none;text-transform:uppercase;transition:border-color var(--t-fast),color var(--t-fast);white-space:nowrap}.league-round-link:hover{border-bottom-color:var(--court);color:var(--court-deep)}.league-round-link--signup{background:var(--court-soft);border-bottom:1px solid var(--court);border:1px solid var(--court);border-radius:999px;color:var(--court-deep);font-weight:700;padding:4px 10px}.league-round-link--signup:hover{background:var(--court);color:var(--bg)}.archive{margin:var(--sp-6) 0}.archive__header{margin-bottom:var(--sp-4);padding-left:var(--sp-3);position:relative}.archive__header:before{background:linear-gradient(180deg,var(--court) 0 50%,var(--shuttle) 50% 100%);border-radius:2px;bottom:4px;content:"";left:0;position:absolute;top:4px;width:4px}.archive__eyebrow{color:var(--shuttle-deep)}.archive__heading{color:var(--court-deep);font-family:var(--font-display);font-size:clamp(1.6rem,1.2rem + 1.4vw,2.1rem);font-weight:800;letter-spacing:.02em;margin:0 0 4px;text-transform:uppercase}.archive__hint{color:var(--ink-muted);font-size:.95rem;margin:0}.archive__list{grid-gap:var(--sp-4);display:grid;gap:var(--sp-4);list-style:none;margin:var(--sp-4) 0 0;padding:0}.season-card{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--r-2);display:grid;grid-template-columns:112px 1fr;overflow:hidden;position:relative;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.season-card:hover{box-shadow:var(--shadow-1)}.season-card--current,.season-card:hover{border-color:var(--court)}.season-card--current:after{background:var(--shuttle);bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.season-card__sidebar{align-items:center;background:linear-gradient(180deg,var(--court) 0,var(--court-deep) 100%);color:#fff;display:flex;flex-direction:column;gap:8px;justify-content:center;padding:var(--sp-4) var(--sp-2);position:relative}.season-card__sidebar:before{background:repeating-linear-gradient(180deg,#f5d54799 0 4px,#0000 4px 8px);bottom:12px;content:"";position:absolute;right:-1px;top:12px;width:1px}.season-card__index{color:var(--shuttle);font-family:var(--font-display);font-size:clamp(2rem,1.4rem + 2.4vw,2.8rem);font-weight:900;letter-spacing:.04em;line-height:.95}.season-card__badge{background:var(--shuttle);border-radius:999px;color:var(--court-deep);font-family:monospace;font-family:var(--font-mono,monospace);font-size:.62rem;font-weight:700;letter-spacing:.18em;padding:3px 8px;text-transform:uppercase}.season-card__body{grid-gap:var(--sp-3);display:grid;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5)}.season-card__head{grid-gap:var(--sp-3);align-items:start;display:grid;gap:var(--sp-3);grid-template-columns:1fr auto}.season-card__head-text{min-width:0}.season-card__title{color:var(--ink);font-family:var(--font-display);font-size:clamp(1.25rem,1rem + 1vw,1.55rem);font-weight:700;letter-spacing:.01em;line-height:1.15;margin:0}.season-card__title-link{border-bottom:2px solid #0000;color:inherit;text-decoration:none;transition:border-color var(--t-fast),color var(--t-fast)}.season-card__title-link:hover{border-bottom-color:var(--shuttle);color:var(--court-deep)}.season-card__meta{color:var(--ink-muted);font-family:monospace;font-family:var(--font-mono,monospace);font-size:.78rem;letter-spacing:.04em;margin:4px 0 0}.season-card__cta{align-self:start;background:var(--court);border-radius:999px;color:#fff;font-family:var(--font-display);font-size:.8rem;font-weight:700;letter-spacing:.08em;padding:8px 14px;text-decoration:none;text-transform:uppercase;transition:background var(--t-fast),transform var(--t-fast);white-space:nowrap}.season-card__cta:hover{background:var(--court-deep);transform:translateX(2px)}.season-card__stats{border-bottom:1px dashed var(--line);border-top:1px dashed var(--line);display:flex;gap:var(--sp-4);margin:0;padding:var(--sp-2) 0}.season-card__stat{grid-gap:2px;display:grid;gap:2px}.season-card__stat dt{color:var(--ink-muted);font-family:monospace;font-family:var(--font-mono,monospace);font-size:.68rem;font-weight:700;letter-spacing:.14em;margin:0;text-transform:uppercase}.season-card__stat dd{font-size:1rem;font-weight:700;margin:0}.season-card__stat dd,.season-card__stat strong{color:var(--court-deep);font-family:var(--font-display)}.season-card__stat strong{font-size:1.4rem;font-weight:800}.season-card__stat-of{color:var(--ink-muted);font-family:monospace;font-family:var(--font-mono,monospace);font-size:.85rem;font-weight:400}.season-card__stat--quiet dd{color:var(--ink-muted);font-size:.9rem;font-weight:500}.season-card__rounds{margin-top:4px}.season-card__rounds-toggle{align-items:center;color:var(--court);cursor:pointer;display:inline-flex;font-family:monospace;font-family:var(--font-mono,monospace);font-size:.75rem;font-weight:700;gap:6px;letter-spacing:.12em;list-style:none;padding:4px 0;text-transform:uppercase;transition:color var(--t-fast)}.season-card__rounds-toggle::-webkit-details-marker{display:none}.season-card__rounds-toggle:hover{color:var(--court-deep)}.season-card__rounds-toggle-glyph{display:inline-block;transition:transform var(--t-fast)}.season-card__rounds[open] .season-card__rounds-toggle-glyph{transform:rotate(180deg)}.season-card__round-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));list-style:none;margin:var(--sp-3) 0 0;padding:0}.round-chip{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-1);transition:transform var(--t-fast),border-color var(--t-fast),box-shadow var(--t-fast)}.round-chip__link{grid-gap:4px;color:inherit;display:grid;gap:4px;padding:8px 10px;text-decoration:none}.round-chip__num{color:var(--ink-muted);font-family:monospace;font-family:var(--font-mono,monospace);font-size:.72rem;font-weight:700;letter-spacing:.12em}.round-chip__name{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--ink);display:-webkit-box;font-family:var(--font-display);font-size:.88rem;font-weight:600;line-height:1.15;overflow:hidden}.round-chip__status{color:var(--ink-muted);font-family:monospace;font-family:var(--font-mono,monospace);font-size:.68rem;letter-spacing:.08em;text-transform:lowercase}.round-chip:hover{border-color:var(--court);box-shadow:var(--shadow-1);transform:translateY(-1px)}.round-chip--closed{background:var(--bg-elevated)}.round-chip--closed .round-chip__num{color:var(--court-deep)}.round-chip--active{background:var(--court-soft);border-color:var(--court)}.round-chip--active .round-chip__num,.round-chip--active .round-chip__status{color:var(--court-deep);font-weight:700}.round-chip--registration{background:#fff8da;border-color:var(--shuttle-deep)}.round-chip--registration .round-chip__num,.round-chip--registration .round-chip__status{color:#6b4d00;font-weight:700}.round-chip--grouping{background:#f7eecf}.round-chip--draft,.round-chip--pending{opacity:.78}@media (max-width:560px){.season-card{grid-template-columns:76px 1fr}.season-card__body{padding:var(--sp-3)}.season-card__head{grid-template-columns:1fr}.season-card__cta{justify-self:start}.season-card__stats{flex-direction:column;gap:var(--sp-2)}}.next-rounds{background:radial-gradient(circle at top right,#f5d54714,#0000 60%),var(--bg-elevated);border:1px solid var(--line-strong);border-radius:var(--r-2);margin:var(--sp-5) 0 var(--sp-6);overflow:hidden;padding:var(--sp-5) var(--sp-5) var(--sp-4);position:relative}.next-rounds:before{background:linear-gradient(90deg,var(--court) 0,var(--court) 60%,var(--shuttle) 60% 100%);content:"";height:4px;inset:0 0 auto 0;position:absolute}.next-rounds__header{margin-bottom:var(--sp-4);max-width:60ch}.next-rounds__eyebrow{color:var(--court)}.next-rounds__heading{font-family:var(--font-display);font-size:2rem;font-weight:700;letter-spacing:-.01em;line-height:1;margin:6px 0 8px}.next-rounds__lead{color:var(--ink-soft);font-size:var(--fs-sm);line-height:1.5;margin:0}.next-rounds__list{display:flex;flex-direction:column;gap:var(--sp-2);list-style:none;margin:0;padding:0}.next-rounds__item{grid-gap:var(--sp-3);align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-1);display:grid;gap:var(--sp-3);grid-template-columns:90px 1fr auto;padding:var(--sp-3) var(--sp-4);transition:border-color var(--t-fast),background var(--t-fast)}.next-rounds__item:hover{border-color:var(--court)}.next-rounds__item--primary{background:var(--court-soft);border-color:var(--court);box-shadow:0 2px 0 var(--court);grid-template-columns:110px 1fr auto;padding:var(--sp-4) var(--sp-5)}.next-rounds__order{border-right:1px solid var(--line);color:var(--ink-muted);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.18em;padding-right:var(--sp-3);text-align:right;text-transform:uppercase}.next-rounds__item--primary .next-rounds__order{border-right-color:var(--court);color:var(--court-deep);font-weight:700}.next-rounds__body{min-width:0}.next-rounds__meta{align-items:center;display:flex;gap:var(--sp-2);margin-bottom:4px}.next-rounds__date{color:var(--ink);font-family:var(--font-mono);font-size:.85rem;font-weight:700}.next-rounds__status{background:var(--bg-subtle);border:1px solid var(--line);border-radius:999px;color:var(--ink-muted);font-family:var(--font-mono);font-size:.65rem;letter-spacing:.1em;padding:2px 8px;text-transform:uppercase}.next-rounds__item--primary .next-rounds__status{background:var(--bg);border-color:var(--court);color:var(--court-deep)}.next-rounds__name{font-family:var(--font-display);font-size:1.15rem;font-weight:600;line-height:1.2;margin:0}.next-rounds__item--primary .next-rounds__name{font-size:1.5rem}.next-rounds__hint{color:var(--ink-soft);font-size:var(--fs-xs);margin-top:4px}.next-rounds__cta{border:1px solid var(--court);border-radius:var(--r-1);color:var(--court);font-family:var(--font-display);font-size:.95rem;letter-spacing:.05em;padding:8px 18px;text-decoration:none;text-transform:uppercase;transition:background var(--t-fast),color var(--t-fast);white-space:nowrap}.next-rounds__cta--primary,.next-rounds__cta:hover{background:var(--court);color:var(--bg)}.next-rounds__cta--primary{box-shadow:0 2px 0 var(--court-deep);font-size:1.1rem;padding:12px 24px}.next-rounds__cta--primary:hover{background:var(--court-deep);box-shadow:0 2px 0 var(--ink);color:var(--shuttle)}.next-rounds__more{color:var(--ink-muted);font-size:var(--fs-xs);font-style:italic;margin:var(--sp-3) 0 0}@media (max-width:600px){.next-rounds{padding:var(--sp-4)}.next-rounds__heading{font-size:1.5rem}.next-rounds__item,.next-rounds__item--primary{gap:var(--sp-2);grid-template-columns:1fr}.next-rounds__order{border-bottom:1px dashed var(--line);border-right:none;padding:0 0 4px;text-align:left}.next-rounds__cta,.next-rounds__cta--primary{text-align:center}}.league-members{background:var(--bg-subtle);border:1px solid var(--line);border-radius:var(--r-1);margin:var(--sp-5) 0;padding:0}.league-members[open]{background:var(--bg)}.league-members__summary{grid-gap:var(--sp-3);align-items:center;cursor:pointer;display:grid;gap:var(--sp-3);grid-template-columns:auto 1fr;list-style:none;padding:var(--sp-3) var(--sp-4)}.league-members__summary::-webkit-details-marker{display:none}.league-members__summary:before{color:var(--ink-muted);content:"▸";display:inline-block;font-family:var(--font-mono);transition:transform var(--t-fast)}.league-members[open] .league-members__summary:before{transform:rotate(90deg)}.league-members__heading{display:inline;font-family:var(--font-display);font-size:1.1rem;margin:0}.league-members__hint{color:var(--ink-muted);display:block;font-family:var(--font-body);font-size:var(--fs-xs);font-weight:400;margin-top:2px}.league-members .league-members-list{margin:0;padding:0 var(--sp-4) var(--sp-4)}.league-standings-section{margin:var(--sp-5) 0}.league-standings-section__header{margin-bottom:var(--sp-3)}.league-standings-section__top{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--sp-4);justify-content:space-between;margin-bottom:var(--sp-2)}.league-standings-section__eyebrow{color:var(--court)}.league-standings-section__heading{font-family:var(--font-display);font-size:1.75rem;letter-spacing:-.01em;line-height:1.05;margin:4px 0 0}.league-standings-section__hint{color:var(--ink-soft);font-size:var(--fs-sm);line-height:1.5;margin:0;max-width:60ch}.league-standings-section__link{color:var(--court);font-family:var(--font-mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.league-standings-section__footer{background:var(--bg-subtle);border-top:1px dashed var(--line);display:flex;justify-content:center;padding:var(--sp-3) var(--sp-4)}.league-standings-section__link--footer{align-items:center;border:1.5px solid var(--court);border-radius:var(--r-1);color:var(--court);display:inline-flex;font-family:var(--font-display);font-size:var(--fs-sm);font-weight:600;gap:var(--sp-2);letter-spacing:.1em;padding:8px 16px;text-decoration:none;text-transform:uppercase;transition:background var(--t-fast),color var(--t-fast)}.league-standings-section__link--footer:hover{background:var(--court);color:var(--bg-elevated)}.league-standings-section__season-select{display:flex;flex-direction:column;gap:4px;min-width:220px}.league-standings-section__season-label{color:var(--ink-muted);font-family:var(--font-mono);font-size:.65rem;letter-spacing:.18em;text-transform:uppercase}.league-standings-section__season-select-input{-webkit-appearance:none;appearance:none;background:var(--bg-elevated);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%23143628' d='m0 0 6 8 6-8z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border:1px solid var(--ink);border-radius:var(--r-1);color:var(--ink);cursor:pointer;font-family:var(--font-body);font-size:var(--fs-sm);padding:8px 32px 8px 12px}.league-standings-section__season-select-input:focus-visible{outline:2px solid var(--court);outline-offset:2px}.league-standings-section__loading{color:var(--ink-muted);font-size:var(--fs-sm);font-style:italic;padding:var(--sp-4)}.league-seasons-header{margin:var(--sp-6) 0 var(--sp-3)}.league-seasons-header__eyebrow{color:var(--ink-muted)}.league-seasons-header__hint{color:var(--ink-muted);font-size:var(--fs-sm);font-style:italic;margin:4px 0 0}.league-season-block--current{border-color:var(--court);box-shadow:0 2px 0 var(--court)}.league-season-summary__title{align-items:center;display:flex;gap:8px}.league-season-summary__badge{background:var(--court);border-radius:999px;color:var(--bg);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;padding:2px 8px;text-transform:uppercase}.round-match-list{display:flex;flex-direction:column;gap:var(--sp-2);list-style:none;margin:0;padding:0}.round-match-row{align-items:center;background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--r-2);display:flex;flex-wrap:wrap;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4)}.match-player{color:var(--ink-soft);flex:1 1 160px;font-size:var(--fs-md);line-height:1.3;min-width:0}.match-player--right{text-align:right}.match-player--winner{color:var(--ink);font-weight:700}.match-player-rating{color:var(--ink-faint);display:inline-block;font-family:var(--font-mono);font-size:var(--fs-xs);margin-left:var(--sp-1);vertical-align:middle}.match-player--right .match-player-rating{margin-left:0;margin-right:var(--sp-1)}.match-sets{background:var(--court-soft);border-radius:var(--r-1);color:var(--court);flex-shrink:0;font-family:var(--font-mono);font-size:var(--fs-md);font-weight:700;letter-spacing:.04em;min-width:72px;padding:var(--sp-1) var(--sp-3);text-align:center;white-space:nowrap}.match-sets--walkover{background:var(--bg-subtle);color:var(--ink-faint);font-weight:400}@media (max-width:600px){.round-match-row{gap:var(--sp-2);padding:var(--sp-2) var(--sp-3)}.match-player{flex-basis:100%;font-size:var(--fs-sm)}.match-player--right{text-align:left}.match-sets{font-size:var(--fs-sm);margin:0 auto;min-width:56px}}.submit-wizard{margin:0 auto;max-width:520px;padding:var(--sp-5) var(--sp-4) var(--sp-8)}.submit-wizard__back{align-items:center;background:none;border:none;color:var(--ink-muted);cursor:pointer;display:inline-flex;font-family:var(--font-mono);font-size:var(--fs-xs);gap:var(--sp-2);letter-spacing:.18em;margin-bottom:var(--sp-4);padding:0;text-decoration:none;text-transform:uppercase;transition:color var(--t-fast)}.submit-wizard__back:hover{color:var(--court)}.submit-wizard__progress{align-items:center;display:flex;gap:var(--sp-2);margin-bottom:var(--sp-3)}.submit-wizard__progress-dot{background:var(--line);border-radius:var(--r-1);height:6px;transition:background var(--t-fast);width:26px}.submit-wizard__progress-dot--done{background:var(--court)}.submit-wizard__progress-dot--current{background:var(--shuttle)}.submit-wizard__progress-label{color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.22em;margin-left:var(--sp-2);text-transform:uppercase}.submit-wizard__title{color:var(--ink);font-family:var(--font-display);font-size:clamp(1.75rem,4.5vw,2.5rem);font-weight:700;letter-spacing:-.005em;line-height:1;margin:0 0 var(--sp-3);text-transform:uppercase}.submit-wizard__lead{color:var(--ink-soft);font-size:var(--fs-md);line-height:1.55;margin:0 0 var(--sp-5)}.submit-wizard__hint{color:var(--court);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.18em;margin-top:var(--sp-2);text-transform:uppercase}.submit-wizard__hint strong{color:var(--court-deep);font-family:var(--font-body);font-size:var(--fs-md);letter-spacing:.05em;margin-left:var(--sp-2);text-transform:none}.submit-wizard__btn-primary{font-size:1rem;margin-top:var(--sp-5);min-height:48px;width:100%}.submit-wizard__btn-primary:disabled{background:var(--bg-subtle);border-color:var(--line);box-shadow:none;color:var(--ink-faint);cursor:not-allowed}.submit-wizard__error{background:var(--clay-soft);border-left:4px solid var(--clay);border-radius:var(--r-1);color:var(--clay);font-size:var(--fs-sm);margin:0 0 var(--sp-4);padding:var(--sp-3) var(--sp-4)}.submit-wizard__code-input{caret-color:var(--court);font-family:var(--font-mono);font-size:2.25rem;letter-spacing:.6em;padding:var(--sp-4) var(--sp-2);text-align:center}.submit-wizard__matches{display:flex;flex-direction:column;gap:var(--sp-2);list-style:none;margin:0;padding:0}.submit-wizard__match{background:var(--bg-elevated);border-left:1px solid var(--line);border:1px solid var(--line);border-left-width:4px;border-radius:var(--r-1);cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:var(--sp-3) var(--sp-4);transition:border-color var(--t-fast),background var(--t-fast),transform var(--t-fast)}.submit-wizard__match:hover{border-color:var(--ink-muted);border-left-color:var(--shuttle)}.submit-wizard__match--selected{background:var(--court-soft);border-color:var(--court);border-left-color:var(--court)}.submit-wizard__match-players{color:var(--ink);font-family:var(--font-display);font-size:var(--fs-lg);font-weight:600;letter-spacing:.02em;text-transform:uppercase}.submit-wizard__match-round{color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase}.submit-wizard__match-header{background:var(--net);border-radius:var(--r-2);color:var(--bg);display:flex;flex-direction:column;gap:var(--sp-1);margin-bottom:var(--sp-5);overflow:hidden;padding:var(--sp-4);position:relative}.submit-wizard__match-header:before{color:var(--shuttle);content:"MATCH";font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;position:absolute;right:var(--sp-3);top:var(--sp-2)}.submit-wizard__match-header-players{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:700;letter-spacing:.02em;line-height:1.1;text-transform:uppercase}.submit-wizard__match-header-vs{color:var(--shuttle);margin:0 var(--sp-2)}.submit-wizard__match-header-round{color:#ffffff8c;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase}.set-entry{display:flex;flex-direction:column}.set-entry__walkover-toggle{align-items:center;color:var(--ink-muted);cursor:pointer;display:inline-flex;font-family:var(--font-mono);font-size:var(--fs-xs);gap:var(--sp-2);letter-spacing:.18em;margin-bottom:var(--sp-4);text-transform:uppercase}.set-entry__walkover-toggle input{accent-color:var(--court);height:16px;width:16px}.set-entry__walkover-side{background:var(--bg-subtle);border:1px solid var(--line);border-radius:var(--r-1);display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-4);padding:var(--sp-4)}.set-entry__walkover-side>p{color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.18em;margin:0 0 var(--sp-2);text-transform:uppercase}.set-entry__walkover-side label{align-items:center;cursor:pointer;display:inline-flex;font-size:var(--fs-md);gap:var(--sp-2)}.set-entry__walkover-side input{accent-color:var(--court)}.set-entry__sets{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-4)}.set-entry__set-row{grid-gap:var(--sp-3);align-items:center;background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--r-1);display:grid;gap:var(--sp-3);grid-template-columns:64px 1fr auto 1fr;padding:var(--sp-2) var(--sp-3)}.set-entry__set-label{color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.22em;text-transform:uppercase}.set-entry__score-input{font-feature-settings:"tnum";appearance:none;-webkit-appearance:none;-moz-appearance:none;background:var(--bg);background-image:linear-gradient(45deg,#0000 50%,var(--ink-faint) 50%),linear-gradient(135deg,var(--ink-faint) 50%,#0000 50%);background-position:calc(100% - 16px) calc(50% - 2px),calc(100% - 11px) calc(50% - 2px);background-repeat:no-repeat;background-size:5px 5px;border:1px solid var(--line);border-radius:var(--r-1);color:var(--ink);cursor:pointer;font-family:var(--font-display);font-size:1.75rem;font-variant-numeric:tabular-nums;font-weight:700;min-height:56px;padding:var(--sp-2) var(--sp-1);text-align:center;text-align-last:center;width:100%}.set-entry__score-input:focus{background:var(--bg-elevated);border-color:var(--court);box-shadow:0 0 0 3px #1f4e3d26}.set-entry__score-sep{color:var(--ink-faint);font-family:var(--font-display);font-size:1.5rem;font-weight:700;line-height:1}.set-entry__winner{align-items:center;background:var(--bg-subtle);border-left:1px solid var(--line);border:1px solid var(--line);border-left-width:4px;border-radius:var(--r-1);display:flex;gap:var(--sp-3);justify-content:space-between;margin-bottom:var(--sp-3);padding:var(--sp-3) var(--sp-4)}.set-entry__winner--ok{background:var(--court-soft);border-left-color:var(--court)}.set-entry__winner-label{color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.22em;text-transform:uppercase}.set-entry__winner-name{color:var(--ink);font-family:var(--font-display);font-size:var(--fs-lg);font-weight:700;letter-spacing:.02em;text-align:right;text-transform:uppercase}.set-entry__winner-name--empty{color:var(--ink-faint);font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:.08em;text-transform:none}.set-entry__override{align-items:center;color:var(--ink-muted);cursor:pointer;display:inline-flex;font-family:var(--font-mono);font-size:var(--fs-xs);gap:var(--sp-2);letter-spacing:.18em;margin-bottom:var(--sp-3);text-transform:uppercase}.set-entry__override input{accent-color:var(--court)}.submit-wizard__success{background:var(--net);border-radius:var(--r-2);color:var(--bg);margin-top:var(--sp-6);overflow:hidden;padding:var(--sp-7) var(--sp-5) var(--sp-6);position:relative;text-align:center}.submit-wizard__success:before{color:var(--shuttle);content:"FINAL · CONFIRMED";font-family:var(--font-mono);font-size:10px;left:50%;letter-spacing:.28em;position:absolute;top:var(--sp-3);transform:translateX(-50%)}.submit-wizard__success-check{align-items:center;background:var(--shuttle);border-radius:var(--r-pill);box-shadow:0 0 0 8px #f5d54726;color:var(--net);display:inline-flex;font-size:2.5rem;font-weight:700;height:72px;justify-content:center;margin-bottom:var(--sp-4);width:72px}.submit-wizard__success-title{font-family:var(--font-display);font-size:clamp(2rem,6vw,3rem);font-weight:700;letter-spacing:.02em;line-height:1;margin:0 0 var(--sp-3);text-transform:uppercase}.submit-wizard__success-match{color:#ffffffb3;font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:.16em;margin:0 0 var(--sp-5);text-transform:uppercase}.submit-wizard__success-actions{align-items:stretch;display:flex;flex-direction:column;gap:var(--sp-3);margin:0 auto;max-width:280px}.submit-wizard__success-actions .btn-primary{background:var(--shuttle);border-color:var(--shuttle);color:var(--ink)}.submit-wizard__success-actions .btn-primary:hover{background:var(--shuttle-deep);border-color:var(--shuttle-deep);color:var(--ink)}.submit-wizard__success-link{color:var(--shuttle);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.22em;padding:var(--sp-2);text-decoration:none;text-transform:uppercase}.submit-wizard__success-link:hover{color:var(--bg);text-decoration:underline}.submit-wizard__sidelinks{border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-6);padding-top:var(--sp-5)}.submit-wizard__sidelink{align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-1);color:var(--ink);display:inline-flex;font-family:var(--font-mono);font-size:var(--fs-xs);gap:var(--sp-2);letter-spacing:.08em;min-height:44px;padding:var(--sp-3) var(--sp-4);text-decoration:none;text-transform:uppercase;transition:background .12s ease,border-color .12s ease}.submit-wizard__sidelink:focus-visible,.submit-wizard__sidelink:hover{background:var(--bg-elevated);border-color:var(--court);color:var(--court)}.member-autocomplete{position:relative}.member-autocomplete__loading{color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.18em;margin-top:var(--sp-2);text-transform:uppercase}.member-autocomplete__list{background:var(--bg-elevated);border:1px solid var(--line-strong);border-radius:var(--r-1);box-shadow:var(--shadow-3);left:0;list-style:none;margin:0;max-height:240px;overflow-y:auto;padding:0;position:absolute;right:0;top:calc(100% + 4px);z-index:10}.member-autocomplete__option{border-bottom:1px solid var(--line);cursor:pointer;font-size:var(--fs-md);padding:var(--sp-3) var(--sp-4);transition:background var(--t-fast)}.member-autocomplete__option:last-child{border-bottom:none}.member-autocomplete__option:hover{background:var(--court-soft)}@media (max-width:480px){.set-entry__set-row{gap:var(--sp-2);grid-template-columns:56px 1fr auto 1fr;padding:var(--sp-2)}.set-entry__score-input{font-size:1.5rem;min-height:52px}}.league-members-list{grid-gap:var(--sp-2);display:grid;gap:var(--sp-2);list-style:none;margin:0;padding:0}.league-members-list__item{align-items:center;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:var(--sp-2);padding:var(--sp-2) 0}.league-members-list__badge{border:1px solid #0000;border-radius:999px;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.08em;padding:2px 8px;text-transform:uppercase}.league-members-list__badge--confirmed{background:var(--court-soft);border-color:var(--court);color:var(--court-deep)}.league-members-list__badge--auto{background:var(--bg-subtle);border-color:var(--line-strong);color:var(--ink-soft)}.league-members-list__badge--pending{background:#fbe8a4;border-color:var(--shuttle-deep);color:var(--ink)}.event-detail-meta__sub{color:var(--ink-muted);font-size:var(--fs-xs)}.round-meta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--sp-2);margin:var(--sp-3) 0 var(--sp-4)}.round-meta__chip{background:var(--bg-subtle);border:1px solid var(--line);border-radius:999px;color:var(--ink-soft);font-family:var(--font-mono);font-size:var(--fs-sm);padding:4px 10px}.round-meta__override{color:var(--clay);font-size:var(--fs-xs);letter-spacing:.08em;margin-left:4px;text-transform:uppercase}.round-meta__notes{color:var(--ink-soft);font-size:var(--fs-sm);font-style:italic;margin:0;width:100%}.round-meta__chip--status{font-size:.7rem;font-weight:700;letter-spacing:.04em;padding:5px 11px;text-transform:uppercase}.round-meta__chip--status-draft{background:var(--bg-subtle);border-color:var(--line);color:var(--ink-soft)}.round-meta__chip--status-registration{background:var(--shuttle);border-color:var(--shuttle-deep);color:var(--court-deep)}.round-meta__chip--status-grouping{background:#efe7c9;border-color:var(--shuttle-deep);color:var(--court-deep)}.round-meta__chip--status-active{background:var(--court);border-color:var(--court-deep);color:#fff}.round-meta__chip--status-closed{background:var(--court-deep);border-color:var(--court-deep);color:#fff}.round-meta__chip--mode{font-size:.72rem;font-weight:600;letter-spacing:.04em}.round-meta__chip--mode-private{background:#2a2a2a;border-color:#2a2a2a;color:var(--shuttle)}.round-meta__chip--mode-code{background:#fff5d0;border-color:var(--shuttle-deep);color:#6b4d00}.round-meta__chip--info,.round-meta__chip--mode-approval{background:var(--court-soft);border-color:var(--court);color:var(--court-deep)}.round-meta__chip--info{font-size:.72rem}.round-signup-blocked{grid-gap:var(--sp-3);align-items:start;background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--r-2);display:grid;gap:var(--sp-3);grid-template-columns:auto 1fr;margin:var(--sp-3) 0 var(--sp-4);padding:var(--sp-4)}.round-signup-blocked--private{background:linear-gradient(135deg,#2a2a2a,#1a1a1a);border-color:#1a1a1a;color:#fff}.round-signup-blocked--private .round-signup-blocked__title{color:var(--shuttle)}.round-signup-blocked--private .round-signup-blocked__text{color:#ffffffd9}.round-signup-blocked--code{background:#fff8da;border-color:var(--shuttle-deep)}.round-signup-blocked--code .round-signup-blocked__title{color:#6b4d00}.round-signup-blocked--info{background:var(--court-soft);border-color:var(--court)}.round-signup-blocked--info .round-signup-blocked__title{color:var(--court-deep)}.round-signup-blocked__icon{font-size:1.8rem;line-height:1;margin-top:2px}.round-signup-blocked__title{font-family:var(--font-display);font-size:1.1rem;font-weight:700;letter-spacing:.02em;margin:0 0 4px}.round-signup-blocked__text{font-size:.95rem;line-height:1.45;margin:0}.round-signup-blocked__cta{align-items:center;background:var(--court);border-radius:999px;color:#fff;display:inline-flex;font-family:var(--font-display);font-size:.85rem;font-weight:700;gap:6px;letter-spacing:.06em;margin-top:10px;padding:6px 14px;text-decoration:none;text-transform:uppercase;transition:background var(--t-fast)}.round-signup-blocked--private .round-signup-blocked__cta{background:var(--shuttle);color:var(--court-deep)}.round-signup-blocked__cta:hover{background:var(--court-deep)}.round-signup-blocked--private .round-signup-blocked__cta:hover{background:var(--shuttle-deep)}.round-signup-cta{background:var(--bg-elevated);border:1px solid var(--court);border-radius:var(--r-2);margin:var(--sp-3) 0;padding:var(--sp-4)}.round-signup-cta__title{font-family:var(--font-display);font-size:1.25rem;margin:0 0 4px}.round-signup-cta__hint{color:var(--ink-soft);font-size:var(--fs-sm);margin:0 0 var(--sp-3)}.round-signup-cta__form{grid-gap:var(--sp-2);display:grid;gap:var(--sp-2)}.round-signup-cta__form input[type=text]{border:1px solid var(--line-strong);border-radius:var(--r-1);font-size:var(--fs-sm);padding:8px 12px}.round-signup-cta__suggestions{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-1);list-style:none;margin:0;max-height:240px;overflow-y:auto;padding:0}.round-signup-cta__suggestions li{border-bottom:1px solid var(--line)}.round-signup-cta__suggestions li:last-child{border-bottom:none}.round-signup-cta__suggestions button{background:#0000;border:0;cursor:pointer;display:block;font:inherit;padding:8px 12px;text-align:left;width:100%}.round-signup-cta__suggestions button:hover{background:var(--court-soft)}.round-participants{margin:var(--sp-4) 0}.round-participants__heading{font-family:var(--font-display);font-size:1.15rem;margin:0 0 var(--sp-3)}.round-participants__empty{background:var(--bg-subtle);border:1px dashed var(--line);border-radius:var(--r-1);color:var(--ink-soft);font-size:.95rem;font-style:italic;margin:0;padding:var(--sp-3) var(--sp-4)}.round-participants__group{margin-bottom:var(--sp-3)}.round-participants__group-name{color:var(--ink-soft);font-size:var(--fs-sm);letter-spacing:.06em;margin:0 0 var(--sp-2);text-transform:uppercase}.round-participants__list{grid-gap:4px;display:grid;gap:4px;list-style:none;margin:0;padding:0}.round-participants__item{align-items:center;display:flex;gap:var(--sp-2);padding:4px 0}.round-participants__badge{background:#fbe8a4;border:1px solid var(--shuttle-deep);border-radius:999px;color:var(--ink);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.08em;padding:2px 8px;text-transform:uppercase}.round-signup-panel{display:flex;flex-direction:column;gap:var(--sp-4);margin:var(--sp-4) 0}.round-signup-panel__group{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--r-1);padding:var(--sp-3) var(--sp-4)}.round-signup-panel__group-head{align-items:center;display:flex;gap:var(--sp-2);justify-content:space-between;margin-bottom:var(--sp-2)}.round-signup-panel__group-title{align-items:baseline;display:flex;font-family:var(--font-display);font-size:1rem;gap:var(--sp-2);letter-spacing:.06em;margin:0;text-transform:uppercase}.signed-sort{border:1px solid var(--line);border-radius:var(--r-1);display:inline-flex;overflow:hidden}.signed-sort__btn{background:#0000;border:0;color:var(--ink-muted);cursor:pointer;font:inherit;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.06em;padding:4px 10px;text-transform:uppercase}.signed-sort__btn+.signed-sort__btn{border-left:1px solid var(--line)}.signed-sort__btn.is-active{background:var(--court);color:#fff}.round-signup-panel__group-title--warn{color:#b45309;color:var(--shuttle-deep,#b45309)}.round-signup-panel__count{background:var(--court-soft);border:1px solid var(--court);border-radius:999px;color:var(--court-deep);font-family:var(--font-mono);font-size:var(--fs-xs);padding:2px 8px}.round-signup-panel__count--warn{background:#fbe8a4;border-color:#b45309;border-color:var(--shuttle-deep,#b45309);color:var(--ink)}.round-signup-panel__group-hint{color:var(--ink-muted);font-size:var(--fs-xs);margin:0 0 var(--sp-2)}.round-signup-panel__empty{color:var(--ink-muted);font-size:var(--fs-sm);font-style:italic;margin:0}.round-signup-panel__group-bucket{margin-top:var(--sp-3)}.round-signup-panel__group-bucket:first-child{margin-top:0}.round-signup-panel__group-bucket-name{color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.06em;margin:0 0 6px;text-transform:uppercase}.round-signup-panel__list{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0}.round-signup-panel__row{grid-gap:var(--sp-2);align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-1);display:grid;font-size:var(--fs-sm);gap:var(--sp-2);grid-template-columns:auto auto 1fr auto;padding:8px 10px}.round-signup-panel__row--pending{background:#fff7e0;border-color:#b45309;border-color:var(--shuttle-deep,#b45309);grid-template-columns:auto 1fr auto}.round-signup-panel__index{color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--fs-xs);text-align:right;width:24px}.round-signup-panel__monogram{align-items:center;background:var(--ink);border-radius:999px;color:#fff;display:inline-flex;flex:0 0 auto;font-size:var(--fs-xs);font-weight:600;height:28px;justify-content:center;width:28px}.round-signup-panel__name{color:var(--ink);font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pair-form__slots{grid-gap:var(--sp-2);display:grid;gap:var(--sp-2);grid-template-columns:1fr 1fr;margin-bottom:var(--sp-3)}@media (max-width:540px){.pair-form__slots{grid-template-columns:1fr}}.pair-form__slot{background:var(--bg-elevated);border:1px dashed var(--line);border-radius:var(--r-1);display:flex;flex-direction:column;gap:4px;padding:8px 10px}.pair-form__slot--filled{background:var(--court-soft);border-style:solid}.pair-form__slot--active,.pair-form__slot--filled{border-color:var(--court)}.pair-form__slot-label{color:var(--ink-muted);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase}.pair-form__slot-empty{background:none;border:0;color:var(--ink-muted);cursor:pointer;font:inherit;padding:4px 0;text-align:left}.pair-form__chip{align-items:center;display:flex;gap:8px;min-width:0}.pair-form__chip-name{flex:1 1 auto;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pair-form__chip-remove{background:#0000;border:0;border-radius:999px;color:var(--ink-muted);cursor:pointer;font-size:var(--fs-md);height:24px;line-height:1;width:24px}.pair-form__chip-remove:hover{background:#0000000f;color:var(--ink)}.round-signup-panel__group-tag{color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.04em;margin-left:6px;text-transform:uppercase}.round-signup-panel__rating{display:inline-flex}.leagues-block__head{margin-bottom:var(--sp-3)}.leagues-block__title{align-items:baseline;display:flex;flex-wrap:wrap;gap:var(--sp-3)}.leagues-block__title .events-list-section-h2{margin:0}.leagues-block__count{color:var(--ink-soft);font-family:var(--font-mono);font-size:.85em;font-weight:400}.leagues-block__signup-hint{color:var(--court);display:flex;font-size:var(--fs-sm);font-weight:600;gap:4px}.leagues-filter{align-items:center;display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-bottom:var(--sp-4);padding:var(--sp-3) 0}.leagues-filter__search{background:var(--bg-elevated);border:1px solid var(--line-strong);border-radius:var(--r-1);color:var(--ink);flex:1 1 220px;font:inherit;font-size:var(--fs-sm);outline-offset:2px;padding:var(--sp-2) var(--sp-3)}.leagues-filter__search:focus{border-color:var(--court);outline:2px solid var(--court)}.leagues-filter__chips{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.leagues-filter__chip{background:#0000;border:1px solid var(--line-strong);border-radius:var(--r-pill);color:var(--ink);cursor:pointer;font:inherit;font-size:var(--fs-sm);padding:5px 12px;transition:background .12s,border-color .12s,color .12s}.leagues-filter__chip:hover{background:var(--court-soft);border-color:var(--court);color:var(--court-deep)}.leagues-filter__chip--active{background:var(--court);border-color:var(--court);color:#fff;font-weight:600}.leagues-filter__chip--active:hover{background:var(--court-deep);border-color:var(--court-deep);color:#fff}.leagues-filter__toggle{align-items:center;cursor:pointer;display:flex;font-size:var(--fs-sm);-webkit-user-select:none;user-select:none}.leagues-filter__hidden-hint{color:var(--ink-soft);font-size:var(--fs-xs)}.leagues-empty{color:var(--ink-soft);padding:var(--sp-7) var(--sp-4);text-align:center}.leagues-empty p{font-size:.95rem;margin:0 0 var(--sp-4)}.leagues-empty__reset{background:#0000;border:1.5px solid var(--court);color:var(--court);transition:background .12s,color .12s}.leagues-empty__reset:hover{background:var(--court)}.league-card__eyebrow{align-items:center;display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-2)}.league-card__discipline-tag{background:var(--bg-subtle);border:1px solid var(--line);border-radius:var(--r-pill);color:var(--ink-soft);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.12em;padding:3px 8px;text-transform:uppercase}.league-card__discipline-tag--doubles{background:#eef2ff;border-color:#c7d2fe;color:#4338ca}.league-card__discipline-tag--mixed{background:#fff7ed;border-color:#fed7aa;color:#c2410c}.league-card__signup-tag{align-items:center;color:var(--court);display:flex;font-size:var(--fs-xs);font-weight:600;gap:4px}.league-card__signup-tag .signup-pulse-dot{font-size:10px;margin-right:0}.league-card--signup-open{background:linear-gradient(96deg,color-mix(in srgb,var(--court) 6%,var(--bg-elevated)) 0,var(--bg-elevated) 40%);border-left:4px solid var(--court)}.leagues-block{border-top:2px solid var(--line-strong);margin-top:var(--sp-8);padding-top:var(--sp-6)}.events-past-section{border-top:1px solid var(--line);padding-top:var(--sp-2)}.leagues-block__signup-hint{align-items:center;background:color-mix(in srgb,var(--court) 10%,#0000);border:1px solid color-mix(in srgb,var(--court) 30%,#0000);border-radius:var(--r-pill);color:var(--court-deep);display:inline-flex;font-size:.75rem;font-weight:700;gap:5px;padding:2px 9px 2px 6px;vertical-align:middle}.leagues-block__signup-hint .signup-pulse-dot{font-size:8px;margin-right:0}.leagues-empty__reset{align-items:center;background:var(--court);border:none;border-radius:var(--r-pill);color:#fff;cursor:pointer;display:inline-flex;font:inherit;font-size:var(--fs-sm);font-weight:600;gap:6px;padding:var(--sp-2) var(--sp-5);transition:background .12s,transform .1s}.leagues-empty__reset:before{content:"↺";font-size:1em;line-height:1}.leagues-empty__reset:hover{background:var(--court-deep);color:#fff;transform:none}.leagues-filter__toggle{color:var(--ink);gap:var(--sp-2)}.leagues-filter__toggle input[type=checkbox]{accent-color:var(--court);cursor:pointer;flex-shrink:0;height:16px;width:16px}.leagues-filter__toggle:has(input:checked){color:var(--court-deep);font-weight:600}.signup-pulse-dot{animation:signup-pulse 1.8s ease-in-out infinite;background:currentColor;border-radius:50%;display:inline-block;flex-shrink:0;font-size:0!important;height:8px;vertical-align:middle;width:8px}@media (max-width:480px){.leagues-block{border-top-width:2px;padding-top:var(--sp-5)}.leagues-block__title{align-items:flex-start;flex-direction:column;gap:var(--sp-2)}}.pac{position:relative;width:100%}.pac.is-disabled{opacity:.6;pointer-events:none}.pac__input-wrap{align-items:center;display:flex;position:relative}.pac__icon{align-items:center;color:var(--ink-muted);display:inline-flex;height:16px;justify-content:center;left:16px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:color var(--t-fast);width:16px;z-index:1}.pac.is-open .pac__icon,.pac__input:focus+.pac__clear~.pac__icon{color:var(--court)}input.pac__input{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--r-2);box-sizing:border-box;color:var(--ink);font:inherit;font-size:var(--fs-md);height:44px;letter-spacing:.01em;padding:0 44px;transition:border-color var(--t-fast),box-shadow var(--t-fast),background var(--t-fast);width:100%}input.pac__input:focus{border-color:var(--court);box-shadow:0 0 0 3px #1f4e3d2e;outline:none}input.pac__input::placeholder{color:var(--ink-faint);font-style:italic}.pac__clear{align-items:center;background:#0000;border:1px solid #0000;border-radius:999px;color:var(--ink-muted);cursor:pointer;display:inline-flex;font-size:18px;height:26px;justify-content:center;line-height:1;padding:0;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast);width:26px}.pac__clear:hover,.pac__clear:hover:not(:disabled){background:var(--bg-subtle);border-color:var(--line);color:var(--ink)}.pac__spinner{animation:pac-spin .72s linear infinite;border:2px solid var(--line);border-radius:999px;border-top-color:var(--court);height:14px;margin-top:-7px;position:absolute;right:12px;top:50%;width:14px}@keyframes pac-spin{to{transform:rotate(1turn)}}.pac__panel{animation:pac-rise .14s cubic-bezier(.2,.8,.2,1);background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--r-2);box-shadow:0 1px 0 #1432280a,0 8px 24px #14322824,0 20px 48px #14322814;display:flex;flex-direction:column;left:0;max-height:360px;overflow:hidden;position:absolute;right:0;top:calc(100% + 6px);z-index:50}@keyframes pac-rise{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.pac__list{flex:1 1;list-style:none;margin:0;min-height:0;overflow-y:auto;padding:4px}.pac__row{grid-gap:var(--sp-3);align-items:center;border-radius:var(--r-1);cursor:pointer;display:grid;gap:var(--sp-3);grid-template-columns:32px 1fr auto;padding:8px 12px 8px 14px;position:relative;transition:background var(--t-fast);-webkit-user-select:none;user-select:none}.pac__row-bar{background:#0000;border-radius:0 2px 2px 0;bottom:8px;left:0;position:absolute;top:8px;transition:background var(--t-fast),transform var(--t-fast);width:3px}.pac__row.is-active,.pac__row:hover{background:var(--bg-subtle)}.pac__monogram,.pac__row.is-active .pac__row-bar,.pac__row:hover .pac__row-bar{background:var(--court)}.pac__monogram{align-items:center;border-radius:999px;color:#fffefa;display:inline-flex;flex-shrink:0;font-family:var(--font-mono);font-family:var(--font-display,var(--font-mono));font-size:13px;font-weight:700;height:32px;justify-content:center;letter-spacing:.04em;position:relative;width:32px}.pac__monogram:after{background:var(--shuttle);border:2px solid var(--bg-elevated);border-radius:999px;content:"";height:8px;position:absolute;right:-1px;top:-1px;width:8px}.pac__row.is-active .pac__monogram,.pac__row:hover .pac__monogram{background:var(--court-deep)}.pac__name{align-items:baseline;display:flex;flex-wrap:wrap;gap:6px;min-width:0;overflow:hidden}.pac__first{color:var(--ink-soft);font-size:var(--fs-sm);font-weight:500;white-space:nowrap}.pac__last{color:var(--ink);font-family:inherit;font-family:var(--font-display,inherit);font-size:var(--fs-md);font-weight:700;letter-spacing:.005em;white-space:nowrap}.pac__rating{align-items:center;display:inline-flex;flex-shrink:0}.pac__rating-pair{display:inline-flex;gap:6px}.pac-chip{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--r-pill);font-family:var(--font-mono);height:24px;line-height:1;overflow:hidden;padding:0}.pac-chip,.pac-chip__tag{align-items:center;display:inline-flex}.pac-chip__tag{background:var(--court);color:#fffefa;font-size:10px;font-weight:700;height:100%;justify-content:center;letter-spacing:.08em;min-width:18px;padding:0 4px}.pac-chip--d .pac-chip__tag{background:var(--shuttle-deep);color:var(--ink)}.pac-chip__value{font-feature-settings:"tnum";color:var(--ink);font-size:12px;font-variant-numeric:tabular-nums;font-weight:700;padding:0 8px}.pac-chip--prominent{border:1px solid var(--court);height:28px}.pac-chip--prominent.pac-chip--d{border-color:var(--shuttle-deep)}.pac-chip--prominent .pac-chip__value{font-size:13px;padding:0 10px}.pac-chip--empty{border-color:var(--line);border-style:dashed}.pac-chip--empty .pac-chip__tag{background:var(--line);color:var(--ink-faint)}.pac-chip--empty .pac-chip__value{color:var(--ink-faint);font-style:normal}.pac__create{align-items:center;background:var(--bg-elevated);border:1px dashed var(--court);border-radius:var(--r-1);color:var(--court-deep);cursor:pointer;display:flex;font:inherit;font-size:var(--fs-sm);gap:10px;margin:0 4px 4px;padding:10px 14px;text-align:left;transition:background var(--t-fast),border-style var(--t-fast);width:100%;width:calc(100% - 8px)}.pac__create.is-active,.pac__create:hover,.pac__create:hover:not(:disabled){background:var(--court-soft);border-style:solid;color:var(--court-deep)}.pac__create-plus{align-items:center;background:var(--court);border-radius:999px;color:#fffefa;display:inline-flex;flex-shrink:0;font-weight:700;height:22px;justify-content:center;width:22px}.pac__empty{color:var(--ink-muted);font-size:var(--fs-sm);margin:0;padding:20px 16px;text-align:center}.pac__hint{background:var(--bg-subtle);border-top:1px solid var(--line);color:var(--ink-muted);font-size:11px;letter-spacing:.02em;padding:6px 12px}.pac__hint kbd{background:var(--bg-elevated);border:1px solid var(--line);border-radius:3px;color:var(--ink);display:inline-block;font-family:var(--font-mono);font-size:10px;margin:0 2px;padding:1px 5px}@media (max-width:480px){.pac__panel{max-height:280px}.pac__row{gap:var(--sp-2);grid-template-columns:28px 1fr auto;padding:8px}.pac__monogram{font-size:12px;height:28px;width:28px}}
/*# sourceMappingURL=main.6d805a4b.css.map*/