@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-vietnamese-400-normal-Dpl4UHAZ.woff2)format("woff2"),url(/assets/barlow-vietnamese-400-normal-BFeobeCK.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-ext-400-normal-HxX4XjxC.woff2)format("woff2"),url(/assets/barlow-latin-ext-400-normal-CvBsJvxq.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2)format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-vietnamese-500-normal-zTViEIzf.woff2)format("woff2"),url(/assets/barlow-vietnamese-500-normal-GNfB7rCE.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-ext-500-normal-DOaysfXq.woff2)format("woff2"),url(/assets/barlow-latin-ext-500-normal-CJPcKP2Q.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-500-normal-BPAOfeC8.woff2)format("woff2"),url(/assets/barlow-latin-500-normal-C1h8hMer.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-vietnamese-600-normal-DcjprdFV.woff2)format("woff2"),url(/assets/barlow-vietnamese-600-normal-CA_GiK2e.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-ext-600-normal-B8NK_A3D.woff2)format("woff2"),url(/assets/barlow-latin-ext-600-normal-DMVRjfRT.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2)format("woff2"),url(/assets/barlow-latin-600-normal-CNwfPWQD.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-vietnamese-700-normal-D6euyNzi.woff2)format("woff2"),url(/assets/barlow-vietnamese-700-normal-4Jt4k04K.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-latin-ext-700-normal-BLuWmldJ.woff2)format("woff2"),url(/assets/barlow-latin-ext-700-normal-CctuGmmz.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-latin-700-normal-A9pxMQ4z.woff2)format("woff2"),url(/assets/barlow-latin-700-normal-__SGTsZ1.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-vietnamese-700-normal-DYeBwlKR.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-700-normal-DhIzd8Tb.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-ext-700-normal-CwuXbfVR.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-700-normal-BIHFfxf0.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2)format("woff2"),url(/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:italic;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-vietnamese-700-italic-CIM4raJp.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-700-italic-5nF77AAc.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:italic;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-ext-700-italic-CbhzQEkf.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-700-italic-BL4pfkGS.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:italic;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-italic-DjyOzRJ7.woff2)format("woff2"),url(/assets/barlow-condensed-latin-700-italic-B90Hg2GM.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:italic;font-display:swap;font-weight:800;src:url(/assets/barlow-condensed-vietnamese-800-italic-DdsBx9lY.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-800-italic-aDhyDJMT.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:italic;font-display:swap;font-weight:800;src:url(/assets/barlow-condensed-latin-ext-800-italic-BbzArEj4.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-800-italic-Ca7Cun8E.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:italic;font-display:swap;font-weight:800;src:url(/assets/barlow-condensed-latin-800-italic-Cnej2eWp.woff2)format("woff2"),url(/assets/barlow-condensed-latin-800-italic-B5BpsPSY.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-primary:#004aad;--color-primary-alt:#004aad;--flat-text-muted:#6b7280;--color-success:#16a34a;--color-danger:#dc2626;--color-danger-dark:#b91c1c;--flat-surface:#fff;--flat-surface-alt:#f9fafb;--color-surface-muted:#f3f4f6;--flat-border:#e5e7eb;--color-border-soft:#ddd;--flat-bg-page:#ececf4;--radius-4:4px;--radius-6:6px;--radius-8:8px;--radius-10:10px;--radius-12:12px;--radius-pill:999px;--space-4:4px;--space-6:6px;--space-8:8px;--space-10:10px;--space-12:12px;--space-16:16px}[data-sport]{--sport:#6b7280;--sport-bg:#eef0f5;--sport-ink:#4b505a}[data-sport=table_tennis]{--sport:#f26b1d;--sport-bg:#f9ede8;--sport-ink:#833404}[data-sport=badminton]{--sport:#0b7a4b;--sport-bg:#def8e7;--sport-ink:#195e3c}[data-sport=squash]{--sport:#6a3fd0;--sport-bg:#f0effa;--sport-ink:#513f91}[data-sport=tennis]{--sport:#f7cc2e;--sport-bg:#fbf0cf;--sport-ink:#5e4e19}[data-sport=padel]{--sport:#1098ad;--sport-bg:#d9f6fd;--sport-ink:#105a66}[data-sport=pickleball]{--sport:#e64980;--sport-bg:#faecef;--sport-ink:#862849}[data-sport=beach_tennis]{--sport:#a0785a;--sport-bg:#fbede3;--sport-ink:#654934}[data-theme=dark] [data-sport],.on-navy [data-sport]{--sport:#979fad;--sport-bg:#24262b;--sport-ink:#cdd1d9}[data-theme=dark] [data-sport=table_tennis],.on-navy [data-sport=table_tennis]{--sport:#f87025;--sport-bg:#3a1e11;--sport-ink:#fac3aa}[data-theme=dark] [data-sport=badminton],.on-navy [data-sport=badminton]{--sport:#57b481;--sport-bg:#132c1e;--sport-ink:#b2ddc2}[data-theme=dark] [data-sport=squash],.on-navy [data-sport=squash]{--sport:#9f8af9;--sport-bg:#26223d;--sport-ink:#d0cafc}[data-theme=dark] [data-sport=tennis],.on-navy [data-sport=tennis]{--sport:#f7cc2e;--sport-bg:#2f2505;--sport-ink:#e4d092}[data-theme=dark] [data-sport=padel],.on-navy [data-sport=padel]{--sport:#39b0c5;--sport-bg:#0c2b31;--sport-ink:#a9dbe5}[data-theme=dark] [data-sport=pickleball],.on-navy [data-sport=pickleball]{--sport:#fc5e92;--sport-bg:#3a1b24;--sport-ink:#febccc}[data-theme=dark] [data-sport=beach_tennis],.on-navy [data-sport=beach_tennis]{--sport:#be9576;--sport-bg:#2f241b;--sport-ink:#e2ccbc}.sport-chip{background:var(--sport-bg);min-width:2.75em;color:var(--sport-ink);text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:4px;padding:2px 8px;font-size:13px;font-weight:700;line-height:1.5;display:inline-block}.sport-dot{background:var(--sport);border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}[data-sport=tennis].sport-dot{box-shadow:inset 0 0 0 1px var(--sport-ink)}.sport-dots{flex-wrap:wrap;gap:4px;display:inline-flex}.sport-bar{gap:3px;height:6px;display:flex}.sport-bar>span{background:var(--sport);flex:1}:root{color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-body:"Barlow", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Barlow Condensed", "Barlow", system-ui, sans-serif;--color-brand:#004aad;--color-brand-hover:#00367f;--color-brand-light:#e8eef8;--color-brand-soft:#c5d5ec;--color-navy:#061a3a;--color-navy-accent:#0a2350;--color-on-navy:#fff;--color-on-navy-muted:#8fb4ec;--color-bg-page:#f3f5f9;--color-surface:#fff;--color-surface-alt:#f7f9fc;--color-surface-inset:#eef1f6;--color-surface-overlay:#061a3a73;--color-text:#26303f;--color-text-strong:#0e1726;--color-text-muted:#5a6577;--color-text-on-brand:#fff;--color-border:#dde3ec;--color-border-input:#c9d2df;--color-success-bg:#f0fdf4;--color-success-text:#166534;--color-success-border:#16a34a;--color-error-bg:#fef2f2;--color-error-text:#c33333;--color-error-border:#f87171;--color-warning-bg:#fef3c7;--color-warning-text:#92400e;--color-up:#0b7a4b;--color-down:#c0162b;--shadow-card:0 1px 2px #0e17260f, 0 4px 16px #0e17260d;--shadow-card-lg:0 8px 30px #0e17261a;--page-gutter:1rem;--card-padding:28px;color:var(--color-text);background-color:var(--color-bg-page);font-weight:400;line-height:1.5}[data-theme=dark]{color-scheme:dark;--color-brand:#79a9f2;--color-brand-hover:#9dc0f5;--color-brand-light:#13284a;--color-brand-soft:#1f3d6b;--color-navy:#050d1c;--color-navy-accent:#0a1a36;--color-bg-page:#0b111c;--color-surface:#141a26;--color-surface-alt:#10161f;--color-surface-inset:#0e131b;--color-surface-overlay:#000000a6;--color-text:#d5dbe5;--color-text-strong:#f2f5f9;--color-text-muted:#93a0b4;--color-text-on-brand:#0b111c;--color-border:#263042;--color-border-input:#33405a;--color-success-bg:#052e16;--color-success-text:#4ade80;--color-success-border:#16a34a;--color-error-bg:#2d0a0a;--color-error-text:#f87171;--color-error-border:#ef4444;--color-warning-bg:#1c1400;--color-warning-text:#fbbf24;--color-up:#4cc28a;--color-down:#f2727f;--color-primary:var(--color-brand);--color-primary-alt:var(--color-brand);--shadow-card:0 2px 16px #0006;--shadow-card-lg:0 8px 30px #00000080}a{color:var(--color-brand);text-decoration:inherit;font-weight:500}a:hover{color:var(--color-brand-hover)}body{background-color:var(--color-bg-page);min-width:320px;min-height:100vh;color:var(--color-text);margin:0}#root{width:100%}h1,h2,h3{font-family:var(--font-display);color:var(--color-text-strong);letter-spacing:0}h1{text-transform:uppercase;font-size:2.75rem;font-style:italic;font-weight:800;line-height:1}h2,h3{font-weight:700;line-height:1.15}table{font-variant-numeric:tabular-nums}@media (width<=480px){h1{font-size:2rem}input,select,textarea{font-size:16px}:root{--page-gutter:0px;--card-padding:16px}}input,select,textarea,button{font-family:inherit}button{border-radius:var(--radius-8,8px);color:var(--color-text);background-color:var(--color-surface-inset);cursor:pointer;border:1px solid #0000;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:var(--color-brand)}button:focus-visible{outline:4px auto -webkit-focus-ring-color}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:var(--color-surface-inset);color:var(--color-text);border-color:var(--color-border-input);color-scheme:dark}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:var(--color-text-muted)}[data-theme=dark]{scrollbar-color:var(--color-border-input) var(--color-surface-alt)}[data-theme=dark] .admin-tournament-detail__card,[data-theme=dark] .admin-dashboard__card,[data-theme=dark] .login-card,[data-theme=dark] .register-card,[data-theme=dark] .settings-card,[data-theme=dark] .profile-card,[data-theme=dark] .rankings-card,[data-theme=dark] .matches-card,[data-theme=dark] .brackets-page__card,[data-theme=dark] .bracket-detail,[data-theme=dark] .participants-card,[data-theme=dark] .tournament-form-card,[data-theme=dark] .open-tournaments-card,[data-theme=dark] .registration-card,[data-theme=dark] .match-edit-card,[data-theme=dark] .admin-players__card{background:var(--color-surface);color:var(--color-text)}[data-theme=dark] .participant-row,[data-theme=dark] .organizer-item,[data-theme=dark] .history-item,[data-theme=dark] .match-item,[data-theme=dark] .open-tournaments-list__item{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}[data-theme=dark] .user-info,[data-theme=dark] .open-tournaments-list,[data-theme=dark] .tournament-details-grid,[data-theme=dark] .organizer-add-wrapper,[data-theme=dark] .organizer-search-results{background:var(--color-surface-alt);border-color:var(--color-border)}[data-theme=dark] .modal-overlay{background:var(--color-surface-overlay)}[data-theme=dark] .modal-content,[data-theme=dark] .score-edit-modal{background:var(--color-surface);color:var(--color-text)}[data-theme=dark] .status.error,[data-theme=dark] .error-message{background:var(--color-error-bg);color:var(--color-error-text);border-color:var(--color-error-border)}[data-theme=dark] .status.success{background:var(--color-success-bg);color:var(--color-success-text);border-color:var(--color-success-border)}[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3,[data-theme=dark] h4{color:var(--color-text-strong)}[data-theme=dark] .bracket-match{background:var(--color-surface-inset);border-color:var(--color-border)}[data-theme=dark] .bracket-match__player{border-color:var(--color-border);color:var(--color-text)}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=600px){.form-row{grid-template-columns:1fr}}.meta{color:var(--color-text-muted);font-size:13px}.error-message{background-color:var(--color-error-bg);color:var(--color-error-text);border:1px solid var(--color-error-border);border-radius:6px;margin-bottom:20px;padding:12px;font-size:14px}.btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;line-height:1.3;text-decoration:none;transition:background-color .15s,box-shadow .15s;display:inline-flex}.btn-icon{justify-content:center;gap:0;padding:8px;line-height:0}.btn-icon.btn-sm{padding:6px}.btn-primary{background:var(--color-brand);color:var(--color-text-on-brand)}.btn-secondary{background:var(--color-brand-light);color:var(--color-brand)}.btn-danger{color:#fff;background:#e53935}.btn-primary:hover:not(:disabled){background:var(--color-brand-hover);color:var(--color-text-on-brand);box-shadow:0 2px 8px #004aad40}.btn-secondary:hover:not(:disabled){background:var(--color-brand-soft);box-shadow:0 2px 8px #004aad1f}.btn-danger:hover:not(:disabled){background:#c62828;box-shadow:0 2px 8px #e5393540}.btn:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.history-list{flex-direction:column;gap:8px;display:flex}.history-item{border:1px solid var(--color-border);border-radius:8px;padding:8px 10px}.btn-outline{color:var(--color-text-strong);box-shadow:inset 0 0 0 1px var(--color-border-input);background:0 0}.btn-outline:hover:not(:disabled){color:var(--color-brand);box-shadow:inset 0 0 0 1px var(--color-brand)}.page-bleed{width:calc(100% + 2 * var(--main-pad-x));min-width:0;margin:calc(-1 * var(--main-pad-y)) calc(-1 * var(--main-pad-x)) 0;flex:none}.page-container{box-sizing:border-box;width:100%;max-width:1280px;margin:0 auto;padding:0 32px}.page-band{background:var(--color-navy);color:var(--color-on-navy);position:relative;overflow:hidden}.page-band:before{content:"";background:var(--color-navy-accent);clip-path:polygon(120px 0,100% 0,100% 100%,0 100%);pointer-events:none;width:42%;max-width:640px;position:absolute;top:0;bottom:0;right:-60px}.page-band>*{position:relative}.page-band h1,[data-theme=dark] .page-band h1{color:var(--color-on-navy)}.page-band__eyebrow{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--color-on-navy-muted);font-size:16px;font-weight:700;display:block}.band-tabs{scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.band-tabs::-webkit-scrollbar{display:none}.band-tab{color:#d5deec;min-height:52px;font-family:var(--font-display);text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-radius:6px 6px 0 0;flex:none;padding:0 28px;font-size:22px;font-style:italic;font-weight:800}.band-tab:hover{color:var(--color-on-navy);border-color:#0000}.band-tab--active,.band-tab--active:hover{background:var(--color-bg-page);color:var(--color-brand)}.section-title{text-transform:uppercase;margin:0;font-size:2rem;font-style:italic;font-weight:800;line-height:1.05}.section-title__accent{color:var(--color-brand)}.date-block{border:2px solid var(--color-brand);width:76px;color:var(--color-brand);font-family:var(--font-display);border-radius:6px;flex-direction:column;flex:none;align-items:center;padding:6px 0;line-height:1;display:flex}.date-block__day{font-size:36px;font-style:italic;font-weight:800}.date-block__month{letter-spacing:.1em;margin-top:2px;font-size:14px;font-weight:700}@media (width<=480px){.page-container{padding:0 16px}.band-tab{min-height:46px;padding:0 16px;font-size:19px}.section-title{font-size:1.6rem}}.segmented{border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px;flex-wrap:wrap;display:inline-flex;overflow:hidden}.segmented__btn{min-height:44px;color:var(--color-text-strong);background:0 0;border:0;border-radius:0;align-items:center;gap:8px;padding:0 18px;font-size:15px;font-weight:600;display:inline-flex}.segmented__btn+.segmented__btn{border-left:1px solid var(--color-border)}.segmented__btn:hover{border-color:var(--color-border);color:var(--color-brand)}.segmented__btn--active,.segmented__btn--active:hover{background:var(--color-text-strong);color:var(--color-surface)}.filter-chip{border:1px solid var(--color-border);background:var(--color-surface);min-height:40px;color:var(--color-text-strong);border-radius:6px;padding:0 14px;font-size:14px;font-weight:500}.filter-chip:hover{border-color:var(--color-brand)}.filter-chip--active,.filter-chip--active:hover{border-color:var(--color-brand);background:var(--color-brand-light);color:var(--color-brand);font-weight:600}.chip-row{scrollbar-width:thin;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.chip-row .filter-chip{flex:none;align-items:center;gap:8px;display:inline-flex}.page-container--wide{max-width:1720px}.notif-bell{display:inline-flex;position:relative}.notif-bell__btn{position:relative}.notif-bell__badge{color:#fff;text-align:center;background:#e53935;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:-4px;right:-4px}.notif-panel{background:var(--color-surface);border:1px solid var(--color-border);z-index:50;border-radius:10px;width:320px;max-height:420px;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 8px 30px #00000026}.notif-panel__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.notif-panel__markall{color:var(--color-primary-alt,#004aad);cursor:pointer;background:0 0;border:none;font-size:12px;font-weight:600}.notif-panel__empty{color:var(--color-text-muted);text-align:center;padding:20px 14px;font-size:13px}.notif-item{border:none;border-bottom:1px solid var(--color-border);text-align:left;cursor:pointer;background:0 0;flex-direction:column;gap:2px;width:100%;padding:10px 14px;display:flex}.notif-item:hover{background:var(--color-surface-inset)}.notif-item--unread{background:#f5f6ff}.notif-item--unread .notif-item__title{font-weight:700}.notif-item__title{color:var(--color-text-strong);font-size:13px}.notif-item__date{color:var(--color-text-muted);font-size:11px}@media (width<=900px){.notif-bell{position:static}.notif-panel{width:min(320px,100vw - 24px);right:12px}}.layout{background:var(--color-bg-page);--main-pad-y:32px;--main-pad-x:20px;flex-direction:column;min-height:100vh;display:flex}.layout-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);grid-template-columns:auto 1fr auto;grid-template-areas:"brand nav actions";align-items:stretch;column-gap:32px;min-height:76px;padding:0 32px;display:grid;position:relative}.layout-header__brand{grid-area:brand;justify-self:start;align-items:center;display:flex}.layout-header__logo{color:var(--color-brand);align-items:center;font-size:22px;font-weight:700;text-decoration:none;display:flex}.layout-header__logo-img{width:auto;max-width:100%;height:auto;max-height:52px;display:block}.layout-header__nav{grid-area:nav;align-items:stretch;gap:4px;min-width:0;display:flex}.nav-link{color:var(--color-text-strong);font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-bottom:4px solid #0000;align-items:center;padding:4px 14px 0;font-size:18px;font-weight:700;text-decoration:none;transition:color .15s,border-color .15s;display:flex}.nav-link:hover{color:var(--color-brand)}.nav-link:focus-visible{outline:2px solid var(--color-brand);outline-offset:-2px}.nav-link.active{color:var(--color-brand);border-bottom-color:var(--color-brand)}.layout-header__actions{grid-area:actions;justify-self:end;align-items:center;gap:10px;display:flex}.header-icon-btn,.notif-bell__btn{border:1px solid var(--color-border);background:var(--color-surface);width:44px;height:44px;color:var(--color-text-strong);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:border-color .15s,color .15s;display:inline-flex}.header-icon-btn:hover,.notif-bell__btn:hover{border-color:var(--color-brand);color:var(--color-brand)}.header-lang-btn{font-size:14px;font-weight:600}.header-login{min-height:44px;color:var(--color-text-strong);align-items:center;padding:0 12px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.header-login:hover{color:var(--color-brand)}.header-register{min-height:44px;padding:0 20px;font-size:15px}.account-menu{position:relative}.account-menu__btn{border:1px solid var(--color-border);background:var(--color-surface);height:44px;color:var(--color-text-strong);border-radius:6px;align-items:center;gap:10px;padding:0 12px 0 6px;font-size:15px;font-weight:600;display:inline-flex}.account-menu__btn:hover,.account-menu__btn[aria-expanded=true]{border-color:var(--color-brand)}.account-menu__avatar{background:var(--color-brand);width:32px;height:32px;color:var(--color-text-on-brand);font-family:var(--font-display);border-radius:4px;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:inline-flex}.account-menu__chevron{color:var(--color-text-muted)}.account-menu__panel{z-index:60;background:var(--color-surface);border:1px solid var(--color-border);min-width:220px;box-shadow:var(--shadow-card-lg);border-radius:8px;flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.account-menu__item{min-height:40px;color:var(--color-text-strong);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:0 12px;font-size:15px;font-weight:500;text-decoration:none;display:flex}.account-menu__item:hover,.account-menu__item:focus-visible{background:var(--color-surface-inset);color:var(--color-brand);border-color:#0000}.account-menu__sep{border:0;border-top:1px solid var(--color-border);margin:6px 4px}.layout-main{padding:var(--main-pad-y) var(--main-pad-x);flex:1;justify-content:center;display:flex}.layout-footer{background:var(--color-navy);color:var(--color-on-navy-muted);padding:28px 0;font-size:15px}.layout-footer__content{box-sizing:border-box;flex-wrap:wrap;align-items:center;gap:32px;max-width:1280px;margin:0 auto;padding:0 32px;display:flex}.layout-footer__logo{width:auto;height:auto;max-height:40px;display:block}.layout-footer__links{flex-wrap:wrap;flex:1;gap:8px 24px;display:flex}.layout-footer__links a{color:#d5deec;font-weight:500;text-decoration:none}.layout-footer__links a:hover{color:#fff;text-decoration:underline}.layout-footer__copy{font-size:14px}@media (width<=1100px){.layout-header{column-gap:20px;padding:0 20px}.nav-link{padding:4px 10px 0;font-size:17px}.account-menu__name{display:none}}@media (width<=900px){.layout-header{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"brand actions""nav nav";row-gap:0;min-height:0;padding:8px 16px 0}.layout-header__actions{flex-wrap:wrap;justify-content:flex-end;row-gap:6px}.layout-header__nav{scrollbar-width:none;border-top:1px solid var(--color-border);margin:8px -16px 0;padding:0 6px;overflow-x:auto}.layout-header__nav::-webkit-scrollbar{display:none}.nav-link{min-height:44px;font-size:16px}}@media (width<=480px){.layout-header__logo-img{max-height:40px}.layout-header__actions{gap:6px}.header-icon-btn,.notif-bell__btn{width:40px;height:40px}.header-login{display:none}.header-register{min-height:40px;padding:0 14px}.nav-link{padding:4px 9px 0;font-size:15px}.layout-footer{padding:24px 0}.layout-footer__content{flex-direction:column;align-items:flex-start;gap:16px;padding:0 16px}.layout-footer__links{gap:10px 20px}}.live-score-modal-backdrop{z-index:1000;background:#0006;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.live-score-modal{background:var(--color-surface);border-radius:12px;width:100%;max-width:380px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0003}.live-score-modal__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.live-score-modal__header h2{margin:0;font-size:18px;font-weight:700}.live-score-modal__close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;padding:0 4px;font-size:24px;line-height:1}.live-score-modal__close:hover{color:var(--color-text-strong)}.live-score-modal__form{padding:16px 20px 20px}.live-score-modal__row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.live-score-modal__row label{color:var(--color-text-strong);overflow-wrap:anywhere;font-weight:600}.live-score-modal__row input{text-align:center;border:1px solid #cbd5e1;border-radius:8px;width:84px;padding:10px;font-size:18px}.live-score-modal__error,.live-score-modal__notice,.live-score-modal__warning{border-radius:8px;margin:12px 20px 0;padding:10px 12px;font-size:14px}.live-score-modal__error{background:var(--color-error-bg);color:var(--color-error-text)}.live-score-modal__notice{background:var(--color-brand-light);color:var(--color-brand-hover)}.live-score-modal__warning{background:var(--color-warning-bg);color:var(--color-warning-text);margin-left:0;margin-right:0}.live-score-modal__warning p{margin:0 0 8px}.live-score-modal__warning label{align-items:center;gap:6px;font-size:13px;display:flex}.live-score-modal__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.spinner-wrapper{color:var(--color-text-muted);flex-direction:column;align-items:center;gap:10px;padding:24px 0;font-size:14px;display:flex}.spinner{border:3px solid var(--color-border);border-top-color:var(--color-brand);border-radius:50%;animation:.7s linear infinite spinner-spin;display:inline-block}.spinner--sm{border-width:2px;width:18px;height:18px}.spinner--md{width:32px;height:32px}.spinner--lg{border-width:4px;width:48px;height:48px}.spinner-label{font-size:13px}@keyframes spinner-spin{to{transform:rotate(360deg)}}.home-page{flex-direction:column;padding-bottom:56px;display:flex}.home-hero{order:1}.home-stats{order:2}.home-personal{order:3}.home-main{order:4}.home-hero__inner{grid-template-columns:minmax(0,1fr) 440px;align-items:center;gap:56px;min-height:520px;padding-top:48px;padding-bottom:48px;display:grid}.home-hero__text{flex-direction:column;gap:24px;min-width:0;display:flex}.home-hero__title{flex-direction:column;margin:0;font-size:clamp(3rem,6.4vw,6rem);font-weight:800;line-height:.92;display:flex}.home-hero__sports{flex-direction:column;align-self:flex-start;gap:6px;display:inline-flex}.home-hero__bar{gap:4px;height:8px}.home-hero__legend{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.home-hero__legend li{color:#e3eaf5;background:#ffffff14;border-radius:4px;align-items:center;gap:8px;padding:6px 12px;font-size:15px;font-weight:600;display:inline-flex}.home-hero__tagline{color:#d5deec;max-width:560px;margin:0;font-size:19px;line-height:1.5}.home-hero__cta{flex-wrap:wrap;gap:14px;display:flex}.home-hero__btn{min-height:52px;padding:0 26px;font-size:17px;font-weight:700}.home-hero__btn--light,.home-hero__btn--light:hover{color:var(--color-navy);background:#fff}.home-hero__btn--light:hover{box-shadow:0 0 0 3px #ffffff4d}.home-hero__btn--ghost{color:#fff;background:0 0;box-shadow:inset 0 0 0 2px #fff}.home-hero__btn--ghost:hover{color:#fff;background:#ffffff1a}.home-hero__aside{min-width:0}.home-hero__empty{color:#d5deec;margin:0}.home-hero--member .home-hero__inner{min-height:0}.home-next-tournament{background:var(--color-surface);color:var(--color-text);border-radius:8px;overflow:hidden;box-shadow:0 24px 60px #030e2459}.home-next-tournament__head{background:var(--color-text-strong);color:var(--color-surface);font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;gap:12px;padding:14px 24px;font-size:16px;font-weight:700;display:flex}[data-theme=dark] .home-next-tournament__head{background:var(--color-surface-inset);color:var(--color-text-strong)}.home-next-tournament__open{color:#7fe3a1;white-space:nowrap}.home-next-tournament__body{gap:20px;padding:24px;display:flex}.home-next-tournament__info{flex-direction:column;gap:6px;min-width:0;display:flex}.home-next-tournament__name{overflow-wrap:anywhere;margin:0;font-size:28px;line-height:1.05}.home-next-tournament__meta{color:var(--color-text-muted);margin:0;font-size:15px}.home-next-tournament__events{flex-wrap:wrap;gap:6px;margin:6px 0 0;padding:0;list-style:none;display:flex}.home-next-tournament__events li{background:var(--color-brand-light);color:var(--color-brand);border-radius:4px;padding:3px 10px;font-size:13px;font-weight:600}.home-next-tournament__actions{gap:12px;padding:0 24px 24px;display:flex}.home-next-tournament__actions .btn{justify-content:center;min-height:48px;font-size:16px}.home-next-tournament__actions .btn-primary{flex:1}.home-stats{background:var(--color-surface);border-bottom:1px solid var(--color-border)}.home-stats__inner{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:0;margin-bottom:0;display:grid}.home-stats__item{flex-direction:column-reverse;justify-content:flex-end;gap:2px;padding:26px 24px 26px 0;display:flex}.home-stats__item+.home-stats__item{border-left:1px solid var(--color-border);padding-left:28px}.home-stats__value{font-family:var(--font-display);color:var(--color-brand);font-variant-numeric:tabular-nums;margin:0;font-size:46px;font-style:italic;font-weight:800;line-height:1}.home-stats__label{color:var(--color-text-muted);font-size:15px}.home-personal{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:32px;display:grid}.home-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.home-card__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.home-card__title{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);margin:0;font-size:16px;font-style:normal;font-weight:700}.home-card__body{padding:18px 20px}.home-profile{background:var(--color-navy);border-color:var(--color-navy);color:var(--color-on-navy);justify-content:space-between;align-items:center;gap:16px;padding:20px;display:flex}[data-theme=dark] .home-profile{border-color:var(--color-border)}.home-profile--link{text-decoration:none;transition:box-shadow .15s}.home-profile--link:hover{color:var(--color-on-navy);box-shadow:0 0 0 3px var(--color-brand-soft)}.home-profile__left{align-items:center;gap:14px;min-width:0;display:flex}.home-profile__avatar{background:var(--color-brand);width:52px;height:52px;color:var(--color-text-on-brand);font-family:var(--font-display);border-radius:6px;flex:none;justify-content:center;align-items:center;font-size:26px;font-weight:700;display:flex}[data-theme=dark] .home-profile__avatar{color:var(--color-text-on-brand)}.home-profile__info{flex-direction:column;min-width:0;display:flex}.home-profile__name{font-family:var(--font-display);font-size:22px;font-weight:700;line-height:1.1}.home-profile__email{color:var(--color-on-navy-muted);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.home-profile__points{text-align:right;flex-direction:column;align-items:flex-end;display:flex}.home-profile__points-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:34px;font-style:italic;font-weight:800;line-height:1}.home-profile__points-label{color:var(--color-on-navy-muted);font-size:13px}.home-live__empty{color:var(--color-text-muted);margin:0;font-size:15px}.home-live__card{flex-direction:column;gap:6px;display:flex}.home-live__tournament{color:var(--color-text-strong);font-size:17px;font-weight:700;text-decoration:none}.home-live__tournament:hover{color:var(--color-brand);text-decoration:underline}.home-live__meta{color:var(--color-text-muted);margin:0;font-size:14px}.home-live__score{background:var(--color-surface-inset);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;padding:10px 12px;display:flex}.home-live__player{overflow-wrap:anywhere;flex:1;min-width:0;font-size:15px;font-weight:600}.home-live__player--right{text-align:right}.home-live__tally{font-family:var(--font-display);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:26px;font-weight:800}.home-live__sets{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.home-live__sets li{background:var(--sport-bg);color:var(--sport-ink);border-radius:4px;align-items:baseline;gap:6px;padding:4px 8px;font-size:13px;display:flex}.home-live__set-name{font-weight:600}.home-live__set-score{font-variant-numeric:tabular-nums;font-weight:700}.home-live__hint{color:var(--color-warning-text);background:var(--color-warning-bg);border-radius:6px;margin:4px 0 0;padding:8px 10px;font-size:14px}.home-live__cta{align-self:flex-start;min-height:44px;margin-top:10px}.home-live__when{margin:4px 0 0;font-size:15px}.home-live__planned{color:var(--color-text-muted);font-size:14px}.home-live__facts{grid-template-columns:auto 1fr;align-items:baseline;gap:4px 12px;margin:8px 0 0;font-size:15px;display:grid}.home-live__facts dt{color:var(--color-text-muted);font-size:14px}.home-live__facts dd{overflow-wrap:anywhere;min-width:0;margin:0}.home-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:48px;display:grid}.home-section{flex-direction:column;gap:16px;min-width:0;display:flex}.home-section__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.home-section__link{font-size:15px;font-weight:600}.home-subtitle{letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);margin:16px 0 0;font-size:16px}.home-empty{color:var(--color-text-muted);margin:0}.home-tops{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.home-top{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;min-width:0;overflow:hidden}.home-top__title{border-bottom:1px solid var(--color-border);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);margin:0;padding:12px 20px;font-size:16px}.home-top__list{margin:0;padding:0;list-style:none}.home-top__row{align-items:center;gap:14px;padding:11px 20px;display:flex}.home-top__row+.home-top__row{border-top:1px solid var(--color-border)}.home-top__rank{width:26px;font-family:var(--font-display);color:var(--color-brand);flex:none;font-size:24px;font-style:italic;font-weight:800;line-height:1}.home-top__name{min-width:0;color:var(--color-text-strong);overflow-wrap:anywhere;flex:1;font-weight:500}.home-top__name:hover{color:var(--color-brand)}.home-top__pts{font-variant-numeric:tabular-nums;font-weight:600}.home-top__row--first{background:var(--color-navy);color:var(--color-on-navy);padding-top:14px;padding-bottom:14px}.home-top__row--first .home-top__rank{color:var(--color-on-navy-muted);font-size:38px;font-weight:800}.home-top__row--first .home-top__name{color:var(--color-on-navy);font-weight:600}.home-top__row--first .home-top__pts{font-family:var(--font-display);font-size:22px;font-weight:700}.home-results{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;margin:0;padding:0;list-style:none;overflow:hidden}.home-results li+li{border-top:1px solid var(--color-border)}.home-result{color:var(--color-text-strong);align-items:center;gap:20px;padding:16px 20px;text-decoration:none;transition:background .15s;display:flex}.home-result:hover{background:var(--color-surface-alt);color:var(--color-text-strong)}.home-result__date{width:104px;font-family:var(--font-display);letter-spacing:.04em;color:var(--color-brand);flex-direction:column;flex:none;gap:6px;font-size:18px;font-weight:700;display:flex}.home-result__body{flex-direction:column;flex:1;min-width:0;display:flex}.home-result__name{overflow-wrap:anywhere;font-size:17px;font-weight:600}.home-result__meta{color:var(--color-text-muted);font-size:14px}.home-result__cta{color:var(--color-brand);flex:none;font-size:15px;font-weight:600}@media (width<=1100px){.home-main{grid-template-columns:minmax(0,1fr)}}@media (width<=900px){.home-hero__inner{grid-template-columns:minmax(0,1fr);gap:32px;min-height:0;padding-top:40px;padding-bottom:40px}}@media (width<=700px){.home-personal{order:0;grid-template-columns:minmax(0,1fr);margin-top:16px;margin-bottom:16px}.home-stats__inner{grid-template-columns:repeat(2,minmax(0,1fr))}.home-stats__item,.home-stats__item+.home-stats__item{border-left:0;padding:18px 12px 18px 0}.home-stats__value{font-size:36px}.home-tops{grid-template-columns:minmax(0,1fr)}.home-main{margin-top:32px}}@media (width<=480px){.home-hero__inner{padding-top:28px;padding-bottom:32px}.home-hero__tagline{font-size:17px}.home-hero__cta{flex-direction:column;gap:10px}.home-hero__btn{justify-content:center;min-height:48px;padding:0 16px;font-size:16px}.home-next-tournament__head{flex-wrap:wrap;row-gap:4px;padding:12px 18px;font-size:14px}.home-next-tournament__body{gap:14px;padding:18px}.home-next-tournament__name{font-size:24px}.home-next-tournament__actions{padding:0 18px 18px}.home-profile{flex-wrap:wrap}.home-result{flex-wrap:wrap;gap:4px 12px;padding:14px 16px}.home-result__date{flex-basis:100%;width:auto;font-size:16px}.home-result__cta{display:none}.home-live__cta{justify-content:center;align-self:stretch}}.login-container{justify-content:center;align-items:center;width:100%;min-height:100%;padding:20px;display:flex}.login-card{background:var(--color-surface);border-radius:12px;width:100%;max-width:400px;padding:40px;box-shadow:0 10px 40px #0000001a}.login-card h1{color:var(--color-text);margin:0 0 8px;font-size:28px;font-weight:600}.form-group input{border:1px solid var(--color-border);box-sizing:border-box;border-radius:6px;width:100%;padding:12px;font-size:16px;transition:border-color .2s}.form-group input:focus{border-color:var(--color-brand);outline:none}.submit-button{background:var(--color-brand);width:100%;color:var(--color-text-on-brand);cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;gap:8px;margin-top:8px;padding:14px;font-size:16px;font-weight:600;transition:opacity .2s;display:inline-flex}.back-inline-link{align-items:center;gap:4px;display:inline-flex}.register-link{text-align:center;color:var(--color-text-muted);margin-top:24px;font-size:14px}.register-link a{color:var(--color-brand);font-weight:500;text-decoration:none}.register-link a:hover{text-decoration:underline}.login-divider{color:var(--color-text-muted);align-items:center;gap:12px;margin:20px 0;font-size:13px;display:flex}.login-divider:before,.login-divider:after{content:"";background:#e5e7eb;flex:1;height:1px}.google-button{background:var(--color-surface);width:100%;color:var(--color-text);border:1px solid var(--color-border);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:10px;padding:12px;font-size:15px;font-weight:500;transition:background .2s,border-color .2s;display:flex}.google-button:hover:not(:disabled){background:var(--color-surface-alt);border-color:#bbb}.google-button:disabled{opacity:.6;cursor:not-allowed}.google-button svg{flex-shrink:0}.subtitle{color:var(--color-text-muted);margin:0 0 24px;font-size:14px}.error-message{background:var(--color-error-bg);color:#dc2626;border-radius:6px;margin-bottom:16px;padding:12px;font-size:14px}.totp-hint{color:var(--color-text-muted);margin:8px 0 16px;font-size:13px}.back-link{color:var(--color-brand);cursor:pointer;text-align:center;background:0 0;border:none;margin-top:16px;padding:0;font-size:14px;display:block}.back-link:hover{text-decoration:underline}.forgot-password-link{text-align:right;margin-top:-10px;margin-bottom:16px;font-size:13px}.forgot-password-link a{color:var(--color-brand);text-decoration:none}.forgot-password-link a:hover{text-decoration:underline}.success-message{background:var(--color-success-bg);color:var(--color-success-text);border-radius:6px;margin-bottom:16px;padding:10px 14px;font-size:14px}@media (width<=480px){.login-card{padding:20px var(--card-padding)}}.register-container{justify-content:center;align-items:center;width:100%;min-height:100%;padding:20px;display:flex}.register-card{background:var(--color-surface);border-radius:12px;width:100%;max-width:600px;padding:40px;box-shadow:0 10px 40px #0000001a}.register-card h1{color:var(--color-text);margin:0 0 8px;font-size:28px;font-weight:600}.form-group{margin-bottom:20px}.form-group label{color:var(--color-text);margin-bottom:8px;font-size:14px;font-weight:500;display:block}.form-group input,.form-group select{border:1px solid var(--color-border);box-sizing:border-box;border-radius:6px;width:100%;padding:12px;font-size:16px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:var(--color-brand);outline:none}.form-group small{color:var(--color-text-muted);margin-top:4px;font-size:12px;display:block}.submit-button{background:var(--color-brand);width:100%;color:var(--color-text-on-brand);cursor:pointer;border:none;border-radius:6px;margin-top:8px;padding:14px;font-size:16px;font-weight:600;transition:opacity .2s}.submit-button:hover:not(:disabled){opacity:.9}.submit-button:disabled{opacity:.6;cursor:not-allowed}.login-link{text-align:center;color:var(--color-text-muted);margin-top:24px;font-size:14px}.login-link a{color:var(--color-brand);font-weight:500;text-decoration:none}.login-link a:hover{text-decoration:underline}@media (width<=480px){.register-card{padding:20px var(--card-padding)}}.rankings-page{padding-bottom:56px}.rankings-band .page-container{padding-top:40px}.rankings-band__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.rankings-band__titles{flex-direction:column;gap:10px;min-width:0;display:flex}.rankings-band__period{margin:0}.rankings-band__title{margin:0;font-size:clamp(2.5rem,6vw,5rem);line-height:.92}.rankings-month{color:#d5deec;letter-spacing:.08em;text-transform:uppercase;flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.rankings-month__select{color:#0e1726;min-width:220px;min-height:48px;font:inherit;letter-spacing:0;text-transform:none;cursor:pointer;background:#fff;border:0;border-radius:6px;padding:0 14px;font-size:16px;font-weight:600}.rankings-month__select:focus-visible{outline:3px solid var(--color-on-navy-muted);outline-offset:2px}[data-theme=dark] .rankings-month__select{color:#0e1726;color-scheme:light;background:#fff}.rankings-band__tabs{margin-top:32px}.rankings-body{flex-direction:column;gap:20px;padding-top:28px;display:flex}.rankings-filters{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.rankings-age-tabs{flex-wrap:wrap;gap:6px;display:flex}.rankings-search{align-items:center;width:300px;max-width:100%;margin-left:auto;display:flex;position:relative}.rankings-search__icon{color:var(--color-text-muted);pointer-events:none;position:absolute;left:14px}.rankings-search__input{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:44px;color:var(--color-text-strong);font:inherit;box-sizing:border-box;border-radius:6px;padding:0 40px 0 42px;font-size:15px}.rankings-search__input:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-brand-light);outline:none}.rankings-search__clear{width:36px;height:36px;color:var(--color-text-muted);background:0 0;border:0;padding:0;font-size:22px;line-height:1;position:absolute;right:4px}.rankings-search__clear:hover{color:var(--color-text-strong)}.rankings-count{color:var(--color-text-muted);margin:0;font-size:15px}.rankings-podium{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.rankings-podium__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;flex-direction:column;gap:12px;min-width:0;padding:22px 26px;display:flex;position:relative;overflow:hidden}.rankings-podium__big{font-family:var(--font-display);color:var(--color-surface-inset);pointer-events:none;font-size:150px;font-style:italic;font-weight:800;line-height:1;position:absolute;top:-20px;right:14px}.rankings-podium__card>:not(.rankings-podium__big){position:relative}.rankings-podium__rank{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted);font-size:15px;font-weight:700}.rankings-podium__name{font-family:var(--font-display);overflow-wrap:anywhere;font-size:30px;font-weight:700;line-height:1}.rankings-podium__name .rankings-player-link{color:var(--color-text-strong)}.rankings-podium__pts{font-family:var(--font-display);color:var(--color-brand);font-variant-numeric:tabular-nums;font-size:42px;font-style:italic;font-weight:800;line-height:1}.rankings-podium__pts small{color:var(--color-text-muted);font-size:20px}.rankings-podium__levels{flex-wrap:wrap;gap:6px;display:flex}.rankings-podium__card--first{background:var(--color-navy);border-color:var(--color-navy);color:var(--color-on-navy)}.rankings-podium__card--first .rankings-podium__big{color:#0f2f66}.rankings-podium__card--first .rankings-podium__rank,.rankings-podium__card--first .rankings-podium__pts small{color:var(--color-on-navy-muted)}.rankings-podium__card--first .rankings-podium__name .rankings-player-link,.rankings-podium__card--first .rankings-podium__pts{color:var(--color-on-navy)}.rankings-podium__card--me{box-shadow:0 0 0 3px var(--color-brand)}.rankings-table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.rankings-table{border-collapse:collapse;width:100%}.rankings-table thead th{background:var(--color-text-strong);color:var(--color-surface);font-family:var(--font-display);letter-spacing:.1em;text-align:left;text-transform:uppercase;white-space:nowrap;padding:13px 8px;font-size:15px;font-weight:700}[data-theme=dark] .rankings-table thead th{background:var(--color-surface-inset);color:var(--color-text-strong)}.rankings-table thead th:first-child,.rankings-table td:first-child{padding-left:20px}.rankings-table thead th:last-child,.rankings-table td:last-child{padding-right:20px}.rankings-table__row{cursor:pointer;transition:background .12s}.rankings-table__row:hover{background:var(--color-surface-alt)}.rankings-table__row:focus-visible{outline:2px solid var(--color-brand);outline-offset:-2px}.rankings-table__row td{border-top:1px solid var(--color-border);padding:11px 8px;font-size:16px}.rankings-table__row--me,.rankings-table__row--me:hover{background:var(--color-brand-light)}.rankings-table__rank{width:64px}.rankings-table__row td.rankings-table__rank{font-family:var(--font-display);color:var(--color-brand);font-size:24px;font-style:italic;font-weight:800;line-height:1}.rankings-table__delta{white-space:nowrap;width:72px}.rankings-delta--up{color:var(--color-up);font-weight:700}.rankings-delta--down{color:var(--color-down);font-weight:700}.rankings-delta--flat{color:var(--color-text-muted)}.rankings-table__player{overflow-wrap:anywhere;font-weight:600}.rankings-me{background:var(--color-brand);color:var(--color-text-on-brand);text-transform:uppercase;vertical-align:1px;border-radius:4px;margin-left:8px;padding:1px 8px;font-size:12px;font-weight:700;display:inline-block}.rankings-table__level{text-align:center;width:68px}.rankings-table thead th.rankings-table__level{text-align:center}.rankings-table__level-head{align-items:center;gap:6px;display:inline-flex}.rankings-level--empty{color:var(--color-text-muted)}.rankings-table__pts{text-align:right;width:120px}.rankings-table thead th.rankings-table__pts{text-align:right}.rankings-table__row td.rankings-table__pts{font-variant-numeric:tabular-nums;font-weight:700}.rankings-player-link{color:var(--color-text-strong);text-decoration:none}.rankings-player-link:hover{color:var(--color-brand);text-decoration:underline}.rankings-loading,.rankings-empty{text-align:center;color:var(--color-text-muted);padding:40px 0}.rankings-pagination{justify-content:center;align-items:center;gap:16px;display:flex}.rankings-pagination__btn{border:1px solid var(--color-border);background:var(--color-surface);width:44px;height:44px;color:var(--color-text-strong);border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.rankings-pagination__btn:hover:not(:disabled){border-color:var(--color-brand);color:var(--color-brand)}.rankings-pagination__btn:disabled{opacity:.4;cursor:not-allowed}.rankings-pagination__info{font-variant-numeric:tabular-nums;font-weight:600}@media (width<=900px){.rankings-podium{grid-template-columns:minmax(0,1fr)}.rankings-podium__big{font-size:110px;top:-12px}.rankings-search{width:100%;margin-left:0}}@media (width<=700px){.rankings-table__level{display:none}}@media (width<=480px){.rankings-band .page-container{padding-top:28px}.rankings-band__head{gap:16px}.rankings-month,.rankings-month__select{width:100%}.rankings-band__tabs{margin-top:20px}.segmented{width:100%}.segmented__btn{flex:1;justify-content:center;padding:0 10px}.rankings-podium__card{padding:18px 20px}.rankings-podium__name{font-size:26px}.rankings-podium__pts{font-size:36px}.rankings-table thead th:first-child,.rankings-table td:first-child{padding-left:12px}.rankings-table thead th:last-child,.rankings-table td:last-child{padding-right:12px}.rankings-table__row td{font-size:15px}.rankings-table__rank{width:44px}.rankings-table__delta{width:52px}.rankings-table__pts{width:76px}}.monthly-rank-chart-wrapper{width:100%;overflow-x:auto}.monthly-rank-chart-svg{width:100%;max-width:520px;height:auto;display:block}.sport-stats-chart-wrapper{gap:var(--space-2);flex-direction:column;display:flex}.sport-stats-chart-svg{width:100%;max-width:480px;height:auto;display:block}.sport-stats-chart-legend{gap:var(--space-4);color:var(--color-text-muted);font-size:.75rem;display:flex}.sport-stats-legend-win:before{content:"";vertical-align:middle;background:#22c55e;border-radius:2px;width:10px;height:10px;margin-right:4px;display:inline-block}.sport-stats-legend-loss:before{content:"";vertical-align:middle;background:#ef4444;border-radius:2px;width:10px;height:10px;margin-right:4px;display:inline-block}.player-profile-page{padding-bottom:56px}.player-profile-band .page-container{padding-top:36px}.player-profile-header{align-items:center;gap:24px;display:flex}.player-profile-avatar,.player-profile-avatar-placeholder{border-radius:8px;flex-shrink:0;width:96px;height:96px}.player-profile-avatar{object-fit:cover;box-shadow:0 0 0 3px #ffffff26}.player-profile-avatar-placeholder{background:var(--color-brand);color:var(--color-text-on-brand);font-family:var(--font-display);justify-content:center;align-items:center;font-size:40px;font-weight:700;display:flex}[data-theme=dark] .player-profile-avatar-placeholder{color:var(--color-text-on-brand)}.player-profile-identity{flex-direction:column;gap:16px;min-width:0;display:flex}.player-profile-name{overflow-wrap:anywhere;align-items:center;gap:12px;margin:0;font-size:clamp(2.25rem,5vw,4rem);line-height:.95;display:flex}.player-profile-points{flex-wrap:wrap;gap:8px;margin:0;display:flex}.player-profile-points__tile{background:#ffffff14;border-radius:6px;flex-direction:column-reverse;padding:8px 14px;display:flex}.player-profile-points__tile dt{color:var(--color-on-navy-muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:600}.player-profile-points__tile dd{font-family:var(--font-display);color:#fff;font-variant-numeric:tabular-nums;margin:0;font-size:26px;font-style:italic;font-weight:800;line-height:1.1}.player-profile-points__tile dd small{color:var(--color-on-navy-muted);font-size:15px}.player-profile-points__tile--fir{background:0 0;box-shadow:inset 0 0 0 1px #fff3}.player-profile-tabs{margin-top:28px}@media (width<=600px){.player-profile-band .page-container{padding-top:24px}.player-profile-header{align-items:flex-start;gap:14px}.player-profile-avatar,.player-profile-avatar-placeholder{width:64px;height:64px;font-size:26px}.player-profile-name{font-size:2rem}.player-profile-points{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.player-profile-points__tile{padding:6px 10px}.player-profile-points__tile dd{font-size:21px}.player-profile-tabs{margin-top:20px}}.player-profile-card{flex-direction:column;gap:2rem;padding-top:32px;display:flex}.player-profile-section h2{text-transform:uppercase;color:var(--color-text-strong);margin:0 0 1rem;font-size:1.75rem;font-style:italic;font-weight:800;line-height:1.05}.player-profile-empty{color:var(--color-text-muted);margin:0;font-style:italic}.player-profile-fill-rankings{margin-top:1rem}.sport-ranking-bars{flex-direction:column;gap:1.1rem;display:flex}.sport-ranking-bar{flex-direction:column;gap:.4rem;display:flex}.sport-ranking-bar__header{align-items:center;gap:.5rem;display:flex}.sport-ranking-bar__emoji{flex-shrink:0;font-size:1.1rem;line-height:1}.sport-ranking-bar__label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);flex:1;font-size:.78rem;font-weight:600}.sport-ranking-bar__value{color:var(--color-text-strong);text-align:right;min-width:44px;font-size:.95rem;font-weight:700}.sport-ranking-bar__value--empty{color:var(--color-text-muted);font-weight:500}.sport-ranking-bar__track{background:var(--color-border);border-radius:5px;height:10px;overflow:hidden}.sport-ranking-bar__fill{background:var(--sport);border-radius:5px;min-width:3px;height:100%;transition:width .5s}.national-ranking-grid{flex-wrap:wrap;gap:1rem;display:flex}.national-ranking-card{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md,8px);flex-direction:column;flex:1;align-items:center;min-width:100px;padding:.75rem 1.25rem;display:flex}.national-ranking-card--link{color:inherit;cursor:pointer;text-decoration:none;transition:border-color .15s,box-shadow .15s}.national-ranking-card--link:hover{border-color:var(--color-primary,#004aad);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-primary,#004aad) 15%, transparent)}.national-ranking-card-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:.4rem;font-size:.75rem;font-weight:600}.national-ranking-rank{font-family:var(--font-display);color:var(--color-brand);font-size:2.25rem;font-style:italic;font-weight:800;line-height:1}.national-ranking-pts{color:var(--color-text-muted);margin-top:.3rem;font-size:.78rem}.player-profile-stats-grid{flex-wrap:wrap;gap:1rem;margin-bottom:1rem;display:flex}.stat-box{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md,8px);flex-direction:column;align-items:center;min-width:90px;padding:.75rem 1.25rem;display:flex}.stat-box--clickable{cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.stat-box--clickable:hover{border-color:var(--color-primary,#004aad);transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.stat-box--clickable:focus-visible{outline:2px solid var(--color-primary,#004aad);outline-offset:2px}.stat-value{font-family:var(--font-display);color:var(--color-text-strong);font-variant-numeric:tabular-nums;font-size:2.1rem;font-style:italic;font-weight:800;line-height:1}.stat-label{color:var(--color-text-muted);text-align:center;margin-top:.25rem;font-size:.75rem}.player-profile-category-stats{flex-direction:column;gap:.35rem;display:flex}.category-stat-row{gap:.75rem;font-size:.9rem;display:flex}.category-stat-label{min-width:70px;font-weight:600}.category-stat-detail{color:var(--color-text-muted)}.player-profile-sport-ranks{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;display:grid}.sport-rank-item{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md,8px);flex-direction:column;gap:.15rem;padding:.6rem .9rem;display:flex}.sport-rank-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem}.sport-rank-value{font-size:1.1rem;font-weight:700}.player-profile-podiums{flex-direction:column;gap:.6rem;display:flex}.podium-item{border-radius:var(--radius-md,8px);background:var(--color-surface-alt);border:1px solid var(--color-border);align-items:flex-start;gap:.75rem;padding:.65rem .9rem;display:flex}.podium-pos-1,.results-position.pos-1{--medal:#a67c00}.podium-pos-2,.results-position.pos-2{--medal:#7a8494}.podium-pos-3,.results-position.pos-3{--medal:#9a5f2e}.podium-item{border-left:4px solid var(--medal,var(--color-border))}.podium-medal{width:1.4em;font-family:var(--font-display);color:var(--medal,var(--color-brand));flex-shrink:0;font-size:2rem;font-style:italic;font-weight:800;line-height:1}.podium-details{flex-direction:column;gap:.1rem;min-width:0;display:flex}.podium-place{font-size:.9rem;font-weight:700}.podium-event{color:var(--color-text-muted);font-size:.8rem}.podium-tournament{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:500;overflow:hidden}.podium-bracket{color:var(--color-text-muted);font-size:.78rem}.player-profile-history{flex-direction:column;gap:1.25rem;display:flex}.history-event-type h3{color:var(--color-primary,#004aad);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .6rem;font-size:.95rem;font-weight:600}.history-year h4{color:var(--color-text-muted);margin:.75rem 0 .4rem;font-size:.85rem;font-weight:600}.history-tournament{border:1px solid var(--color-border);border-radius:var(--radius-md,8px);margin-bottom:.4rem;overflow:hidden}.history-tournament-header{background:var(--color-surface-alt);cursor:pointer;text-align:left;border:none;align-items:center;gap:.5rem;width:100%;padding:.6rem .9rem;font-size:.88rem;display:flex}.history-tournament-name{overflow-wrap:anywhere;flex:1;min-width:0;font-weight:500}.history-tournament-summary{color:var(--color-text-muted);white-space:nowrap;font-size:.8rem}.history-chevron{color:var(--color-text-muted);flex-shrink:0;font-size:.65rem}.history-matches-list{border-top:1px solid var(--color-border);margin:0;padding:0;list-style:none}.history-bracket-tree-link{color:var(--color-primary,#004aad);align-items:center;gap:4px;margin:8px 12px 4px;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.history-bracket-tree-link:hover{text-decoration:underline}.history-match{border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:.15rem .5rem;padding:.45rem .9rem;font-size:.85rem;display:flex}.history-match:last-child{border-bottom:none}.match-result-badge{border-radius:var(--radius-pill,999px);white-space:nowrap;padding:.15rem .45rem;font-size:.72rem;font-weight:600}.history-match.won .match-result-badge{background:var(--color-success-bg);color:var(--color-success-text)}.history-match.lost .match-result-badge{background:var(--color-error-bg);color:var(--color-error-text)}.match-round{color:var(--color-text-muted);white-space:nowrap;font-size:.8rem}.match-opponent{overflow-wrap:anywhere;flex:1;min-width:0}.match-opponent-link{color:var(--color-primary);text-decoration:none}.match-opponent-link:hover{text-decoration:underline}.match-score{color:var(--color-text-muted);white-space:nowrap;flex-basis:100%;font-family:monospace;font-size:.78rem}.match-score-wo{letter-spacing:.03em;border-radius:var(--radius-pill,999px);background:var(--color-surface-inset);cursor:help;flex-basis:auto;padding:.1rem .4rem;font-family:inherit;font-weight:600}.rank-chart-tabs{gap:.4rem;margin-bottom:.75rem;display:flex}.rank-chart-tab{border-radius:var(--radius-pill,999px);border:1px solid var(--color-border);background:var(--color-surface-alt);cursor:pointer;color:var(--color-text-muted);padding:.25rem .75rem;font-size:.82rem;font-weight:500;transition:background .15s,color .15s}.rank-chart-tab.active{background:var(--color-primary,#004aad);color:var(--color-text-on-brand);border-color:var(--color-primary,#004aad)}.intl-add-btn{border-radius:var(--radius-pill,999px);background:var(--color-brand-light);color:var(--color-primary,#004aad);border:1px solid var(--color-primary,#004aad);cursor:pointer;white-space:nowrap;padding:.3rem .8rem;font-size:.8rem;font-weight:600;transition:background .15s}.intl-add-btn:hover{background:var(--color-primary,#004aad);color:var(--color-text-on-brand)}.podium-item--intl{border-color:var(--color-primary,#004aad);background:var(--color-brand-light)}.podium-intl-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary,#004aad);background:var(--color-surface);border:1px solid var(--color-primary,#004aad);border-radius:var(--radius-4,4px);padding:.05rem .35rem;font-size:.7rem;font-weight:700;display:inline-block}.intl-results-list{flex-direction:column;gap:.5rem;display:flex}.intl-result-item{border-radius:var(--radius-md,8px);background:var(--color-brand-light);border:1px solid var(--color-primary,#004aad);align-items:flex-start;gap:.75rem;padding:.65rem .9rem;display:flex}.intl-result-medal{flex-shrink:0;font-size:1.4rem}.intl-result-details{flex-direction:column;gap:.1rem;min-width:0;display:flex}.intl-result-name{font-size:.9rem;font-weight:700}.intl-result-meta{color:var(--color-text-muted);font-size:.8rem}.intl-result-pts{color:var(--color-primary,#004aad);font-size:.82rem;font-weight:600}.results-filters{flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem 1.5rem 0;display:flex}.results-filter-chips{flex-wrap:wrap;gap:.35rem;display:flex}.results-filter-chip{border-radius:var(--radius-pill,999px);border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;color:var(--color-text-muted);padding:.3rem .75rem;font-size:.82rem;font-weight:500;transition:background .12s,color .12s,border-color .12s}.results-filter-chip:hover{border-color:var(--color-primary,#004aad);color:var(--color-primary,#004aad)}.results-filter-chip.active{background:var(--color-primary,#004aad);border-color:var(--color-primary,#004aad);color:var(--color-text-on-brand)}.results-filter-right{flex-wrap:wrap;align-items:center;gap:.75rem;margin-left:auto;display:flex}.results-filter-year{border-radius:var(--radius-6,6px);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;padding:.3rem .5rem;font-size:.82rem}.results-filter-podiums{color:var(--color-text-muted);cursor:pointer;user-select:none;align-items:center;gap:.35rem;font-size:.82rem;display:flex}.results-filter-podiums input[type=checkbox]{cursor:pointer;accent-color:var(--color-primary,#004aad)}.results-period-hint{color:var(--color-text-muted);margin:.5rem 1.5rem 0;font-size:.8rem;font-style:italic}.results-event-header{align-items:baseline;gap:.75rem;margin-bottom:.5rem;display:flex}.results-event-header h2{margin:0}.results-event-total{color:var(--color-primary,#004aad);background:var(--color-brand-light);border:1px solid var(--color-primary,#004aad);border-radius:var(--radius-pill,999px);white-space:nowrap;padding:.1rem .55rem;font-size:.85rem;font-weight:600}.results-date{white-space:nowrap;color:var(--color-text-muted);font-size:.82rem}.results-table{border-collapse:collapse;width:100%;font-size:.875rem}.results-table th{text-align:left;border-bottom:2px solid var(--color-border);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;padding:.4rem .6rem;font-size:.75rem;font-weight:600}.results-table td{border-bottom:1px solid var(--color-border);vertical-align:middle;padding:.5rem .6rem}.results-table tr:last-child td{border-bottom:none}.results-tournament-name{font-weight:500}.results-bracket-name{color:var(--color-text-muted);font-size:.82rem}.results-intl-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--color-primary,#004aad);background:var(--color-brand-light);border:1px solid var(--color-primary,#004aad);border-radius:var(--radius-4,4px);vertical-align:middle;margin-left:.3rem;padding:.05rem .35rem;font-size:.7rem;font-weight:700;display:inline-block}.results-position{font-weight:600}.results-position.pos-top3{font-family:var(--font-display);color:var(--medal);font-size:1.35rem;font-style:italic;font-weight:800}.results-points{color:var(--color-primary,#004aad);white-space:nowrap;font-weight:600}.results-top8-star{color:#f59e0b;vertical-align:middle;cursor:default;margin-left:.3rem;font-size:.8rem}@media (width<=480px){.player-profile-stats-grid{gap:.6rem}.stat-box{padding:.6rem .9rem}.results-table,.sport-stats-table,.partners-table{display:block;overflow-x:auto}.results-table{font-size:.8rem}.results-table th,.results-table td{padding:.4rem .35rem}.profile-tab{padding:.4rem .75rem;font-size:.85rem}}.partners-table{border-collapse:collapse;width:100%;font-size:.88rem}.partners-table th,.partners-table td{border-bottom:1px solid var(--color-border);text-align:left;padding:.5rem .75rem}.partners-table th{color:var(--color-text-muted);font-size:.8rem;font-weight:500}.partner-link{color:var(--color-primary);font-weight:500;text-decoration:none}.partner-link:hover{text-decoration:underline}.sport-stats-table{border-collapse:collapse;width:100%;font-size:.875rem}.sport-stats-table th{text-align:left;border-bottom:2px solid var(--color-border);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;padding:.4rem .6rem;font-size:.75rem;font-weight:600}.sport-stats-table td{border-bottom:1px solid var(--color-border);vertical-align:middle;padding:.5rem .6rem}.sport-stats-table tr:last-child td{border-bottom:none}.sport-diff-positive{color:var(--color-up);font-weight:600}.sport-diff-negative{color:var(--color-down);font-weight:600}.pending-points-row{background:var(--color-surface-alt);border:1px dashed var(--color-border);border-radius:var(--radius-8,8px);cursor:help;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.75rem;padding:.5rem .75rem;font-size:.85rem;display:flex}.pending-points-label{color:var(--color-text-muted);font-weight:500}.pending-points-chip{background:var(--color-surface-inset);border:1px solid var(--color-border);border-radius:var(--radius-12,12px);color:var(--color-text);padding:.15rem .6rem;font-size:.8rem;font-weight:600}.profile-tab-badge-count{background:var(--color-brand);min-width:18px;height:18px;color:var(--color-text-on-brand);font-family:var(--font-body);border-radius:9px;justify-content:center;align-items:center;margin-left:8px;padding:0 5px;font-size:.7rem;font-style:normal;font-weight:700;line-height:1;display:inline-flex}.badges-grid{flex-wrap:wrap;gap:20px;padding:8px 0;display:flex}.badge-card{align-items:center;gap:var(--space-6,6px);cursor:pointer;border-radius:var(--radius-10,10px);flex-direction:column;width:110px;padding:8px 4px;text-decoration:none;transition:background .15s;display:flex}.badge-card:hover{background:var(--color-surface-inset)}.badge-card__img{filter:drop-shadow(0 4px 10px #0000002e);width:88px;height:88px;transition:transform .18s}.badge-card:hover .badge-card__img{transform:scale(1.08)}.badge-card__name{color:var(--color-text-strong);text-align:center;font-size:.82rem;font-weight:700}.badge-card__desc{color:var(--color-text-muted);text-align:center;font-size:.72rem;line-height:1.3}.player-profile-subsection{margin-top:2rem}.player-profile-ranking-month{color:var(--color-text-muted);font-size:.8em;font-weight:400}.profile-page{justify-content:center;width:100%;display:flex}.profile-card{background:var(--color-surface);padding:var(--card-padding);width:100%;max-width:800px;box-shadow:var(--shadow-card);border-radius:12px}.profile-tabs{border-bottom:2px solid var(--color-border);gap:4px;margin-bottom:24px;display:flex}.profile-tab-btn{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:6px 6px 0 0;margin-bottom:-2px;padding:8px 18px;font-size:14px;font-weight:500;transition:color .15s,border-color .15s}.profile-tab-btn:hover{color:var(--color-brand)}.profile-tab-btn.active{color:var(--color-brand);border-bottom-color:var(--color-brand);font-weight:600}.profile-loading{justify-content:center;padding:40px 0;display:flex}.profile-info-section{margin-bottom:24px}.profile-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.profile-item{background:var(--color-surface-inset);border-radius:8px;padding:12px}.profile-label{color:var(--color-text-muted);margin-bottom:4px;font-size:12px;display:block}.profile-value{color:var(--color-text);font-size:14px;font-weight:500}.profile-membership-badge{vertical-align:middle;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.profile-membership-badge.active{background:var(--color-brand-light);color:var(--color-brand-hover)}.profile-membership-badge.expired{color:var(--color-warning-text);background:#fefce8}.profile-membership-badge.none{background:var(--color-surface-inset);color:var(--color-text-muted)}.profile-section{border-top:1px solid var(--color-border);margin-top:24px;padding-top:16px}.profile-section h3{color:var(--color-text-strong);margin:0 0 12px}.profile-status{background:var(--color-surface-inset);color:var(--color-text);border-radius:6px;margin-bottom:16px;padding:10px 14px;font-size:13px}.profile-form{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.profile-form-group{flex-direction:column;gap:4px;display:flex}.profile-form-group label{color:var(--color-text-muted);font-size:13px;font-weight:500}.profile-form input,.profile-form select{border:1px solid var(--color-border-input);background:var(--color-surface);color:var(--color-text);box-sizing:border-box;border-radius:6px;width:100%;padding:8px}.profile-form input:focus-visible,.profile-form select:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.profile-form-actions{grid-column:1/-1}.profile-form-subtitle{grid-column:1/-1;margin:12px 0 0;font-size:14px;font-weight:600}.profile-form-hint{color:var(--color-text-muted);grid-column:1/-1;margin:0;font-size:13px}@media (width<=700px){.profile-grid{grid-template-columns:1fr}}.tournament-band .page-container{padding-top:36px}.tournament-band--no-tabs .page-container{padding-bottom:36px}.tournament-band__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 32px;display:flex}.tournament-band__titles{flex-direction:column;gap:10px;min-width:0;display:flex}.tournament-band__meta{margin:0}.tournament-band__title{overflow-wrap:anywhere;margin:0;font-size:clamp(2.25rem,5vw,4.25rem);line-height:.95}.tournament-band__links{flex-wrap:wrap;gap:8px;display:flex}.tournament-band__link{color:#fff;border-radius:6px;align-items:center;gap:6px;min-height:44px;padding:0 16px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff59}.tournament-band__link:hover{color:#fff;background:#ffffff1a;box-shadow:inset 0 0 0 1px #fff}.tournament-band__tabs{margin-top:28px}@media (width<=480px){.tournament-band .page-container{padding-top:24px}.tournament-band--no-tabs .page-container{padding-bottom:24px}.tournament-band__tabs{margin-top:20px}}.tournament-results-page{padding-bottom:56px}.tournament-results-body{flex-direction:column;gap:20px;padding-top:28px;display:flex}.results-bracket-title{margin-top:8px}.results-bracket{flex-direction:column;gap:16px;display:flex}.results-bracket__notes{flex-wrap:wrap;gap:8px;display:flex}.results-note{background:var(--color-surface-inset);color:var(--color-text-muted);border-radius:4px;padding:4px 10px;font-size:14px;font-weight:600;display:inline-block}.results-note--live{background:var(--color-warning-bg);color:var(--color-warning-text)}.results-note--sm{padding:1px 6px;font-size:12px}.results-empty{text-align:center;color:var(--color-text-muted);margin:0;padding:32px 0}.results-player-link{color:inherit;text-decoration:none}.results-player-link:hover{color:var(--color-brand);text-decoration:underline}.results-podium{--medal:var(--color-border-input);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.results-podium__card{background:var(--color-surface);border:1px solid var(--color-border);border-top:5px solid var(--medal);border-radius:8px;flex-direction:column;gap:10px;min-width:0;padding:20px 24px;display:flex}.results-podium__card--1{--medal:#a67c00}.results-podium__card--2{--medal:#7a8494}.results-podium__card--3{--medal:#9a5f2e}.results-podium__place{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);align-items:baseline;gap:10px;font-size:15px;font-weight:700;display:flex}.results-podium__num{letter-spacing:0;color:var(--medal);font-size:40px;font-style:italic;font-weight:800;line-height:.9}.results-podium__name{font-family:var(--font-display);color:var(--color-text-strong);overflow-wrap:anywhere;font-size:24px;font-weight:700;line-height:1.1}.results-podium__pts{color:var(--color-brand);font-variant-numeric:tabular-nums;font-weight:700}.results-tie{color:var(--color-text-muted)}.results-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;margin:0;padding:0;list-style:none;overflow:hidden}.results-list__row{align-items:center;gap:16px;padding:12px 20px;display:flex}.results-list__row+.results-list__row{border-top:1px solid var(--color-border)}.results-list__pos{width:40px;font-family:var(--font-display);color:var(--color-brand);flex:none;font-size:22px;font-style:italic;font-weight:800;line-height:1}.results-list__name{min-width:0;color:var(--color-text-strong);overflow-wrap:anywhere;flex:1;font-weight:500}.results-list__pts{color:var(--color-text-muted);font-variant-numeric:tabular-nums;flex:none;font-weight:600}@media (width<=480px){.results-podium{grid-template-columns:minmax(0,1fr)}.results-podium__card{padding:16px 18px}.results-podium__name{font-size:21px}.results-list__row{gap:10px;padding:12px 14px}.results-list__pos{width:30px}}.racketlon-bracket{--rkt-bg:#f8fafc;--rkt-border:#e2e8f0;--rkt-text:#1e293b;--rkt-muted:#64748b;--rkt-win:#0f766e;--rkt-win-bg:#ccfbf1;--rkt-loss:#b91c1c;--rkt-loss-bg:#fee2e2;--rkt-connector:#94a3b8;--rkt-round-title:#475569;--rkt-card:#fff;--rkt-head:#f8fafc;--rkt-row-h:100px;--rkt-grid-height:400px;--rkt-title-height:26px;color:var(--rkt-text);background:var(--rkt-bg);border-radius:12px;padding:20px;font-size:15px;overflow-x:auto}.racketlon-bracket__inner{min-height:var(--rkt-grid-height);flex-direction:row;align-items:stretch;gap:0;display:flex}.racketlon-bracket__connector-wrap{width:24px;min-width:24px;padding-top:var(--rkt-title-height);flex-shrink:0;align-items:stretch;display:flex}.racketlon-bracket__connector-wrap--spacer{width:32px;min-width:32px}.racketlon-bracket__connector{width:100%;height:100%}.racketlon-bracket__round{flex-direction:column;flex-shrink:0;min-width:200px;display:flex}.racketlon-bracket__round-title{text-transform:uppercase;letter-spacing:.08em;color:var(--rkt-round-title);border-bottom:2px solid var(--rkt-border);text-align:center;margin:0 0 8px;padding-bottom:4px;font-size:11px;font-weight:700}.racketlon-bracket__round-grid{min-height:var(--rkt-grid-height);flex:1;align-content:start;gap:8px;display:grid}.racketlon-bracket__match-wrap{flex-direction:column;align-items:stretch;gap:4px;min-height:0;display:flex}.racketlon-bracket__match-number{color:var(--rkt-muted);text-align:center;flex-shrink:0;font-size:11px;font-weight:600}.racketlon-bracket__match .racketlon-bracket__match-number{border-top:1px solid var(--rkt-border);margin-top:0;padding:6px 8px 8px}.racketlon-bracket__match-cell-wrap{flex:1;align-items:center;min-height:0;display:flex}[data-theme=dark] .racketlon-bracket{--rkt-bg:var(--color-surface-alt);--rkt-border:var(--color-border);--rkt-text:var(--color-text-strong);--rkt-muted:var(--color-text-muted);--rkt-win:#7ee2c8;--rkt-win-bg:#0f3b35;--rkt-loss:#fca5a5;--rkt-loss-bg:#3b1419;--rkt-connector:#4b5872;--rkt-round-title:#aab4c5;--rkt-card:var(--color-surface);--rkt-head:var(--color-surface-inset)}.racketlon-bracket__score-th[data-sport]{background:var(--sport-bg);color:var(--sport-ink)}.racketlon-bracket__match{background:var(--rkt-card);border:1px solid var(--rkt-border);border-radius:8px;width:100%;overflow:hidden;box-shadow:0 1px 2px #0000000f}.racketlon-bracket__match--tbd .racketlon-bracket__name-td{color:var(--rkt-muted)}.racketlon-bracket__scores-table{border-collapse:collapse;width:100%;font-size:13px}.racketlon-bracket__name-th{white-space:nowrap;border:0;width:1%;padding:0}.racketlon-bracket__name-td{text-align:left;border:1px solid var(--rkt-border);background:var(--rkt-card);padding:8px 10px;font-weight:600;line-height:1.25}.racketlon-bracket__player-link{color:inherit;text-decoration:none}.racketlon-bracket__player-link:hover{text-decoration:underline}.racketlon-bracket__name-td--win{background:var(--rkt-win-bg);color:var(--rkt-win)}.racketlon-bracket__name-td--loss{background:var(--rkt-loss-bg);color:var(--rkt-loss)}.racketlon-bracket__score-th{color:var(--rkt-muted);text-transform:uppercase;letter-spacing:.04em;text-align:center;border:1px solid var(--rkt-border);background:var(--rkt-head);padding:4px 6px;font-size:11px;font-weight:700}.racketlon-bracket__score-td{text-align:center;border:1px solid var(--rkt-border);background:var(--rkt-card);padding:6px 8px;font-weight:600}.racketlon-bracket__match--tbd .racketlon-bracket__score-td{color:var(--rkt-muted)}.racketlon-bracket__match--clickable{cursor:pointer}.racketlon-bracket__match--clickable:hover{box-shadow:0 2px 8px #0000001a}.racketlon-bracket__match--live{border-color:#dc2626;box-shadow:0 0 0 1px #dc262640}.racketlon-bracket__live-dot{background:#dc2626;border-radius:50%;width:7px;height:7px;margin:0 auto;animation:2s ease-in-out infinite racketlon-live-pulse;display:block}@keyframes racketlon-live-pulse{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.racketlon-bracket__live-dot{animation:none}}.racketlon-bracket__match--non-joue{background:var(--rkt-head);border-style:dashed;flex-direction:column;min-height:60px;display:flex}.racketlon-bracket__non-joue-players{border-bottom:1px solid var(--rkt-border);flex-direction:column;width:100%;display:flex}.racketlon-bracket__non-joue-player{color:var(--rkt-muted);padding:8px 10px;font-size:13px;font-weight:600;line-height:1.25}.racketlon-bracket__non-joue-player+.racketlon-bracket__non-joue-player{border-top:1px solid var(--rkt-border)}.racketlon-bracket__non-joue-label{color:var(--rkt-muted);flex:1;justify-content:center;align-items:center;padding:8px 12px;font-size:13px;font-style:italic;display:flex}.participant--clickable{cursor:pointer}.participant--clickable:hover{opacity:.85;text-decoration:underline}.participant--swap-selected{font-weight:600;background-color:var(--color-accent,#f59e0b)!important;color:#fff!important}.racketlon-bracket__zoom{display:none}@media (width>=481px){.racketlon-bracket__inner{zoom:var(--rkt-fit,1)}}@media (width<=480px){.racketlon-bracket{--rkt-row-h:80px;padding:var(--space-12,12px)}.racketlon-bracket__round{min-width:140px}.racketlon-bracket__inner{zoom:var(--rkt-zoom,1)}.racketlon-bracket__zoom{justify-content:flex-end;align-items:center;gap:8px;margin-bottom:8px;display:flex}.racketlon-bracket__zoom-value{color:var(--rkt-muted);text-align:center;min-width:42px;font-size:12px;font-weight:600}.racketlon-bracket__zoom-btn{width:32px;height:32px;color:var(--rkt-text);background:var(--rkt-card);border:1px solid var(--rkt-border);cursor:pointer;border-radius:8px;padding:0;font-size:16px;font-weight:700;line-height:1}.racketlon-bracket__zoom-btn:disabled{opacity:.4;cursor:default}}.tournament-trees-page{padding-bottom:56px}.tournament-trees-card{flex-direction:column;gap:20px;padding-top:28px;display:flex}.tournament-trees-empty{text-align:center;color:var(--color-text-muted);margin:0;padding:32px 0}.tournament-trees-content{min-width:0;overflow-x:auto}.trees-live-banner{background:var(--color-error-bg);color:var(--color-down);border-radius:4px;align-items:center;gap:8px;margin:0 0 12px;padding:6px 12px;font-size:15px;font-weight:700;display:inline-flex}.trees-live-banner__dot{background:currentColor;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:2s ease-in-out infinite trees-live-pulse}@keyframes trees-live-pulse{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.trees-live-banner__dot{animation:none}}.bracket-detail-page{justify-content:center;width:100%;display:flex}.bracket-detail-card{background:var(--color-surface);padding:var(--card-padding);border:1px solid var(--color-border);width:100%;max-width:900px;box-shadow:var(--shadow-card);border-radius:8px}@media (width>=900px){.bracket-detail-card--draw{width:fit-content;min-width:min(900px,95vw);max-width:95vw}}.bracket-detail-header{justify-content:space-between;align-items:center;gap:var(--space-10,10px) 16px;margin:calc(-1 * var(--card-padding)) calc(-1 * var(--card-padding)) 0;padding:var(--card-padding) var(--card-padding) 18px;background:var(--color-navy);color:var(--color-on-navy);border-radius:8px 8px 0 0;flex-wrap:wrap;display:flex}.bracket-detail-header h1,[data-theme=dark] .bracket-detail-header h1{color:var(--color-on-navy);margin:0;font-size:clamp(2rem,4vw,3rem)}.bracket-detail-header .meta{color:var(--color-on-navy-muted);margin:6px 0 0;font-size:14px}.bracket-detail-header .btn-secondary{color:#fff;background:0 0;box-shadow:inset 0 0 0 1px #ffffff59}.bracket-detail-header .btn-secondary:hover{background:#ffffff1a;box-shadow:inset 0 0 0 1px #fff}.bracket-detail-title-row{align-items:flex-start;gap:var(--space-10,10px);display:flex}.bracket-detail-title-line{align-items:center;gap:var(--space-10,10px);display:flex}.bracket-lock-btn{border:1px solid var(--color-border);background:var(--color-surface-alt);width:40px;height:40px;color:var(--color-text-strong);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.bracket-detail-header .bracket-lock-btn{color:#fff;background:0 0;border-color:#ffffff59}.bracket-detail-header .bracket-lock-btn:hover{background:#ffffff1a}.bracket-lock-btn:hover{background:var(--color-surface-inset)}.bracket-lock-btn:focus-visible{outline:2px solid var(--color-primary-alt,#004aad);outline-offset:2px}.bracket-tabs{gap:var(--space-4,4px);margin:0 calc(-1 * var(--card-padding)) 20px;padding:0 var(--card-padding);background:var(--color-navy);scrollbar-width:none;display:flex;overflow-x:auto}.bracket-tabs::-webkit-scrollbar{display:none}.bracket-tab{min-height:46px;font-family:var(--font-display);text-transform:uppercase;color:#d5deec;cursor:pointer;background:0 0;border:none;border-radius:6px 6px 0 0;flex:none;padding:0 20px;font-size:19px;font-style:italic;font-weight:800}.bracket-tab:hover{color:#fff;border-color:#0000}.bracket-tab.active,.bracket-tab.active:hover{background:var(--color-surface);color:var(--color-brand)}.bracket-draw,.bracket-draw__racketlon{margin-top:8px}.bracket-draw__classification{border-top:1px solid var(--color-border);margin-top:2rem;padding-top:1.5rem}.bracket-draw__classification-title{color:var(--text-secondary,#6b7280);margin:0 0 .75rem;font-size:1rem;font-weight:600}.bracket-draw__racketlon--classification{margin-top:.5rem}.bracket-draw__racketlon--below{border-top:1px dashed var(--color-border);margin-top:1.25rem;padding-top:1rem}.bracket-pyramid{flex-direction:row;align-items:stretch;gap:0;min-height:200px;display:flex}.bracket-pyramid-round{flex-direction:column;flex-shrink:0;gap:0;display:flex}.bracket-pyramid-round-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;padding-left:8px;font-size:12px;font-weight:600}.bracket-pyramid-matches{flex-direction:column;gap:0;display:flex;position:relative}.bracket-pyramid-match{flex-direction:row;align-items:stretch;min-height:56px;display:flex}.bracket-pyramid-branch{border-left:2px solid #374151;border-bottom:1px solid var(--color-border);background:var(--color-surface-alt);flex-direction:column;align-items:stretch;min-width:180px;display:flex;position:relative}.bracket-pyramid-branch:before{content:"";border-bottom:1px solid #374151;width:12px;height:0;position:absolute;top:50%;left:-2px}.bracket-pyramid-slot{border-bottom:1px solid var(--color-border);flex:1;align-items:center;min-height:26px;padding:6px 10px 6px 14px;font-size:14px;font-weight:500;display:flex}.bracket-pyramid-slot:last-child{border-bottom:none}.bracket-pyramid-connector{display:none}.bracket-pyramid-merge{flex-shrink:0;align-self:stretch;width:24px;min-width:24px;position:relative}.bracket-pyramid-merge:before{content:"";border-left:2px solid #9ca3af;width:0;position:absolute;top:25%;bottom:25%;left:0}.bracket-draw-round{margin-bottom:24px}.bracket-draw-round-title{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 10px;font-size:14px;font-weight:600}.bracket-draw-matches{gap:var(--space-8,8px);flex-direction:column;display:flex}.bracket-draw-match{align-items:center;gap:var(--space-10,10px);border:1px solid var(--color-border);border-radius:var(--radius-8,8px);background:var(--color-surface-alt);flex-wrap:wrap;padding:10px 14px;display:flex}.bracket-draw-player{min-width:80px;font-weight:500}.bracket-draw-vs{color:var(--color-text-muted);font-size:12px;font-weight:600}.bracket-draw-winner{color:#059669;margin-left:auto;font-size:12px;font-weight:600}.bracket-details-tab{margin-top:8px}.bracket-details-dl{grid-template-columns:auto 1fr;gap:8px 24px;max-width:400px;margin:0 0 16px;display:grid}.bracket-details-dl dt{color:var(--color-text-muted);margin:0;font-weight:600}.bracket-details-dl dd{margin:0}.bracket-name-display{align-items:center;gap:var(--space-6,6px);display:inline-flex}.bracket-rename-btn{width:22px;height:22px;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-4,4px);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s;display:flex}.bracket-rename-btn:hover{color:var(--color-primary-alt,#004aad);background:var(--color-brand-light)}.bracket-rename-btn:focus-visible{outline:2px solid var(--color-primary-alt,#004aad);outline-offset:2px}.bracket-rename-form{align-items:center;gap:var(--space-4,4px);display:inline-flex}.bracket-rename-input{border:1.5px solid var(--color-primary-alt,#004aad);border-radius:var(--radius-6,6px);outline:none;width:200px;padding:3px 8px;font-size:14px}.bracket-rename-save,.bracket-rename-cancel{border-radius:var(--radius-6,6px);cursor:pointer;border:1.5px solid;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;padding:0;transition:background .12s,color .12s;display:flex}.bracket-rename-save{background:var(--color-success-bg);color:var(--color-success,#16a34a);border-color:var(--color-success,#16a34a)}.bracket-rename-save:hover{background:var(--color-success,#16a34a);color:var(--flat-surface,#fff)}.bracket-rename-cancel{background:var(--color-error-bg);color:var(--color-danger,#dc2626);border-color:#fca5a5}.bracket-rename-cancel:hover{background:var(--color-danger,#dc2626);color:var(--flat-surface,#fff);border-color:var(--color-danger-dark,#b91c1c)}.bracket-detail-page .form-row{gap:var(--space-10,10px);flex-wrap:wrap;margin-bottom:12px;display:flex}.bracket-detail-page .form-group{gap:var(--space-4,4px);flex-direction:column;min-width:180px;display:flex}.bracket-detail-page .form-group input,.bracket-detail-page .form-group select{border-radius:var(--radius-6,6px);border:1px solid var(--color-border);padding:8px}.bracket-detail-page .checkbox-inline{gap:var(--space-6,6px);align-items:center;display:inline-flex}.bracket-detail-page .bracket-edit-form{margin-top:8px}.section{margin-top:18px}.section input{border-radius:var(--radius-6,6px);border:1px solid var(--color-border);width:100%;margin-bottom:10px;padding:8px}.participant-picker-filters{gap:var(--space-10,10px);flex-wrap:wrap;margin-bottom:10px;display:flex}.participant-picker-filters input{border-radius:var(--radius-6,6px);border:1px solid var(--color-border);flex:1;min-width:180px;padding:8px}.participant-picker-filters select{border-radius:var(--radius-6,6px);border:1px solid var(--color-border);padding:8px}.bracket-pair-creator{border:1px solid var(--color-brand-light);border-radius:var(--radius-8,8px);background:var(--color-surface-alt);margin-bottom:14px;padding:12px}.bracket-pair-creator h4{margin:0 0 10px}.bracket-pair-grid{gap:var(--space-10,10px);grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:10px;display:grid}.bracket-pair-slot{gap:var(--space-6,6px);flex-direction:column;min-width:0;display:flex}.selected-partner{justify-content:space-between;align-items:center;gap:var(--space-8,8px);border:1px solid var(--color-brand-soft);border-radius:var(--radius-8,8px);background:var(--color-brand-light);padding:8px 10px;display:flex}.clear-partner-btn{color:var(--color-brand-hover);cursor:pointer;background:0 0;border:none;font-size:18px;line-height:1}.pair-user-results{gap:var(--space-4,4px);flex-direction:column;max-height:150px;display:flex;overflow:auto}.pair-user-result{border:1px solid var(--color-border);border-radius:var(--radius-6,6px);background:var(--color-surface);width:100%;color:inherit;cursor:pointer;text-align:left;padding:7px 8px}.pair-user-result:hover{background:var(--color-brand-light);border-color:var(--color-brand-soft)}.list{gap:var(--space-8,8px);flex-direction:column;display:flex}.row{border:1px solid var(--color-border);border-radius:var(--radius-8,8px);padding:10px 12px}.row-between{justify-content:space-between;align-items:center;display:flex}.row-assignable{text-align:left;border-color:var(--color-border);cursor:pointer;background:0 0;width:100%;transition:border-color .15s,background .15s;display:block}.row-assignable:hover{background:#f5f3ff;border-color:#6c5ce7}.row-assignable:active{background:#ede9fe}@media (width<=720px){.bracket-pair-grid{grid-template-columns:1fr}}.meta.match-scores{color:var(--color-success-text);margin-top:4px;font-weight:500}.bracket-matches-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.match-list-meta{align-items:center;gap:.5rem;margin-bottom:4px;display:flex}.match-list-number{color:var(--color-text);font-weight:700}.match-list-badge{color:var(--color-text-muted);background:var(--color-surface-inset);border-radius:var(--radius-4,4px);padding:2px 6px;font-size:11px;font-weight:600}.match-list-badge--pending{color:#0369a1;background:#e0f2fe}.matches-subsection{margin-bottom:1.5rem}.matches-subsection:last-child{margin-bottom:0}.matches-subsection-title{color:var(--color-text-muted);margin:0 0 .5rem;font-size:14px;font-weight:600}.matches-category-title{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.02em;margin:0 0 .35rem;font-size:12px;font-weight:600}.add-btn{border:1.5px solid var(--color-success,#16a34a);border-radius:var(--radius-8,8px);background:var(--color-success-bg);width:32px;height:32px;color:var(--color-success,#16a34a);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s,border-color .15s,transform .1s,box-shadow .15s;display:flex}.add-btn:hover{background:var(--color-success,#16a34a);color:var(--flat-surface,#fff);border-color:#15803d;transform:scale(1.07);box-shadow:0 2px 6px #16a34a40}.add-btn:active{transform:scale(.95)}.add-btn:focus-visible{outline-offset:2px;outline:2px solid #15803d}.remove-btn{border-radius:var(--radius-8,8px);background:var(--color-error-bg);width:32px;height:32px;color:var(--color-danger,#dc2626);cursor:pointer;border:1.5px solid #fca5a5;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s,border-color .15s,transform .1s,box-shadow .15s;display:flex}.remove-btn:hover{background:var(--color-danger,#dc2626);color:var(--flat-surface,#fff);border-color:var(--color-danger-dark,#b91c1c);transform:scale(1.07);box-shadow:0 2px 6px #dc262640}.remove-btn:active{transform:scale(.95)}.remove-btn:focus-visible{outline:2px solid var(--color-danger-dark,#b91c1c);outline-offset:2px}.reg-type-badge{border-radius:var(--radius-4,4px);background:var(--color-bg-page);color:var(--color-text-muted);vertical-align:middle;margin-left:8px;padding:2px 7px;font-size:.75rem;display:inline-block}.participant-stats-line{align-items:center;gap:var(--space-8,8px);color:var(--color-text-muted);margin-top:2px;font-size:.78rem;display:flex}.participant-stats-line .muted{opacity:.5}.exp-badge{border-radius:var(--radius-4,4px);background:var(--color-surface-inset,#f0f0f8);color:var(--color-text-muted);padding:1px 6px;font-size:.72rem;font-weight:500}.bracket-pool-section{margin-bottom:16px}.bracket-pool-title{color:#6c5ce7;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--color-border);margin-bottom:6px;padding-bottom:4px;font-size:.85rem;font-weight:600}.seed-badge{border-radius:var(--radius-4,4px);background:var(--color-warning-bg);color:var(--color-warning-text);vertical-align:middle;padding:2px 7px;font-size:.75rem;display:inline-block}.points-badge{border-radius:var(--radius-4,4px);background:var(--color-surface-inset);color:var(--color-text-muted);vertical-align:middle;padding:2px 7px;font-size:.75rem;display:inline-block}.bracket-rankings-tab .meta{color:var(--color-text-muted);margin-bottom:1rem;font-size:.9rem}.bracket-rankings-table{border-collapse:collapse;width:100%;font-size:14px}.gender-badge{vertical-align:middle;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;margin-left:6px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.gender-badge--f{color:#db2777;background:#fce7f3;border:1px solid #f9a8d4}.bracket-rankings-table th,.bracket-rankings-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:10px 14px}.bracket-rankings-table th{color:var(--color-text);background:var(--color-surface-alt);font-weight:600}.bracket-rankings-table tbody tr:hover{background:var(--color-surface-alt)}.rankings-edit-hint{align-items:center;gap:var(--space-16,16px);color:var(--color-text-muted);margin-bottom:12px;font-size:13px;display:flex}.rankings-save-btn{margin-left:auto}.ranking-points-input{box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-6,6px);text-align:right;width:100%;padding:4px 6px;font-size:14px}.ranking-points-input:focus{border-color:var(--color-brand);outline:none}.poule-standings-wrap{padding:8px 0}.poule-groups-row{flex-wrap:wrap;gap:32px;margin-bottom:32px;display:flex}.poule-standings{flex:1;min-width:220px}.poule-standings h3{color:var(--color-text);margin-bottom:10px;font-size:1rem;font-weight:600}.poule-standings-table{border-collapse:collapse;width:100%;font-size:14px}.poule-standings-table th,.poule-standings-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:8px 12px}.poule-standings-table th{color:var(--color-text-muted);background:var(--color-surface-alt);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.poule-standings-table td:first-child{color:var(--color-text-muted);width:28px;font-size:12px}.poule-standings-table tbody tr:first-child td{font-weight:600}.poule-wins{color:var(--color-success,#16a34a);font-weight:600}.poule-losses{color:var(--color-danger,#dc2626)}.poule-diff{color:var(--color-text-muted);font-weight:600}.poule-diff--pos{color:var(--color-success,#16a34a)}.poule-diff--neg{color:var(--color-danger,#dc2626)}.poule-finals{border-top:2px solid var(--color-border);padding-top:20px}.poule-finals--tree{flex-direction:column;gap:20px;display:flex}.poule-final-tree{gap:var(--space-8,8px);flex-direction:column;display:flex;overflow-x:auto}.poule-final-tree__title{color:var(--color-text-muted);margin:0;font-size:.85rem;font-weight:600}.poule-finals h3{color:var(--color-text);margin-bottom:12px;font-size:1rem;font-weight:600}.poule-final-row{align-items:center;gap:var(--space-10,10px);border-bottom:1px solid var(--color-surface-muted,#f3f4f6);padding:8px 0;font-size:14px;display:flex}.poule-final-label{color:var(--color-text-muted);min-width:70px;font-size:12px;font-weight:600}.poule-vs{color:var(--color-text-muted);font-size:12px}.poule-winner{color:var(--color-success,#16a34a);font-weight:700}.poule-loser{color:var(--color-text-muted);text-decoration:line-through}.poule-result{color:var(--color-text-muted);margin-left:auto;font-size:12px}.rankings-actions-row{align-items:flex-start;gap:var(--space-16,16px);margin-bottom:12px}.rankings-actions-row h3{margin:0 0 4px}.rankings-actions{justify-content:flex-end;gap:var(--space-8,8px);flex-wrap:wrap;display:flex}.swap-banner{align-items:center;gap:var(--space-12,12px);background:var(--color-warning-bg);border-radius:var(--radius-6,6px);color:var(--color-warning-text);border:1px solid #f59e0b;margin-bottom:12px;padding:10px 16px;font-size:14px;display:flex}.swap-banner__cancel{cursor:pointer;border-radius:var(--radius-4,4px);background:var(--color-surface);color:var(--color-warning-text);border:1px solid #f59e0b;margin-left:auto;padding:4px 12px;font-size:13px}.swap-banner__cancel:hover{background:#fde68a}.poule-participant--clickable{cursor:pointer}.poule-participant--clickable:hover{opacity:.85;text-decoration:underline}.poule-participant--swap-selected{background-color:var(--color-accent,#f59e0b);color:var(--flat-surface,#fff);border-radius:3px;padding:1px 4px;font-weight:600}.seed-reorder-section .status-warning{background:var(--color-warning-bg);color:var(--color-warning-text);border-radius:var(--radius-4,4px);margin-bottom:8px;padding:8px 10px}.seed-sortable-row{touch-action:none;background:var(--flat-bg-card,#fff)}.seed-sortable-row.is-dragging{opacity:.85;z-index:1;position:relative;box-shadow:0 2px 8px #0000002e}.seed-sortable-main{align-items:center;gap:8px;min-width:0;display:flex}.seed-sortable-content{min-width:0}.seed-sortable-number{text-align:center;flex-shrink:0;min-width:2.4em}.seed-sortable-number--muted{background:0 0}.seed-drag-handle{cursor:grab;color:var(--color-text-muted);background:0 0;border:none;padding:4px 2px;font-size:1.1rem;line-height:1}.seed-drag-handle:active{cursor:grabbing}.seed-sortable-arrows{flex-shrink:0;gap:4px;display:flex}@media (width<=480px){.bracket-rankings-table,.poule-standings-table{display:block;overflow-x:auto}.poule-groups-row{gap:var(--space-16,16px)}.bracket-tab{min-height:42px;padding:0 12px;font-size:17px}.remove-btn{width:44px;height:44px}}.gender-badge--wide{border-radius:8px;width:auto;padding:0 5px}.gender-badge--dx{color:#7c3aed;background:#ede9fe;border:1px solid #c4b5fd}.gender-badge--dd{color:#e11d48;background:#ffe4e6;border:1px solid #fda4af}.calendar-page{padding-bottom:56px}.calendar-band .page-container{flex-direction:column;gap:10px;padding-top:36px;padding-bottom:36px;display:flex}.calendar-band__count{margin:0}.calendar-band__title{margin:0;font-size:clamp(2.25rem,5vw,4.25rem);line-height:.95}.calendar-body{flex-direction:column;gap:28px;padding-top:28px;display:flex}.calendar-filters{flex-wrap:wrap;align-items:center;gap:12px 20px;display:flex}.calendar-filters__dates{flex-wrap:wrap;gap:12px;display:flex}.calendar-date-label{color:var(--color-text-muted);align-items:center;gap:8px;font-size:14px;font-weight:600;display:inline-flex}.calendar-date-input{border:1px solid var(--color-border);background:var(--color-surface);min-height:44px;color:var(--color-text-strong);font:inherit;border-radius:6px;padding:0 10px;font-size:15px}.calendar-date-input:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-brand-light);outline:none}.calendar-filters__toggles{flex-wrap:wrap;gap:6px;display:flex}.calendar-empty{text-align:center;color:var(--color-text-muted);margin:0;padding:32px 0}.calendar-month{flex-direction:column;gap:12px;display:flex}.calendar-month__label{font-size:1.75rem}.calendar-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;margin:0;padding:0;list-style:none;overflow:hidden}.calendar-tournament-card{align-items:center;gap:20px;padding:18px 20px;display:flex}.calendar-tournament-card+.calendar-tournament-card{border-top:1px solid var(--color-border)}.calendar-tournament-card__date{flex-direction:column;flex:none;align-items:center;gap:8px;display:flex}.calendar-tournament-card__body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.calendar-tournament-card__name{overflow-wrap:anywhere;margin:0;font-size:22px;line-height:1.1}.calendar-tournament-card__meta{color:var(--color-text-muted);margin:0;font-size:15px}.calendar-tournament-card__tags{flex-wrap:wrap;gap:6px;margin:4px 0 0;padding:0;list-style:none;display:flex}.calendar-tag{background:var(--color-brand-light);color:var(--color-brand);border-radius:4px;padding:2px 10px;font-size:13px;font-weight:600}.calendar-tag--open{background:var(--color-success-bg);color:var(--color-success-text)}.calendar-tournament-card__actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;display:flex}.calendar-tournament-card__actions .btn{min-height:44px}@media (width<=800px){.calendar-tournament-card{flex-wrap:wrap;align-items:flex-start}.calendar-tournament-card__body{flex-basis:calc(100% - 100px)}.calendar-tournament-card__actions{flex-basis:100%;justify-content:flex-start}}@media (width<=480px){.calendar-band .page-container{padding-top:24px;padding-bottom:24px}.calendar-filters .segmented{width:100%}.calendar-filters .segmented__btn{flex:1;justify-content:center;padding:0 8px}.calendar-tournament-card{gap:12px 14px;padding:16px}.calendar-tournament-card .date-block{width:60px}.calendar-tournament-card .date-block__day{font-size:28px}.calendar-tournament-card__body{flex-basis:calc(100% - 80px)}.calendar-tournament-card__name{font-size:19px}.calendar-tournament-card__actions .btn{flex:1;justify-content:center}}.contact-container{width:100%;min-height:100%;padding:40px var(--page-gutter);justify-content:center;align-items:flex-start;display:flex}.contact-card{background:var(--color-surface);border-radius:12px;width:100%;max-width:560px;padding:40px;box-shadow:0 10px 40px #0000001a}.contact-card h1{color:var(--color-text);margin:0 0 8px;font-size:28px;font-weight:600}.contact-card .subtitle{color:var(--color-text-muted);margin:0 0 28px;font-size:15px}.form-group textarea{border:1px solid var(--color-border);resize:vertical;box-sizing:border-box;border-radius:6px;width:100%;padding:12px;font-family:inherit;font-size:16px;transition:border-color .2s}.form-group textarea:focus{border-color:var(--color-brand);outline:none}.form-group select{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;box-sizing:border-box;border-radius:6px;width:100%;padding:12px;font-family:inherit;font-size:16px;transition:border-color .2s}.form-group select:focus{border-color:var(--color-brand);outline:none}.contact-success{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:20px 0;display:flex}.contact-success__icon{color:#fff;background:#4ade80;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:28px;font-weight:700;display:flex}.contact-success h2{color:var(--color-text);margin:0;font-size:22px}.contact-success p{color:var(--color-text-muted);margin:0}@media (prefers-color-scheme:dark){.contact-card{background:#1e1e2e;box-shadow:0 10px 40px #0006}.contact-card h1,.contact-success h2{color:#e2e8f0}.contact-card .subtitle,.contact-success p{color:var(--color-text-muted)}.form-group select{color:#e2e8f0;background:#2d2d3f;border-color:#444}}[data-theme=dark] .contact-card{background:#1e1e2e;box-shadow:0 10px 40px #0006}[data-theme=dark] .contact-card h1,[data-theme=dark] .contact-success h2{color:#e2e8f0}[data-theme=dark] .contact-card .subtitle,[data-theme=dark] .contact-success p{color:var(--color-text-muted)}[data-theme=dark] .form-group select{color:#e2e8f0;background:#2d2d3f;border-color:#444}@media (width<=480px){.contact-card{padding:20px var(--card-padding)}}.release-notes-container{max-width:760px;padding:40px var(--page-gutter);width:100%;margin:0 auto}.release-notes-header{margin-bottom:36px}.release-notes-header h1{color:var(--color-text-strong);margin:0 0 8px;font-size:28px;font-weight:700}.release-notes-header .subtitle{color:var(--color-text-muted);margin:0;font-size:15px}.release-notes-empty{color:var(--color-text-muted);font-style:italic}.release-notes-list{flex-direction:column;gap:24px;margin:0;padding:0;list-style:none;display:flex}.release-note-card{background:var(--color-surface);padding:28px var(--card-padding);border-left:4px solid var(--color-brand);border-radius:12px;box-shadow:0 2px 12px #00000012}.release-note-card__header{align-items:center;gap:12px;margin-bottom:10px;display:flex}.release-note-card__version{background:var(--color-brand);color:var(--color-text-on-brand);letter-spacing:.02em;border-radius:20px;padding:3px 10px;font-size:13px;font-weight:600}.release-note-card__date{color:var(--color-text-muted);font-size:13px}.release-note-card__title{color:var(--color-text-strong);margin:0 0 14px;font-size:18px;font-weight:600}.release-note-card__description{color:var(--color-text-muted);white-space:pre-wrap;word-break:break-word;margin:0;font-family:inherit;font-size:14px;line-height:1.7}[data-theme=dark] .release-notes-header h1,[data-theme=dark] .release-note-card__title{color:#e2e8f0}[data-theme=dark] .release-notes-header .subtitle,[data-theme=dark] .release-note-card__date{color:var(--color-text-muted)}[data-theme=dark] .release-note-card{background:#1e1e2e;box-shadow:0 2px 12px #0000004d}[data-theme=dark] .release-note-card__description{color:#cbd5e1}.h2h-page{padding-bottom:56px}.h2h-error{color:var(--color-error-text);text-align:center}.h2h-band .page-container{flex-direction:column;align-items:center;gap:20px;padding-top:32px;padding-bottom:40px;display:flex}.h2h-eyebrow{margin:0}.h2h-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:32px;width:100%;display:grid}.h2h-player{color:#fff;flex-direction:column;gap:4px;min-width:0;text-decoration:none;display:flex}.h2h-player:hover{color:#fff}.h2h-player:hover .h2h-name{text-decoration:underline}.h2h-player--left{text-align:right;align-items:flex-end}.h2h-player--right{align-items:flex-start}.h2h-name{font-family:var(--font-display);overflow-wrap:anywhere;font-size:clamp(1.5rem,3.2vw,2.5rem);font-weight:700;line-height:1}.h2h-pts{color:var(--color-on-navy-muted);font-variant-numeric:tabular-nums;font-size:15px}.h2h-scoreboard{flex-direction:column;align-items:center;gap:4px;display:flex}.h2h-score{font-family:var(--font-display);color:#8fa3c4;font-variant-numeric:tabular-nums;align-items:baseline;gap:16px;font-size:clamp(3.5rem,8vw,6rem);font-style:italic;font-weight:800;line-height:1;display:flex}.h2h-score--lead{color:#fff}.h2h-score-sep{color:var(--color-on-navy-muted);font-size:.6em}.h2h-winrate{color:var(--color-on-navy-muted);letter-spacing:.08em;font-size:14px;font-weight:600}.h2h-no-matches{color:#d5deec}.h2h-body{flex-direction:column;gap:36px;padding-top:32px;display:flex}.h2h-section-title{margin-bottom:14px;font-size:1.75rem}.h2h-sport-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;margin:0;padding:0;list-style:none;overflow:hidden}.h2h-sport-row{grid-template-columns:64px minmax(0,1fr) 64px;align-items:center;gap:16px;padding:14px 20px;display:grid}.h2h-sport-row+.h2h-sport-row{border-top:1px solid var(--color-border)}.h2h-sport-count{font-family:var(--font-display);color:var(--color-text-strong);font-variant-numeric:tabular-nums;font-size:30px;font-style:italic;font-weight:800;line-height:1}.h2h-sport-count--left{text-align:right}.h2h-sport-middle{flex-direction:column;align-items:center;gap:8px;display:flex}.h2h-sport-label{color:var(--color-text-strong);align-items:center;gap:8px;font-weight:600;display:inline-flex}.h2h-sport-bar{border-radius:4px;gap:3px;width:100%;height:8px;display:flex;overflow:hidden}.h2h-sport-bar__mine{background:var(--sport)}.h2h-sport-bar__theirs{background:var(--color-border-input)}.h2h-empty{color:var(--color-text-muted);margin:0}.h2h-table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;overflow-x:auto}.h2h-match-table{border-collapse:collapse;width:100%}.h2h-match-table th{background:var(--color-text-strong);color:var(--color-surface);font-family:var(--font-display);letter-spacing:.1em;text-align:left;text-transform:uppercase;white-space:nowrap;padding:12px 16px;font-size:15px;font-weight:700}[data-theme=dark] .h2h-match-table th{background:var(--color-surface-inset);color:var(--color-text-strong)}.h2h-match-table td{border-top:1px solid var(--color-border);vertical-align:middle;padding:12px 16px}.h2h-tournament-name{color:var(--color-text-strong);font-weight:600;display:block}.h2h-tournament-date{color:var(--color-text-muted);font-size:14px}.h2h-round{color:var(--color-text-muted);white-space:nowrap}.h2h-sets{flex-wrap:wrap;gap:6px;display:flex}.h2h-set{font-weight:500}.h2h-set--won{box-shadow:inset 0 0 0 1.5px var(--sport-ink);font-weight:800}.h2h-badge{white-space:nowrap;border-radius:4px;padding:3px 10px;font-size:13px;font-weight:700;display:inline-block}.h2h-badge--win{background:var(--color-success-bg);color:var(--color-success-text)}.h2h-badge--loss{background:var(--color-error-bg);color:var(--color-error-text)}@media (width<=600px){.h2h-header{gap:12px}.h2h-name{font-size:1.25rem}.h2h-sport-row{grid-template-columns:40px minmax(0,1fr) 40px;gap:10px;padding:12px 14px}.h2h-sport-count{font-size:24px}.h2h-match-table th,.h2h-match-table td{padding:10px 12px}}.badges-page{padding-bottom:56px}.badges-band .page-container{flex-direction:column;gap:10px;padding-top:36px;padding-bottom:36px;display:flex}.badges-band .page-band__eyebrow{margin:0}.badges-band__title{margin:0;font-size:clamp(2.25rem,5vw,4.25rem);line-height:.95}.badges-body{padding-top:28px}.badges-empty{text-align:center;color:var(--color-text-muted);margin:0;padding:32px 0}.badges-gallery{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.badges-item{background:var(--color-surface);border:1px solid var(--color-border);text-align:center;color:var(--color-text);border-radius:8px;flex-direction:column;align-items:center;gap:8px;padding:22px 16px 18px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.badges-item:hover{color:var(--color-text);border-color:var(--color-brand);box-shadow:var(--shadow-card);transform:translateY(-2px)}.badges-item:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.badges-item__img{object-fit:contain;width:92px;height:92px;margin-bottom:4px}.badges-item__name{font-family:var(--font-display);color:var(--color-text-strong);font-size:20px;font-weight:700;line-height:1.1}.badges-item__desc{color:var(--color-text-muted);flex:1;font-size:14px;line-height:1.4}.badges-item__count{background:var(--color-brand-light);color:var(--color-brand);border-radius:4px;margin-top:4px;padding:2px 10px;font-size:13px;font-weight:700}@media (prefers-reduced-motion:reduce){.badges-item,.badges-item:hover{transition:none;transform:none}}@media (width<=480px){.badges-band .page-container{padding-top:24px;padding-bottom:24px}.badges-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.badges-item{padding:16px 10px 14px}.badges-item__img{width:72px;height:72px}.badges-item__name{font-size:18px}}.badge-holders-page{padding-bottom:56px}.badge-holders-band__inner{align-items:center;gap:28px;padding-top:32px;padding-bottom:32px;display:flex}.badge-holders-img{object-fit:contain;flex:none;width:120px;height:120px}.badge-holders-band__text{flex-direction:column;gap:8px;min-width:0;display:flex}.badge-holders-back{color:var(--color-on-navy-muted);align-self:flex-start;align-items:center;gap:6px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.badge-holders-back:hover{color:#fff;text-decoration:underline}.badge-holders-name{overflow-wrap:anywhere;margin:0;font-size:clamp(2rem,4.5vw,3.75rem);line-height:.95}.badge-holders-desc{color:#d5deec;max-width:640px;margin:0;font-size:17px}.badge-holders-body{flex-direction:column;gap:16px;padding-top:28px;display:flex}.badge-holders-section{color:var(--color-text-muted);margin:0;font-size:15px;font-weight:600}.badge-holders-empty{text-align:center;color:var(--color-text-muted);margin:0;padding:32px 0}.badge-holders-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;margin:0;padding:0;list-style:none;overflow:hidden}.badge-holders-list li+li{border-top:1px solid var(--color-border)}.badge-holder-row{color:var(--color-text-strong);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:4px 20px;padding:14px 20px;text-decoration:none;transition:background .12s;display:grid}.badge-holder-row:hover{background:var(--color-surface-alt);color:var(--color-text-strong)}.badge-holder-name{overflow-wrap:anywhere;align-items:center;gap:8px;min-width:0;font-size:16px;font-weight:600;display:inline-flex}.badge-holder-sub{color:var(--color-text-muted);white-space:nowrap;font-size:14px}.badge-holder-verified{color:var(--color-up);display:inline-flex}.badge-holder-unverified{color:var(--color-warning-text)}.badge-holder-date{color:var(--color-text-muted);text-align:right;white-space:nowrap;font-size:14px}@media (width<=600px){.badge-holders-band__inner{gap:18px;padding-top:24px;padding-bottom:24px}.badge-holders-img{width:80px;height:80px}.badge-holders-desc{font-size:15px}.badge-holder-row{grid-template-columns:minmax(0,1fr) auto;padding:12px 16px}.badge-holder-name{grid-column:1/-1}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}.status{background:var(--color-surface-inset);color:var(--color-text);border-radius:8px;margin:10px 0;padding:12px}.status.error{background:var(--color-error-bg);color:var(--color-error-text)}
