:root{color:#17202a;background:#f4f6f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}button,input,select{font:inherit}.appShell{display:grid;grid-template-columns:360px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .18s ease}.appShell.sidebarCollapsed{grid-template-columns:72px minmax(0,1fr)}.sidebar{background:#fff;border-right:1px solid #d9e0e7;padding:18px;overflow-y:auto;max-height:100vh;transition:padding .18s ease}.sidebarTop{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:flex-start;gap:10px;padding-bottom:18px}.brand{display:flex;align-items:center;gap:12px;min-width:0;padding:4px 2px 0}.brand svg{color:#0f766e}.brand h1{margin:0;font-size:18px;line-height:1.1}.brand span{color:#64748b;font-size:13px}.sidebarToggle,.settingsToggle{width:34px;height:34px;border:1px solid #d9e0e7;border-radius:8px;background:#f8fafc;color:#334155;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 34px}.sidebarToggle:hover,.settingsToggle:hover,.settingsToggle.active{border-color:#99f6e4;color:#0f766e}.sidebarToggle:focus-visible,.settingsToggle:focus-visible,.matchButton:focus-visible,.matchFilters button:focus-visible{outline:2px solid #14b8a6;outline-offset:2px}.sidebarBody{transition:opacity .14s ease}.sidebarCollapsed .sidebar{padding:18px;overflow:hidden}.sidebarCollapsed .sidebarTop{grid-template-columns:34px;justify-content:center;justify-items:center;padding-bottom:0}.sidebarCollapsed .brand,.sidebarCollapsed .sidebarBody{display:none}.controls{display:flex;justify-content:center;margin-bottom:10px}.controls label{display:grid;gap:6px;color:#475569;font-size:12px;font-weight:700}.controls label svg{display:inline-block;vertical-align:text-bottom;margin-right:4px}.controls input,.controls select{width:80%;height:36px;border:1px solid #cbd5e1;border-radius:6px;padding:0 9px;background:#fff;color:#17202a}.settingsPanel{border:1px solid #e2e8f0;border-radius:8px;margin-bottom:14px;background:#f8fafc}.detailsPanel summary{cursor:pointer;color:#334155;font-size:13px;font-weight:800;padding:10px 12px;display:flex;align-items:center;gap:7px}.settingsGrid{display:grid;grid-template-columns:1fr;gap:10px;padding:10px 12px 12px}.settingsGrid label{display:grid;gap:6px;color:#475569;font-size:12px;font-weight:700}.settingsGrid input,.settingsGrid select{width:100%;height:34px;border:1px solid #cbd5e1;border-radius:6px;padding:0 9px;background:#fff;color:#17202a}.checkControl{display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px!important}.checkControl input{width:auto;height:auto}.daySummary{align-items:center;color:#64748b;display:flex;flex-wrap:nowrap;gap:10px;font-size:11px;font-weight:700;justify-content:center;line-height:1;margin:4px auto 10px;min-width:0;overflow:hidden;white-space:nowrap;width:80%}.daySummary span{min-width:0;overflow:hidden;text-overflow:ellipsis}.daySummary strong{color:#17202a}.matchFilters{display:grid;grid-template-columns:.82fr .88fr .95fr 1.35fr;gap:6px;margin-bottom:10px}.matchFilters button{background:#f8fafc;border:1px solid #d9e0e7;border-radius:999px;color:#475569;cursor:pointer;font-size:11px;font-weight:800;height:28px;min-width:0;overflow:hidden;padding:0 8px;text-overflow:ellipsis;white-space:nowrap}.matchFilters button:hover,.matchFilters button.active{background:#ecfdf5;border-color:#99f6e4;color:#0f766e}.matchListEmpty{border:1px dashed #cbd5e1;border-radius:8px;color:#64748b;font-size:12px;font-weight:700;padding:14px 12px;text-align:center}.matchList section{margin-bottom:18px}.matchGroupItems{display:block}.sectionTitle{display:flex;justify-content:space-between;align-items:center;margin:12px 0 8px;color:#334155;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.sectionTitle span{min-width:22px;height:22px;border-radius:999px;background:#e2e8f0;color:#334155;display:inline-flex;align-items:center;justify-content:center}.matchButton{width:100%;min-height:135px;border:1px solid #d9e0e7;border-left-width:4px;background:#fff;color:#17202a;border-radius:8px;display:grid;grid-template-rows:auto minmax(34px,1fr) auto;align-content:stretch;text-align:left;gap:8px;padding:10px 12px 11px;margin-bottom:8px;cursor:pointer;min-width:0;position:relative}.matchButton:hover{border-color:#0f766e}.matchButton.status-3{border-left-color:#0f766e}.matchButton.status-1{border-left-color:#3b82f6}.matchButton.status-0{border-left-color:#94a3b8}.matchButton.active{border-color:#0f766e;background:#ecfdf5}.matchTop{align-items:center;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;min-width:0}.matchStatus{align-items:center;color:#0f766e;display:inline-flex;font-size:12px;font-weight:800;gap:6px;min-width:0}.matchButton.status-1 .matchStatus{color:#2563eb}.matchButton.status-0 .matchStatus{color:#64748b}.statusPulse,.monitorPulse{border-radius:999px;display:inline-block;flex:0 0 auto;position:relative}.statusPulse.live{background:#10b981;height:9px;width:9px}.statusPulse.live:after,.monitorPulse:after{animation:pulseRing 1.4s ease-out infinite;border-radius:inherit;content:"";inset:-5px;position:absolute}.statusPulse.live:after{border:1px solid rgba(16,185,129,.45)}.matchTeams{align-items:center;display:grid;grid-template-columns:minmax(0,1fr) 74px minmax(0,1fr);gap:8px;min-width:0}.matchTeam{align-items:center;display:inline-flex;gap:6px;min-width:0}.matchTeam.away{justify-content:flex-end;text-align:right}.matchTeam img,.matchTeam svg{background:#e2e8f0;border-radius:999px;color:#64748b;flex:0 0 18px;height:18px;object-fit:cover;width:18px}.matchTeam strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.matchScore{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;font-size:15px;justify-self:center;min-width:68px;padding:4px 7px;text-align:center;white-space:nowrap}.matchButton strong{font-size:14px;overflow-wrap:anywhere}.matchMeta{color:#64748b;display:block;font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monitorBadge{align-self:center;border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:#1d4ed8;display:inline-flex;font-size:11px;font-style:normal;font-weight:800;line-height:1;max-width:100%;overflow:hidden;padding:4px 7px;text-overflow:ellipsis;white-space:nowrap}.monitorPulse{align-self:center;background:#06b6d4;height:10px;width:10px}.monitorPulse:after{border:1px solid rgba(6,182,212,.45)}@keyframes pulseRing{0%{opacity:.8;transform:scale(.65)}to{opacity:0;transform:scale(1.55)}}.content{padding:24px;min-width:0}.matchHero{background:#fff;border:1px solid #d9e0e7;border-radius:8px;padding:18px}.heroMeta{display:flex;justify-content:space-between;gap:12px;color:#64748b;font-size:13px;margin-bottom:14px}.heroMeta span{color:#0f766e;font-weight:800}.scoreboard{display:grid;grid-template-columns:minmax(0,1fr) 180px minmax(0,1fr);gap:18px;align-items:center}.teamBadge{display:flex;align-items:center;gap:12px;min-width:0}.teamBadge.right{flex-direction:row-reverse;text-align:right}.teamBadge img,.teamBadge>svg{width:54px;height:54px;flex:0 0 54px;object-fit:contain;color:#0f766e}.teamBadge strong{display:block;font-size:22px;line-height:1.1;overflow-wrap:anywhere}.teamBadge span{color:#64748b;font-size:13px;font-weight:800}.scoreCenter{text-align:center}.scoreCenter strong{display:block;font-size:38px;line-height:1}.scoreCenter span{color:#0f766e;font-size:13px;font-weight:800}.teamMetaStrip{display:flex;justify-content:space-between;gap:12px;margin-top:16px;padding-top:12px;border-top:1px solid #e2e8f0;color:#475569;font-size:13px}.matchHeader{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid #d9e0e7}.matchHeader p,.matchHeader h2{margin:0}.matchHeader p{color:#0f766e;font-size:13px;font-weight:800}.matchHeader h2{font-size:30px;line-height:1.15;margin-top:4px;overflow-wrap:anywhere}.matchHeader span{color:#64748b}.scoreBlock{min-width:150px;text-align:right}.scoreBlock strong{display:block;font-size:34px}.scoreBlock span{color:#0f766e;font-weight:800}.toolbar{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin:18px 0;min-width:0}.tabs{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.tabs button,.toggle{height:36px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#334155;padding:0 12px;display:inline-flex;align-items:center;gap:7px;cursor:pointer}.tabs button.active{border-color:#0f766e;color:#0f766e;background:#ecfdf5;font-weight:800}.toggle{cursor:default}.muted,.refreshStatus{color:#64748b;font-size:13px}.refreshStatus{align-items:center;background:#f8fafc;border:1px solid #d9e0e7;border-radius:999px;color:#0f766e;display:inline-flex;font-weight:800;justify-content:center;min-height:34px;min-width:180px;max-width:240px;overflow:hidden;padding:0 12px;text-overflow:ellipsis;white-space:nowrap}.refreshStatus.idle,.refreshStatus.paused{color:#64748b}.refreshStatus.warning{background:#fffbeb;border-color:#fde68a;color:#b45309}.panel{background:#fff;border:1px solid #d9e0e7;border-radius:8px;padding:18px;min-height:420px;min-width:0}.panelStack{display:grid;gap:18px}.panelStack>*{min-width:0}.overviewRefresh{display:flex;justify-content:flex-end;min-height:34px}.overviewRefresh .refreshStatus{max-width:min(100%,320px)}.resourceStatus{border:1px solid #d9e0e7;border-radius:8px;background:#f8fafc;color:#475569;font-size:13px;font-weight:800;margin-bottom:12px;min-height:40px;padding:10px 12px}.resourceStatus.idle{visibility:hidden}.resourceStatus.errorState{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.matchSummary{border:1px solid #d9e0e7;border-radius:8px;background:#f8fafc;padding:14px;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,2fr);gap:12px}.summaryMain,.summaryCards>div,.summaryMetrics>div{border:1px solid #e2e8f0;border-radius:8px;background:#fff;padding:12px;min-width:0}.summaryMain{display:grid;align-content:center}.summaryMain span,.summaryCards span,.summaryMetrics span{color:#64748b;display:block;font-size:12px;font-weight:800;margin-bottom:5px}.summaryMain strong{font-size:22px;line-height:1.1}.summaryCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.summaryCards strong,.summaryMetrics strong{display:block;overflow-wrap:anywhere}.summaryMain small,.summaryCards small{color:#64748b;display:block;line-height:1.3;margin-top:5px}.summaryMetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.detailsPanel{border:1px solid #e2e8f0;border-radius:8px;background:#fff;overflow:hidden}.detailsPanel>.tableWrap,.detailsPanel>.panelStack,.detailsPanel>div{margin:0 12px 12px}.overviewGrid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px}.overviewGrid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.overviewGrid>div{border:1px solid #e2e8f0;border-radius:8px;padding:12px;min-width:0}.overviewGrid span{display:block;color:#64748b;font-size:12px;margin-bottom:5px}.overviewGrid strong{overflow-wrap:anywhere}.quickStats,.officialsGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.officialsGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.quickStats>div,.officialsGrid>div{border:1px solid #e2e8f0;border-radius:8px;padding:12px;background:#f8fafc}.quickStats span,.officialsGrid span{display:block;color:#64748b;font-size:12px;margin-bottom:5px}.overviewGrid pre{grid-column:1 / -1;max-height:260px;overflow:auto;background:#0f172a;color:#e2e8f0;border-radius:8px;padding:14px}.comparison{border:1px solid #d9e0e7;border-radius:8px;overflow:hidden}.comparisonHead,.comparisonRow{display:grid;grid-template-columns:minmax(120px,1.2fr) 84px minmax(180px,2fr) 84px;gap:12px;align-items:center;padding:10px 12px}.comparisonHead{background:#f1f5f9;font-weight:800}.comparisonRow:nth-child(2n){background:#f8fafc}.comparisonRow .value.left{text-align:right}.barPair{display:grid;grid-template-columns:1fr 18px 1fr;align-items:center;gap:6px}.barPair em{text-align:center;color:#64748b;font-style:normal;font-size:12px}.barSide{height:14px;background:#e2e8f0;border-radius:999px;overflow:hidden;display:flex}.barSide.left{justify-content:flex-end}.barSide span{display:block;height:100%;border-radius:999px;background:#f97316}.barSide.right span{background:#2563eb}.metricGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.metricTile{border:1px solid #e2e8f0;border-radius:8px;padding:12px}.metricTile span{display:block;color:#64748b;font-size:12px;margin-bottom:4px}.metricTile strong{font-size:18px}.tableWrap{width:100%;overflow:auto;border:1px solid #e2e8f0;border-radius:8px}table{width:100%;border-collapse:collapse;font-size:13px;min-width:640px}th,td{border-bottom:1px solid #e2e8f0;padding:9px 10px;text-align:left;white-space:nowrap}th{background:#f8fafc;color:#475569;font-weight:800}.timeline{display:grid;gap:14px}.timelineHeader{border:1px solid #d9e0e7;border-radius:8px;background:#f8fafc;padding:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.timelineHeader span,.timelineHeader small{color:#64748b;font-size:12px}.timelineHeader strong{display:block;margin:3px 0;font-size:16px}.timelineSummary{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.timelineSummary span{border:1px solid #d9e0e7;border-radius:8px;background:#fff;padding:7px 9px;color:#475569;font-weight:700}.timelineSummary strong{display:inline;margin:0 0 0 4px;color:#0f766e;font-size:13px}.timelineFilters{display:flex;gap:8px;flex-wrap:wrap}.timelineFilters button{border:1px solid #d9e0e7;border-radius:999px;background:#fff;color:#475569;cursor:pointer;font-size:12px;font-weight:800;padding:7px 11px}.timelineFilters button.active{border-color:#0f766e;background:#ecfdf5;color:#0f766e}.timelineTrack{display:grid;gap:16px;position:relative}.timelineTrack:before{content:"";position:absolute;top:28px;bottom:0;left:50%;width:2px;background:#d9e0e7;transform:translate(-50%)}.timelinePeriod{display:grid;gap:10px;position:relative}.timelinePeriod h3{justify-self:center;position:relative;z-index:1;margin:0;border:1px solid #d9e0e7;border-radius:999px;background:#fff;color:#64748b;font-size:12px;padding:5px 10px}.event{display:grid;grid-template-columns:minmax(0,1fr) 82px minmax(0,1fr);gap:12px;align-items:stretch;position:relative}.eventCenter{position:relative;z-index:1;justify-self:center;align-self:start;width:82px;border:1px solid #d9e0e7;border-radius:8px;background:#fff;color:#0f766e;display:grid;gap:3px;justify-items:center;padding:7px 6px;font-size:12px;font-weight:900}.eventCenter em{color:#334155;font-style:normal}.eventSide{min-width:0}.eventContent{border:1px solid #e2e8f0;border-radius:8px;background:#fff;padding:11px;min-height:78px}.event.home .eventContent{border-left:3px solid #0f766e}.event.away .eventContent{border-left:3px solid #1d4ed8}.event.goal .eventContent{background:#f8fffb}.event.card .eventContent{background:#fffbeb}.event.var .eventContent{background:#f8fafc}.eventContent>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.eventContent strong{min-width:0;overflow-wrap:anywhere}.eventContent p{margin:6px 0 0;color:#64748b;line-height:1.35;overflow-wrap:anywhere}.sourceGrid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px}.sourceItem{border:1px solid #e2e8f0;border-radius:8px;padding:14px;color:inherit;text-decoration:none;display:grid;gap:8px}.sourceItem img{width:56px;height:56px;object-fit:contain}.sourceItem span{color:#64748b}.lineupsGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.lineupTeam{border:1px solid #d9e0e7;border-radius:8px;overflow:hidden}.lineupTeamHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.lineupTeamHeader .teamBadge img,.lineupTeamHeader .teamBadge>svg{width:36px;height:36px;flex-basis:36px}.lineupTeamHeader .teamBadge strong{font-size:15px}.lineupTeamHeader>span{color:#0f766e;font-weight:800}.formation{display:grid;gap:10px;padding:12px}.formationLine small{display:block;color:#64748b;font-weight:800;margin-bottom:6px}.formationLine>div,.benchList>div{display:grid;gap:7px}.playerMini,.playerStatRow{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0}.playerMini img,.playerStatRow img{width:30px;height:30px;border-radius:999px;object-fit:cover;background:#e2e8f0}.playerMini svg,.playerStatRow svg{color:#64748b}.playerMini span,.playerStatRow span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playerMini em{width:20px;height:20px;border-radius:999px;background:#0f766e;color:#fff;font-style:normal;font-size:11px;display:inline-flex;align-items:center;justify-content:center}.benchList{border-top:1px solid #e2e8f0;padding:10px 12px 12px}.benchList summary{cursor:pointer;color:#334155;font-weight:800;margin-bottom:8px}.playerHighlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.bestPlayers{display:grid;gap:10px}.bestPlayersGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.bestPlayersGrid button{border:1px solid #d9e0e7;border-radius:8px;background:#fff;color:#17202a;padding:10px;cursor:pointer;display:grid;grid-template-columns:auto 46px minmax(0,1fr);grid-template-areas:"rank photo name" "score photo name";align-items:center;column-gap:10px;row-gap:4px;text-align:left;min-width:0;min-height:94px}.goalkeeperGrid button{border:1px solid #d9e0e7;border-radius:8px;background:#fff;color:#17202a;padding:10px;cursor:pointer;display:grid;grid-template-columns:46px minmax(0,1fr);grid-template-areas:"photo name" "photo saves" "photo conceded";align-items:center;gap:4px 10px;text-align:left;min-width:0}.bestPlayersGrid button.active{border-color:#0f766e;background:#ecfdf5}.bestPlayersGrid button>strong{grid-area:rank;font-size:18px;line-height:1}.bestPlayersGrid button>img,.goalkeeperGrid button>img{width:46px;height:46px;border-radius:999px;object-fit:contain;object-position:center bottom;background:linear-gradient(180deg,#f8fafc,#e2e8f0)}.bestPlayersGrid button>img,.bestPlayersGrid button>svg{grid-area:photo}.goalkeeperGrid button>img,.goalkeeperGrid button>svg{grid-area:photo}.bestPlayersGrid button>span,.goalkeeperGrid button>span{grid-area:name;font-weight:800;min-width:0;overflow-wrap:anywhere;line-height:1.15}.bestPlayersGrid button>span>small,.goalkeeperGrid button>span>small{display:block;color:#64748b;font-weight:600;margin-top:4px}.playerTeamChip{display:inline-flex;align-items:center;gap:5px;max-width:100%;min-width:0;border:1px solid #d9e0e7;border-radius:999px;background:#f8fafc;color:#334155;padding:2px 7px 2px 4px;vertical-align:middle;line-height:1}.playerTeamChip.home{border-color:#99f6e4;background:#ecfdf5;color:#0f766e}.playerTeamChip.away{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.playerTeamChip img,.playerTeamChip svg{width:16px;height:16px;border-radius:999px;object-fit:cover;flex:0 0 16px}.playerTeamChip b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.playerTeamChip.compact{padding-right:6px}.playerTeamChip.compact img,.playerTeamChip.compact svg{width:14px;height:14px;flex-basis:14px}.bestPlayersGrid em{grid-area:score;color:#64748b;font-style:normal;font-size:12px;font-weight:800}.goalkeeperGrid strong{grid-area:saves;font-size:13px;line-height:1.2}.goalkeeperGrid em{grid-area:conceded;color:#64748b;font-style:normal;font-size:12px;font-weight:800}.playerDetail{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,2fr);gap:14px;border:1px solid #d9e0e7;border-radius:8px;padding:14px;background:#f8fafc}.playerPortrait{display:grid;grid-template-rows:minmax(240px,1fr) auto;align-items:center;justify-items:center;gap:12px;min-width:0;align-self:stretch;border:1px solid #e2e8f0;border-radius:8px;background:#fff;padding:12px;text-align:center}.playerPortrait>img,.playerPortrait>svg{width:90%;height:240px;max-width:260px;border-radius:8px;object-fit:contain;object-position:center bottom;background:linear-gradient(180deg,#f8fafc,#e2e8f0);color:#64748b}.playerPortrait>div{min-width:0;width:100%}.playerPortrait span,.playerPortrait small{color:#64748b;font-size:12px}.playerPortrait small{display:inline-flex;align-items:center;justify-content:center;gap:6px;max-width:100%}.playerPortrait strong{display:block;font-size:20px;line-height:1.1;overflow-wrap:anywhere}.playerDetailStats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;min-width:0}.playerDetailStats>div{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:10px}.playerDetailStats>div>span{display:block;color:#0f766e;font-weight:800;margin-bottom:7px}.playerDetailStats p{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;margin:5px 0;color:#334155;line-height:1.25}.playerDetailStats em{color:#64748b;font-style:normal;min-width:0;overflow-wrap:anywhere}.playerDetailStats strong{text-align:right;white-space:nowrap}.goalkeeperGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.playerTable table{min-width:860px}.playerCell{border:0;background:transparent;color:inherit;padding:0;display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-weight:800}.playerCell img,.playerCell svg{width:28px;height:28px;border-radius:999px;object-fit:contain;object-position:center bottom;background:#e2e8f0;color:#64748b}.playerStatCard{border:1px solid #d9e0e7;border-radius:8px;padding:12px}.playerStatCard h3,.sectionHeading{margin:0 0 10px;font-size:15px}.playerStatCard h3{display:flex;align-items:center;gap:7px}.playerStatCard p{color:#64748b;margin:0}.playerStatRow{display:grid;grid-template-columns:34px minmax(0,1fr) auto;padding:7px 0;border-top:1px solid #e2e8f0}.playerStatRow>img{object-fit:contain;object-position:center bottom}.playerStatRow>span{white-space:normal;line-height:1.15}.playerStatRow:first-of-type{border-top:none}.playerStatRow small{display:block;color:#64748b;margin-top:4px}tr.highlight td{background:#ecfdf5;color:#0f766e;font-weight:800}.groupTable{display:grid;gap:8px}.groupTable h3{margin:0;font-size:16px}.groupsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.rankingCards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-width:0}.rankingCard{border:1px solid #d9e0e7;border-radius:8px;padding:12px}.rankingCard h3{margin:0 0 10px;font-size:15px}.rankingRow{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 0;border-top:1px solid #e2e8f0}.rankingRow:first-of-type{border-top:0}.rankingRow span{overflow:hidden;text-overflow:ellipsis;white-space:normal;min-width:0;line-height:1.15}.rankingRow small{display:block;color:#64748b;margin-top:4px}.rankingRow em{color:#0f766e;font-style:normal;font-weight:800}.rankingMeta{display:flex;flex-wrap:wrap;gap:8px;color:#64748b;font-size:12px}.rankingMeta span{border:1px solid #e2e8f0;border-radius:999px;padding:5px 9px;background:#f8fafc}.empty,.loading,.error{border:1px solid #d9e0e7;border-radius:8px;padding:16px;background:#fff;color:#64748b}.error{border-color:#fecaca;background:#fef2f2;color:#b91c1c;margin-bottom:12px}@media(max-width:980px){.appShell,.appShell.sidebarCollapsed{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:5;max-height:none;border-right:none;border-bottom:1px solid #d9e0e7;padding:14px 16px 12px}.sidebarTop{align-items:center;padding-bottom:12px}.brand{padding-bottom:0}.sidebarCollapsed .sidebar{padding:10px 16px}.sidebarCollapsed .sidebarTop{grid-template-columns:34px minmax(0,1fr) 34px;justify-content:initial;justify-items:initial;padding-bottom:0}.sidebarCollapsed .brand{display:flex;padding:0}.sidebarCollapsed .brand h1,.sidebarCollapsed .brand span{display:none}.controls{justify-content:center;margin-bottom:10px}.controls input,.controls select{height:34px}.matchList section{margin-bottom:12px}.matchGroupItems{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:2px;scroll-snap-type:x proximity}.matchButton{flex:0 0 260px;min-height:135px;margin-bottom:0;scroll-snap-align:start}.content{padding:18px 16px 24px}.scoreboard{grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr)}.teamBadge strong{font-size:18px}.quickStats,.summaryCards,.summaryMetrics,.officialsGrid,.playerHighlights,.rankingCards,.goalkeeperGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.bestPlayersGrid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.playerDetail{grid-template-columns:1fr}.playerDetailStats{grid-template-columns:repeat(2,minmax(0,1fr))}.groupsGrid,.matchSummary{grid-template-columns:1fr}.matchHeader,.toolbar{flex-direction:column;align-items:stretch}.refreshStatus{min-width:0;overflow:visible;text-overflow:clip;width:100%;white-space:normal}.scoreBlock{text-align:left}.sourceGrid,.overviewGrid,.metricGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.lineupsGrid{grid-template-columns:1fr}.comparisonHead{display:none}.comparisonRow{grid-template-columns:72px minmax(120px,1fr) 72px;gap:8px}.comparisonRow strong{grid-column:1 / -1}.comparisonRow .value.left{text-align:right}}@media(max-width:720px){.sidebar{position:static}.sidebarTop{padding-bottom:10px}.brand{padding-bottom:0}.brand h1{font-size:16px}.controls{display:flex;justify-content:center;overflow-x:visible;padding-bottom:2px}.matchList section{margin-bottom:10px}.matchList{max-height:218px;overflow-y:auto;padding-right:2px}.sectionTitle{margin:8px 0 6px}.matchButton{flex-basis:min(248px,78vw)}.content{padding:14px 12px 20px}.matchHero{padding:12px}.heroMeta,.teamMetaStrip{flex-direction:column;gap:5px}.scoreboard{grid-template-columns:1fr;gap:12px}.teamBadge,.teamBadge.right{flex-direction:row;text-align:left}.teamBadge img,.teamBadge>svg{width:42px;height:42px;flex-basis:42px}.scoreCenter{order:-1;padding:8px 0;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}.scoreCenter strong{font-size:34px}.matchHeader{gap:12px;padding-bottom:14px}.matchHeader h2{font-size:23px}.scoreBlock strong{font-size:28px}.toolbar{margin:14px 0}.tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.tabs button{flex:0 0 auto;padding:0 10px}.muted{line-height:1.35}.panel{padding:12px;min-height:320px}.overviewGrid,.metricGrid,.sourceGrid,.quickStats,.officialsGrid,.playerHighlights,.rankingCards,.goalkeeperGrid,.bestPlayersGrid,.playerDetailStats{grid-template-columns:1fr}.settingsPanel{margin-bottom:10px}.bestPlayersGrid{max-height:300px;overflow-y:auto}.playerDetail{padding:10px}.playerPortrait>img,.playerPortrait>svg{width:90%;height:190px;max-width:220px}.rankingMeta{display:grid;grid-template-columns:1fr}.comparisonRow{grid-template-columns:58px minmax(0,1fr) 58px;padding:10px}.comparisonRow .value{font-size:12px}.barPair{grid-template-columns:1fr 14px 1fr;gap:4px}.timelineHeader{grid-template-columns:1fr}.timelineSummary{justify-content:flex-start}.timelineTrack:before{left:41px}.timelinePeriod h3{justify-self:start;margin-left:0}.event{grid-template-columns:82px minmax(0,1fr);gap:10px}.eventSide{display:contents}.eventCenter{grid-column:1}.eventContent{grid-column:2}.homeSlot:empty,.awaySlot:empty{display:none}}@media(max-width:420px){.sidebar{padding:12px 10px}.sidebarCollapsed .sidebar{padding:10px}.controls{justify-content:center}.controls input,.controls select{height:33px;padding:0 7px;font-size:12px}.matchButton{flex-basis:min(232px,84vw);min-height:132px;padding:9px 10px}.matchList{max-height:196px}.matchScore{min-width:62px;padding-inline:5px}.matchButton strong{font-size:13px}.matchHeader h2{font-size:21px}.tabs button{height:34px;font-size:12px}.overviewGrid>div,.metricTile,.sourceItem,.playerStatCard,.rankingCard,.bestPlayersGrid button,.goalkeeperGrid button{padding:10px}.lineupTeamHeader{align-items:flex-start;flex-direction:column}}
