@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
/* Approved Stats design. Loaded only for the Stats route. */
.stats-site{--bg:#0c1110;--surface:#141b18;--raised:#1b2420;--text:#eef3ec;--muted:#a1afa5;--line:#2a3730;--green:#bbef79;--green-ink:#15270a;--amber:#efc27a;--red:#ef9c93;--border:var(--line);background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif}
html[data-theme=light] .stats-site{--bg:#f4f6f1;--surface:#fff;--raised:#edf1e8;--text:#17241c;--muted:#5b6c60;--line:#dce3d7;--green:#43711e;--green-ink:#fff;--amber:#916221;--red:#ab443c}
.stats-site .container{width:min(1232px,calc(100% - 48px))}
.stats-site .site-header{background:var(--bg);border-color:var(--line)}
.stats-site .site-header .container{padding:22px 0;gap:18px;flex-wrap:wrap}
.stats-site .brand{font-family:Manrope,sans-serif;font-size:24px;letter-spacing:-1px}
.stats-site .nav{display:flex;gap:5px;margin-left:auto;flex-wrap:wrap}
.stats-site .nav a{font-size:17px;font-weight:600;margin:0;padding:11px 12px;border-radius:8px;color:var(--muted);white-space:nowrap}
.stats-site .nav a.active{background:var(--green);color:var(--green-ink);font-weight:700}
.stats-site .main{padding:40px 0 48px}
.stats-page *{box-sizing:border-box}
.stats-page h1,.stats-page h2,.stats-page h3,.stats-page p{margin:0}
.stats-page h1,.stats-page h2,.stats-page h3{font-family:Manrope,sans-serif}
.stats-page h1{font-size:clamp(30px,3vw,44px);letter-spacing:-1.8px;line-height:1.15;font-weight:800}
.stats-page h2{font-size:20px;letter-spacing:-.5px}
.stats-page p{line-height:1.6}
.stats-page .muted,.stats-page small{color:var(--muted)}
.stats-page .eyebrow{font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}
.stats-page .hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;padding:0;background:none;border:0;border-radius:0}
.stats-page .hero .eyebrow{margin-bottom:12px}
.stats-page .hero p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:12px}
.stats-page button,.stats-page input,.stats-page select{font:inherit;color:var(--text)}
.stats-page button{cursor:pointer;touch-action:manipulation}
.stats-page button:focus-visible,.stats-page input:focus-visible,.stats-page select:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.stats-page input,.stats-page select{background:var(--bg);border:1px solid var(--line);border-radius:8px;min-width:0}
.stats-page .segment{display:flex;padding:3px;background:var(--bg);border:1px solid var(--line);border-radius:7px;gap:2px}
.stats-page .segment button{border:0;background:none;color:var(--muted);border-radius:5px}
.stats-page .panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.stats-page .panel-head{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.stats-page .panel-head small{display:block;font-size:13px;margin-top:5px}
.stats-page .panel-body{padding:22px}
.stats-page .icon-button{border:1px solid var(--line);background:transparent;border-radius:9px}
.stats-page .table-wrap{overflow:auto}
.stats-page table{width:100%;border-collapse:collapse}
.stats-page th{text-align:left}
.stats-page .section-title{display:flex;justify-content:space-between;align-items:center}
.stats-page [hidden]{display:none!important}
.stats-filters{display:flex;gap:12px;flex-wrap:wrap}
.stats-filters label{font-size:13px;color:var(--muted);font-weight:600}
.stats-filters select{display:block;min-height:42px;padding:8px 10px;margin-top:5px;font-size:14px}
.stats-status{font-size:14px;color:var(--muted);margin:0 0 16px!important}
.stats-status:empty{display:none}
.stats-source{display:block;font-size:12px;margin-top:6px;color:var(--green)!important}
.stats-avatar{font-size:22px;font-weight:700;color:var(--green)}
.fixture-empty{padding:18px 22px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}
.stats-page .fixture-week{width:48px}
@media(max-width:1100px){.stats-site .nav{order:3;width:100%;margin-left:0}.stats-site #theme-toggle{margin-left:auto}}
@media(max-width:650px){.stats-site .container{width:calc(100% - 32px)}.stats-site .main{padding:28px 0 36px}.stats-site .nav{flex-wrap:nowrap;overflow:auto}.stats-site .nav a{font-size:16px}.stats-filters{width:100%;gap:10px}.stats-filters label{flex:1;min-width:0}.stats-filters select{width:100%}.stats-page h1{font-size:32px}}
/* Stats workspace: player selection, detailed profiles and comparison. */
.stats-page .hero .eyebrow{color:var(--green)}
.stats-page .hero-actions .tag{font-size:13px;padding:8px 10px}
.stats-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.stats-toolbar p{font-size:13px;color:var(--muted)}
.stats-page .segment button{font-size:15px;padding:10px 18px;min-height:42px;font-weight:700}
.stats-page .segment button.active{background:var(--green);color:var(--green-ink)}
.stats-selection{margin-bottom:22px}
.stats-selectors{display:flex;align-items:flex-end;gap:20px}
.stats-player-select{flex:1;min-width:0;font-size:14px;font-weight:600}
.stats-player-select select{display:block;width:100%;margin-top:9px;font-size:16px;padding:12px;min-height:46px;cursor:pointer}
.stats-swap{flex-shrink:0;width:46px;height:46px;display:grid;place-items:center;color:var(--green)}
.stats-swap svg{width:22px;height:22px}
.stat-identity{display:flex;align-items:center;gap:18px;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:12px;min-width:0}
.stats-avatar{width:66px;height:66px;border-radius:12px;background:var(--raised);display:grid;place-items:center;flex-shrink:0}
.stats-avatar .shirt{width:40px;height:40px}
.stat-identity .eyebrow{font-size:12px;letter-spacing:1px}
.stat-identity h2{font-size:26px;margin:4px 0;overflow-wrap:anywhere}
.stat-identity p{font-size:14px;color:var(--muted)}
.stat-rating{margin-left:auto;white-space:nowrap;text-align:right;color:var(--green)}
.stat-rating strong{font-family:Manrope,sans-serif;font-size:30px}
.stat-rating small{display:block;font-size:12px}
.stats-key-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:18px 0 24px}
.stat-metric{padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.stat-metric-icon{color:var(--green);width:28px;height:28px;margin-bottom:4px}
.stat-metric-icon svg{width:100%;height:100%}
.stat-metric>span:not(.stat-metric-icon){font-size:14px;color:var(--muted);line-height:1.4}
.stat-metric strong{font-size:30px;font-family:Manrope,sans-serif;letter-spacing:-1px}
.stat-metric small{font-size:12px;line-height:1.4}
.stats-detail-grid,.stats-identities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.stats-identities{margin-bottom:22px}
.stats-data-list{margin:0}
.stats-data-list>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px}
.stats-data-list>div:first-child{padding-top:0}
.stats-data-list>div:last-child{border:0;padding-bottom:0}
.stats-data-list dt{color:var(--muted)}
.stats-data-list dd{margin:0;font-size:17px;font-weight:700}
.stats-explainer{font-size:13px;line-height:1.7;color:var(--muted);max-width:900px;margin-top:22px}
.comparison-table{table-layout:fixed;white-space:normal;font-size:16px}
.comparison-table th,.comparison-table td{padding:15px 22px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.comparison-table th:first-child{width:44%}
.comparison-table thead th{font-size:15px;font-weight:700;color:var(--text)}
.comparison-table th:not(:first-child),.comparison-table td{text-align:center}
.comparison-table tbody th{background:transparent;font-size:14px;font-weight:500;color:var(--muted)}
.comparison-table .comparison-group th{background:var(--raised);font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--text)}
.comparison-table td{font-weight:700}
.comparison-table th svg{width:20px;height:20px;vertical-align:middle;margin-right:8px;color:var(--green)}
@media(max-width:1100px){.stats-key-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-identities .stat-identity{gap:12px;padding:16px}.stats-identities .stats-avatar{width:48px;height:48px}}
@media(max-width:650px){.stats-toolbar{align-items:flex-start}.stats-toolbar p{font-size:12px}.stats-selectors{flex-wrap:wrap;gap:14px}.stats-player-select{flex-basis:100%}.stats-swap{align-self:center;transform:rotate(90deg);width:38px;height:38px;margin:auto}.stats-detail-grid,.stats-identities{grid-template-columns:minmax(0,1fr);gap:14px}.stats-key-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-metric{padding:15px}.stat-identity{padding:16px;gap:12px;flex-wrap:wrap}.stat-identity h2{font-size:22px}.stat-rating{margin-left:auto}.stats-avatar{width:48px;height:54px}.stats-avatar .shirt{width:32px;height:32px}.stat-identity p{font-size:13px}.comparison-table th,.comparison-table td{padding:12px 9px}.comparison-table thead th{font-size:14px}.comparison-table tbody th{font-size:13px}.comparison-table th:first-child{width:46%}.stats-comparison .panel-head{flex-wrap:wrap}.comparison-table th svg{display:block;margin:0 0 5px}.stats-data-list>div{font-size:14px}}

/* Player lookup is available in both Stats selection slots. */
.stats-player-select>label{font-size:14px;font-weight:600}
.stats-player-select .stats-search-input{display:block;width:100%;margin-top:9px;font-size:15px;min-height:46px;padding:12px}
.stats-selected-label{margin-top:16px}
.stats-search-matches{border:1px solid var(--line);background:var(--bg);border-radius:8px;margin-top:8px;max-height:230px;overflow:auto}
.stats-search-matches button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;font-size:14px}
.stats-search-matches button:last-child{border-bottom:0}
.stats-search-matches button:hover,.stats-search-matches button:focus-visible{background:var(--raised)}
.stats-search-matches button span{font-size:12px;color:var(--muted);white-space:nowrap}
.stats-search-matches p{font-size:14px;color:var(--muted);padding:12px}

