:root{--bg:#fff;--card:#f0f2f5;--text:#0f1419;--muted:#3d4852;--line:#d1d5db;--accent:#0b6efd;--ok:#35c46a;--warn:#fc3;--err:#ff6b6b;--focus:#0b6efd}[data-theme=dark]{--bg:#0b0f14;--card:#101825;--text:#e6edf3;--muted:#9fb1c2;--line:#1e2a3a;--accent:#9ad1ff;--ok:#35c46a;--warn:#fc3;--err:#ff6b6b;--focus:#ffe08a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b0f14;--card:#101825;--text:#e6edf3;--muted:#9fb1c2;--line:#1e2a3a;--accent:#9ad1ff;--focus:#ffe08a}}[x-cloak]{display:none!important}.skip-link{z-index:100;background:var(--accent);color:#fff;border-radius:0 0 8px 8px;padding:12px 24px;font-weight:600;text-decoration:none;position:absolute;top:-100%;left:16px}.skip-link:focus{top:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Arial,Helvetica,sans-serif;transition:background-color .3s,color .3s}.wrap{width:100%;max-width:min(1400px,80vw);margin:0 auto}@media (width<=900px){.wrap{max-width:95vw}}.header{border-bottom:1px solid var(--line);z-index:50;-webkit-backdrop-filter:saturate(140%)blur(6px);backdrop-filter:saturate(140%)blur(6px);color:#fff;background:#00000059;padding:12px 0 10px;position:sticky;top:0;box-shadow:0 2px 8px #00000026}.header-bar{justify-content:space-between;align-items:center;gap:12px;display:flex}.header-title{letter-spacing:.2px;margin:0;font-size:22px}.header-actions{align-items:center;gap:10px;display:flex}.lang-select{appearance:none;color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff40;border-radius:10px;padding:8px 10px;font-size:14px}.lang-select option{background:var(--bg,#fff);color:var(--text,#0f1419)}[data-theme=dark] .lang-select option{color:#e6edf3;background:#1a2332}.dark-mode-toggle{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff40;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:20px;transition:all .3s;display:flex}.dark-mode-toggle:hover{transform:scale(1.1)rotate(20deg);box-shadow:0 4px 12px #0003}.dark-mode-toggle__icon{transition:transform .3s}[data-theme=dark] .dark-mode-toggle__icon{transform:rotate(180deg)}.live-badge{color:#35c46a;background:#35c46a26;border:1px solid #35c46a59;border-radius:999px;align-items:center;gap:6px;margin-left:10px;padding:2px 8px;font-size:12px;font-weight:700;animation:2s ease-in-out infinite live-pulse;display:inline-flex}.live-badge:before{content:"";background:#35c46a;border-radius:50%;width:8px;height:8px;box-shadow:0 0 8px #35c46acc}nav{border-bottom:1px solid var(--line);padding:8px 0}nav ul{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}nav a{border:1px solid var(--line);min-width:44px;min-height:44px;color:var(--text);background:var(--card);box-sizing:border-box;border-radius:8px;padding:8px 12px;line-height:1.5;text-decoration:none;display:inline-block}nav a:focus,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}main{padding:16px 0}.grid{grid-template-columns:repeat(2,minmax(360px,1fr));gap:24px;margin:22px 0;display:grid}.schedule-section{margin:24px 0}.schedule-heading-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.schedule-title{margin:0;font-size:1.45rem;line-height:1.25}.schedule-refresh{border:1px solid var(--line);background:var(--card);min-height:44px;color:var(--text);font:inherit;cursor:pointer;border-radius:8px;padding:10px 16px;font-weight:700}.schedule-refresh:hover{border-color:var(--accent)}.schedule-day{margin:20px 0 28px}.schedule-day--archived{margin-bottom:20px}.schedule-day__title{text-transform:none;margin:0 0 14px;font-size:1.25rem;line-height:1.3}.schedule-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.schedule-search{flex:320px}.schedule-search__input{border:1px solid var(--line);background:var(--card);width:100%;min-height:46px;color:var(--text);font:inherit;border-radius:12px;padding:11px 14px}.schedule-search__input:focus{outline-offset:2px;border-color:var(--accent);outline:2px solid #0b6efd2e}.schedule-sort{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.schedule-sort__label{color:var(--muted);font-size:.95rem;font-weight:600}.schedule-sort__buttons{border:1px solid var(--line);background:var(--card);border-radius:999px;gap:4px;padding:4px;display:inline-flex}.schedule-sort__button{min-height:38px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:8px 14px;font-weight:700}.schedule-sort__button.is-active{background:var(--accent);color:#fff}.schedule-switcher{border:1px solid var(--line);background:var(--card);border-radius:18px;overflow:hidden;box-shadow:0 18px 40px #0f172a14}.schedule-switcher__tabs{border-bottom:1px solid var(--line);background:linear-gradient(135deg,#0b6efd1a,#35c46a14);flex-wrap:wrap;gap:8px;padding:14px;display:flex}.schedule-switcher__tab{min-height:42px;color:var(--text);font:inherit;cursor:pointer;background:#ffffffd1;border:1px solid #0b6efd2e;border-radius:999px;padding:8px 14px;font-weight:700}.schedule-switcher__tab.is-active{border-color:var(--accent);background:var(--accent);color:#fff}.schedule-switcher__tab:focus-visible{outline-offset:2px;outline:3px solid #0b6efd3d}.schedule-panel{padding:16px}.schedule-panel__title{margin:0 0 12px;font-size:1.05rem;line-height:1.3}.schedule-cards{display:none}.schedule-table-wrap{border:1px solid var(--line);background:var(--card);border-radius:8px;overflow-x:auto}.schedule-table{border-collapse:collapse;width:100%;min-width:760px}.schedule-table th,.schedule-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px 14px}.schedule-table th{text-transform:uppercase;color:var(--muted);letter-spacing:0;background:#0b6efd14;font-size:.82rem}.schedule-table tr:last-child td{border-bottom:0}.schedule-player{font-weight:700}.schedule-status{border:1px solid var(--line);min-height:28px;color:var(--text);white-space:nowrap;background:#ffffff8c;border-radius:8px;align-items:center;padding:3px 9px;font-weight:700;display:inline-flex}.schedule-status[data-status=planned]{background:#0b6efd1f;border-color:#0b6efd59}.schedule-status[data-status=in_progress]{background:#ffcc332e;border-color:#ffcc338c}.schedule-status[data-status=completed]{background:#35c46a24;border-color:#35c46a73}.schedule-card{border:1px solid var(--line);background:linear-gradient(#fffffff5,#ffffffe0);border-radius:14px;padding:14px;box-shadow:0 10px 24px #0f172a0f}[data-theme=dark] .schedule-card{background:linear-gradient(#171f2deb,#111827f0)}.schedule-card+.schedule-card{margin-top:12px}.schedule-card__topline{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.schedule-card__time{color:var(--text);font-variant-numeric:tabular-nums;font-size:1rem;font-weight:800}.schedule-card__match{gap:2px;margin-bottom:12px;display:grid}.schedule-card__player{color:var(--text);font-size:1rem;font-weight:800;line-height:1.3}.schedule-card__versus{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.78rem;font-weight:700}.schedule-card__meta{flex-wrap:wrap;gap:8px;display:flex}.schedule-card__badge{border:1px solid var(--line);min-height:28px;color:var(--muted);background:#0f172a0a;border-radius:999px;align-items:center;padding:4px 10px;font-size:.8rem;font-weight:700;display:inline-flex}[data-theme=dark] .schedule-card__badge{background:#ffffff0a}.schedule-card__badge--accent{color:var(--accent);background:#0b6efd1a;border-color:#0b6efd47}.schedule-card__notes{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.schedule-card__notes summary{cursor:pointer;color:var(--muted);font-size:.84rem;font-weight:700}.schedule-card__notes p{color:var(--muted);margin:8px 0 0;font-size:.92rem;line-height:1.45}.schedule-archive{border:1px solid var(--line);background:var(--card);border-radius:18px;margin:28px 0 0;overflow:hidden;box-shadow:0 18px 40px #0f172a14}.schedule-archive__summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;font-size:1rem;font-weight:800;list-style:none;display:flex}.schedule-archive__summary::-webkit-details-marker{display:none}.schedule-archive__summary:after{content:"+";color:var(--accent);flex:none;font-size:1.25rem;line-height:1}.schedule-archive[open] .schedule-archive__summary{border-bottom:1px solid var(--line)}.schedule-archive[open] .schedule-archive__summary:after{content:"−"}.schedule-archive__content{padding:6px 18px 8px}@media (width<=720px){.schedule-heading-row,.schedule-toolbar{align-items:stretch}.schedule-search,.schedule-sort,.schedule-sort__buttons{width:100%}.schedule-sort__buttons{justify-content:stretch}.schedule-sort__button{flex:1 1 0}.schedule-switcher__tabs{flex-wrap:nowrap;padding:12px;overflow-x:auto}.schedule-refresh{width:100%}.schedule-panel{padding:12px}.schedule-switcher{border-radius:16px}.schedule-panel__title{margin-bottom:10px;font-size:1rem}.schedule-cards{display:block}.schedule-table-wrap{display:none}}@media (width<=980px){.grid{grid-template-columns:1fr}}.card{background:var(--card);border:1px solid var(--line);box-sizing:border-box;opacity:0;border-radius:12px;width:100%;padding:10px 10px 6px;animation:.5s forwards card-in;transform:translateY(10px)scale(.98)}.grid .card:first-child{animation-delay:0s}.grid .card:nth-child(2){animation-delay:50ms}.grid .card:nth-child(3){animation-delay:.1s}.grid .card:nth-child(4){animation-delay:.15s}.grid .card:nth-child(5){animation-delay:.2s}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.card h2{margin:0;font-size:18px}.match-title{display:inline}.match-versus{color:var(--muted);margin:0 4px}.card-footer{color:var(--muted);justify-content:space-between;align-items:center;padding:6px 0 0;font-size:13px;display:flex}.score-wrapper{margin-top:6px;position:relative}.score-labels{z-index:10;pointer-events:none;justify-content:flex-end;gap:12px;padding-right:8px;display:flex;position:absolute;top:6px;right:0;transform:translateY(-50%)}.score-label{text-transform:uppercase;letter-spacing:.5px;opacity:0;border-radius:99px;padding:5px 14px;font-size:13px;font-weight:800;transition:opacity .3s,transform .3s;transform:translateY(10px)}.score-label.is-visible{opacity:1;transform:translateY(0)}.score-label-tb{color:#fff;text-shadow:0 1px 2px #0000004d;background:#e6a800;box-shadow:0 2px 10px #e6a80080}.score-label-stb{color:#fff9f2;text-shadow:0 1px 2px #0000004d;background:#d64900;box-shadow:0 2px 10px #d6490080}.score-list{background:linear-gradient(#1d1d1d 0%,#090909 100%);border:1px solid #000c;border-radius:14px;gap:0;margin:6px 0 0;padding:0;list-style:none;display:grid;overflow:hidden;box-shadow:0 12px 24px #00000059}.score-row{color:#fdfdfd;grid-template-columns:minmax(0,2.3fr) minmax(0,1.2fr);grid-auto-columns:minmax(0,.95fr);grid-auto-flow:column;align-items:stretch;display:grid}.score-row+.score-row{border-top:1px solid #ffffff14}.score-row dt,.score-row dd{margin:0;padding:10px 14px}.score-row dt.player-cell{letter-spacing:.6px;text-transform:uppercase;text-shadow:0 1px #0009;background:linear-gradient(90deg,#ffffff0f 0%,#0000 100%);border-right:1px solid #000000a6;align-items:center;gap:12px;font-weight:700;display:flex}.score-row[data-side=B] dt.player-cell{background:linear-gradient(90deg,#ffffff08 0%,#0000 100%)}.score-row .player-name{text-overflow:ellipsis;white-space:nowrap;color:#fefefe;flex:1;min-width:0;overflow:hidden}.score-row dd.metric{background:0 0;justify-content:center;align-items:stretch;padding:0;display:flex;position:relative}.score-row dd.metric+dd.metric{border-left:1px solid #0009}.metric-label{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.metric-value{letter-spacing:.5px;text-shadow:0 1px #00000073;border-radius:0;justify-content:center;align-items:center;width:100%;min-height:54px;font-size:22px;font-weight:700;transition:background-color .3s,color .3s,transform .25s;display:flex}.metric-value.points{color:#fafafa;background:linear-gradient(#141414 0%,#050505 100%)}.metric-value.points.is-tiebreak{color:#261200;text-shadow:none;background:linear-gradient(#ffe6a7 0%,#f3c34a 100%)}.metric-value.set{color:#fff9f2;background:linear-gradient(#ff7a1c 0%,#d64900 100%)}.metric-value.set.is-active{position:relative}.score-row[data-side=A] .metric-value.set.is-active{box-shadow:inset 2px 2px #fff6,inset -2px 0 #fff6}.score-row[data-side=B] .metric-value.set.is-active{box-shadow:inset 2px -2px #fff6,inset -2px 0 #fff6}.player-flag{color:#111;text-transform:uppercase;background:#2f2f2f 50%/cover;border-radius:3px;justify-content:center;align-items:center;width:32px;height:20px;font-size:10px;font-weight:700;display:inline-flex;box-shadow:0 0 0 1px #ffffff73}.player-flag.has-image{color:#0000}.tb-sup{vertical-align:super;opacity:.75;margin-left:1px;font-size:11px;font-weight:400;line-height:1}.serve-indicator{filter:drop-shadow(0 0 4px #35c46a99);flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;font-size:14px;line-height:1;animation:2s ease-in-out infinite serve-pulse;display:inline-flex}@keyframes serve-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.88)}}.vm-footer{z-index:40;color:var(--muted);background:var(--bg);border-top:1px solid var(--line);-webkit-backdrop-filter:saturate(140%)blur(6px);backdrop-filter:saturate(140%)blur(6px);opacity:.95;justify-content:center;align-items:center;gap:10px;padding:8px 16px;font-size:13px;display:flex;position:fixed;bottom:0;left:0;right:0}.vm-footer__refresh{font-size:12px}.vm-footer__sep{opacity:.4;font-size:10px}body{padding-bottom:48px}.vm-footer__link{align-items:center;text-decoration:none;transition:opacity .2s;display:inline-flex}.vm-footer__link:hover{opacity:.75}.vm-footer__logo{-o-object-fit:contain;object-fit:contain;width:auto;height:28px}[data-theme=dark] .vm-footer__logo{filter:brightness(1.2)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.changed{transition:box-shadow 1.2s linear;box-shadow:inset 0 0 0 9999px #9ad1ff2e}.points.changed{animation:.28s bump}.set.changed{animation:.38s flip}.player-name.changed{animation:.9s glow}.points.flip-strong{transform-origin:top;backface-visibility:hidden;animation:.45s flipStrong}.points.rolling{position:relative}.points .digits{align-items:stretch;gap:0;display:inline-flex}.points .digit{width:.75em;height:1.2em;display:inline-block;position:relative;overflow:hidden}.points .digit .d-old,.points .digit .d-new{line-height:1.2em;display:block;transform:translateY(0)}.points.rolling .digit .d-old{animation:.35s forwards rollUpOld}.points.rolling .digit .d-new{animation:.35s forwards rollUpNew;transform:translateY(100%)}@keyframes rollUpOld{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes rollUpNew{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes card-in{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes bump{0%{transform:translateY(0)scale(1)}40%{transform:translateY(-4px)scale(1.08)}to{transform:translateY(0)scale(1)}}@keyframes flip{0%{transform:rotateX(0)}50%{transform:rotateX(90deg)}to{transform:rotateX(0)}}@keyframes flipStrong{0%{transform:rotateX(0)scale(1)}40%{transform:rotateX(95deg)scale(1.08)}to{transform:rotateX(0)scale(1)}}@keyframes glow{0%{text-shadow:0 0 #9ad1ff00}50%{text-shadow:0 0 12px #9ad1ff99}to{text-shadow:0 0 #9ad1ff00}}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.changed{transition:none}.card{opacity:1;animation:none;transform:none}.points.changed,.set.changed,.player-name.changed,.points.flip-strong,.points.rolling .digit .d-old,.points.rolling .digit .d-new,.live-badge{animation:none}}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}:focus:not(:focus-visible){outline:none}.lang-select{min-height:44px}.dark-mode-toggle,.hm-details-btn{min-width:44px;min-height:44px}.tab-btn,.live-subnav__card{min-height:44px}.cat-tab{min-height:36px}.filter-btn,.back-btn,.pp-back,.player-search,.player-dropdown,.player-card,.th-subtab,.tournament-card{min-height:44px}@media (width<=520px){.score-row{grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-auto-columns:minmax(0,.8fr)}.score-row dt.player-cell{letter-spacing:.3px;gap:6px;padding:8px;font-size:13px}.player-flag{width:24px;height:15px}.metric-value{min-height:44px;font-size:18px}.card h2{font-size:15px}.match-player{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:120px;display:inline-block;overflow:hidden}}.loading-state{justify-content:center;align-items:center;padding:80px 0;display:flex}.spinner{border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin;display:inline-block}.spinner--large{border-width:4px;width:40px;height:40px}.error-bar{color:var(--err);background:#ff6b6b1f;border:1px solid #ff6b6b59;border-radius:10px;margin:12px 0;padding:12px 16px}.error{color:var(--err)}.empty-state__icon{opacity:.3;margin-bottom:20px;font-size:64px}.empty-state__title{color:var(--text);margin:0 0 8px;font-size:20px;font-weight:600}.empty-state__text{margin:0;font-size:14px}.th-selector{align-items:center;gap:10px;margin:18px 0 12px;display:flex}.th-selector__label{color:var(--text);font-size:14px;font-weight:600}.th-selector__select{border:1px solid var(--line);background:var(--card);max-width:360px;color:var(--text);cursor:pointer;border-radius:8px;flex:1;padding:7px 10px;font-size:14px}.th-subtabs{border-bottom:2px solid var(--line);gap:6px;margin-bottom:14px;padding-bottom:0;display:flex}.th-subtab{cursor:pointer;color:var(--text-dim);background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;padding:7px 18px;font-size:14px;font-weight:600;transition:color .15s,border-color .15s}.th-subtab:hover{color:var(--text)}.th-subtab--active{color:var(--accent);border-bottom-color:var(--accent)}#history-section{margin-top:24px;padding-bottom:48px}.hm-heading{color:var(--text);letter-spacing:.2px;margin:0 0 14px;font-size:17px;font-weight:700}.hm-list{flex-direction:column;gap:10px;display:flex}.hm-card{background:var(--card);border:1px solid var(--line);border-radius:12px;transition:box-shadow .2s;overflow:hidden}.hm-card:hover{box-shadow:0 2px 12px #00000014}[data-theme=dark] .hm-card:hover{box-shadow:0 2px 16px #0000004d}.hm-scoreboard{flex-direction:column;padding:0;display:flex}.hm-player{min-height:38px;color:var(--muted);align-items:center;gap:0;padding:8px 14px;font-size:14px;transition:color .15s;display:flex}.hm-player+.hm-player{border-top:1px solid var(--line)}.hm-player--winner{color:var(--text);font-weight:600}.hm-winner-mark{background:var(--ok);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-right:10px}.hm-winner-mark--empty{background:0 0}.hm-player-name{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.15px;flex:1;min-width:0;overflow:hidden}.hm-sets{flex-shrink:0;align-items:baseline;gap:0;margin-left:auto;display:flex}.hm-set-cell{text-align:center;font-variant-numeric:tabular-nums;min-width:28px;color:var(--muted);justify-content:center;align-items:baseline;padding:0 4px;font-size:15px;font-weight:400;display:inline-flex}.hm-player--winner .hm-set-cell{color:var(--text)}.hm-set-cell--won{font-weight:700}.hm-tb{color:var(--muted);vertical-align:super;margin-left:1px;font-size:10px;font-weight:400;line-height:1}.hm-meta{border-top:1px solid var(--line);background:var(--bg);justify-content:space-between;align-items:center;gap:8px;padding:6px 14px 8px;display:flex}.hm-meta-left{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hm-court-badge{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:600}.hm-cat-badge{color:var(--accent);text-transform:uppercase;letter-spacing:.3px;background:#0b6efd1a;border-radius:4px;padding:1px 7px;font-size:11px;font-weight:600}[data-theme=dark] .hm-cat-badge{background:#9ad1ff1f}.hm-phase{color:var(--muted);font-size:11px}.hm-time,.hm-date{color:var(--muted);align-items:center;gap:3px;font-size:11px;display:inline-flex}.hm-time-icon{opacity:.6}.hm-details-btn{border:1px solid var(--line);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.hm-details-btn:hover{background:var(--line)}.hm-details-btn:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.hm-chevron{transition:transform .2s}.hm-chevron--open{transform:rotate(180deg)}.hm-details-panel{border-top:1px solid var(--line);background:var(--bg);padding:12px 14px 14px}.hm-details-status{color:var(--muted);align-items:center;gap:8px;padding:4px 0;font-size:13px;display:flex}.hm-stats-mode{text-align:center;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:8px;font-size:11px;font-weight:600}.hm-stats-table{border-collapse:collapse;width:100%;font-size:13px}.hm-stats-th{color:var(--text);border-bottom:1px solid var(--line);padding:4px 6px 8px;font-size:12px;font-weight:600}.hm-stats-th--name{width:30%}.hm-stats-th--name:first-child{text-align:right}.hm-stats-th--name:last-child{text-align:left}.hm-stats-th--label{text-align:center}.hm-stats-row td{border-bottom:1px solid var(--line);padding:5px 6px}.hm-stats-val{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:400}.hm-stats-row td:first-child{text-align:right}.hm-stats-row td:last-child{text-align:left}.hm-stats-val--better{color:var(--text);font-weight:600}.hm-stats-label{text-align:center;color:var(--muted);white-space:nowrap;font-size:12px}.hm-stats-footer{color:var(--text);justify-content:center;align-items:center;gap:16px;padding:10px 0 2px;font-size:13px;display:flex}.hm-stats-winner{font-weight:600}.hm-stats-duration{color:var(--muted)}.hm-stats-times{color:var(--muted);justify-content:center;align-items:center;gap:20px;padding:6px 0 2px;font-size:12px;display:flex}.hm-stats-times__label{margin-right:4px;font-weight:600}@media (width<=520px){.hm-player{min-height:34px;padding:6px 10px;font-size:13px}.hm-set-cell{min-width:22px;font-size:13px}.hm-meta{flex-direction:column;align-items:flex-start;gap:6px;padding:6px 10px 8px}.hm-details-btn{align-self:flex-end}.hm-stats-table{font-size:12px}.hm-stats-th{font-size:11px}}.tab-bar{gap:0;max-width:900px;margin:12px auto 0;padding:0 12px;display:flex}.tab-btn{background:var(--card);color:var(--muted);cursor:pointer;border:none;border-bottom:3px solid #0000;flex:1;padding:10px 16px;font-size:14px;font-weight:600;transition:color .2s,border-color .2s,background .2s}.tab-btn:first-child{border-radius:8px 0 0}.tab-btn:last-child{border-radius:0 8px 0 0}.tab-btn:hover{color:var(--text)}.tab-btn--active{color:var(--text);border-bottom-color:var(--accent);background:var(--bg)}.cat-tabs{flex-wrap:wrap;justify-content:center;gap:4px;margin-bottom:16px;padding:8px 12px;display:flex}.cat-tab{border:2px solid var(--line);background:var(--card);color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:20px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .15s}.cat-tab:hover,.cat-tab:focus-visible{border-color:var(--accent);color:var(--text)}.cat-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cat-tab--active{background:var(--accent);border-color:var(--accent);color:#fff}.cat-tab--active:hover{color:#fff}.bracket-content{max-width:900px;margin:16px auto;padding:0 12px}.bracket-groups{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px;margin-bottom:24px;display:grid}.bracket-group{background:var(--card);border-radius:10px;overflow:hidden}.bracket-group__title{color:var(--text);border-bottom:1px solid var(--line);background:#0b6efd14;padding:12px 16px;font-size:16px;font-weight:700}[data-theme=dark] .bracket-group__title{background:#9ad1ff0f}.bracket-table{border-collapse:collapse;width:100%;font-size:13px}.bracket-table thead{background:#00000008}[data-theme=dark] .bracket-table thead{background:#ffffff08}.bracket-table th,.bracket-table td{text-align:center;border-bottom:1px solid var(--line);padding:8px 10px}.bt-pos{width:30px;color:var(--muted);font-weight:600}.bt-name{color:var(--text);font-weight:500;text-align:left!important}.bt-stat{color:var(--muted);font-variant-numeric:tabular-nums}.bt-stat--wins{color:var(--ok);font-weight:700}.bt-stat--losses{color:var(--err);font-weight:600}.bt-qualify{background:#35c46a0f}[data-theme=dark] .bt-qualify{background:#35c46a14}.bt-qualify .bt-pos{color:var(--ok)}.bt-row--placeholder td{color:#0000}.bt-row--placeholder td:before{content:" "}.bracket-legend{max-width:760px;color:var(--muted);border:1px solid var(--line);background:#00000004;border-radius:8px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px;margin:-10px auto 22px;padding:8px 12px;font-size:12px;display:flex}[data-theme=dark] .bracket-legend{background:#ffffff06}.bracket-legend__title{color:var(--text);margin:0;font-weight:800}.bracket-legend__item{align-items:baseline;gap:4px;display:inline-flex}.bracket-legend__item dt{color:var(--text);margin:0;font-weight:800}.bracket-legend__item dd{margin:0}.bt-podium--top{margin:0 0 20px}.bracket-matches{padding:12px 16px}.bracket-matches__title{color:var(--muted);margin-bottom:8px;font-size:13px;font-weight:600}.bm-scoreboard{border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:8px;width:100%;font-size:13px;overflow:hidden}.bm-scoreboard--group{table-layout:fixed}.bm-col-name{width:auto}.bm-col-set{width:52px}.bm-match-list{flex-direction:column;gap:10px;display:flex}.bm-scoreboard tr{color:var(--muted)}.bm-scoreboard tr+tr{border-top:1px solid var(--line)}.bm-row--won{color:var(--text);font-weight:700}.bm-scoreboard .bm-name{white-space:nowrap;text-overflow:ellipsis;text-align:left;padding:5px 12px;overflow:hidden}.bm-scoreboard .bm-set{text-align:center;font-variant-numeric:tabular-nums;min-width:28px;padding:5px 8px;font-weight:700;position:relative}.bm-row--won .bm-set{color:var(--text)}.bm-set--stb{font-size:11px;font-style:italic}.bm-tb{color:var(--muted);vertical-align:super;margin-left:1px;font-size:9px;font-weight:400}.bm-set--empty{min-width:28px}.bracket-tree{margin-top:28px;scroll-margin-top:132px}.bracket-tree__title{color:var(--text);text-align:center;margin-bottom:16px;font-size:18px;font-weight:700}.bt-ladder{grid-template-columns:minmax(0,1fr);gap:22px;max-width:820px;margin:0 auto;padding:4px 0 12px;display:grid;overflow-x:visible}.bt-round{flex-direction:column;gap:10px;min-width:0;display:flex;position:relative}.bt-round-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);text-align:center;border-bottom:2px solid var(--line);padding-bottom:6px;font-size:12px;font-weight:700}.bt-round--final{z-index:2;justify-self:center;width:min(100%,360px)}.bt-round--final .bt-round-label,.bt-round--semifinal .bt-round-label{color:var(--accent);border-bottom-color:var(--accent)}.bt-round--semifinal{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px clamp(18px,8vw,72px);padding-top:42px;display:grid}.bt-round--semifinal:before,.bt-round--semifinal:after{content:"";pointer-events:none;background:var(--accent);position:absolute}.bt-round--semifinal:before{width:3px;height:24px;top:0;left:50%;transform:translate(-50%)}.bt-round--semifinal:after{height:3px;top:24px;left:25%;right:25%}.bt-round--semifinal .bt-round-label{grid-column:1/-1}.bt-round--placement{justify-self:center;width:min(100%,620px)}.bt-matchup-wrap{min-width:0;position:relative}.bt-round--semifinal .bt-matchup-wrap:before{content:"";background:var(--accent);width:3px;height:17px;position:absolute;top:-17px;left:50%;transform:translate(-50%)}.bt-matchup{background:var(--card);border:1px solid var(--line);table-layout:fixed;border-radius:8px;position:relative;overflow:hidden}.bt-matchup--final{border-color:var(--accent);box-shadow:0 0 12px #0b6efd1a}[data-theme=dark] .bt-matchup--final{box-shadow:0 0 12px #9ad1ff14}.bt-matchup .bm-name{min-height:34px;padding:8px 12px}.bt-matchup .bm-row--won{background:#35c46a0f}[data-theme=dark] .bt-matchup .bm-row--won{background:#35c46a1a}.bt-matchup .bm-row--won .bm-name{color:var(--ok)}.bt-route-label{max-width:100%;color:var(--muted);border:1px solid var(--line);background:var(--bg);border-radius:999px;align-items:center;margin:0 0 4px;padding:2px 7px;font-size:11px;font-weight:800;line-height:1.25;display:inline-flex}.bt-route-label--winner{color:var(--ok);border-color:#35c46a73}.bt-route-label--loser{margin:5px 0 0}.bt-podium{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px;display:flex}.bt-podium-item{background:var(--card);border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;padding:8px 16px;display:flex}.bt-podium-medal{font-size:20px}.bt-podium-result{flex-direction:column;line-height:1.3;display:flex}.bt-podium-result strong{color:var(--text);font-size:14px}.bt-podium-result small{color:var(--muted);font-size:11px}@media (width<=520px){.bt-ladder{gap:14px}.bt-round--semifinal{grid-template-columns:1fr;padding-top:24px}.bt-round--semifinal:before,.bt-round--semifinal:after,.bt-round--semifinal .bt-matchup-wrap:before{display:none}.bt-round--placement,.bt-round--final{width:100%}.bracket-legend{justify-content:flex-start;margin-top:-8px}.bm-scoreboard{font-size:12px}.bm-scoreboard .bm-name{max-width:120px}.bm-scoreboard .bm-set{min-width:22px;padding:5px}.cat-tab{padding:6px 10px;font-size:12px}.bracket-groups{grid-template-columns:1fr}.bracket-table{font-size:12px}.bracket-table th,.bracket-table td{padding:6px}.bracket-match-item,.bm-scoreboard{font-size:12px}.tab-btn{padding:8px;font-size:13px}}.live-tournament-name{color:var(--text);text-align:center;margin:0 0 14px;font-size:20px;font-weight:700}.live-subnav{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:20px;display:flex}.live-subnav__card{border:2px solid var(--line);background:var(--card);color:var(--text-dim);cursor:pointer;border-radius:12px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.live-subnav__card:hover{border-color:var(--accent);color:var(--text);box-shadow:0 2px 8px #0000000f}.live-subnav__card--active{border-color:var(--accent);color:var(--accent);background:var(--accent-bg,#4caf5014)}.live-subnav__icon{font-size:18px}.tournament-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:18px;display:grid}.tournament-card{background:var(--card);border:1px solid var(--line);cursor:pointer;text-align:left;border-radius:14px;flex-direction:column;gap:8px;padding:18px;transition:all .2s;display:flex}.tournament-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 16px #00000014}.tournament-card__name{color:var(--text);margin:0;font-size:17px;font-weight:700}.tournament-card__meta{color:var(--text-dim);flex-direction:column;gap:3px;font-size:13px;display:flex}.tournament-card__location{font-weight:500}.tournament-card__date{opacity:.8;font-size:12px}.tournament-card__footer{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.tournament-card__players{color:var(--text);font-size:13px;font-weight:600}.tournament-card__badge{background:var(--accent);color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:700}.back-btn{border:1px solid var(--line);background:var(--card);color:var(--text-dim);cursor:pointer;border-radius:8px;align-items:center;gap:4px;margin-bottom:12px;padding:6px 14px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.back-btn:hover{color:var(--text);border-color:var(--accent)}.tournament-detail__name{color:var(--text);margin:0 0 14px;font-size:22px;font-weight:700}.section-heading{color:var(--text);margin:0 0 16px;font-size:20px;font-weight:700}.player-filters{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.player-search{border:1px solid var(--line);background:var(--card);min-width:200px;max-width:360px;color:var(--text);border-radius:10px;outline:none;flex:1;padding:8px 14px;font-size:14px;transition:border-color .15s}.player-search:focus{border-color:var(--accent)}.player-search::placeholder{color:var(--text-dim);opacity:.7}.player-filter-btns{gap:6px;display:flex}.player-filters--row2{margin-top:-8px}.player-dropdown{border:1px solid var(--line);background:var(--card);color:var(--text);cursor:pointer;border-radius:8px;min-width:160px;padding:7px 12px;font-size:13px;font-weight:500}.player-dropdown:focus{border-color:var(--accent);outline:none}.filter-btn{border:1px solid var(--line);background:var(--card);color:var(--text-dim);cursor:pointer;border-radius:8px;padding:6px 16px;font-size:13px;font-weight:600;transition:all .15s}.filter-btn:hover{color:var(--text);border-color:var(--accent)}.filter-btn--active{background:var(--accent);color:#fff;border-color:var(--accent)}.player-list{flex-direction:column;gap:8px;display:flex}.player-card{background:var(--card);border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;padding:12px 16px;transition:box-shadow .2s;display:flex}.player-card:hover{box-shadow:0 2px 8px #0000000f}.player-card__main{align-items:center;gap:10px;display:flex}.player-card__flag{-o-object-fit:cover;object-fit:cover;border-radius:2px}.player-card__name{color:var(--text);font-size:15px;font-weight:600}.player-card__cat{background:var(--line);color:var(--text-dim);border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600}.player-card__gender{background:var(--line);color:var(--text-dim);border-radius:6px;padding:2px 6px;font-size:11px;font-weight:600}.player-card__stats{align-items:center;gap:14px;display:flex}.player-card__stat{flex-direction:column;align-items:center;gap:1px;display:flex}.player-card__stat-val{color:var(--text);font-size:16px;font-weight:700}.player-card__stat-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.3px;font-size:10px}.player-card__stat--wins .player-card__stat-val{color:var(--accent)}.player-card__stat--losses .player-card__stat-val{color:#e53935}.empty-state{text-align:center;color:var(--text-dim);padding:40px 20px}.empty-state__icon{margin-bottom:10px;font-size:48px}.loading-state{text-align:center;padding:40px 20px}.bracket-empty{text-align:center;color:var(--text-dim);padding:30px 16px}.player-card--clickable{cursor:pointer;transition:transform .1s,box-shadow .15s}.player-card--clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.player-card--clickable:active{transform:translateY(0)}.pp-back{color:var(--accent);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin-bottom:12px;padding:6px 0;font-size:14px;font-weight:600;display:inline-flex}.pp-back:hover{text-decoration:underline}.pp-header{background:var(--card);border-radius:var(--r);border:1px solid var(--line);align-items:center;gap:16px;margin-bottom:16px;padding:20px;display:flex}.pp-avatar{background:linear-gradient(135deg, var(--accent), #1565c0);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;display:flex;position:relative}.pp-avatar__initials{color:#fff;text-transform:uppercase;font-size:22px;font-weight:700}.pp-avatar__flag{border:2px solid var(--card);border-radius:3px;width:22px;height:16px;position:absolute;bottom:-2px;right:-2px}.pp-info__name{color:var(--text);margin:0;font-size:22px;font-weight:700}.pp-info__details{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.pp-badge{background:var(--line);color:var(--text-dim);border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.pp-badge--cat{color:var(--accent);background:#2196f326}.pp-badge--gender{color:#9c27b0;background:#9c27b01f}.pp-badge--country img{border-radius:2px}.pp-career{background:var(--card);border-radius:var(--r);border:1px solid var(--line);margin-bottom:16px;padding:16px 20px}.pp-stat-grid{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.pp-stat{text-align:center;background:var(--bg);border-radius:8px;flex:80px;min-width:70px;padding:10px 8px}.pp-stat__val{color:var(--text);font-size:22px;font-weight:700}.pp-stat__label{color:var(--text-dim);text-transform:uppercase;margin-top:2px;font-size:11px}.pp-stat--wins .pp-stat__val{color:var(--accent)}.pp-stat--losses .pp-stat__val{color:#e53935}.pp-medals{border-top:1px solid var(--line);justify-content:center;gap:16px;margin-top:12px;padding-top:12px;display:flex}.pp-medal{align-items:center;gap:4px;font-size:18px;display:flex}.pp-medal span{color:var(--text);font-size:16px;font-weight:700}.pp-section-title{color:var(--text);border-bottom:2px solid var(--accent);margin:0 0 12px;padding-bottom:6px;font-size:16px;font-weight:700}.pp-tournaments{flex-direction:column;gap:8px;display:flex}.pp-tourn{background:var(--card);border-radius:var(--r);border:1px solid var(--line);overflow:hidden}.pp-tourn__header{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;transition:background .15s;display:flex}.pp-tourn__header:hover{background:#2196f30a}.pp-tourn__left{align-items:center;gap:10px;min-width:0;display:flex}.pp-tourn__medal{flex-shrink:0;font-size:22px}.pp-tourn__name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.pp-tourn__dates{color:var(--text-dim);font-size:11px}.pp-tourn__right{flex-shrink:0;align-items:center;gap:10px;display:flex}.pp-tourn__record{font-size:13px;font-weight:600}.pp-tourn__w{color:var(--accent)}.pp-tourn__l{color:#e53935}.pp-tourn__group{color:var(--text-dim);background:var(--bg);border-radius:4px;padding:2px 6px;font-size:11px}.pp-tourn__chevron{color:var(--text-dim);font-size:14px;transition:transform .2s;display:inline-block}.pp-tourn__chevron--open{transform:rotate(90deg)}.pp-tourn__matches{border-top:1px solid var(--line);background:var(--bg);padding:8px 12px}.pp-tourn__no-matches{text-align:center;color:var(--text-dim);padding:12px;font-size:13px}.pp-match{border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.pp-match:nth-child(odd){background:#ffffff08}.pp-match__result{text-align:center;width:18px;font-size:14px;font-weight:700}.pp-match--won .pp-match__result{color:var(--accent)}.pp-match--lost .pp-match__result{color:#e53935}.pp-match__opponent{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:500;overflow:hidden}.pp-match__sets{flex-shrink:0;gap:6px;display:flex}.pp-match__set{font-variant-numeric:tabular-nums;color:var(--text);font-weight:600}.pp-match__set--stb{color:var(--accent)}.pp-match__tb{color:var(--text-dim);vertical-align:super;font-size:9px}.pp-match__phase{color:var(--text-dim);background:var(--line);border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:10px}@media (width<=520px){.tournament-grid{grid-template-columns:1fr}.live-subnav{gap:6px}.live-subnav__card{padding:8px 12px;font-size:12px}.player-filters{flex-direction:column;align-items:stretch}.player-filters--row2{flex-direction:column;margin-top:0}.player-dropdown{min-width:100%}.player-search{max-width:100%}.player-card{flex-direction:column;align-items:flex-start;gap:8px}.player-card__stats{justify-content:space-around;width:100%}.pp-header{text-align:center;flex-direction:column;padding:16px}.pp-info__details{justify-content:center}.pp-stat{flex:60px;min-width:60px;padding:8px 4px}.pp-stat__val{font-size:18px}.pp-tourn__header{flex-direction:column;align-items:flex-start}.pp-tourn__right{justify-content:space-between;width:100%}.pp-match{flex-wrap:wrap}.pp-match__opponent{flex-basis:100%;order:2}.pp-match__sets{order:3}}
