:root{--primary:#1a932e;--primary-light:#e8f5ea;--primary-dark:#14722a;--bg:#fff;--surface:#f5f5f5;--surface-2:#ebebeb;--text:#1a1a1a;--text-muted:#666;--text-light:#999;--border:#e8e8e8;--danger:#dc2626;--warning:#f59e0b;--success:#1a932e;--info:#3b82f6;--fatigue-high:#dc2626;--fatigue-medium:#f59e0b;--fatigue-low:#1a932e;--page-width:1280px}html[data-theme=dark]{--primary:#2ecc52;--primary-light:#1a3a22;--primary-dark:#25a040;--bg:#1a1a1a;--surface:#2a2a2a;--surface-2:#333;--text:#e0e0e0;--text-muted:#999;--text-light:#666;--border:#3a3a3a;--danger:#ef4444;--warning:#fbbf24;--success:#2ecc52;--info:#60a5fa;--fatigue-high:#ef4444;--fatigue-medium:#fbbf24;--fatigue-low:#2ecc52}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}.mark{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.mark__image{width:100%;height:100%;display:block;object-fit:contain}button,input,select,textarea{font:inherit}.app-frame{min-height:100vh;background:var(--bg)}.page-shell{max-width:var(--page-width);margin:0 auto;min-height:calc(100vh - 48px)}.content-page{max-width:960px;margin:0 auto;padding:24px 20px 40px}.header{position:-webkit-sticky;position:sticky;top:0;z-index:100;height:48px;padding:0 20px;border-bottom:1px solid var(--border);background:var(--bg)}.header,.logo{display:flex;align-items:center}.logo{gap:6px;color:var(--primary);font-size:18px}.logo-icon{font-size:20px}.header-search{width:240px;margin-left:24px;padding:6px 12px;border:1px solid var(--border);border-radius:20px;background:var(--surface);font-size:15px}.header-nav{margin-left:auto;display:flex;align-items:center;gap:20px}.header-nav__link{font-size:15px;font-weight:500}.header-nav__link--active,.header-nav__link:hover{color:var(--text)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:4px 12px;border:1px solid var(--border);border-radius:20px;color:var(--text-muted);cursor:pointer;font-size:11px}.layout{display:grid;grid-template-columns:240px 1fr 280px;min-height:calc(100vh - 48px)}.sidebar-left,.sidebar-right{padding:16px}.sidebar-left{border-right:1px solid var(--border)}.sidebar-right{border-left:1px solid var(--border)}.sidebar-section-title{margin-bottom:8px;color:var(--text-light);font-weight:600;letter-spacing:.5px;text-transform:uppercase}.league-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px}.league-item.active{color:var(--primary)}.league-icon{display:inline-flex;align-items:center;justify-content:center;font-size:18px}.league-icon--small{width:16px;height:16px;font-size:14px}.main-content{padding:0}.date-nav{position:-webkit-sticky;position:sticky;top:48px;z-index:50;display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg)}.date-nav__primary{display:grid;grid-template-columns:28px minmax(0,max-content) 28px;grid-gap:8px;gap:8px;align-items:center}.date-picker{position:relative}.date-arrow,.date-picker__trigger{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;background:transparent;color:var(--text-muted)}.date-picker__trigger{min-height:28px;justify-content:center;gap:6px;padding:0 14px;border-color:var(--border);border-radius:16px;background:var(--bg);color:var(--text);font-size:12px;font-weight:600;cursor:pointer}.date-picker__label{color:var(--text);font-size:12px;font-weight:700}.date-picker__meta{color:var(--text-muted);font-size:12px;font-weight:500}.date-picker__chevron{color:var(--text-light);font-size:11px;transition:transform .18s ease}.date-picker__chevron--open{transform:rotate(180deg)}.date-picker__backdrop{position:fixed;inset:48px 0 0;z-index:110;border:none;background:rgba(17,24,39,.48);cursor:default}.date-picker__calendar{position:fixed;top:50%;left:50%;z-index:120;width:min(500px,calc(100vw - 32px));transform:translate(-50%,-50%);overflow:hidden;border:1px solid var(--border);border-radius:24px;background:var(--bg);box-shadow:0 24px 60px rgba(17,24,39,.18)}.date-picker__calendar-header{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;grid-gap:12px;gap:12px;padding:26px 28px 18px;border-bottom:1px solid var(--border)}.date-picker__month-label{text-align:center;font-size:20px;font-weight:700;color:var(--text)}.date-picker__month-arrow{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:50%;background:var(--surface);color:var(--text);cursor:pointer;font-size:26px;line-height:1}.date-picker__days,.date-picker__weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-column-gap:4px;column-gap:4px}.date-picker__weekdays{padding:18px 24px 12px;color:var(--text-light);font-size:12px;text-align:center}.date-picker__days{row-gap:6px;padding:0 24px 24px}.date-picker__day{display:inline-flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;border:none;border-radius:999px;background:transparent;color:var(--text);cursor:pointer;font-size:15px;font-weight:500}.date-picker__day:hover{background:var(--surface)}.date-picker__day--outside{color:var(--text-light)}.date-picker__day--today{font-weight:700}.date-picker__day--selected{background:var(--surface-2);color:var(--text);font-weight:700}.date-arrow{width:28px;height:28px;border:1px solid var(--border);border-radius:50%;background:var(--bg);font-size:14px;cursor:pointer}.date-arrow:disabled{opacity:.35;cursor:default}.filter-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}.filter-tab{min-height:28px;padding:0 12px;border:1px solid var(--border);border-radius:14px;background:var(--bg);color:var(--text-muted);cursor:pointer;font-weight:500}.filter-tab.active{border-color:var(--border);background:var(--surface);color:var(--text);font-weight:500}.league-group{border-bottom:1px solid var(--border)}.league-group-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--surface);color:var(--text-muted);font-weight:600}.league-group-header__meta{color:var(--text-light)}.match-row{display:grid;grid-template-columns:60px 1fr 40px 1fr 40px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);color:var(--text)}.match-row:hover{background:var(--surface)}.match-row--feed{grid-template-columns:60px 1fr 44px 1fr 24px}.match-time{display:flex;flex-direction:column;gap:2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.match-time,.match-time__value{color:var(--text-muted)}.match-time__date{color:var(--text-light);font-size:10px}.team-name{display:flex;align-items:center;gap:8px}.team-name.home{justify-content:flex-end;text-align:right}.team-name.away{justify-content:flex-start}.team-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:2px;background:transparent;font-size:13px;flex-shrink:0}.match-score{text-align:center;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.match-score .vs{color:var(--text-light);font-size:12px;font-weight:400}.match-row__favorite{color:var(--text-light);font-size:11px;text-align:right}.fatigue-bar-container{display:flex;align-items:center;gap:8px;padding:0 16px 10px;color:var(--text-light);font-size:10px}.fatigue-bar{position:relative;flex:1 1;height:4px;overflow:hidden;border-radius:2px;background:var(--surface-2)}.fatigue-fill{height:100%;border-radius:2px}.energy-block__fill--fresh,.fatigue-fill.fresh,.rank-card__score-fill--fresh,.team-player-card__bar-fill--fresh{background:var(--fatigue-low)}.energy-block__fill--tired,.fatigue-fill.tired,.rank-card__score-fill--tired,.team-player-card__bar-fill--tired{background:var(--fatigue-medium)}.energy-block__fill--exhausted,.fatigue-fill.exhausted,.rank-card__score-fill--exhausted,.team-player-card__bar-fill--exhausted{background:var(--fatigue-high)}.fatigue-label{min-width:24px;text-align:center;font-size:10px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.energy-block__value--fresh,.fatigue-label.fresh,.group-list__energy--fresh,.league-standings-table__energy-value--fresh,.list-row__status--fresh,.player-hero__energy-note--fresh,.player-hero__energy-value--fresh,.rank-card__score-value--fresh,.summary-metric-card__value--fresh,.team-player-card__score--fresh{color:var(--fatigue-low)}.energy-block__value--tired,.fatigue-label.tired,.group-list__energy--tired,.league-standings-table__energy-value--tired,.player-hero__energy-note--tired,.player-hero__energy-value--tired,.rank-card__score-value--tired,.summary-metric-card__value--tired,.team-player-card__score--tired{color:var(--fatigue-medium)}.energy-block__value--exhausted,.fatigue-label.exhausted,.group-list__energy--exhausted,.league-standings-table__energy-value--exhausted,.player-hero__energy-note--exhausted,.player-hero__energy-value--exhausted,.rank-card__score-value--exhausted,.summary-metric-card__value--exhausted,.team-player-card__score--exhausted{color:var(--fatigue-high)}.fatigue-energy-word{min-width:40px;text-align:center}.news-card{display:block;margin-bottom:12px;text-decoration:none;color:inherit}.news-card--featured{margin-bottom:10px}.news-card-placeholder,.news-list-item__thumb{--news-accent:var(--primary);display:flex;align-items:center;justify-content:center;border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--news-accent) 35%,#fff),color-mix(in srgb,var(--news-accent) 12%,var(--surface)));color:var(--text-light)}.news-card-placeholder{width:100%;height:140px;font-size:12px}.news-card h4,.news-list-item__title{margin:8px 0 0;font-size:15px;font-weight:600;line-height:1.4}.news-list-item__meta,.news-meta{margin-top:4px;color:var(--text-light);font-size:11px}.sidebar-story-list{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.sidebar-story{display:flex;align-items:flex-start;gap:10px}.sidebar-story__thumb{--news-accent:var(--primary);width:72px;height:56px;flex-shrink:0;border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--news-accent) 35%,#fff),color-mix(in srgb,var(--news-accent) 12%,var(--surface)))}.sidebar-story__body{min-width:0}.sidebar-story__title{font-weight:600;line-height:1.45}.sidebar-story__meta{margin-top:3px;color:var(--text-light);font-size:10px}.standings-mini{margin-top:20px}.league-standings-table,.standings-mini table{width:100%;border-collapse:collapse}.league-standings-table th,.standings-mini th{padding:4px 6px;border-bottom:1px solid var(--border);color:var(--text-light);font-size:10px;font-weight:600;text-align:left;text-transform:uppercase}.league-standings-table td:not(:first-child),.league-standings-table th:not(:first-child),.standings-mini td:not(:first-child),.standings-mini th:not(:first-child){text-align:center}.league-standings-table td,.standings-mini td{padding:6px;border-bottom:1px solid var(--border);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.standings-mini td:first-child{display:flex;align-items:center;gap:6px}.filter-chip-row{display:flex;flex-wrap:wrap;gap:6px}.filter-chip{min-height:28px;padding:0 12px;border:1px solid var(--border);border-radius:14px;background:var(--bg);color:var(--text-muted);font-size:12px;font-weight:500}.filter-chip.active{background:var(--surface);color:var(--text)}.competition-group-title{color:var(--text-muted);font-size:12px;font-weight:700}.competition-match-list{display:flex;flex-direction:column;gap:1px}.league-standings-table__team{display:inline-flex;align-items:center;gap:6px;font-weight:600}.league-standings-table__energy{color:var(--primary)}.pos-indicator{display:inline-block;width:3px;height:16px;border-radius:2px;margin-right:4px;vertical-align:middle}.pos-ucl{background:var(--info)}.pos-uel{background:var(--warning)}.pos-rel{background:var(--danger)}.flat-empty{padding:20px;border:1px dashed var(--border);border-radius:8px;color:var(--text-light)}.flat-empty__action{margin-top:12px;padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font:inherit;cursor:pointer}.match-detail-mock{overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--bg)}.league-page-header,.match-detail-header,.page-block-header,.player-hero,.team-hero{padding:20px 24px;background:var(--surface)}.match-detail-header{position:relative;text-align:center}.match-detail-header__actions{position:absolute;top:18px;right:24px}.detail-action-button{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 14px;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--text);font-size:12px;font-weight:600;cursor:pointer}.league-page-header__meta,.match-detail-meta,.page-block-header__meta,.player-hero__meta,.team-hero__meta{color:var(--text-light);font-size:11px}.match-detail-teams{display:flex;justify-content:center;align-items:center;gap:32px;margin:8px 0}.match-detail-team{text-align:center}.fatigue-team-header__badge,.league-page-header__badge,.match-detail-team .badge,.player-hero__avatar,.team-hero__badge{display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2);overflow:hidden}.match-detail-team .badge{width:56px;height:56px;margin:0 auto 8px;border-radius:12px;font-size:28px}.match-detail-team .name{font-size:20px;font-weight:600;letter-spacing:-.02em}.match-detail-vs{color:var(--text-light);font-size:28px;font-weight:700}.match-detail-vs--finished{display:flex;flex-direction:column;gap:2px;align-items:center}.match-detail-vs__score{color:var(--text);font-size:28px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.match-detail-vs__status{color:var(--text-light);font-size:13px;font-weight:600;text-transform:uppercase}.match-tabs{display:flex;overflow-x:auto;border-bottom:1px solid var(--border);background:var(--bg)}.match-tab{padding:14px 20px 12px;border:none;border-bottom:3px solid transparent;background:none;color:var(--text-muted);cursor:pointer;font-size:15px;font-weight:500;white-space:nowrap}.match-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.match-tab.sonar-tab{color:var(--primary);font-weight:700}.sonar-panel{padding:20px}.sonar-section+.sonar-section{margin-top:24px}.sonar-section-title{margin-bottom:12px;color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.section-lead{display:flex;flex-direction:column;gap:4px}.section-lead__note{color:var(--text-light);font-size:10px;line-height:1.6}.sonar-compare-grid{display:grid;grid-template-columns:1fr 80px 1fr;grid-gap:16px;gap:16px;align-items:start}.fatigue-vs{color:var(--text-light);font-size:11px;text-align:center;padding-top:64px}.fatigue-team-header{display:flex;align-items:center;gap:8px;margin-bottom:16px}.fatigue-team-header--right{justify-content:flex-end;text-align:right}.fatigue-team-header__badge{width:36px;height:36px;border-radius:8px;font-size:20px}.fatigue-team-header__name{display:block;font-size:15px;font-weight:700}.fatigue-team-header__meta{display:block;font-size:10px;color:var(--text-light)}.energy-block{margin-bottom:16px}.energy-block__meta{display:flex;justify-content:space-between;margin-bottom:4px;color:var(--text-muted);font-size:11px;font-weight:600}.energy-block__bar{position:relative;width:100%;height:28px;overflow:hidden;border-radius:6px;background:var(--surface-2)}.energy-block__fill{position:absolute;inset:0 auto 0 0;border-radius:6px}.energy-block__label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text);font-size:11px;font-weight:700}.info-grid,.summary-metric-grid{display:grid;grid-gap:8px;gap:8px}.summary-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-metric-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}.info-grid--three,.summary-metric-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.info-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.info-card,.mini-stat-card,.recovery-card,.schedule-card,.summary-metric-card{border:1px solid var(--border);border-radius:8px;background:var(--surface)}.mini-stat-card,.summary-metric-card{padding:8px;text-align:center}.mini-stat-card__label,.summary-metric-card__title{color:var(--text-light);font-size:10px}.mini-stat-card__value,.summary-metric-card__value{margin-top:4px;font-size:16px;font-weight:800}.summary-metric-card__note{color:var(--text-light);font-size:9px}.info-card{padding:14px}.info-card__title,.league-page-header__title,.page-block-header__title,.player-hero__title,.recovery-card__title,.schedule-card__title,.team-hero__title{font-size:13px;font-weight:700}.info-card__body{margin-top:6px;color:var(--text-muted);line-height:1.6}.postgame-roster{display:flex;flex-direction:column;gap:12px;margin-top:10px}.postgame-roster__section{display:flex;flex-direction:column;gap:8px}.postgame-roster__label{color:var(--text-light);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.postgame-pitch-card{padding:16px}.postgame-pitch-card__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.postgame-pitch-card__team{display:flex;align-items:center;gap:8px}.postgame-pitch-card__team--away{flex-direction:row-reverse;text-align:right}.postgame-pitch-card__team-name{font-size:13px;font-weight:700}.postgame-pitch-card__legend,.postgame-pitch-card__team-meta{color:var(--text-light);font-size:11px}.postgame-pitch-card__legend{margin-top:10px}.postgame-pitch{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:12px;background:linear-gradient(135deg,#1a5c2a,#1d6b30)}.postgame-pitch__svg{position:absolute;inset:0;width:100%;height:100%}.postgame-pitch__marker{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);text-align:center}.postgame-pitch__marker-body{position:relative}.postgame-pitch__shirt{width:30px;height:30px;border:2px solid #fff;border-radius:50%;display:flex;background:hsla(0,0%,100%,.92);box-shadow:0 2px 6px rgba(0,0,0,.25);color:#1a5c2a;font-size:10px}.postgame-pitch__rating,.postgame-pitch__shirt{align-items:center;justify-content:center;font-weight:800}.postgame-pitch__rating{position:absolute;top:-6px;left:-8px;min-width:20px;height:20px;padding:0 4px;border:1px solid hsla(0,0%,100%,.92);border-radius:999px;display:inline-flex;background:var(--surface);color:var(--text);font-size:8px}.postgame-pitch__rating--exceptional{background:#0f9f4f;color:#fff}.postgame-pitch__rating--great{background:#22c55e;color:#fff}.postgame-pitch__rating--good{background:#d1fae5;color:#065f46}.postgame-pitch__rating--average{background:#f3f4f6;color:#374151}.postgame-pitch__rating--poor{background:#ef4444;color:#fff}.postgame-pitch__name{margin-top:4px;color:hsla(0,0%,100%,.92);font-size:9px;font-weight:600;white-space:nowrap}.player-performance-row{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg)}.player-performance-row__main{flex:1 1;min-width:0}.player-performance-row__title{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:600}.player-performance-row__identity{display:inline-flex;align-items:center;gap:8px;min-width:0}.player-performance-row__meta,.player-performance-row__position,.player-performance-row__summary,.timeline-event__detail,.timeline-event__team{color:var(--text-light);font-size:10px}.player-performance-row__meta,.player-performance-row__summary{margin-top:4px}.player-performance-row__rating{min-width:34px;color:var(--text);font-size:13px;font-weight:700;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.player-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;overflow:hidden;border-radius:999px;background:var(--surface-2);flex-shrink:0}.player-avatar__image{width:100%;height:100%;object-fit:cover}.player-avatar__fallback{position:absolute;inset:0;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:9px;font-weight:700}.player-avatar__image:not([src=""])+.player-avatar__fallback{display:none}.mini-momentum-bars{display:flex;align-items:flex-end;gap:4px;height:52px}.mini-momentum-bars__item{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:2px}.mini-momentum-bars__result{font-size:8px;font-weight:800}.mini-momentum-bars__result--win,.momentum-dot--win{color:var(--success);background:var(--success)}.mini-momentum-bars__result--draw,.momentum-dot--draw{color:var(--warning);background:var(--warning)}.mini-momentum-bars__result--loss,.momentum-dot--loss{color:var(--danger);background:var(--danger)}.mini-momentum-bars__bar{width:100%;max-width:32px;border-radius:4px}.mini-momentum-bars__bar--win{background:color-mix(in srgb,var(--success) 70%,transparent)}.mini-momentum-bars__bar--draw{background:color-mix(in srgb,var(--warning) 70%,transparent)}.mini-momentum-bars__bar--loss{background:color-mix(in srgb,var(--danger) 70%,transparent)}.mini-momentum-bars__label{color:var(--text-light);font-size:7px}.sonar-schedule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.schedule-card{padding:12px}.group-list__energy,.league-page-header__meta,.list-row__meta,.player-bars__axis,.player-hero__energy-label,.rank-card__meta,.recovery-card__step-date,.recovery-card__step-note,.schedule-card__meta,.team-player-card__meta,.trend-card__axis,.worldcup-hero__label,.worldcup-hero__meta{color:var(--text-light);font-size:9px}.schedule-timeline{align-items:center;gap:2px;padding:8px 0}.schedule-timeline__segment{display:flex;align-items:center;flex:1 1}.timeline-dot{width:8px;height:8px;border-radius:50%;background:var(--surface-2);flex-shrink:0}.timeline-dot.match{background:var(--primary)}.timeline-dot.current{width:10px;height:10px;background:var(--danger)}.timeline-line{flex:1 1;height:1px;background:var(--border)}.ai-summary{padding:14px;border-left:3px solid var(--primary);border-radius:6px;background:var(--surface);font-size:13px;line-height:1.6}.ai-summary-label{display:flex;align-items:center;gap:4px;margin-bottom:6px;color:var(--primary);font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.group-list,.list-stack,.simple-stack{display:flex;flex-direction:column;gap:8px}.group-list__item,.list-row,.news-list-item,.rank-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.list-row--button{width:100%;border:1px solid var(--border);cursor:pointer;text-align:left}.list-row--active{border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}.list-row__dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.list-row__dot--danger{background:var(--danger)}.list-row__dot--warning{background:var(--warning)}.list-row__dot--fresh{background:var(--success)}.list-row__content,.news-list-item__content,.rank-card__main{flex:1 1;min-width:0}.group-list__item,.list-row__title,.news-list-item__title,.rank-card__title{font-size:12px;font-weight:600}.list-row__status{font-size:10px;font-weight:600}.stats-compare-table{display:flex;flex-direction:column;gap:6px}.stat-bar-row{display:grid;grid-template-columns:52px minmax(0,1fr) 88px minmax(0,1fr) 52px;align-items:center;grid-gap:10px;gap:10px;padding:9px 0}.away-val,.home-val{font-size:14px;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.home-val{text-align:right}.away-val{text-align:left}.bold-val{font-weight:700}.stat-label{text-align:center;font-size:12px}.bar-away,.bar-home{position:relative;height:4px;overflow:hidden;border-radius:999px;background:var(--surface-2)}.bar-away .fill,.bar-home .fill{position:absolute;top:0;height:100%;border-radius:999px}.bar-home .fill{right:0;background:var(--primary)}.bar-away .fill{left:0;background:var(--text-light)}.stats-compare-row{display:grid;grid-template-columns:1fr 120px 1fr;grid-gap:8px;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.stats-compare-row__label{color:var(--text-light);text-align:center;font-size:11px;font-weight:600}.stats-compare-row__value{font-size:12px;font-weight:700}.stats-compare-row__value--right{text-align:right}.timeline-feed{display:flex;flex-direction:column;gap:10px;margin-top:12px}.timeline-feed__event{display:grid;grid-template-columns:1fr 74px 1fr;grid-gap:10px;gap:10px;align-items:center}.timeline-feed__lane{min-width:0}.timeline-feed__lane--home{text-align:right}.timeline-feed__center{display:flex;flex-direction:column;align-items:center;gap:6px}.timeline-feed__dot{width:10px;height:10px;border-radius:999px;background:var(--border)}.timeline-feed__dot--goal{background:#22c55e}.timeline-feed__dot--card{background:#f59e0b}.timeline-feed__dot--substitution{background:#3b82f6}.timeline-feed__dot--var{background:#8b5cf6}.timeline-feed__break{display:flex;align-items:center;justify-content:center;margin:2px 0}.timeline-feed__break span{padding:4px 10px;background:var(--bg);color:var(--text-light);font-size:10px}.minute-badge,.timeline-feed__break span{border:1px solid var(--border);border-radius:999px;font-weight:700}.minute-badge{min-width:42px;height:24px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface);color:var(--text);font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.minute-badge--goal{border-color:color-mix(in srgb,#22c55e 40%,var(--border));color:#15803d}.minute-badge--card{border-color:color-mix(in srgb,#f59e0b 40%,var(--border));color:#b45309}.minute-badge--substitution{border-color:color-mix(in srgb,#3b82f6 40%,var(--border));color:#2563eb}.minute-badge--var{border-color:color-mix(in srgb,#8b5cf6 40%,var(--border));color:#7c3aed}.timeline-card{padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg)}.timeline-card--home{border-right:3px solid color-mix(in srgb,var(--primary) 50%,var(--border))}.timeline-card--away{border-left:3px solid color-mix(in srgb,var(--primary) 50%,var(--border))}.timeline-card__title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:12px;font-weight:700}.timeline-card__detail,.timeline-card__team{color:var(--text-light);font-size:10px}.timeline-card__detail{margin-top:4px}.facts-visual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.chart-card,.momentum-card{display:flex;flex-direction:column;gap:10px}.chart-card__svg{width:100%;height:86px;border-radius:8px;background:linear-gradient(180deg,var(--surface) 0,color-mix(in srgb,var(--surface) 65%,var(--bg)) 100%)}.chart-card__axis,.chart-card__divider{stroke:var(--border);stroke-width:1;stroke-dasharray:3 3}.chart-card__legend{display:flex;justify-content:space-between;gap:8px;color:var(--text-light);font-size:11px}.momentum-card__bars{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;grid-gap:6px;gap:6px;min-height:86px;padding:12px 8px 8px;border-radius:8px;background:linear-gradient(180deg,var(--surface) 0,color-mix(in srgb,var(--surface) 65%,var(--bg)) 100%)}.momentum-card__item{display:flex;align-items:flex-end;justify-content:center}.momentum-card__bar{width:100%;max-width:26px;min-height:10px;border-radius:4px 4px 0 0}.momentum-card__bar--home{background:color-mix(in srgb,var(--primary) 86%,#fff)}.momentum-card__bar--away{background:color-mix(in srgb,var(--text-light) 80%,#fff)}.potm-card{display:flex;align-items:center;gap:14px}.potm-card .player-avatar{width:48px;height:48px;flex:none}.potm-card .player-avatar__fallback,.potm-card .player-avatar__image{width:48px;height:48px}.potm-card__copy{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1}.potm-card__name{font-size:15px;font-weight:700}.potm-card__meta{color:var(--text-muted);font-size:12px}.potm-card__tags{display:flex;flex-wrap:wrap;gap:6px}.potm-card__tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;background:var(--surface);color:var(--text);font-size:11px;font-weight:600}.facts-pitch{position:relative;width:100%;height:170px;border-radius:10px;background:linear-gradient(180deg,hsla(0,0%,100%,.06),transparent),linear-gradient(135deg,#1a5c2a,#1d6b30);overflow:hidden}.facts-pitch:before{content:"";position:absolute;inset:12px;border:1px solid hsla(0,0%,100%,.16)}.facts-pitch:after{content:"";position:absolute;top:12px;bottom:12px;left:50%;width:1px;transform:translateX(-50%);background:hsla(0,0%,100%,.16)}.facts-pitch__marker{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;font-size:10px;font-weight:700;box-shadow:0 3px 8px rgba(0,0,0,.22)}.facts-pitch__marker--home{background:hsla(0,0%,100%,.92);color:#1a5c2a}.facts-pitch__marker--away{background:rgba(17,24,39,.88);color:#fff}.league-page-header,.player-hero,.team-hero{display:flex;align-items:center;gap:16px;text-align:left}.league-page-header__actions{display:flex;align-items:center;gap:12px;margin-left:auto}.league-page-header__season{min-height:38px;padding:0 16px;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--text);font-size:12px;font-weight:600;cursor:pointer}.league-fatigue-overview{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.league-fatigue-overview__label{color:var(--text-light);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.league-fatigue-overview__value{font-family:var(--font-display);font-size:24px;font-weight:700;line-height:1}.league-fatigue-overview__value--fresh{color:var(--fatigue-low)}.league-fatigue-overview__value--tired{color:var(--fatigue-medium)}.league-fatigue-overview__value--exhausted{color:var(--fatigue-high)}.league-follow-button,.league-page-pill{min-height:38px;padding:0 16px;border-radius:999px;font-size:12px;font-weight:600}.league-page-pill{display:inline-flex;align-items:center;border:1px solid var(--border);background:var(--bg)}.league-follow-button{border:none;background:var(--text);color:var(--bg);cursor:pointer}.league-page-header__badge{width:40px;height:40px;border-radius:8px;font-size:24px}.player-hero__avatar{width:72px;height:72px;border-radius:50%;font-size:22px;font-weight:700}.player-hero__avatar-image{width:100%;height:100%;display:block;object-fit:cover}.league-page-header__content,.player-hero__content,.team-hero__content{flex:1 1;min-width:0}.player-hero__title{font-size:20px;font-weight:800}.player-hero__meta,.team-hero__meta{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:12px}.player-hero__team{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted)}.player-hero__energy{text-align:right}.player-hero__energy-value{font-size:28px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.player-hero__energy-note{font-size:10px;font-weight:600}.player-bars{gap:2px;height:80px;padding:0 4px}.player-bars,.player-bars__item{display:flex;align-items:flex-end}.player-bars__item{flex:1 1}.player-bars__bar{width:100%;border-radius:2px 2px 0 0;background:var(--primary);opacity:.7}.player-bars__bar--danger{background:var(--danger);opacity:.9}.player-bars__bar--empty{background:var(--surface-2)}.player-bars__axis,.trend-card__axis{display:flex;justify-content:space-between;margin-top:4px;padding:0 4px}.trend-card{position:relative;height:60px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.trend-card svg{width:100%;height:100%}.trend-card__danger-zone{position:absolute;top:0;left:0;right:0;height:35%;border-bottom:1px dashed color-mix(in srgb,var(--danger) 40%,transparent);background:color-mix(in srgb,var(--danger) 5%,transparent)}.worldcup-hero{padding:24px;text-align:center;background:linear-gradient(135deg,#56042c,#8a1538);color:#fff}.worldcup-hero__title{font-size:24px;font-weight:900;letter-spacing:-.5px}.worldcup-hero__stats{display:flex;justify-content:center;gap:24px;margin-top:16px}.worldcup-hero__value{font-size:22px;font-weight:800}.recovery-card{padding:16px}.recovery-card__timeline{display:flex;flex-direction:column;gap:8px;margin-top:12px;margin-bottom:12px}.recovery-card__step-main{font-size:11px;font-weight:700}.group-list__item{justify-content:space-between}.inline-mark{display:inline-flex;align-items:center;gap:8px}.group-list__energy{font-weight:700}.team-hero__badge{width:48px;height:48px;border-radius:8px;font-size:24px}.team-hero__title{font-size:20px;font-weight:800}.team-player-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:8px;gap:8px}.team-player-card{display:block;padding:10px;border:1px solid var(--border);border-left-width:3px;border-radius:8px;background:var(--surface)}.team-player-card--fresh{border-left-color:var(--success)}.team-player-card--tired{border-left-color:var(--warning)}.team-player-card--exhausted{border-left-color:var(--danger)}.team-player-card__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.team-player-card__name{font-size:12px;font-weight:700}.team-player-card__score{font-size:14px;font-weight:800}.team-player-card__bar{height:3px;margin-top:6px;overflow:hidden;border-radius:2px;background:var(--surface-2)}.team-player-card__bar-fill{height:100%}.competition-match-card--compact .match-row{border-bottom:none}.competition-match-card{overflow:hidden}.competition-match-card--bottom .fatigue-bar-container,.competition-match-card--bottom .match-row,.competition-match-card--middle .fatigue-bar-container,.competition-match-card--middle .match-row,.competition-match-card--single .fatigue-bar-container,.competition-match-card--single .match-row,.competition-match-card--top .fatigue-bar-container,.competition-match-card--top .match-row{background:var(--surface)}.competition-match-card--top .match-row{border-radius:6px 6px 0 0}.competition-match-card--middle .fatigue-bar-container,.competition-match-card--middle .match-row,.competition-match-card--top .fatigue-bar-container{border-radius:0}.competition-match-card--bottom .fatigue-bar-container{border-radius:0 0 6px 6px}.knockout-flat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.knockout-flat-column{border:1px solid var(--border);border-radius:8px;background:var(--surface)}.knockout-flat-column__title{padding:10px 12px;border-bottom:1px solid var(--border);font-size:12px;font-weight:700}.news-list-item__thumb{width:72px;height:56px;flex-shrink:0}.rank-card__index{width:16px;color:var(--text-light);font-size:10px;font-weight:700}.rank-card__score{width:82px;text-align:right}.rank-card__score-value{font-size:16px;font-weight:800}.rank-card__score-bar{height:4px;margin-top:4px;overflow:hidden;border-radius:2px;background:var(--surface-2)}.rank-card__score-fill{height:100%}.form-dots{display:inline-flex;gap:2px}.ranking-bar-row{display:flex;align-items:center;gap:8px}.ranking-bar-row__index{min-width:16px;color:var(--text-light);font-size:12px;font-weight:700}.ranking-bar-row__name{min-width:88px;font-size:13px;font-weight:500}.ranking-bar-row__track{flex:1 1;height:6px;overflow:hidden;border-radius:3px;background:var(--surface-2)}.ranking-bar-row__fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--success),color-mix(in srgb,var(--success) 65%,#fff))}.ranking-bar-row__value{min-width:28px;text-align:right;font-size:13px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.momentum-dot{width:8px;height:8px;border-radius:50%}.my-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-bottom:1px solid var(--border)}.my-controls__actions,.my-controls__nav,.segmented-control{display:flex;align-items:center;gap:8px}.my-controls__tab,.segmented-control__button,.toggle-chip{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:4px 12px;border:1px solid var(--border);border-radius:20px;background:var(--bg);color:var(--text-muted);cursor:pointer;font-size:12px}.my-controls__tab--active,.segmented-control__button--active,.toggle-chip--active{border-color:var(--primary);background:var(--primary-light);color:var(--primary);font-weight:600}.chip-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.settings-reset{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 14px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text-muted);cursor:pointer}@media (max-width:1100px){.layout{grid-template-columns:1fr}.sidebar-left,.sidebar-right{border:none}.header{height:auto;flex-wrap:wrap;gap:10px;padding:12px 16px}.header-nav,.header-search{width:100%;margin-left:0}.header-nav{justify-content:space-between;gap:10px;flex-wrap:wrap}.info-grid--three,.info-grid--two,.knockout-flat-grid,.sonar-compare-grid,.sonar-schedule-grid,.stats-compare-row,.summary-metric-grid,.summary-metric-grid--four,.summary-metric-grid--three{grid-template-columns:1fr}.stats-compare-row,.stats-compare-row__label,.stats-compare-row__value--right{text-align:left}}@media (max-width:760px){.page-shell{min-height:auto}.content-page{padding:16px 12px 28px}.match-detail-teams,.my-controls,.worldcup-hero__stats{flex-direction:column;align-items:stretch;gap:12px}.fatigue-vs,.match-detail-vs,.player-hero__energy,.team-hero .player-hero__energy{text-align:center;padding-top:0}.league-page-header,.player-hero,.team-hero{flex-direction:column;align-items:flex-start}.league-page-header__actions{width:100%;justify-content:flex-start;margin-left:0}.match-row{grid-template-columns:52px 1fr 28px 1fr 20px;gap:8px;padding:10px 12px}.team-name{font-size:12px}}.player-page-layout,.team-page-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.player-card-section{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px}.player-card-section--wide{grid-column:1/-1}.player-section-title{font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}.player-page-header,.team-page-header{display:flex;align-items:center;gap:20px;text-align:left;padding:24px}.player-page-header__avatar{width:72px;height:72px;border-radius:999px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(26,147,46,.14),rgba(26,147,46,.04));font-size:24px;font-weight:800;color:var(--text);flex-shrink:0}.player-page-header__avatar-image{width:100%;height:100%;object-fit:cover}.player-page-header__content,.team-page-header__content{flex:1 1;min-width:0}.player-page-header__title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.player-page-header__title,.team-page-header__title{font-size:20px;font-weight:800;color:var(--text)}.player-page-header__meta,.team-page-header__meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px;font-size:13px;color:var(--text-muted)}.player-page-header__team{color:inherit;text-decoration:none}.player-page-header__summary,.team-page-header__actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.player-page-header__summary-value{font-size:36px;font-weight:800;color:var(--primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.player-page-header__summary-label{font-size:10px;color:var(--text-light);text-transform:uppercase;letter-spacing:.08em}.player-page-header__energy,.team-page-header__energy{display:flex;align-items:baseline;gap:6px;font-size:11px;color:var(--text-light)}.player-page-header__energy strong,.team-page-header__energy-value{font-size:18px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.team-page-header__badge{width:52px;height:52px;border-radius:16px;background:var(--surface-2);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.follow-button{border:1px solid rgba(26,147,46,.18);background:rgba(26,147,46,.1);color:var(--primary);font-size:13px;padding:8px 14px}.follow-button,.role-tag{border-radius:999px;font-weight:700}.role-tag{display:inline-flex;align-items:center;padding:3px 8px;font-size:11px;line-height:1}.role-tag--starter{background:rgba(34,197,94,.12);color:#1a932e}.role-tag--rotation{background:rgba(245,158,11,.12);color:#c67c00}.role-tag--bench{background:var(--surface-2);color:var(--text-muted)}.rating-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:20px;border-radius:10px;padding:0 8px;font-size:12px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:var(--surface-2);color:var(--text)}.rating-badge--exceptional{background:#1a932e;color:#fff}.rating-badge--great{background:#22c55e;color:#fff}.rating-badge--good{background:var(--surface-2);color:var(--text)}.rating-badge--average{background:#f59e0b;color:#fff}.rating-badge--poor{background:#dc2626;color:#fff}.comp-tag{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:2px 6px;border-radius:6px;font-size:10px;font-weight:700;letter-spacing:.04em;border:1px solid transparent}.comp-tag--league{border-color:rgba(26,147,46,.18);background:rgba(26,147,46,.08);color:var(--primary)}.comp-tag--european{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.comp-tag--cup{border-color:#ddd6fe;background:#f5f3ff;color:#7c3aed}.comp-tag--international{border-color:#fed7aa;background:#fff7ed;color:#ea580c}.metric-bars{display:flex;flex-direction:column;gap:10px}.metric-bars__row{display:grid;grid-template-columns:80px minmax(0,1fr) 44px;align-items:center;grid-gap:8px;gap:8px}.metric-bars__label,.metric-bars__value{font-size:13px;color:var(--text-muted)}.metric-bars__value{text-align:right;font-weight:700;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.metric-bars__track{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.metric-bars__fill{height:100%;border-radius:inherit}.metric-bars__fill--fresh{background:#22c55e}.metric-bars__fill--tired,.metric-bars__fill--warning{background:#f59e0b}.metric-bars__fill--exhausted{background:#dc2626}.player-radar{display:flex;justify-content:center}.player-radar__svg{width:220px;height:220px}.player-match-list{display:flex;flex-direction:column;gap:1px}.player-match-row{display:grid;grid-template-columns:58px minmax(0,1.3fr) 46px minmax(0,1fr) 52px 48px;align-items:center;grid-gap:10px;gap:10px;padding:11px 12px;background:var(--surface);color:inherit;text-decoration:none;border-left:3px solid transparent}.player-match-row:first-child{border-radius:10px 10px 0 0}.player-match-row:last-child{border-radius:0 0 10px 10px}.player-match-row--win{border-left-color:#22c55e}.player-match-row--draw{border-left-color:var(--surface-2)}.player-match-row--loss{border-left-color:#dc2626}.player-match-row__date,.player-match-row__meta{font-size:11px;color:var(--text-light);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.player-match-row__opponent,.player-match-row__score{min-width:0;font-size:14px;font-weight:600;color:var(--text)}.player-match-row__score{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.player-match-row__icons{justify-self:end;font-size:13px}.data-table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{padding:8px 6px;font-size:10px;color:var(--text-light);font-weight:700;text-align:left;border-bottom:2px solid var(--border)}.data-table td{padding:9px 6px;border-bottom:1px solid var(--border);color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.data-table__qualified td,.data-table__qualified td:first-child{position:relative}.data-table__qualified td:first-child:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:2px;background:#22c55e}.form-calendar{display:flex;flex-wrap:wrap;gap:3px}.form-calendar__cell{width:20px;height:20px;border-radius:4px;background:var(--border)}.form-calendar__cell--win{background:#22c55e}.form-calendar__cell--draw{background:var(--surface-2)}.form-calendar__cell--loss{background:#dc2626}.form-calendar__cell--upcoming{background:transparent;border:1px solid var(--border)}.form-calendar__legend{display:flex;align-items:center;gap:12px;margin-top:10px;font-size:10px;color:var(--text-light)}.form-calendar__dot{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:4px;vertical-align:middle}.form-calendar__dot--win{background:#22c55e}.form-calendar__dot--draw{background:var(--surface-2)}.form-calendar__dot--loss{background:#dc2626}.overview-summary-card{padding:16px;border-radius:10px;background:var(--surface);border:1px solid var(--border)}.overview-summary-card__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;color:var(--text-muted)}.overview-summary-card__top strong{font-size:22px;color:var(--primary);font-weight:800}.overview-summary-card__note,.overview-summary-card__stats{font-size:12px;color:var(--text-muted);display:flex;gap:12px;flex-wrap:wrap}.overview-summary-card__note{margin-top:8px;font-size:11px;color:var(--text-light)}.mini-pitch{display:grid;grid-gap:20px;gap:20px;padding:18px 16px;border-radius:16px;background:linear-gradient(180deg,rgba(26,147,46,.1),rgba(26,147,46,.02));border:1px solid rgba(26,147,46,.12)}.mini-pitch__line{display:flex;justify-content:center;gap:12px}.mini-pitch__player{flex-direction:column;gap:6px;text-decoration:none;color:var(--text);min-width:56px}.mini-pitch__marker,.mini-pitch__player{display:flex;align-items:center;font-size:11px}.mini-pitch__marker{width:34px;height:34px;border-radius:999px;justify-content:center;font-weight:800;color:#fff}.mini-pitch__marker--fresh{background:#22c55e}.mini-pitch__marker--tired{background:#f59e0b}.mini-pitch__marker--exhausted{background:#dc2626}.squad-list{display:flex;flex-direction:column;gap:1px}.squad-list__row{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:10px 12px;background:var(--surface);border-radius:10px;color:inherit;text-decoration:none}.squad-list__identity{display:flex;align-items:center;gap:10px;min-width:0}.squad-list__avatar{width:34px;height:34px;border-radius:999px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:12px;font-weight:800}.squad-list__avatar img{width:100%;height:100%;object-fit:cover}.squad-list__name{font-size:14px;font-weight:600;color:var(--text)}.squad-list__meta{font-size:11px;color:var(--text-light)}.squad-list__stats{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text-muted)}.fixture-month-list{display:flex;flex-direction:column;gap:20px}.fixture-month-group__title{margin-bottom:8px;font-size:12px;font-weight:700;color:var(--text-muted)}.role-distribution{display:flex;flex-direction:column;gap:10px}.role-distribution__row{display:grid;grid-template-columns:48px minmax(0,1fr) 28px;align-items:center;grid-gap:8px;gap:8px;font-size:12px}.role-distribution__track{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.role-distribution__fill{height:100%;border-radius:inherit}.role-distribution__fill--starter{background:#22c55e}.role-distribution__fill--rotation{background:#f59e0b}.role-distribution__fill--bench{background:#9aa3af}.schedule-timeline{display:flex;gap:14px;overflow-x:auto;padding-bottom:4px}.schedule-timeline__item{min-width:116px;padding-bottom:8px}.schedule-timeline__dot{width:10px;height:10px;border-radius:999px;margin-bottom:8px}.schedule-timeline__dot--fresh{background:#22c55e}.schedule-timeline__dot--warning{background:#f59e0b}.schedule-timeline__dot--danger{background:#dc2626}.schedule-timeline__label{font-size:12px;font-weight:700;color:var(--text)}.schedule-timeline__meta{margin-top:4px;font-size:11px;color:var(--text-light)}.stat-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px}.stat-value{font-size:24px;font-weight:800;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-label{margin-top:4px;font-size:11px;color:var(--text-muted)}.stat-note{margin-top:4px;font-size:10px;color:var(--text-light)}.list-row__status--danger{color:#dc2626}.worldcup-shell{background:linear-gradient(135deg,#56042c,#8a1538);padding:24px;text-align:center;border-radius:18px 18px 0 0}.worldcup-shell__title{font-size:24px;font-weight:900;color:#fff;letter-spacing:-.02em}.worldcup-shell__meta{margin-top:4px;font-size:12px;color:hsla(0,0%,100%,.65)}.worldcup-shell__stats{margin-top:18px;display:flex;justify-content:center;gap:24px}.worldcup-shell__stat{text-align:center}.worldcup-shell__stat strong{display:block;font-size:22px;font-weight:800;color:#fff;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.worldcup-shell__stat span{font-size:9px;color:hsla(0,0%,100%,.6);text-transform:uppercase;letter-spacing:.08em}.worldcup-rank-list,.worldcup-recovery-list,.worldcup-travel-grid{display:flex;flex-direction:column;gap:10px}.worldcup-rank-row,.worldcup-recovery-card,.worldcup-travel-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px;color:inherit;text-decoration:none}.worldcup-rank-row{display:grid;grid-template-columns:20px 20px minmax(0,1fr) 110px;align-items:center;grid-gap:12px;gap:12px}.worldcup-rank-row__index{font-size:11px;color:var(--text-light);font-weight:700}.worldcup-rank-row__title{font-size:15px;font-weight:700;color:var(--text)}.worldcup-rank-row__meta,.worldcup-travel-card__meta{font-size:10px;color:var(--text-light)}.worldcup-rank-row__score{text-align:right}.worldcup-rank-row__score-value{display:block;font-size:20px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.worldcup-rank-row__score-value--fresh,.worldcup-travel-card__distance--fresh{color:#22c55e}.worldcup-rank-row__score-value--tired,.worldcup-travel-card__distance--tired{color:#f59e0b}.worldcup-rank-row__score-value--exhausted,.worldcup-travel-card__distance--exhausted{color:#dc2626}.worldcup-rank-row__track{height:4px;border-radius:999px;background:var(--surface-2);overflow:hidden;margin-top:6px}.worldcup-rank-row__fill{height:100%;border-radius:inherit}.worldcup-rank-row__fill--fresh{background:#22c55e}.worldcup-rank-row__fill--tired{background:#f59e0b}.worldcup-rank-row__fill--exhausted{background:#dc2626}.worldcup-recovery-card__title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;margin-bottom:12px}.worldcup-recovery-card__timeline{display:flex;gap:10px;flex-wrap:wrap}.worldcup-recovery-card__step{flex:1 1 120px;min-width:120px;padding:10px;border-radius:10px;background:var(--surface-2)}.worldcup-recovery-card__step-main{font-size:12px;font-weight:700;color:var(--text)}.worldcup-recovery-card__step-date,.worldcup-recovery-card__step-note{margin-top:3px;font-size:10px;color:var(--text-light)}.worldcup-travel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.worldcup-travel-card__header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;font-size:13px;font-weight:700}.worldcup-gap-line{display:flex;gap:12px;flex-wrap:wrap}.worldcup-gap-line__segment{flex:1 1 140px;min-width:140px;padding:12px;border-radius:12px;background:var(--surface);border:1px solid var(--border)}.worldcup-gap-line__title{font-size:13px;font-weight:700;color:var(--text)}.worldcup-gap-line__city{margin-top:4px;font-size:10px;color:var(--text-light)}.worldcup-gap-line__days{margin-top:8px;font-size:14px;font-weight:800}.worldcup-gap-line__days--fresh{color:#22c55e}.worldcup-gap-line__days--warning{color:#f59e0b}.worldcup-match-stack{display:flex;flex-direction:column;gap:1px}.worldcup-match-row{display:grid;grid-template-columns:42px minmax(0,1fr) 56px minmax(0,1fr) 110px;align-items:center;grid-gap:8px;gap:8px;padding:12px;border-radius:10px;background:var(--surface);color:inherit;text-decoration:none}.worldcup-match-row__stage{display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:2px 6px;border-radius:6px;font-size:10px;font-weight:700;color:#8a1538;background:rgba(138,21,56,.1)}.worldcup-match-row__team{display:flex;align-items:center;gap:6px;min-width:0;font-size:13px}.worldcup-match-row__team--home{justify-content:flex-end}.worldcup-match-row__score{text-align:center;font-size:17px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.worldcup-match-row__venue{font-size:10px;color:var(--text-light);text-align:right}@media (max-width:980px){.player-page-layout,.stat-card-grid,.team-page-layout,.worldcup-travel-grid{grid-template-columns:1fr}.player-match-row,.worldcup-match-row,.worldcup-rank-row{grid-template-columns:1fr;align-items:flex-start}.worldcup-match-row__team--home{justify-content:flex-start}.worldcup-match-row__venue{text-align:left}}@media (max-width:760px){.player-page-header,.team-page-header{flex-direction:column;align-items:flex-start}.player-page-header__summary,.team-page-header__actions,.worldcup-shell__stats{align-items:flex-start;width:100%}.player-page-header__summary-value{font-size:28px}.metric-bars__row{grid-template-columns:72px minmax(0,1fr) 38px}.worldcup-shell{padding:20px 16px}}:root{--font-display:"Geist","DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--font-body-stack:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--font-mono:"Geist Mono","SF Mono",ui-monospace,monospace}body{font-family:var(--font-body-stack);font-size:13px}.page-shell{max-width:1440px}.date-nav__label,.date-pill__day,.energy-pill,.logo,.match-score,.standings-mini td:not(:first-child),.standings-mini th,.theme-toggle{font-family:var(--font-display);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.header{gap:18px;height:64px;padding:0 28px}.logo{gap:10px;color:var(--text);font-size:17px;font-weight:700;letter-spacing:-.02em}.logo-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 70%,#fff));color:#fff;font-size:18px;box-shadow:0 8px 20px color-mix(in srgb,var(--primary) 18%,transparent)}.header-search-shell{position:relative;display:flex;align-items:center;width:54px;height:44px;overflow:hidden;border:1px solid var(--border);border-radius:999px;background:var(--surface);transition:width .22s ease,border-color .18s ease,background .18s ease}.header-search-shell--expanded{width:280px;overflow:visible}.header-search-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:20px}.header-search{width:100%;height:100%;margin-left:0;padding:0 16px 0 4px;border:none;border-radius:999px;background:transparent;color:var(--text);font-size:13px;outline:none}.header-search::placeholder{color:var(--text-light)}.header-nav{gap:24px}.header-nav__link{color:var(--text-muted);font-size:14px;font-weight:600}.header-nav__link--active,.theme-toggle{color:var(--text)}.theme-toggle{width:36px;min-height:36px;padding:0;border-radius:999px;background:var(--surface);font-size:14px}.layout{grid-template-columns:240px minmax(0,1fr) 312px;min-height:calc(100vh - 64px)}.sidebar-left,.sidebar-right{padding:18px 20px}.main-content{min-width:0}.sidebar-section-title{margin-bottom:12px;font-size:11px;font-weight:700;letter-spacing:.12em}.league-item{width:100%;justify-content:flex-start;padding:9px 12px;border:0;border-left:3px solid transparent;border-radius:0 8px 8px 0;background:transparent;color:var(--text);cursor:pointer;text-align:left;font-size:13px}.league-item:hover{background:var(--surface)}.league-item.active{border-left-color:var(--primary);background:var(--primary-light);color:var(--primary-dark);font-weight:600}.league-item__chevron{margin-left:auto;color:var(--text-light);font-size:12px}.league-icon{width:20px;height:20px}.league-icon--placeholder{font-size:14px;color:var(--text-light)}.league-footer-link{display:inline-flex;align-items:center;margin-top:16px;color:var(--primary-dark);font-size:12px;font-weight:600}.date-nav{top:64px;flex-direction:column;align-items:stretch;gap:12px;padding:16px 18px 14px}.date-nav__header{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;grid-gap:12px;gap:12px}.date-nav__title{display:flex;flex-direction:column;align-items:center;gap:2px}.date-nav__label{color:var(--text);font-size:20px;font-weight:700;letter-spacing:-.03em}.date-nav__meta{color:var(--text-light);font-size:12px;font-weight:500}.date-arrow{width:36px;height:36px;font-size:18px}.date-strip{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));grid-gap:8px;gap:8px;overflow-x:auto}.date-pill{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-height:44px;gap:2px;padding:6px 0;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text-muted);cursor:pointer}.date-pill.active{border-color:var(--primary);background:var(--primary);color:#fff}.date-pill__weekday{font-size:11px;font-weight:500}.date-pill__day{font-size:15px;font-weight:600}.date-pill__dot{position:absolute;bottom:5px;width:4px;height:4px;border-radius:50%;background:currentColor}.filter-tabs{margin-left:0}.filter-tab{min-height:32px;padding:0 14px;border-radius:999px;font-size:12px;font-weight:600}.filter-tab.active{border-color:var(--primary);background:var(--primary-light);color:var(--primary-dark)}.league-group-header{position:-webkit-sticky;position:sticky;top:176px;justify-content:space-between;padding:9px 18px;font-size:12px}.league-group-header__main{display:inline-flex;align-items:center;gap:8px}.league-group-header__meta{font-family:var(--font-display);font-size:11px;font-weight:700}.match-row--feed{grid-template-columns:60px 32px minmax(0,1fr) 44px minmax(0,1fr) 32px 40px;gap:8px;min-height:52px}.match-row{padding:12px 18px}.match-time{font-family:var(--font-display);gap:1px;font-size:12px}.match-time__date{font-size:11px}.team-name{min-width:0;font-size:15px;font-weight:500}.team-name span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-score{font-size:17px;letter-spacing:-.02em}.match-score .vs{color:var(--text);font-size:17px;font-weight:700}.energy-pill{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:20px;border-radius:4px;font-size:11px;font-weight:700}.energy-pill--fresh{color:var(--fatigue-low);background:color-mix(in srgb,var(--fatigue-low) 12%,transparent)}.energy-pill--tired{color:var(--fatigue-medium);background:color-mix(in srgb,var(--fatigue-medium) 12%,transparent)}.energy-pill--exhausted{color:var(--fatigue-high);background:color-mix(in srgb,var(--fatigue-high) 12%,transparent)}.match-row__favorite{font-size:14px;text-align:center}.news-card-placeholder{height:156px}.news-card h4{font-size:16px}.sidebar-story__thumb{width:84px;height:62px}.sidebar-story__title{font-size:13px;line-height:1.4}.standings-mini{margin-top:26px}.standings-mini td,.standings-mini th{padding-top:8px;padding-bottom:8px}.standings-mini td:first-child{font-size:12px;font-weight:500}.flat-empty{display:flex;flex-direction:column;align-items:center;gap:6px;max-width:280px;margin:48px auto;padding:0;border:none;background:transparent;text-align:center}.flat-empty__icon{font-size:28px;line-height:1;color:var(--text-light)}.flat-empty__body{color:var(--text-muted);font-size:13px}.search-dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:40;width:360px;max-height:400px;overflow-y:auto;padding:8px 0;border:1px solid var(--border);border-radius:10px;background:var(--background);box-shadow:0 12px 28px rgba(15,23,42,.12)}.search-group-title{padding:10px 14px 6px;color:var(--text-light);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.search-result{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px;width:100%;min-height:40px;padding:8px 14px;border:none;background:transparent;color:var(--text);text-align:left;cursor:pointer}.search-result--active,.search-result:hover{background:var(--surface)}.search-result__icon{display:inline-flex;align-items:center;justify-content:center}.search-result__icon,.search-result__mark{width:20px;height:20px}.search-result__fallback,.search-result__photo{width:20px;height:20px;border-radius:999px}.search-result__photo{object-fit:cover}.search-result__fallback{display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--text-muted);font-size:10px;font-weight:700}.search-result__copy{display:flex;flex-direction:column;gap:1px;min-width:0}.search-result-meta,.search-result__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result__title{font-size:14px;font-weight:500}.search-result-meta{color:var(--text-muted);font-size:12px}.search-result mark{border-radius:4px;background:var(--primary-light);color:var(--primary);padding:0 1px}.leaderboard-list{display:flex;flex-direction:column}.leaderboard-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);color:inherit;text-decoration:none}.leaderboard-row:last-child{border-bottom:none}.leaderboard-row__index{color:var(--text-light);font-size:12px;font-weight:600}.leaderboard-row__identity{display:flex;align-items:center;gap:10px;min-width:0}.leaderboard-row__avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;overflow:hidden;border-radius:999px;background:var(--surface-2);color:var(--text-muted);font-size:10px;font-weight:700}.leaderboard-row__avatar img{width:100%;height:100%;object-fit:cover}.leaderboard-row__copy{display:flex;flex-direction:column;min-width:0}.leaderboard-row__meta,.leaderboard-row__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-row__name{font-size:13px;font-weight:600}.leaderboard-row__meta{color:var(--text-muted);font-size:12px}.leaderboard-row__value{font-size:16px;font-weight:700}.search-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:28px 18px;text-align:center}.search-empty__icon{color:var(--text-light);font-size:20px;line-height:1}.search-empty__title{font-size:14px;font-weight:600}.search-empty__body{color:var(--text-muted);font-size:12px;line-height:1.5}.search-loading{padding:8px 0}.search-loading__row{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px;padding:8px 14px}.search-loading__body{display:flex;flex-direction:column;gap:6px}.skeleton{position:relative;overflow:hidden;border-radius:6px;background:var(--surface-2)}.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.55) 50%,transparent);transform:translateX(-100%);animation:skeleton-shimmer 1.5s ease-in-out infinite}@keyframes skeleton-shimmer{to{transform:translateX(100%)}}.skeleton-line{height:12px}.skeleton-line--tiny{width:48px}.skeleton-line--short{width:96px}.skeleton-line--medium{width:140px}.skeleton-line--section{width:112px;height:14px;margin-bottom:20px}.skeleton-line--score{width:88px;height:28px}.skeleton-circle{width:20px;height:20px;border-radius:999px}.skeleton-circle--xl{width:56px;height:56px}.skeleton-circle--xxl{width:72px;height:72px}.skeleton-pill{width:72px;height:40px;border-radius:999px}.skeleton-pill--tab{width:92px;height:34px}.skeleton-bar{width:100%;height:8px;border-radius:999px}.skeleton-box{min-height:80px;border-radius:12px}.skeleton-box--hero{height:60px}.skeleton-box--story{height:132px;margin-bottom:22px}.skeleton-box--metric,.skeleton-box--stat{height:88px}.skeleton-box--panel{height:200px}.skeleton-stack{display:flex;flex-direction:column;gap:8px}.feed-skeleton-row{display:flex;flex-direction:column;gap:12px;padding:14px 0;border-bottom:1px solid var(--border)}.feed-skeleton-row__teams{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);align-items:center;grid-gap:14px;gap:14px}.feed-skeleton-row__team{display:flex;align-items:center;gap:10px}.feed-skeleton-row__energy{display:grid;grid-template-columns:1fr 48px 1fr;align-items:center;grid-gap:10px;gap:10px}.skeleton-table-row,.standings-skeleton__row{display:grid;grid-template-columns:32px minmax(0,1fr) repeat(2,40px);align-items:center;grid-gap:10px;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.standings-skeleton{display:flex;flex-direction:column}.standings-skeleton__row{grid-template-columns:24px 20px minmax(0,1fr) repeat(6,28px)}.skeleton-stat-row{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;grid-gap:14px;gap:14px}.entity-skeleton-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.entity-skeleton-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}@media (max-width:1180px){.layout{grid-template-columns:220px minmax(0,1fr)}.sidebar-right{display:none}.facts-visual-grid{grid-template-columns:1fr}.date-strip{grid-template-columns:repeat(7,minmax(60px,1fr))}}@media (max-width:900px){.header{gap:12px;height:58px;padding:0 16px}.layout{grid-template-columns:1fr;min-height:calc(100vh - 58px)}.sidebar-left{border-right:none;border-bottom:1px solid var(--border)}.date-nav{top:58px}.league-group-header{top:176px}.stat-bar-row{grid-template-columns:44px minmax(0,1fr) 72px minmax(0,1fr) 44px}}@media (max-width:760px){.search-dropdown{width:min(360px,calc(100vw - 32px))}.header-nav{gap:14px}.header-nav__link{font-size:13px}.header-search-shell--expanded{width:200px}.date-strip{grid-template-columns:repeat(5,minmax(60px,1fr))}.match-row--feed{grid-template-columns:52px 28px minmax(0,1fr) 40px minmax(0,1fr) 28px 28px}.match-row{padding:10px 14px}}