.hof-collection .hof-scroll{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.hof-intro{border-bottom:1px solid var(--app-border)}.hof-intro strong small{font-size:var(--type-ui);text-align:right;display:block}.hof-summary{border-top:1px solid var(--app-border);color:var(--app-muted);font-size:var(--type-body);flex-wrap:wrap;grid-column:1/-1;gap:12px 28px;padding-top:12px;display:flex}.hof-summary b{color:var(--app-text);margin-left:8px}.hof-controls{z-index:2;background:var(--app-panel);border-bottom:1px solid var(--app-border);flex-wrap:wrap;align-items:end;gap:12px;padding:16px 24px;display:flex;position:sticky;top:0}.hof-scope{border-radius:12px;flex:1;min-width:180px;padding:4px;display:flex}.hof-scope button{min-height:44px;font-size:var(--type-body);border-radius:8px;flex:1;font-weight:800}.hof-controls label{min-width:140px;color:var(--app-muted);font-size:var(--type-ui);flex-direction:column;flex:1;gap:6px;display:flex}.hof-controls select{border:1px solid var(--app-border);background:var(--app-surface-2);width:100%;min-width:0;min-height:44px;color:var(--app-text);font-size:var(--type-body);border-radius:12px;padding:10px}.hof-search{color:var(--app-muted);font-size:var(--type-ui);align-items:center;gap:16px;padding:16px 24px 0;display:flex}.hof-search label{border-radius:12px;flex:1;align-items:center;gap:10px;min-width:0;padding:0 12px;display:flex}.hof-search input{width:100%;min-width:0;min-height:44px;color:var(--app-text);font-size:var(--type-body);background:0 0}.hof-search>span{flex-shrink:0}.hof-results{padding:20px 24px 24px}.hof-career-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));align-items:stretch;gap:16px;display:grid}.hof-career-card{border:1px solid var(--app-border);background:var(--app-surface-2);min-width:0;color:var(--app-text);border-radius:18px;flex-direction:column;padding:22px;display:flex}.hof-card-top{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.hof-card-emblem{border:1px solid var(--app-border);background:var(--app-panel);border-radius:20px;place-items:center;width:76px;height:76px;display:grid}.hof-card-score{text-align:right}.hof-card-score strong{font-size:calc(var(--type-display) * 2);color:var(--app-accent);font-weight:900;line-height:1;display:block}.hof-card-score span{color:var(--app-muted);font-size:var(--type-ui);margin-top:8px;display:block}.hof-card-nationalities{color:var(--app-muted);font-size:var(--type-ui);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hof-card-identity h3{font-size:var(--type-title);overflow-wrap:anywhere;margin:8px 0 4px;font-weight:800}.hof-card-identity p{color:var(--app-muted);font-size:var(--type-body);overflow-wrap:anywhere;line-height:1.5}.hof-card-metrics{border-block:1px solid var(--app-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0;padding:16px 0;display:grid}.hof-card-metrics dt{color:var(--app-muted);font-size:var(--type-ui);line-height:1.4}.hof-card-metrics dd{font-size:var(--type-title);font-variant-numeric:tabular-nums;margin-top:4px;font-weight:800}.hof-card-trophies{min-height:28px;font-size:var(--type-body);justify-content:space-between;align-items:center;gap:10px;display:flex}.hof-card-trophies b{margin-left:6px}.hof-card-trophy-art{align-items:end;gap:8px;display:flex}.hof-card-meta{color:var(--app-muted);font-size:var(--type-ui);flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:20px;display:flex}.hof-card-meta>:first-child{border:1px solid var(--app-border);border-radius:8px;padding:4px 8px}.hof-card-meta .hof-published{color:var(--app-accent)}.hof-card-meta time{flex-basis:100%}.hof-card-open{justify-content:space-between;align-items:center;gap:10px;margin-top:16px;display:flex}.hof-card-snapshot{color:var(--app-muted);font-size:var(--type-ui);margin-top:auto;padding-top:16px}.hof-empty h3{color:var(--app-text);font-size:var(--type-title);margin-top:12px;font-weight:800}.hof-collection .app-overlay-footer button{min-height:44px;padding-inline:12px}.hof-collection :is(input,select,button):focus-visible{outline:2px solid var(--app-accent);outline-offset:3px}@media (width<=560px){.hof-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px 16px;display:grid}.hof-scope{grid-column:1/-1;min-width:0}.hof-controls label{min-width:0}.hof-search{gap:10px;padding:12px 16px 0}.hof-results{padding:16px}.hof-career-card{padding:20px}}.timeline-header{color:var(--app-faint);font-size:var(--type-kicker);letter-spacing:.08em;text-transform:uppercase;grid-template-columns:36px 20px minmax(0,1fr) 36px;grid-template-areas:"age logo club club";align-items:center;column-gap:8px;padding:0 12px 8px;font-weight:600;display:grid}.timeline-header-age{text-align:center;grid-area:age}.timeline-header-logo{grid-area:logo}.timeline-header-club{grid-area:club;min-width:0}.timeline-header-ovr,.timeline-header-apps,.timeline-header-mid,.timeline-header-end{text-align:center;-webkit-text-decoration:underline dotted color-mix(in srgb, currentColor 70%, transparent);text-decoration:underline dotted color-mix(in srgb, currentColor 70%, transparent);text-underline-offset:3px;display:none}.timeline-row{z-index:0;box-sizing:border-box;height:var(--timeline-row-h);min-height:var(--timeline-row-h);max-height:var(--timeline-row-h);border-radius:var(--app-radius-card-sm);border:1px solid #0000;grid-template-columns:36px 20px minmax(0,1fr) 36px;grid-template-areas:"age logo main ovr""season logo stats stats";align-items:center;gap:2px 8px;padding:5px 12px;display:grid;position:relative;overflow:hidden}.timeline-layout{container-type:inline-size}.timeline-expand-heading{color:var(--app-faint);font-size:var(--type-kicker);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;font-weight:700}.timeline-expand-heading--trophy,.timeline-ballon-title{color:var(--career-warning)}.timeline-expand-heading--national,.timeline-national-team{color:var(--career-national)}.timeline-trophy-chip{border:1px solid color-mix(in srgb, var(--career-warning) 22%, var(--app-border));background:color-mix(in srgb, var(--career-warning) 9%, var(--app-surface-2));color:var(--app-muted);font-size:var(--type-ui);border-radius:5px;align-items:center;gap:5px;padding:3px 8px;font-weight:600;display:inline-flex}.timeline-national-team,.timeline-national-chip,.timeline-national-stat{align-items:center;display:flex}.timeline-national-team{font-size:var(--type-ui);letter-spacing:.06em;gap:5px;font-weight:800}.timeline-national-chip{background:color-mix(in srgb, var(--career-national) 15%, var(--app-surface-2));color:color-mix(in srgb, var(--career-national) 78%, var(--app-text));font-size:var(--type-kicker);border-radius:4px;gap:4px;padding:2px 7px;font-weight:700}.timeline-national-detail{color:color-mix(in srgb, var(--career-national) 58%, var(--app-muted))}.timeline-expand-value{color:var(--app-text)}.timeline-result-win{color:var(--career-positive);font-weight:900}.timeline-result-loss{color:var(--career-negative);font-weight:900}.timeline-national-stat{color:var(--app-muted);font-size:var(--type-ui-md);gap:3px;font-weight:600}.timeline-ballon-title{font-size:var(--type-kicker);letter-spacing:.06em;font-weight:800}.timeline-season-details{grid-template-columns:72px minmax(0,1fr);align-items:stretch;gap:12px;display:grid}.timeline-season-details__rating{border-radius:var(--app-radius-card-sm);background:#00000038;border:1px solid;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:48px;display:flex}.timeline-season-details__rating span,.timeline-season-summary__insight span,.timeline-season-summary__output>span{color:var(--app-faint);font-size:var(--type-kicker);letter-spacing:.08em;text-transform:uppercase;font-weight:800;line-height:1.1}.timeline-season-details__rating strong{color:var(--app-text);font-family:var(--font-body);font-size:var(--type-body);font-variant-numeric:tabular-nums;line-height:1}.timeline-season-summary__insights{align-items:center;gap:14px;padding:0 2px;display:flex}.timeline-season-summary__insight{flex:1;min-width:0}.timeline-season-summary__insight>div{justify-content:space-between;align-items:center;display:flex}.timeline-season-summary__insight strong,.timeline-season-summary__output strong{color:var(--app-muted);font-size:var(--type-ui-md);font-variant-numeric:tabular-nums}.timeline-season-summary__bar{background:#ffffff14;border-radius:2px;height:3px;margin-top:4px;display:block;overflow:hidden}.timeline-season-summary__bar>span{border-radius:inherit;height:100%;display:block}.timeline-season-summary__output{flex-direction:column;align-items:flex-end;min-width:132px;display:flex}.timeline-season-summary__output small{color:var(--app-faint);font-size:var(--type-kicker);font-weight:700}@container (width<=420px){.timeline-season-details{grid-template-columns:62px minmax(0,1fr);gap:8px}.timeline-season-summary__insights{gap:8px}.timeline-season-summary__output{min-width:112px}}.timeline-age{width:auto;color:var(--app-muted);font-family:var(--font-body);font-weight:700;font-size:var(--type-display);flex-direction:column;grid-area:age;align-items:center;line-height:1;display:flex}.timeline-age.is-current{color:var(--app-text)}.timeline-season-label{color:var(--app-faint);font-family:var(--font-body);font-weight:600;font-size:var(--type-kicker);text-align:center;grid-area:season;line-height:1.2}.timeline-logo{grid-area:logo;justify-content:center;align-items:center;display:flex}.timeline-main{grid-area:main;align-items:center;gap:6px;min-width:0;display:flex}.timeline-ovr{grid-area:ovr;justify-content:center;display:flex}.timeline-stats{grid-area:stats;justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.timeline-club-name{min-width:0;color:var(--app-text);font-size:var(--type-body);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.timeline-stat-cell{color:var(--app-muted);font-family:var(--font-body);font-weight:600;font-size:var(--type-ui);flex-shrink:0;justify-content:flex-start;align-items:center;gap:3px;display:flex}@container (width>=460px){.timeline-header,.timeline-row{grid-template-columns:52px 24px minmax(0,1fr) 42px 64px 34px 34px;column-gap:8px}.timeline-header{grid-template-areas:"age logo club ovr apps mid end";padding-top:2px;padding-bottom:8px}.timeline-header-ovr,.timeline-header-apps,.timeline-header-mid,.timeline-header-end{display:block}.timeline-header-ovr{grid-area:ovr}.timeline-header-apps{grid-area:apps}.timeline-header-mid{grid-area:mid}.timeline-header-end{grid-area:end}.timeline-row{grid-template-areas:"age logo main ovr apps mid end""season logo main ovr apps mid end";padding-top:5px;padding-bottom:5px}.timeline-main{align-self:stretch}.timeline-club-name{font-size:var(--type-body);align-items:center;font-weight:700;display:flex}.timeline-stats{display:contents}.timeline-stat-cell{font-size:var(--type-body);justify-content:center}.timeline-stat-apps{grid-area:apps}.timeline-stat-mid{grid-area:mid}.timeline-stat-end{grid-area:end}.timeline-minutes-split{display:none}.timeline-current-label{grid-column:apps/end;place-self:center start}}.timeline-divider{background:color-mix(in srgb, var(--app-border) 70%, transparent);height:1px;margin:6px 0}.timeline-current-label{color:var(--app-faint);font-size:var(--type-ui-md);white-space:nowrap;text-overflow:ellipsis;font-style:italic;overflow:hidden}.stat-reveal{animation:.42s cubic-bezier(.22,1.2,.36,1) both statReveal}.timeline-rows-closed{height:calc(var(--timeline-visible-rows) * var(--timeline-row-h) + max(0px, (var(--timeline-visible-rows) - 1) * var(--timeline-row-gap)));max-height:calc(var(--timeline-visible-rows) * var(--timeline-row-h) + max(0px, (var(--timeline-visible-rows) - 1) * var(--timeline-row-gap)));flex-shrink:0}.timeline-rows-snap{scroll-snap-type:y mandatory}.timeline-age-snap{scroll-snap-align:start;scroll-snap-stop:always;min-height:var(--timeline-row-h);box-sizing:border-box;isolation:isolate;position:relative}.timeline-age-snap:not(.timeline-age-snap-expanded){height:var(--timeline-row-h);max-height:var(--timeline-row-h);overflow:hidden}@media (width>=1024px){.timeline-rows-closed.timeline-rows-inline-open{height:auto;min-height:calc(var(--timeline-visible-rows) * var(--timeline-row-h) + max(0px, (var(--timeline-visible-rows) - 1) * var(--timeline-row-gap)));max-height:min(54dvh, calc(var(--timeline-visible-rows) * var(--timeline-row-h) + max(0px, (var(--timeline-visible-rows) - 1) * var(--timeline-row-gap)) + var(--timeline-expand-extra)))}.timeline-rows-full{max-height:none!important}}.timeline-expand-heading--league{color:var(--app-accent);align-items:baseline;gap:6px;display:flex}.timeline-league-finish{color:var(--app-muted);letter-spacing:0;align-items:baseline;gap:4px;display:inline-flex}.timeline-league-finish small{opacity:.75;font-weight:600}.league-table table{border-collapse:separate;border-spacing:0 2px;width:100%;font-size:var(--type-ui)}.league-table th{color:var(--app-faint);font-size:var(--type-kicker);letter-spacing:.06em;text-align:right;text-transform:uppercase;padding:0 .3rem .1rem;font-weight:800}.league-table th:first-child{text-align:center}.league-table th:nth-child(2),.league-table td:nth-child(2){text-align:left;width:100%}.league-table td{background:color-mix(in srgb, var(--app-text) 4%, transparent);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;padding:.22rem .3rem}.league-table td:nth-child(2){padding-left:.45rem;font-weight:700}.league-table td:nth-child(n+3){background:color-mix(in srgb, var(--app-text) 7%, transparent);color:var(--app-muted)}.league-table td:nth-child(3){box-shadow:inset 1px 0 0 color-mix(in srgb, var(--app-bg) 60%, transparent)}.league-table td:last-child{border-radius:0 6px 6px 0}.league-table td:first-child{vertical-align:middle;background:0 0;width:1.9rem;padding:0}.league-table__rank{--lt-tab:color-mix(in srgb, var(--app-text) 12%, transparent);background:var(--lt-tab);color:var(--app-muted);clip-path:polygon(0 0,100% 0,calc(100% - 6px) 100%,0 100%);text-align:center;border-radius:6px 0 0 6px;margin-right:-4px;padding:.22rem .55rem .22rem .3rem;font-weight:900;display:block}.league-table__club{align-items:center;gap:6px;min-width:0;display:inline-flex}.league-table td:last-child b{background:color-mix(in srgb, var(--app-text) 12%, transparent);clip-path:polygon(4px 0,100% 0,calc(100% - 4px) 100%,0 100%);min-width:1.8rem;color:var(--app-text);text-align:center;padding:.05rem .4rem;font-weight:900;display:inline-block}.league-table tr.is-own td{background:color-mix(in srgb, var(--app-accent) 18%, transparent);color:var(--app-text)}.league-table tr.is-own td:first-child{background:0 0}.league-table tr.is-own .league-table__rank{--lt-tab:var(--app-accent);color:var(--app-accent-fg,var(--app-bg))}.league-table tr.is-own td:last-child b{background:var(--app-accent);color:var(--app-accent-fg,var(--app-bg))}.league-table__gap td,.league-table__gap td:first-child{color:var(--app-faint);letter-spacing:.3em;text-align:center;background:0 0;padding:0;line-height:.8}.league-table tr.is-champion .league-table__rank{--lt-tab:var(--career-warning,#f59e0b);color:var(--app-bg)}.league-table tr.is-up .league-table__rank{--lt-tab:var(--career-positive,#22c55e);color:var(--app-bg)}.league-table tr.is-down .league-table__rank{--lt-tab:var(--career-negative,#ef4444);color:var(--app-bg)}.timeline-league-move{border-radius:var(--radius-pill);font-size:var(--type-kicker);letter-spacing:.04em;padding:1px 6px;font-weight:800}.timeline-league-move.is-up{background:color-mix(in srgb, var(--career-positive,#22c55e) 16%, transparent);color:var(--career-positive,#22c55e)}.timeline-league-move.is-down{background:color-mix(in srgb, var(--career-negative,#ef4444) 16%, transparent);color:var(--career-negative,#ef4444)}.league-table tr.is-playoff .league-table__rank{--lt-tab:color-mix(in srgb, var(--career-warning,#f59e0b) 55%, transparent);color:var(--app-text)}.league-table__mark{flex:none;margin-left:auto;padding-left:4px;font-size:.85em;font-weight:800;line-height:1}.league-table__mark.is-up{color:var(--career-positive,#22c55e)}.league-table__mark.is-down{color:var(--career-negative,#ef4444)}.league-table__mark.is-playoff{color:var(--career-warning,#f59e0b);font-size:.7em}.career-league-card-final{flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}.timeline-league-move.is-champion{background:color-mix(in srgb, var(--career-warning,#f59e0b) 18%, transparent);color:var(--career-warning,#f59e0b)}.career-league-card .league-table tbody tr[data-shift]{z-index:1;animation:.5s cubic-bezier(.3,.9,.3,1) both leagueTableShift;position:relative}@keyframes leagueTableShift{0%{transform:translateY(calc(var(--shift,0) * 100%))}}.league-table__delta{font-variant-numeric:tabular-nums;flex:none;font-size:.72em;font-weight:900;line-height:1}.league-table__delta.is-gain{color:var(--career-positive,#22c55e)}.league-table__delta.is-loss{color:var(--career-negative,#ef4444)}html[data-animation-level=none] .career-league-card .league-table tbody tr[data-shift]{animation:none}.league-table__mark.is-live{opacity:.55;font-size:.78em}
