.home-matchweek{display:grid;align-items:start;gap:1.5rem}.home-matchweek__panel{min-width:0;overflow:hidden;border:1px solid var(--color-outline-variant);border-radius:.75rem;background:var(--color-surface-container-low)}.home-matchweek__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem;border-bottom:1px solid var(--color-line)}.home-matchweek__header h2{margin:0;color:var(--color-on-surface);font-family:var(--font-display);font-size:1.35rem;font-weight:600;line-height:1.25}.home-matchweek__header p{margin:.5rem 0 0;color:var(--color-on-surface-variant);font-size:.75rem;line-height:1.6}.home-matchweek__calendar{display:inline-flex;align-items:center;min-height:2.75rem;color:var(--color-tertiary);font-size:.8125rem;font-weight:600;text-decoration:none}.home-matchweek__date{margin:0;padding:.65rem 1.5rem;background:var(--color-surface);color:var(--color-on-surface-variant);font-family:var(--font-label);font-size:.8125rem;font-weight:500}.home-matchweek__date:first-letter{text-transform:uppercase}.home-matchweek__fixtures{margin:0;padding:0 1.25rem;list-style:none}.home-matchweek__fixtures li+li{border-top:1px solid var(--color-line)}.home-fixture{display:grid;grid-template-columns:minmax(0,1fr) 5.25rem minmax(0,1fr);align-items:center;gap:.75rem;min-height:6.25rem;padding:1rem 0;color:var(--color-on-surface);text-decoration:none}.home-fixture:hover{background:var(--color-surface-container-high)}.home-fixture:focus-visible,.home-matchweek__calendar:focus-visible{outline:2px solid var(--color-tertiary);outline-offset:3px}.home-fixture__team{display:flex;align-items:center;gap:.75rem;min-width:0}.home-fixture__team--home{justify-content:end;text-align:right}.home-fixture__name{font-size:.9375rem;font-weight:600;overflow-wrap:anywhere}.home-fixture .home-fixture__crest{width:2.75rem;height:2.75rem;padding:.25rem;border-radius:.5rem;background:var(--color-surface-container-high);font-size:.875rem;color:var(--color-on-surface-variant)}.home-fixture__result{display:grid;gap:.35rem;text-align:center}.home-fixture__score{font-family:var(--font-display);font-size:1.375rem;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.home-fixture__status{color:var(--color-on-surface-variant);font-size:.6875rem;line-height:1.4}.home-fixture[data-status=live] .home-fixture__score{color:var(--color-tertiary)}.home-fixture[data-status=live] .home-fixture__status,.home-matchweek__live-dot{color:var(--color-secondary)}.home-matchweek__live-dot{margin-right:.5rem;font-size:.75rem}.home-matchweek__empty{margin:0;padding:1.75rem 1.5rem;color:var(--color-on-surface-variant);font-size:.875rem}.home-matchweek__refresh{margin:0;padding:1rem 1.5rem;border-top:1px solid var(--color-line);color:var(--color-on-surface-variant);font-size:.75rem;line-height:1.7}@media(min-width:1024px){.home-matchweek{grid-template-columns:minmax(0,1.4fr) minmax(20rem,1fr)}.home-matchweek__live .home-fixture__team{flex-direction:column;text-align:center}.home-matchweek__live .home-fixture__crest{order:-1}}@media(max-width:639px){.home-matchweek__header{padding:1.25rem 1rem}.home-matchweek__header h2{font-size:1.125rem}.home-matchweek__date{padding-inline:1rem;font-size:.75rem}.home-matchweek__fixtures{padding-inline:.75rem}.home-fixture{grid-template-columns:minmax(0,1fr) 4.5rem minmax(0,1fr);gap:.5rem}.home-fixture__team{flex-direction:column;gap:.5rem;text-align:center}.home-fixture__crest{order:-1}.home-fixture__name{font-size:.8125rem}}.player-leaderboards{margin-top:3rem;min-width:0}.player-leaderboards__grid{display:grid;gap:2rem}.player-leaderboards__board{min-width:0;border-top:1px solid var(--color-tertiary);padding-top:1rem}.player-leaderboards__message{padding-block:1.5rem;color:var(--color-on-surface-variant);font-size:.875rem;line-height:1.6}.player-leaderboards__scroll{max-height:24rem;overflow:auto;margin-top:1rem;scrollbar-color:var(--color-outline-variant) var(--color-surface-container-low)}.player-leaderboards__scroll:focus-visible{outline:2px solid var(--color-tertiary);outline-offset:3px}.player-leaderboards__table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.875rem;line-height:1.5;font-variant-numeric:tabular-nums}.player-leaderboards__rank{width:2.5rem}.player-leaderboards__total{width:5.5rem}.player-leaderboards__table th,.player-leaderboards__table td{padding:.875rem .375rem;border-bottom:1px solid var(--color-line);text-align:left;overflow-wrap:anywhere;vertical-align:top}.player-leaderboards__table thead th{position:sticky;top:0;background:var(--color-surface-container-low);font-family:var(--font-label);font-size:.75rem;color:var(--color-on-surface-variant)}.player-leaderboards__table tbody th{font-weight:500;color:var(--color-on-surface)}.player-leaderboards__table td{color:var(--color-on-surface-variant)}.player-leaderboards__table th:last-child,.player-leaderboards__table td:last-child{text-align:right}.player-leaderboards__table td:last-child{color:var(--color-tertiary);font-weight:700}@media(min-width:48rem){.player-leaderboards__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.fixture-round{clip-path:none;opacity:1;transform:none}.fixture-round--selected{animation:fixture-round-reveal .38s cubic-bezier(.16,1,.3,1) both}.fixture-round-selector__button{position:relative;overflow:hidden;transition:background-color .15s ease,color .15s ease,transform .15s ease}.fixture-round-selector__button:after{position:absolute;right:.55rem;bottom:.35rem;left:.55rem;height:1px;background:currentColor;content:"";opacity:0;transform:scaleX(0);transform-origin:left}.fixture-round-selector__button[data-motion-state=selected]{transform:scale(1.05)}.fixture-round-selector__button[data-motion-state=selected]:after{animation:fixture-round-selection-confirm .22s cubic-bezier(.16,1,.3,1) both}@media(hover:hover)and (pointer:fine){.fixture-round-selector__button:not([aria-pressed=true]):hover{transform:translateY(-1px)}}@keyframes fixture-round-reveal{0%{clip-path:inset(0 0 100% 0);opacity:.32;transform:translate3d(0,.5rem,0)}to{clip-path:inset(0 0 0 0);opacity:1;transform:translateZ(0)}}@keyframes fixture-round-selection-confirm{0%{opacity:0;transform:scaleX(0)}to{opacity:.72;transform:scaleX(1)}}@media(prefers-reduced-motion:reduce){.fixture-round--selected,.fixture-round-selector__button[data-motion-state=selected]:after{animation:none}.fixture-round-selector__button,.fixture-round-selector__button[data-motion-state=selected]{transition-duration:.1s;transform:none}.fixture-round-selector__button[data-motion-state=selected]:after{opacity:.72;transform:scaleX(1)}}.match-statistics{background:var(--color-surface-container-low)}.match-statistics-table{width:100%;table-layout:fixed;border-collapse:collapse;margin-top:1.5rem;color:var(--color-on-surface);font-variant-numeric:tabular-nums}.match-statistics-table th,.match-statistics-table td{overflow-wrap:anywhere}.match-statistics-table thead th{width:25%;padding-bottom:.5rem;font-size:.875rem;font-weight:500;text-align:left;vertical-align:bottom}.match-statistics-table thead th:nth-child(2){width:50%}.match-statistics-table th:last-child,.match-statistics-values td:last-child{text-align:right}.match-statistics-values th{padding:1rem .5rem .5rem;color:var(--color-on-surface-variant);font-size:.875rem;font-weight:400;text-align:center}.match-statistics-values td{padding-block:1rem .5rem;font-size:1.125rem;font-weight:600}.match-statistics-bar{display:flex;height:.25rem;overflow:hidden;border-radius:var(--radius-md)}.match-statistics-bar span:first-child{background:var(--color-tertiary)}.match-statistics-bar span:last-child{background:var(--color-outline)}.match-lineups{min-width:0;color:var(--color-on-surface);background:var(--color-surface-container-low)}.match-lineups-note{margin-top:.5rem;color:var(--color-on-surface-variant);font-size:.875rem;line-height:1.6;max-width:70ch}.match-lineups-teams{display:grid;gap:2rem;margin-top:1.5rem}.match-lineups-team,.match-lineups-name{min-width:0;overflow-wrap:anywhere}.match-lineups-team-heading h3{font-size:1.25rem;font-weight:600;text-wrap:balance}.match-lineups-team-heading p{margin-top:.25rem;color:var(--color-tertiary);font-family:var(--font-display);font-size:1rem}.match-lineups-team h4{margin-block:1.5rem .5rem;font-size:.875rem;font-weight:600}.match-lineups-pitch{position:relative;margin-top:.75rem}.match-lineups-markings{position:absolute;inset:0;pointer-events:none;fill:none;stroke:var(--color-tertiary);stroke-opacity:.15;stroke-width:1}.match-lineups-grid{position:relative;display:grid;grid-auto-rows:minmax(6rem,auto);row-gap:1.5rem;padding-block:1.5rem;list-style:none}.match-lineups-grid li{display:flex;min-width:0;flex-direction:column;align-items:center;gap:.5rem;padding-inline:.25rem;text-align:center;font-size:.8125rem;line-height:1.5}.match-lineups-jersey{display:inline-flex;flex:none;align-items:center;justify-content:center;min-width:2rem;min-height:2rem;padding:.125rem;border:1px solid var(--color-tertiary);border-radius:50%;background:var(--color-surface-container-low);color:var(--color-on-surface);font-family:var(--font-display);font-variant-numeric:tabular-nums}.match-lineups-list{display:grid;gap:.5rem;list-style:none}.match-lineups-list li{display:flex;align-items:baseline;gap:.75rem;min-width:0;font-size:.875rem;line-height:1.6}.match-lineups-list .match-lineups-jersey{min-height:0;border:0;padding:0;color:var(--color-on-surface-variant)}@media(prefers-reduced-motion:no-preference){.match-lineups-pitch[data-lineup-entering=true] .match-lineups-markings>*{stroke-dasharray:1;animation:lineup-field-trace .75s cubic-bezier(.16,1,.3,1) both}.match-lineups-grid .match-lineups-jersey{position:relative}.match-lineups-pitch[data-lineup-entering=true] .match-lineups-jersey:after{content:"";position:absolute;inset:-1px;border-radius:inherit;box-shadow:0 0 8px 2px var(--color-tertiary);pointer-events:none;animation:lineup-marker-light .75s ease-out both}@keyframes lineup-field-trace{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes lineup-marker-light{0%,to{opacity:0}35%{opacity:.45}}}@media(min-width:64rem){.match-lineups-teams{grid-template-columns:repeat(2,minmax(0,1fr))}}.match-absences{background:var(--color-surface-container-low);overflow-wrap:anywhere}.match-absences-note,.match-absences-detail,.match-absences-location{color:var(--color-on-surface-variant);font-size:.875rem;line-height:1.6}.match-absences-note{margin-top:.5rem;max-width:75ch}.match-absences-status{margin-top:1rem;color:var(--color-on-surface);font-size:.875rem;line-height:1.6}.match-absences-teams{display:grid;gap:1.5rem;margin-top:1.5rem}.match-absences-team{min-width:0}.match-absences-detail,.match-absences-location{display:block;font-weight:400}.match-absences-team li{padding-block:.75rem;border-top:1px solid var(--color-line)}.match-absences-team ul{margin-top:.75rem;padding:0;list-style:none}@media(min-width:640px){.match-absences-teams{grid-template-columns:repeat(2,minmax(0,1fr))}}.match-odds{min-width:0;margin-top:1.25rem;padding:clamp(1rem,3vw,1.5rem);border:1px solid var(--color-line);border-radius:.75rem;background:var(--color-surface-container-low);color:var(--color-on-surface)}.match-odds__header,.match-odds__title,.match-odds__controls{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1rem}.match-odds__header{justify-content:space-between;padding-bottom:1.25rem;border-bottom:1px solid var(--color-line)}.match-odds__header h2{margin:0;font:700 1.5rem var(--font-display)}.match-odds__title>span{color:var(--color-tertiary);font-size:.75rem}.match-odds__bookmakers{margin:0;padding:0;list-style:none}.match-odds__bookmakers>li+li{border-top:1px solid var(--color-outline-variant)}.match-odds__bookmaker-name{margin:0;padding-top:1.25rem;color:var(--color-on-surface);font:600 1rem var(--font-display)}.match-odds select{min-height:2.75rem;max-width:100%;padding:.5rem;border:1px solid var(--color-outline-variant);border-radius:.25rem;background:var(--color-surface-container);color:var(--color-on-surface)}.match-odds__format{display:inline-flex;gap:.25rem;padding:.25rem;border:1px solid var(--color-outline-variant);border-radius:.375rem;background:var(--color-surface)}.match-odds__format button{min-height:2.5rem;padding:.5rem .75rem;border-radius:.25rem;color:var(--color-on-surface-variant);font-size:.75rem;font-weight:600;cursor:pointer}.match-odds__format button[aria-pressed=true]{background:var(--color-tertiary);color:var(--color-on-tertiary)}.match-odds__format button[aria-pressed=false]:hover{background:var(--color-surface-container-high)}.match-odds__match-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:2rem;padding-block:1rem}.match-odds__matchup,.match-odds__main-line{min-width:0}.match-odds__team{display:flex;align-items:center;gap:.75rem;font-size:1rem;font-weight:600;overflow-wrap:anywhere}.match-odds__team small{display:block;margin-top:.125rem;font-size:.6875rem;font-weight:400;color:var(--color-on-surface-variant)}.match-odds .match-odds__crest{width:2.5rem;height:2.5rem;padding:.25rem;border-radius:.375rem;background:var(--color-surface-container-high);font-size:.75rem}.match-odds__versus{display:block;margin:.375rem 0 .375rem 3.25rem;color:var(--color-on-surface-variant);font-size:.625rem}.match-odds__kickoff{margin:1rem 0 0;color:var(--color-on-surface-variant);font-size:.75rem}.match-odds__price-line dl{display:grid;gap:.25rem;margin:0}.match-odds__price-line dl>div{min-width:0;text-align:center}.match-odds__price-line dt{padding-bottom:.625rem;color:var(--color-on-surface-variant);font-size:.75rem}.match-odds__price-line dd{margin:0}.match-odds__cell{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem;margin-inline:auto;padding:.5rem .75rem;border:1px solid var(--color-outline-variant);border-radius:.25rem;background:var(--color-surface-container-high);color:var(--color-tertiary)}.match-odds__cell[data-tone=muted]{border-style:dashed;color:var(--color-on-surface-variant);background:var(--color-surface)}.match-odds__cell[data-status=suspended]{color:var(--color-secondary)}.match-odds__price{font:700 1.125rem var(--font-display);font-variant-numeric:tabular-nums}.match-odds__missing{font-size:.6875rem;font-weight:400}.match-odds__timestamp,.match-odds__old{display:block;margin-top:.375rem;font-size:.625rem;line-height:1.5;color:var(--color-on-surface-variant)}.match-odds__old{margin-top:.125rem;color:var(--color-secondary)}.match-odds__market-caption{margin:.875rem 0 0;color:var(--color-on-surface-variant);font-size:.75rem}.match-odds__main-line>.match-odds__market-caption{text-align:right}.match-odds details{border-top:1px solid var(--color-line)}.match-odds summary{min-height:3rem;padding:.875rem 0;color:var(--color-tertiary);font-size:.8125rem;font-weight:600;cursor:pointer}.match-odds__more>summary{text-align:right}.match-odds details[open]{padding-bottom:1rem}.match-odds__extra-markets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1.5rem;padding-top:.25rem}.match-odds__extra-markets>section{display:grid;grid-template-rows:subgrid;grid-row:span 2;min-width:0}.match-odds__market-header{display:flex;align-items:center;gap:.75rem;min-height:2.75rem}.match-odds__market-header h4{margin:0;font:600 1rem/1.4 var(--font-display)}.match-odds__market-header select{flex-shrink:0;min-width:4.5rem;font-size:.8125rem;font-variant-numeric:tabular-nums}.match-odds__extra-markets .match-odds__message{margin:0}.match-odds__button{min-height:2.75rem;margin-top:.75rem;padding:.5rem .875rem;border:1px solid var(--color-outline-variant);border-radius:.25rem;color:var(--color-tertiary);font-size:.8125rem;cursor:pointer}.match-odds__button:hover{background:var(--color-surface-container-high)}.match-odds__notice{margin:1rem 0;border-left:2px solid var(--color-secondary);padding-left:.75rem;color:var(--color-secondary);font-size:.875rem;line-height:1.6}.match-odds__message{margin:1.25rem 0;font-size:.875rem;line-height:1.7}.match-odds__fetched,.match-odds__footer,.match-odds__format-note{max-width:85ch;margin:.75rem 0 0;color:var(--color-on-surface-variant);font-size:.75rem;line-height:1.7}.match-odds__footer{padding-top:.75rem;border-top:1px solid var(--color-line)}.match-odds :is(button,select,summary,[tabindex]):focus-visible{outline:2px solid var(--color-tertiary);outline-offset:3px}@media(max-width:639px){.match-odds__match-row{grid-template-columns:minmax(0,1fr);gap:1.25rem}.match-odds__controls{width:100%;gap:.75rem}.match-odds__price-line .match-odds__cell{padding-inline:.25rem}}@media(max-width:767px){.match-odds__extra-markets{grid-template-columns:minmax(0,1fr)}.match-odds__extra-markets>section+section{margin-top:.5rem;border-top:1px solid var(--color-line);padding-top:.75rem}}.player-profile{max-width:1120px;min-width:0;padding-block:2rem 4rem;color:var(--color-on-surface)}.player-profile h1,.player-profile h2,.player-profile h3{font-family:var(--font-display);font-weight:700;line-height:1.2;text-wrap:balance;overflow-wrap:anywhere}.player-profile h1{font-size:clamp(1.75rem,4vw,3rem)}.player-profile h2{font-size:1.4rem;margin-bottom:1rem}.player-profile h3{font-size:1.15rem;margin-bottom:.75rem}.player-profile p{max-width:72ch;margin-block:.5rem;line-height:1.7;color:var(--color-on-surface-variant)}.player-profile a{color:var(--color-tertiary);text-underline-offset:.25em}.player-profile a:hover{color:var(--color-tertiary-fixed);text-decoration:underline}.player-profile :is(a,button):focus-visible{outline:2px solid var(--color-tertiary);outline-offset:4px}.player-profile ::selection{background:var(--color-tertiary);color:var(--color-on-tertiary)}.player-profile__back{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem}.player-profile__identity{display:flex;align-items:center;gap:1.5rem;padding-block:1.5rem 2rem;border-bottom:1px solid var(--color-outline-variant)}.player-profile__identity>div{min-width:0}.player-profile__identity p{overflow-wrap:anywhere}.player-profile__portrait{position:relative;display:grid;place-items:center;flex-shrink:0;width:112px;height:140px;overflow:hidden;border-radius:var(--radius-lg);background:var(--color-surface-container-high);color:var(--color-tertiary);font:700 2rem var(--font-display)}.player-profile__portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}.player-profile__biography{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem;padding-block:2rem}.player-profile__facts{margin:0}.player-profile__facts>div{padding-block:.75rem;border-bottom:1px solid var(--color-line)}.player-profile__facts dt{color:var(--color-on-surface-variant);font-size:.875rem}.player-profile__facts dd{margin:.375rem 0 0;font-weight:500;font-variant-numeric:tabular-nums}.player-profile__clubs{margin:0;padding:0;list-style:none}.player-profile__clubs li{display:flex;gap:1rem;align-items:center;padding-block:.5rem 1rem}.player-profile__clubs li>div{min-width:0}.player-profile__clubs a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;overflow-wrap:anywhere}.player-profile__clubs p{margin-block:0;font-size:.875rem}.player-profile__statistics{padding-top:2rem;border-top:1px solid var(--color-outline-variant)}.player-profile__metrics{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem;margin-block:1.5rem}.player-profile__metric{min-width:0;padding:1.25rem;background:var(--color-surface-container-low);border-radius:var(--radius-lg)}.player-profile .player-profile__season{color:var(--color-tertiary)}.player-profile .player-profile__note{font-size:.75rem}.player-profile .player-profile__stale{color:var(--color-secondary);font-size:.875rem}.player-profile__table{width:100%;border-collapse:collapse;table-layout:fixed;margin-top:1rem;font-size:.875rem}.player-profile__table :is(th,td){padding-block:.875rem;text-align:left;border-bottom:1px solid var(--color-outline-variant);overflow-wrap:anywhere}.player-profile__table thead th{font-size:.75rem;color:var(--color-on-surface-variant);font-weight:500}.player-profile__table th:first-child{padding-right:1rem}.player-profile__table :is(th,td):last-child{width:5.5rem;text-align:right;font-variant-numeric:tabular-nums}.player-profile__action{display:inline-flex;align-items:center;min-height:44px;padding:.5rem 1rem;margin:.75rem 1rem .75rem 0;border:1px solid var(--color-tertiary-container);border-radius:var(--radius-md);background:var(--color-on-tertiary);color:var(--color-on-tertiary-container);font:600 .875rem var(--font-label);cursor:pointer}.player-profile__action:hover{background:var(--color-tertiary-container)}@media(max-width:640px){.player-profile__identity{gap:1rem}.player-profile__portrait{width:80px;height:100px}.player-profile__biography,.player-profile__metrics{grid-template-columns:minmax(0,1fr);gap:2rem}}@media(prefers-reduced-motion:reduce){.player-profile :is(a,button){transition:none}}