/* Selected players' upcoming schedule and recent club results. */
.stats-fixture-section{margin-top:24px;min-width:0}
.stats-fixture-section>.section-title{gap:12px;flex-wrap:wrap;margin:0 0 16px}
.stats-fixture-section>.section-title>.muted{font-size:13px}
.stats-fixture-grid{display:grid;grid-template-columns:minmax(0,1fr)}
.stats-fixture-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.stats-fixture-card .panel-head{gap:10px;flex-wrap:wrap}
.stats-fixture-card h2{display:flex;align-items:center;gap:10px;font-size:18px}
.stats-fixture-card h2 svg{width:22px;height:22px;color:var(--green);flex-shrink:0}
.fixture-card-context{padding:0 22px 16px;font-size:13px;color:var(--muted);line-height:1.5}
.stats-fixture-list{list-style:none;padding:0;margin:0}
.stats-fixture-list li{display:flex;align-items:center;gap:14px;padding:14px 22px;border-top:1px solid var(--line);font-size:15px}
.fixture-week{font-size:12px;color:var(--muted);width:36px;flex-shrink:0}
.fixture-opponent{flex:1;min-width:0;font-weight:600;overflow-wrap:anywhere}
.fixture-opponent small{display:block;font-size:12px;font-weight:400;margin-top:4px}
.fixture-score{font-family:Manrope,sans-serif;font-weight:800;white-space:nowrap}
.fixture-result{display:grid;place-items:center;width:27px;height:27px;border-radius:6px;font-size:12px;font-weight:700;flex-shrink:0}
.fixture-result.w{background:#bbef7918;color:var(--green)}
.fixture-result.l{background:#ef9c9318;color:var(--red)}
.fixture-result.d{background:var(--raised);color:var(--muted)}
.fixture-upcoming{font-size:12px;color:var(--green)}
.fixture-card-note{padding:12px 22px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);line-height:1.5}
.stats-fixture-comparison .stats-fixture-grid{grid-template-columns:minmax(0,1fr);gap:14px}
@media(max-width:650px){.stats-fixture-grid,.stats-fixture-comparison{grid-template-columns:minmax(0,1fr);gap:14px}.stats-fixture-list li{padding:14px;gap:10px;font-size:14px}.fixture-card-context{padding:0 14px 14px}.fixture-card-note{padding:12px 14px}.stats-fixture-card .panel-head{padding:18px 14px}.stats-fixture-card h2{font-size:17px}}

.stats-page .fixture-toggle button{font-size:14px;min-height:38px;padding:8px 14px}

.stats-page .fixture-toggle button{white-space:nowrap}
.stats-page .stats-search-matches p{margin:0}
