/* Existing graph and statistical layouts, isolated from the new shell. */
@scope (.hub-source) {
.fh2-history-explore{margin:32px 0}.fh2-history-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.fh2-history-card{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:28px;background:linear-gradient(145deg,#eef2e8,#eef2e8);border:1px solid #35546c;border-radius:16px;color:#f5f8fc;text-decoration:none;min-width:0;transition:border-color .18s,background .18s}
.fh2-history-card>span,.fh2-home-history>.eyebrow{color:#ffd700;font-size:11px;letter-spacing:.12em;font-weight:800}.fh2-history-card h3{color:#f5f8fc!important;font-size:24px!important;line-height:1.25!important;margin:0!important;text-wrap:balance}.fh2-history-card p{color:#c5d7e5;font-size:15px;line-height:1.75;margin:0!important}.fh2-history-card>b{color:#ffd700!important;font-size:13px;line-height:1.6;margin-top:auto;padding-top:8px}.fh2-history-card:hover{border-color:#ffd700;background:#eef2e8}.fh2-history-card:focus-visible,.fh2-home-history a:focus-visible{outline:3px solid #ffd700;outline-offset:4px}
.club-history-page .panel{padding:clamp(22px,3vw,40px)}.club-history-page .page-hero{background:radial-gradient(ellipse at top right,#eef2e8 0,transparent 65%),linear-gradient(125deg,#eef2e8,#eef2e8)}.club-history-page .page-hero h1{max-width:18ch;font-size:clamp(38px,5vw,68px)}.club-history-page .page-hero>p{max-width:69ch}.club-history-page .history-hero-facts{margin-bottom:0}.fh2-history-timeline{margin-top:30px}.fh2-history-timeline>article{display:grid;grid-template-columns:155px minmax(0,1fr);gap:28px;padding:0 0 34px;margin:0 0 28px;border-bottom:1px solid #2e4c64}.fh2-history-timeline>article:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.fh2-era-date{color:#ffd700;font-size:15px;font-weight:800;line-height:1.7;padding-top:3px}.fh2-history-timeline h3{color:#f4f8fc!important;font-size:24px!important;line-height:1.3;margin:0 0 14px}.fh2-history-timeline p{max-width:77ch;color:#c5d7e5;line-height:1.85;margin:0 0 18px}.fh2-history-timeline a{color:#ffd700;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:5px}.fh2-history-timeline a:hover{color:#fff}.fh2-season-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:26px}.fh2-season-highlights>a{padding:22px;border:1px solid #35546c;border-radius:12px;background:#eef2e8;text-decoration:none;display:flex;flex-direction:column;gap:14px}.fh2-season-highlights>a>span{color:#ffd700;font-size:23px;font-weight:800}.fh2-season-highlights h3{color:#eef6ff;font-size:18px;line-height:1.4;margin:0}.fh2-season-highlights b{color:#bbd0e2;font-size:12px;margin-top:auto}.fh2-season-highlights>a:hover{border-color:#ffd700}.fh2-history-next p{max-width:70ch;color:#c5d7e5;line-height:1.8;margin-bottom:22px}
.fh2-foot{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}.fh2-foot>span{font-weight:700}.fh2-foot nav{display:flex;gap:14px 22px;flex-wrap:wrap}.fh2-foot a{color:#c5d7e5;text-decoration:none;line-height:1.7}.fh2-foot a:hover{color:#ffd700;text-decoration:underline;text-underline-offset:4px}.fh2-top nav a[aria-current="page"]{color:#ffd700;border-bottom:2px solid #ffd700}.fh2-top nav a:focus-visible{outline:3px solid #ffd700;outline-offset:4px}
.fh2-home-history{margin:36px 0;padding:clamp(22px,3vw,38px);border:1px solid #36516a;border-radius:20px;background:radial-gradient(ellipse at top right,#eef2e8 0,transparent 65%),#eef2e8;color:#f5f8fc}.fh2-home-history-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:14px 0 28px}.fh2-home-history-head h2{color:#f5f8fc!important;font-size:clamp(30px,4vw,46px)!important;line-height:1.15!important;margin:0 0 12px!important}.fh2-home-history-head p{color:#c5d7e5;margin:0;line-height:1.7}.fh2-home-history-head>a{color:#ffd700;font-size:14px;font-weight:750;line-height:1.7;text-underline-offset:4px;flex-shrink:0}.fh2-home-history .fh2-history-card{padding:24px}.fh2-home-history .fh2-history-card h3{font-size:22px!important}
@media(max-width:1000px){.fh2-history-cards{gap:12px}.fh2-history-card{padding:22px}.fh2-history-card h3{font-size:21px!important}.fh2-season-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}.fh2-home-history-head{align-items:flex-start;flex-direction:column;gap:14px}}
@media(max-width:700px){.fh2-history-cards{grid-template-columns:1fr}.fh2-history-card{gap:12px}.fh2-history-card h3{font-size:23px!important;text-wrap:pretty}.fh2-history-timeline>article{grid-template-columns:1fr;gap:10px;padding-bottom:26px;margin-bottom:24px}.fh2-history-timeline h3{font-size:22px!important}.fh2-history-timeline p{font-size:15px}.fh2-season-highlights{grid-template-columns:1fr}.fh2-foot{padding:24px 18px}.fh2-home-history{margin:24px 0}.fh2-home-history-head>a{flex-shrink:1}}
@media(prefers-reduced-motion:reduce){.fh2-history-card{transition:none}}

/* Only loaded for the administrator-only native Football Hub history preview. */
.journey-preview-banner{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:0 0 18px;padding:12px 18px;background:#fff5d9;border-left:5px solid #c6a15b;border-radius:10px;color:#1b3249;font-size:13px;line-height:1.5}
.journey-preview-banner strong{color:#002e52;font-weight:800}
.journey-preview .page-hero.journey-hero{padding:clamp(28px,5vw,64px);background:radial-gradient(ellipse at 78% 16%,#eef2e8 0,transparent 46%),linear-gradient(145deg,#eef2e8 10%,#eef2e8 115%);border:1px solid #c6a15b;overflow:hidden}
.journey-preview .journey-hero h1{font-size:clamp(40px,6vw,76px)!important;line-height:1.08!important;max-width:21ch;margin:14px 0 22px!important;letter-spacing:-.03em}
.journey-hero h1 em{font-style:normal;color:#ffd76a}
.journey-hero>p{max-width:76ch!important;font-size:clamp(16px,1.5vw,19px);line-height:1.75}
.journey-hero-figures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:32px 0 24px}
.journey-hero-figures>div{display:flex;flex-direction:column;gap:7px;padding:17px 18px;border:1px solid rgba(255,215,106,.36);border-radius:12px;background:rgba(7,29,51,.55)}
.journey-hero-figures b{font-size:clamp(25px,2.9vw,38px);line-height:1.1;color:#ffd76a;font-variant-numeric:tabular-nums}.journey-hero-figures span{font-size:12px;line-height:1.5;color:#e1eaf3}
.journey-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0 36px}
.journey-links>a{display:flex;flex-direction:column;gap:12px;text-decoration:none;padding:26px;background:linear-gradient(145deg,#eef2e8,#eef2e8);border:1px solid #31516b;border-radius:16px;color:#fff;transition:transform .2s,border-color .2s}
.journey-links>a:hover{transform:translateY(-3px);border-color:#ffd76a}.journey-links span{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#ffd76a;font-weight:800}.journey-links strong{font-size:clamp(18px,2vw,25px);line-height:1.35}.journey-links small{color:#bacddd;font-size:13px;margin-top:auto}
.journey-preview .panel{margin:24px 0;padding:clamp(22px,3vw,38px)}.journey-preview .panel-head{align-items:flex-start;gap:20px}.journey-preview .panel-head h2{max-width:25ch}
.journey-era-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:22px}
.journey-era-card{display:flex;flex-direction:column;gap:11px;min-width:0;border:1px solid #3a5970;background:linear-gradient(150deg,#eef2e8,#eef2e8);padding:20px;border-radius:12px;text-decoration:none;color:#eaf2f7}
.journey-era-card:hover{border-color:#ffd76a}.journey-era-card>span,.journey-era-card>b{font-weight:800;font-size:12px;color:#ffd76a}.journey-era-card h3{font-size:19px!important;line-height:1.3!important;color:#fff!important;margin:0!important}.journey-era-card p{font-size:13px;line-height:1.65;color:#c9d8e7;margin:0!important;flex:1}.journey-era-card b{margin-top:7px}
.journey-chart-panel>p,.journey-managers-panel>p,.journey-outro>p{color:#c5d7e5;line-height:1.8;max-width:78ch}
.journey-chart{display:grid;gap:11px;margin:28px 0 20px}.journey-chart-row{display:grid;grid-template-columns:65px minmax(80px,1fr) 67px 160px;gap:14px;align-items:center;font-variant-numeric:tabular-nums}.journey-chart-row strong{color:#fff;font-size:15px}.journey-chart-row b{color:#ffd76a;text-align:right}.journey-chart-row small{font-size:12px;color:#c9d7e3}.journey-chart-track{height:21px;background:#eef2e8;border:1px solid #31516a;border-radius:8px;overflow:hidden}.journey-chart-track>span{display:block;height:100%;background:linear-gradient(90deg,#c6a15b,#ffe186);border-radius:7px;min-width:2px}.journey-chart-note{font-size:12px!important;line-height:1.7!important}
.journey-manager-tools{display:flex;align-items:end;gap:18px;flex-wrap:wrap;margin:24px 0}.journey-manager-tools label{font-size:12px;font-weight:800;color:#c9deef;display:flex;flex-direction:column;gap:6px}.journey-manager-tools input,.journey-manager-tools select{background:#eaf1f7;color:#071d33;border:1px solid #a2b8c9;padding:10px 12px;border-radius:8px;min-width:190px;min-height:43px}.journey-manager-tools #journey-manager-count{font-size:13px;color:#ffd76a;margin-left:auto;padding:12px 0}
.journey-managers-panel .journey-manager-bio p{font-size:14px;line-height:1.8;margin-bottom:16px!important}
.journey-manager-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.journey-manager-card{background:linear-gradient(150deg,#eef2e8,#eef2e8);border:1px solid #2c4b63;border-radius:14px;padding:23px;display:flex;flex-direction:column;gap:12px;min-width:0}.journey-manager-card[hidden]{display:none!important}.journey-manager-years{font-size:11px;color:#ffd76a;font-weight:800;letter-spacing:.07em}.journey-manager-card h3{font-size:22px!important;color:#fff!important;line-height:1.2!important;margin:0!important}.journey-manager-card>a{color:#ffd76a;font-weight:800;font-size:13px;text-decoration:underline;text-underline-offset:5px;margin-top:auto}.journey-manager-card ul{padding-left:18px;margin:0!important;color:#cbdce8;font-size:12px;line-height:1.6}.journey-manager-spells{color:#c2d7e7;font-size:11px;font-weight:800;margin:0!important}.journey-manager-bio{margin:3px 0}.journey-manager-bio p{color:#cad9e5;font-size:13px;line-height:1.78;margin:0 0 12px!important}.journey-manager-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.journey-manager-numbers>div{padding:12px 7px;border-radius:9px;background:#eef2e8;text-align:center;display:flex;flex-direction:column;gap:5px}.journey-manager-numbers b{color:#ffd76a;font-size:22px;font-variant-numeric:tabular-nums}.journey-manager-numbers small{color:#cbd9e5;font-size:10px;line-height:1.25}.journey-managers-panel #journey-manager-empty{color:#ffd76a;font-weight:700}
.journey-moment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0 0}.journey-moment-grid>a{display:flex;flex-direction:column;gap:10px;padding:22px 24px;border-radius:12px;background:#eef2e8;border:1px solid #33546c;text-decoration:none}.journey-moment-grid>a:hover{border-color:#ffd76a}.journey-moment-grid span{font-size:27px;font-weight:900;color:#ffd76a}.journey-moment-grid h3{font-size:20px!important;color:#fff!important;margin:0!important}.journey-moment-grid p{color:#c9d9e4;font-size:14px;line-height:1.6;flex:1;margin:0!important}.journey-moment-grid b{font-size:12px;color:#ffd76a;margin-top:7px}
.journey-outro{background:linear-gradient(125deg,#eef2e8,#eef2e8)}.journey-outro .btn{margin-top:12px}.journey-player-preview>.journey-preview-banner{margin-bottom:20px}.journey-player-story{margin:22px 0!important;border-left:4px solid #c6a15b!important}.journey-player-story p{font-size:16px;color:#d1e1ed;line-height:1.85;max-width:76ch;margin:0 0 18px!important}.journey-player-story>a,.journey-season-return>a{color:#ffd76a;font-weight:800;text-decoration:underline;text-underline-offset:4px}.journey-season-return{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 19px;margin-bottom:12px;border:1px solid #36536a;border-radius:11px;background:#eef2e8;color:#fff}.journey-season-return span{font-weight:800;font-size:13px}
@media(max-width:1050px){.journey-era-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.journey-manager-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-hero-figures{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){.journey-preview .page-hero.journey-hero{padding:25px 19px}.journey-preview .journey-hero h1{font-size:38px!important}.journey-links,.journey-era-grid,.journey-moment-grid,.journey-manager-grid{grid-template-columns:1fr}.journey-hero-figures{gap:8px}.journey-hero-figures>div{padding:13px}.journey-chart-row{grid-template-columns:52px minmax(60px,1fr) 64px;gap:8px}.journey-chart-row small{display:none}.journey-manager-tools{display:grid;grid-template-columns:1fr;gap:12px}.journey-manager-tools #journey-manager-count{margin-left:0}.journey-preview .panel-head{flex-direction:column}.journey-preview .panel-head h2{font-size:27px!important}}
@media(prefers-reduced-motion:reduce){.journey-links>a{transition:none}.journey-links>a:hover{transform:none}}

.fh2-main::before{left:0!important;right:0!important;width:auto!important}
.history-season-nav{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}.history-season-nav a,.history-run-card a,.history-run-detail a,.history-sources a,.history-note a{color:#ffd700}.history-hero-facts{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.history-hero-facts span{border:1px solid #48617a;background:#eef2e8;color:#fff;padding:9px 12px;border-radius:10px;font-size:13px;font-weight:750}.history-filters{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin:16px 0 22px}.history-filters label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#c5d8e8;min-width:145px;flex:1}.history-filters input,.history-filters select{font:inherit;background:#eef2e8;color:#eef6ff;border:1px solid #48637b;border-radius:9px;padding:11px;width:100%;min-width:0}.history-filters button{font:inherit;cursor:pointer;background:#eef2e8;color:#fff;min-height:43px}.history-filters button.gold{background:#ffd700;color:#071d33}.history-run-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.history-run-card{padding:18px;border:1px solid #2b506c;background:#eef2e8;border-radius:14px;display:flex;flex-direction:column;gap:8px;min-width:0}.history-run-card>span{font-size:13px;color:#c4d9ea;font-weight:700}.history-run-card>b{font-size:40px;color:#ffd700;line-height:1.1}.history-run-card>small{font-size:12px;color:#b4c8d9;line-height:1.5}.history-run-card>a{font-size:12px;margin-top:auto;padding-top:6px}.history-note{font-size:13px;line-height:1.65;color:#b9cede}.history-small-stat{font-size:19px!important;line-height:1.4!important;overflow-wrap:anywhere}.history-run-detail{border:1px solid #2b4c65;border-radius:12px;margin:12px 0;padding:16px}.history-run-detail summary{display:flex;align-items:center;gap:16px;flex-wrap:wrap;cursor:pointer;list-style:revert}.history-run-detail summary strong{color:#ffd700;font-size:20px}.history-run-detail summary span{font-size:14px}.history-run-detail summary small{color:#b4c8d9}.history-run-detail ol{padding-left:26px}.history-run-detail li{padding:8px 0;line-height:1.5}.history-run-detail li small{display:block;color:#9fbacf}.history-index>.panel,.history-records>.panel,.season-archive-page>.panel,.season-archive-page .team-grid{margin-top:20px}.history-season-table td{vertical-align:top}.history-season-table th:first-child{min-width:100px}.history-season-table td.left{white-space:normal;min-width:145px}.history-season-table td.left:first-child{min-width:100px}.history-season-table a{color:#ffd700}.history-sources{overflow-wrap:anywhere}.history-sources p,.history-index .panel p,.history-records .panel p{line-height:1.7}.history-sources summary{cursor:pointer;color:#ffd700}.history-sources li{padding:7px 0}.season-archive-page .match-list em{font-style:normal}.season-archive-page .match-list>div[id]{scroll-margin-top:110px}.history-index .table-wrap,.history-records .table-wrap,.season-archive-page .table-wrap{max-width:100%}.history-records [id],.season-archive-page [id]{scroll-margin-top:110px}.history-records .history-run-detail summary:focus-visible,.history-filters :focus-visible{outline:3px solid #ffd700;outline-offset:4px}
@media(max-width:1050px){.history-run-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fh2-top nav{max-width:100%;overflow-x:auto;white-space:nowrap}.fh2-top nav a{flex-shrink:0}.history-filters label{min-width:150px}}
@media(max-width:600px){.history-season-nav{font-size:13px}.history-filters{gap:10px}.history-filters label{min-width:calc(50% - 10px)}.history-filters label:has(input){min-width:100%}.history-filters button{justify-content:center}.history-run-grid{gap:8px}.history-run-card{padding:13px}.history-run-card>b{font-size:32px}.history-run-card>small{font-size:11px}.history-run-detail{padding:12px}.history-run-detail summary{gap:8px}.history-run-detail summary strong{width:100%}.history-hero-facts span{font-size:12px}.history-small-stat{font-size:16px!important}.history-run-detail li a{overflow-wrap:anywhere}.season-archive-page .match-list b{overflow-wrap:anywhere}.history-season-table{font-size:12px}.history-season-table td,.history-season-table th{padding:9px}.history-season-table td.left{min-width:125px}}

.season-intro + .team-page .team-hero h2{font-size:clamp(42px,6vw,78px);line-height:.94;margin:9px 0 16px;letter-spacing:-.045em}

.fh2-app .fh2-main [id]{scroll-margin-top:150px}

/* Archive presentation: navigation, readable summaries and consistent card rhythm. */
.fh2-app .history-season-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:12px;margin:0 0 20px}
.fh2-app .history-season-nav a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border:1px solid #466079;border-radius:12px;background:#eef2e8;color:#f5f8fc;font-size:14px;font-weight:750;text-decoration:none;transition:background .18s,border-color .18s,color .18s}
.fh2-app .history-season-nav a:first-child{justify-self:start}.fh2-app .history-season-nav a:last-child{justify-self:end}.fh2-app .history-season-nav a[href$="/southend-united-results/"]{grid-column:2;color:#ffd700;justify-self:center}
.fh2-app .history-season-nav a:hover{background:#eef2e8;border-color:#ffd700;color:#ffd700}
.fh2-app :is(.history-index,.history-records,.season-archive-page) a:focus-visible{outline:3px solid #ffd700;outline-offset:4px;border-radius:4px}
.fh2-app :is(.history-note,.history-sources,.history-run-detail,.history-season-table) a{font-weight:650;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:#9c893a}
.fh2-app :is(.history-note,.history-sources,.history-run-detail,.history-season-table) a:hover{color:#fff;text-decoration-color:#ffd700}
.fh2-app :is(.history-index,.history-records,.season-archive-page) .page-hero{text-align:left;padding:clamp(24px,3vw,40px)}
.fh2-app :is(.history-index,.history-records,.season-archive-page) .page-hero h1{max-width:100%;line-height:1.1;margin:12px 0 18px;text-wrap:balance}
.fh2-app :is(.history-index,.history-records,.season-archive-page) .page-hero>p{max-width:78ch;margin:0;line-height:1.75;text-wrap:pretty}
.fh2-app .history-hero-facts{margin:22px 0;align-items:stretch}.fh2-app .history-hero-facts span{display:flex;align-items:center;line-height:1.6;padding:10px 14px}
.fh2-app .season-archive-page .stat-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:20px}
.fh2-app .season-archive-page .stat-strip>div{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:20px;text-align:left}
.fh2-app .season-archive-page .stat-strip b{display:block;line-height:1.2;margin:0;font-variant-numeric:tabular-nums}
.fh2-app .season-archive-page .stat-strip small{display:block;line-height:1.6;color:#bbcfdf;margin-top:auto}
.fh2-app .history-run-card{text-align:left;align-items:stretch;gap:12px;padding:22px;min-height:220px}
.fh2-app .history-run-card>span{display:block;min-height:2.8em;line-height:1.4}
.fh2-app .history-run-card>b{display:block;font-variant-numeric:tabular-nums}.fh2-app .history-run-card>small{display:block;line-height:1.7;min-height:3.4em}
.fh2-app .history-run-card>a{display:block;margin-top:auto;padding:12px 0 0;border-top:1px solid #38546b;line-height:1.6;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#9c893a}
.fh2-app .history-run-card>a+a{margin-top:0}.fh2-app .history-run-card>a:hover{color:#fff;text-decoration-color:#ffd700}
.fh2-app .season-archive-page #runs .history-filters{justify-content:flex-start}.fh2-app .season-archive-page #runs .history-filters label{flex:0 1 360px}
.fh2-app .history-run-detail summary{line-height:1.6;padding:4px 0}.fh2-app .history-run-detail summary::after{content:'+';margin-left:auto;color:#ffd700;font-size:22px}.fh2-app .history-run-detail[open] summary::after{content:'−'}
@media(max-width:1050px){.fh2-app .season-archive-page .stat-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.fh2-app .history-season-nav{gap:7px;grid-template-columns:1fr auto 1fr}.fh2-app .history-season-nav a{padding:10px;font-size:12px;min-height:46px}.fh2-app .season-archive-page .stat-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fh2-app .season-archive-page .stat-strip>div{padding:16px;gap:9px}.fh2-app .history-run-card{padding:16px;min-height:220px;gap:10px}.fh2-app .history-run-card>span{min-height:3em}.fh2-app .history-run-card>small{min-height:3.4em}.fh2-app .history-hero-facts{gap:8px}.fh2-app .history-hero-facts span{padding:9px 12px}.fh2-app .season-archive-page #runs .history-filters label{flex:1 1 100%}}
@media(prefers-reduced-motion:reduce){.fh2-app .history-season-nav a{transition:none}}
.fh2-app article.history-run-card>b{color:#ffd700}
.fh2-app .season-archive-page .attendance-bars{max-width:100%;overflow-x:auto;overflow-y:hidden;padding-top:32px;padding-bottom:12px}.fh2-app .season-archive-page .attendance-bars>div{flex-shrink:0}

/* Match-derived historical charts use the current Football Hub's navy/gold visual language. */
.fh2-app .history-graph-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0 24px}
.fh2-app .history-graph-card{min-width:0;padding:20px;background:#eef2e8;border:1px solid #35536c;border-radius:14px}
.fh2-app .history-graph-card h3{color:#ffd76a;margin:0 0 6px;font-size:19px}
.fh2-app .history-graph-card p{color:#b8d0e2;font-size:13px;margin:0 0 8px;line-height:1.6}
.fh2-app .history-progress-svg{display:block;width:100%;height:auto;overflow:visible}
.fh2-app .history-chart-grid{stroke:#36536c;stroke-width:1;stroke-dasharray:4 5}
.fh2-app .history-chart-label{fill:#bad0df;font:13px system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.fh2-app .history-chart-line{stroke:#ffd76a;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.fh2-app .history-chart-line-1{stroke:#6ac2ef}
.fh2-app .history-graph-key{display:flex;gap:18px;flex-wrap:wrap;color:#cadce8;font-size:12px;margin-bottom:8px}
.fh2-app .history-graph-key span{display:inline-flex;align-items:center;gap:6px}.fh2-app .history-graph-key i{display:inline-block;width:18px;border-top:3px solid #ffd76a}.fh2-app .history-graph-key i.against{border-color:#6ac2ef}
.fh2-app .history-form-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(28px,1fr));gap:5px;margin:14px 0 18px}
.fh2-app .history-form-strip span{display:grid;place-items:center;min-height:32px;border-radius:6px;color:#fff;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}
.fh2-app .history-form-w{background:#eef2e8}.fh2-app .history-form-d{background:#eef2e8}.fh2-app .history-form-l{background:#eef2e8}
.fh2-app .history-opponents-panel .table-wrap{max-height:490px;overflow:auto}
.fh2-app .history-opponents-panel table thead{position:sticky;top:0;z-index:1;background:#eef2e8}
@media(max-width:850px){.fh2-app .history-graph-grid{grid-template-columns:1fr}}
@media(max-width:600px){.fh2-app .history-graph-card{padding:12px}.fh2-app .history-form-strip{grid-template-columns:repeat(auto-fill,minmax(25px,1fr));gap:4px}}

/* TSO Football Hub player archive v3 — no external player photos. */
.fh2-app .pa-page{width:min(1380px,calc(100% - 28px));max-width:1380px;margin:0 auto 54px;padding:0;color:#17283d}
.fh2-app .pa-page *{box-sizing:border-box}
.fh2-app .pa-hero{position:relative;isolation:isolate;overflow:hidden;margin:22px 0 26px;padding:clamp(26px,5vw,58px);border:1px solid rgba(255,215,106,.28);border-radius:24px;background:radial-gradient(circle at 90% 15%,rgba(255,215,106,.16),transparent 32%),linear-gradient(128deg,#eef2e8 12%,#eef2e8 105%);box-shadow:0 18px 48px rgba(7,29,51,.19)}
.fh2-app .pa-hero:after{content:"";position:absolute;z-index:-1;right:-90px;bottom:-160px;width:440px;height:440px;border:1px solid rgba(255,215,106,.14);border-radius:50%;box-shadow:0 0 0 46px rgba(255,215,106,.035),0 0 0 96px rgba(255,215,106,.025)}
.fh2-app .pa-hero .eyebrow{color:#f2d394;font-size:.77rem;font-weight:900;letter-spacing:.15em}
.fh2-app .pa-hero h1{color:#fff;font-size:clamp(2.1rem,5.4vw,4.4rem);line-height:1.06;letter-spacing:-.045em;margin:14px 0 18px;font-weight:900}
.fh2-app .pa-hero h1 em{font-style:normal;color:#ffd76a}
.fh2-app .pa-hero>p,.fh2-app .pa-profile-title p{color:#e2eaf4;line-height:1.68;font-size:clamp(.98rem,1.5vw,1.12rem);max-width:760px;margin:0}
.fh2-app .pa-hero-stats{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 18px}
.fh2-app .pa-hero-stats>div{padding:14px 22px;min-width:156px;border:1px solid rgba(255,255,255,.16);border-radius:15px;background:rgba(0,0,0,.13);backdrop-filter:blur(8px)}
.fh2-app .pa-hero-stats strong,.fh2-app .pa-hero-stats span{display:block}
.fh2-app .pa-hero-stats strong{color:#ffd76a;font-size:clamp(1.3rem,2.6vw,2rem);font-weight:900}
.fh2-app .pa-hero-stats span{color:#ecf2ff;font-size:.81rem;margin-top:3px}
.fh2-app .pa-nav{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}
.fh2-app .pa-nav a{display:inline-flex;align-items:center;justify-content:center;padding:10px 15px;color:#f9e5b0;text-decoration:none;font-weight:800;font-size:.88rem;border:1px solid rgba(255,215,106,.42);border-radius:100px;background:rgba(255,255,255,.04);transition:.18s ease}
.fh2-app .pa-nav a:hover,.fh2-app .pa-nav a:focus-visible{color:#071d33;background:#ffd76a;transform:translateY(-1px)}
.fh2-app .pa-directory-shell,.fh2-app .pa-panel,.fh2-app .pa-squad-section{padding:clamp(18px,3vw,32px);margin:0 0 22px;background:#fff;border-radius:20px;border:1px solid #d8e0e9;box-shadow:0 7px 24px rgba(7,29,51,.065)}
.fh2-app .pa-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:22px}
.fh2-app .pa-section-head h2,.fh2-app .pa-panel h2{margin:5px 0 8px;color:#071d33;font-weight:900;letter-spacing:-.025em;font-size:clamp(1.36rem,2.7vw,2rem)}
.fh2-app .pa-section-head p,.fh2-app .pa-panel p{line-height:1.64;color:#485973;margin:6px 0 0}
.fh2-app .pa-career-biography{margin-top:17px;max-width:78ch}
.fh2-app .pa-career-biography p{font-size:16px;line-height:1.85;color:#234468;margin:0 0 17px}
.fh2-app .pa-career-biography p:last-child{margin-bottom:0}
.fh2-app .pa-section-head .eyebrow,.fh2-app .pa-panel .eyebrow{color:#88661b;font-size:.77rem;letter-spacing:.11em;font-weight:900}
.fh2-app .pa-count,.fh2-app .pa-pill{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;padding:7px 11px;border-radius:100px;background:#e9eff7;color:#153554;font-weight:800;border:1px solid #d2dce9;white-space:nowrap}
.fh2-app .pa-pill.gold{color:#493708;background:#ffecba;border-color:#edce78}
.fh2-app .pa-filters{display:grid;grid-template-columns:1.8fr repeat(3,minmax(125px,1fr));gap:12px;margin-bottom:16px}
.fh2-app .pa-filters label{display:flex;flex-direction:column;gap:7px;font-size:.78rem;font-weight:900;color:#263f5d}
.fh2-app .pa-filters input,.fh2-app .pa-filters select{display:block;width:100%;padding:12px 13px;min-height:46px;line-height:1.35;border:1px solid #bfcddd;border-radius:10px;background:#f9fbff;color:#142f4c;font-size:.91rem;box-shadow:none}
.fh2-app .pa-filters input:focus,.fh2-app .pa-filters select:focus{outline:2px solid #c6a15b;outline-offset:2px}
.fh2-app .pa-letters{display:flex;flex-wrap:wrap;gap:4px;margin:15px 0 20px}
.fh2-app .pa-letters button{display:inline-flex;min-width:32px;height:33px;justify-content:center;align-items:center;padding:0 7px;border:1px solid #c8d6e5;background:#f1f5fa;color:#173957;border-radius:7px;font-size:.8rem;font-weight:800;cursor:pointer}
.fh2-app .pa-letters button:hover,.fh2-app .pa-letters button[aria-pressed="true"]{background:#eef2e8;color:#ffd76a;border-color:#071d33}
.fh2-app .pa-table-scroll{overflow-x:auto;max-width:100%;border-radius:12px;border:1px solid #dce5ef;background:#fff}
.fh2-app .pa-directory-table{width:100%;border-collapse:collapse;margin:0;min-width:625px;text-align:left;font-size:.89rem;table-layout:auto;background:#fff}
.fh2-app .pa-directory-table thead th{position:relative;background:#eef2e8;color:#fce7a4;text-align:left;padding:14px 14px;white-space:nowrap;font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.055em;border-bottom:2px solid #c6a15b}
.fh2-app .pa-directory-table td{border-bottom:1px solid #e9edf4;padding:11px 14px;color:#30455c;text-align:left;vertical-align:middle}
.fh2-app .pa-directory-table tbody tr:nth-child(even){background:#f7f9fc}
.fh2-app .pa-directory-table tbody tr:hover{background:#fff8e9}
.fh2-app .pa-directory-table tbody tr[hidden]{display:none!important}
.fh2-app .pa-directory-table tbody tr:last-child td{border-bottom:0}
.fh2-app .pa-directory-table a{color:#003087;text-decoration:none;font-weight:800}
.fh2-app .pa-directory-table a:hover,.fh2-app .pa-directory-table a:focus{text-decoration:underline;color:#7b5512}
.fh2-app .pa-directory-table tbody tr.pa-total{background:#fdf0cc;font-weight:900}
.fh2-app .pa-person{display:inline-flex;align-items:center;gap:12px;min-width:185px}
.fh2-app .pa-initial{display:inline-flex;flex:0 0 36px;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;background:linear-gradient(145deg,#eef2e8,#eef2e8);color:#ffd76a;font-weight:900;border-radius:10px;font-size:.96rem;border:1px solid #c6a15b}
.fh2-app .pa-person b,.fh2-app .pa-person small{display:block}
.fh2-app .pa-person small{color:#57708a;font-size:.75rem;margin-top:3px;font-weight:600}
.fh2-app .pa-empty{padding:23px;text-align:center;color:#566981;border:1px dashed #c4ced9;border-radius:12px}
.fh2-app .pa-fineprint{font-size:.82rem;color:#64758b;line-height:1.55;margin:16px 0 0;padding-left:12px;border-left:3px solid #c6a15b}
.fh2-app .pa-squad-section{background:#f6f9fd}
.fh2-app .pa-squad-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:15px}
.fh2-app .pa-squad-card{display:flex;flex-direction:column;gap:7px;color:#102d4c!important;text-decoration:none!important;border-radius:16px;background:#fff;padding:19px;border:1px solid #d9e2eb;box-shadow:0 5px 14px rgba(7,29,51,.06);transition:transform .18s,border-color .18s,box-shadow .18s}
.fh2-app .pa-squad-card:hover,.fh2-app .pa-squad-card:focus-visible{transform:translateY(-4px);border-color:#c6a15b;box-shadow:0 12px 25px rgba(7,29,51,.12)}
.fh2-app .pa-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}
.fh2-app .pa-live-mark{font-size:.7rem;color:#86641b;background:#fff4d7;border:1px solid #f0daa2;padding:5px 9px;border-radius:100px;font-weight:900}
.fh2-app .pa-squad-card>b{font-size:1.13rem;line-height:1.3}
.fh2-app .pa-squad-card>small{font-size:.8rem;color:#60738a;min-height:26px}
.fh2-app .pa-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:auto;padding-top:15px}
.fh2-app .pa-card-stats>span{text-align:center;color:#566a81;font-size:.73rem;padding:10px 4px;background:#f4f7fb;border-radius:9px}
.fh2-app .pa-card-stats strong{display:block;font-size:1.32rem;color:#071d33}
.fh2-app .pa-breadcrumb{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0 10px;font-size:.85rem}
.fh2-app .pa-breadcrumb a{color:#003087;font-weight:800;text-decoration:none}
.fh2-app .pa-breadcrumb strong{color:#344b65}
.fh2-app .pa-profile-hero{padding:clamp(24px,4vw,45px)}
.fh2-app .pa-profile-title{display:flex;align-items:center;gap:24px}
.fh2-app .pa-profile-letter{display:flex;flex:0 0 auto;width:clamp(88px,12vw,152px);height:clamp(88px,12vw,152px);justify-content:center;align-items:center;background:rgba(255,255,255,.075);border:2px solid rgba(255,215,106,.65);border-radius:26px;color:#ffd76a;font-size:clamp(3.8rem,8vw,6.5rem);font-weight:900;box-shadow:inset 0 1px rgba(255,255,255,.2)}
.fh2-app .pa-profile-title h1{margin:8px 0 10px;font-size:clamp(2rem,5vw,3.9rem)}
.fh2-app .pa-profile-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px}
.fh2-app .pa-profile-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(255px,1fr);gap:20px}
.fh2-app .pa-panel h3{color:#0c2a46;font-size:1.05rem;margin:23px 0 11px}
.fh2-app .pa-path{display:grid;grid-template-columns:1fr 1.07fr 1fr;gap:13px;margin-top:24px;align-items:stretch}
.fh2-app .pa-path>div{min-height:110px;padding:19px 14px;text-align:center;border:1px solid #d4deea;border-radius:12px;background:#f5f8fd;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.fh2-app .pa-path span{font-size:.73rem;letter-spacing:.03em;text-transform:uppercase;font-weight:900;color:#667d94}
.fh2-app .pa-path strong{font-size:1rem;color:#102f4d;line-height:1.4}
.fh2-app .pa-path .pa-southend-stop{background:#eef2e8;border-color:#c6a15b}
.fh2-app .pa-path .pa-southend-stop span{color:#d9c083}.fh2-app .pa-path .pa-southend-stop strong{color:#fff}
.fh2-app .pa-spells{display:grid;gap:9px}.fh2-app .pa-spells>div{border-left:4px solid #c6a15b;padding:10px 14px;background:#f5f8fc;border-radius:0 10px 10px 0}
.fh2-app .pa-spells strong,.fh2-app .pa-spells span{display:block;color:#233951}.fh2-app .pa-spells span{font-size:.87rem;margin-top:4px}
.fh2-app .pa-quick dl{margin:18px 0 0}.fh2-app .pa-quick dl>div{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid #e7edf4}
.fh2-app .pa-quick dl>div:last-child{border-bottom:0}.fh2-app .pa-quick dt{color:#60748c}.fh2-app .pa-quick dd{margin:0;text-align:right;font-weight:900;color:#0f2e4c;max-width:58%}
.fh2-app .pa-stat-grid{display:grid;grid-template-columns:repeat(7,minmax(75px,1fr));gap:9px;margin:18px 0 25px}
.fh2-app .pa-stat-grid>div{background:linear-gradient(140deg,#eef2e8,#eef2e8);padding:17px 8px;border-radius:12px;text-align:center;color:white}
.fh2-app .pa-stat-grid strong{display:block;color:#ffd76a;font-size:clamp(1.3rem,2.6vw,2rem);font-weight:900}.fh2-app .pa-stat-grid span{display:block;font-size:.72rem;margin-top:6px;color:#e8edf7}
.fh2-app .pa-footer-actions{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0 35px}
.fh2-app .pa-footer-actions .btn{color:#fff;background:#eef2e8;border:1px solid #c6a15b}.fh2-app .pa-footer-actions .btn.gold{background:#c6a15b;color:#071d33}
@media(max-width:980px){.fh2-app .pa-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.fh2-app .pa-profile-grid{grid-template-columns:1fr}.fh2-app .pa-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:620px){.fh2-app .pa-page{width:calc(100% - 18px)}.fh2-app .pa-hero{margin-top:12px;padding:24px 18px;border-radius:18px}.fh2-app .pa-hero-stats>div{flex:1;min-width:110px;padding:12px}.fh2-app .pa-nav a{flex:1;font-size:.78rem;padding:9px 7px}.fh2-app .pa-filters{grid-template-columns:1fr}.fh2-app .pa-section-head{display:block}.fh2-app .pa-count{margin-top:10px}.fh2-app .pa-directory-shell,.fh2-app .pa-panel,.fh2-app .pa-squad-section{padding:15px;border-radius:15px}.fh2-app .pa-squad-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:10px}.fh2-app .pa-squad-card{padding:13px}.fh2-app .pa-card-stats strong{font-size:1.07rem}.fh2-app .pa-profile-title{align-items:flex-start;gap:14px}.fh2-app .pa-profile-letter{width:64px;height:76px;font-size:3.3rem;border-radius:14px}.fh2-app .pa-profile-title h1{font-size:clamp(1.9rem,7vw,2.6rem)}.fh2-app .pa-path{grid-template-columns:1fr;gap:8px}.fh2-app .pa-path>div{min-height:auto;padding:14px}.fh2-app .pa-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fh2-app .pa-stat-grid>div{padding:13px 6px}}
@media(max-width:620px){.fh2-app #pa-directory .pa-table-scroll{border:0;overflow:visible}.fh2-app #pa-directory .pa-directory-table{display:block;min-width:0}.fh2-app #pa-directory .pa-directory-table thead{display:none}.fh2-app #pa-directory .pa-directory-table tbody{display:grid;gap:10px}.fh2-app #pa-directory .pa-directory-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:10px 12px;border:1px solid #dce4ec;border-radius:12px;background:#fff;box-shadow:0 3px 8px rgba(7,29,51,.035)}.fh2-app #pa-directory .pa-directory-table tbody td{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 3px;font-size:.8rem;min-width:0;border:0}.fh2-app #pa-directory .pa-directory-table tbody td:before{content:attr(data-label);font-size:.69rem;font-weight:900;text-transform:uppercase;color:#647c96}.fh2-app #pa-directory .pa-directory-table tbody td:first-child{grid-column:1/-1;margin-bottom:4px;padding-bottom:10px;border-bottom:1px solid #e9eef4}.fh2-app #pa-directory .pa-directory-table tbody td:first-child:before{display:none}.fh2-app #pa-directory .pa-directory-table tbody td:nth-child(3){grid-column:1/-1}.fh2-app #pa-directory .pa-person{min-width:0}.fh2-app #pa-directory .pa-person b{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.fh2-app .pa-page *{scroll-behavior:auto!important;transition:none!important}}

*{box-sizing:border-box}html{background:#eef2e8}body{margin:0;background:radial-gradient(circle at 80% 0,#eef2e8 0,#eef2e8 38%,#eef2e8 100%);color:#edf6ff;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.fh2-app{min-height:100vh}.fh2-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:26px;padding:15px 28px;background:rgba(5,17,28,.94);backdrop-filter:blur(12px);border-bottom:1px solid #1b3d58}.brand{text-decoration:none;color:#fff;display:flex;flex-direction:column}.brand span,.eyebrow{font-size:10px;letter-spacing:.15em;font-weight:900;color:#ffd700}.brand b{font-size:19px}.fh2-top nav{display:flex;gap:8px;margin-left:auto}.fh2-top nav a,.feature-nav a{color:#dbe9f5;text-decoration:none;padding:9px 12px;border-radius:10px;font-size:13px;font-weight:800}.fh2-top nav a:hover{background:#eef2e8}.private{font-size:10px;font-weight:900;letter-spacing:.1em;border:1px solid #6d5b11;color:#ffd700;padding:8px 10px;border-radius:999px}.fh2-main{max-width:1480px;margin:auto;padding:26px}.mega,.page-hero,.team-hero,.match-hero{border:1px solid #234663;border-radius:28px;background:linear-gradient(135deg,#eef2e8,#eef2e8);box-shadow:0 24px 80px rgba(0,0,0,.22)}.mega{display:grid;grid-template-columns:1.6fr .6fr;gap:30px;padding:48px}.mega h1,.page-hero h1,.team-hero h1{font-size:clamp(42px,6vw,78px);line-height:.94;margin:9px 0 16px;letter-spacing:-.045em}.mega h1 em{font-style:normal;color:#ffd700}.mega p,.page-hero p{max-width:790px;color:#bcd0e1;font-size:18px;line-height:1.6}.actions{display:flex;gap:10px;margin-top:24px}.btn{display:inline-flex;text-decoration:none;color:#fff;border:1px solid #3b5870;border-radius:12px;padding:13px 18px;font-weight:900}.btn.gold{background:#ffd700;color:#071d33;border-color:#ffd700}.hero-card{align-self:stretch;border-radius:22px;background:linear-gradient(145deg,#eef2e8,#eef2e8);border:1px solid #315572;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px}.hero-badge{width:94px;height:94px;object-fit:contain}.hero-card span{margin-top:12px;font-weight:900}.hero-card strong{font-size:72px;color:#ffd700;line-height:1}.hero-card small{color:#9db5c8}.home-grid{display:grid;grid-template-columns:1.1fr 1fr .7fr;gap:18px;margin-top:18px}.panel{background:linear-gradient(180deg,#eef2e8,#eef2e8);border:1px solid #22445f;border-radius:20px;padding:22px;box-shadow:0 12px 30px rgba(0,0,0,.15)}.panel h2{margin:6px 0 18px;font-size:27px}.panel h3{margin:22px 0 10px}.muted{color:#9fb5c7}.fixture-big{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:18px 0}.fixture-big div{text-align:center}.fixture-big b{display:block;margin-top:6px}.fixture-badge{width:58px;height:58px;object-fit:contain}.text-link{color:#ffd700;font-weight:900;text-decoration:none}.mini-table{list-style:none;padding:0;margin:10px 0}.mini-table li{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid #17364e}.mini-table li span{display:flex;align-items:center;gap:8px}.mini-table a{color:#fff;text-decoration:none}.tiny-badge{width:22px;height:22px;object-fit:contain}.status-good{font-size:54px;font-weight:950;color:#5ce08d;margin-top:8px}.page-hero{padding:38px}.page-hero h1{font-size:58px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.tabs span{padding:10px 14px;border:1px solid #294b66;border-radius:999px;color:#94acc0;font-size:12px;font-weight:800}.tabs .active{background:#ffd700;color:#061827;border-color:#ffd700}.split{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,.72fr);gap:18px}.side-stack{display:grid;gap:18px}.panel-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.pill{font-size:11px;color:#b9d0e3;background:#eef2e8;border:1px solid #244864;padding:7px 10px;border-radius:999px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:720px}th,td{padding:11px 9px;border-bottom:1px solid #17364e;text-align:center}th{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#8fa9be}.club-cell{text-align:left}.club-cell a{display:inline-flex;align-items:center;color:#fff;text-decoration:none;font-weight:850}.table-badge{width:28px;height:28px;object-fit:contain;vertical-align:middle;margin-right:9px}.southend-row{background:rgba(255,215,0,.08)}.southend-row .club-cell a{color:#ffd700}.leaders{list-style:none;padding:0;margin:0}.leaders li{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #17364e}.leaders li>span{display:flex;align-items:center;gap:9px}.leaders small{display:block;color:#8ca5ba}.leaders strong{font-size:24px;color:#ffd700}.club-links{display:grid;grid-template-columns:1fr 1fr;gap:7px}.club-links a{display:flex;align-items:center;gap:8px;padding:8px;border-radius:10px;background:#eef2e8;color:#e8f2fa;text-decoration:none;font-size:12px}.team-page{--club:#003087;--club2:#ffd700}.team-hero{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:26px;padding:32px 38px;position:relative;overflow:hidden}.team-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,var(--club) 0,transparent 54%);opacity:.42;pointer-events:none}.team-hero>*{position:relative;z-index:1}.team-hero.premium{box-shadow:inset 0 0 0 1px rgba(255,215,0,.12),0 24px 80px rgba(0,0,0,.25)}.team-crest{width:112px;height:112px;object-fit:contain}.crest-wrap{width:144px;height:144px;border-radius:26px;display:grid;place-items:center;background:rgba(255,255,255,.96);box-shadow:0 16px 40px rgba(0,0,0,.25)}.team-hero h1{font-size:58px}.rank{text-align:right}.rank span,.rank small{display:block;color:#a8bfd2}.rank strong{font-size:84px;line-height:.95;color:var(--club2)}.form-line{display:flex;gap:8px;align-items:center}.form-line i,.result{width:28px;height:28px;border-radius:50%;display:inline-grid;place-items:center;font-style:normal;font-size:11px;font-weight:950}.form-w,.result.w{background:#eef2e8}.form-d,.result.d{background:#eef2e8}.form-l,.result.l{background:#eef2e8}.form-line span{margin-left:8px;color:#c2d3e1}.feature-nav{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.feature-nav>*{padding:10px 13px;border-radius:11px;background:#eef2e8;border:1px solid #254b68;color:#bcd0e1;font-size:12px}.stat-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:14px 0}.stat-strip div{background:#eef2e8;border:1px solid #22445f;border-radius:15px;padding:15px}.stat-strip span{display:block;color:#8fa9bd;font-size:11px;text-transform:uppercase}.stat-strip b{font-size:29px}.team-grid{display:grid;grid-template-columns:1.1fr .7fr;gap:18px}.matches-panel,.players-panel{grid-column:1/-1}.pos-graph{width:100%;height:190px;background:#eef2e8;border-radius:14px;padding:7px}.pos-graph line{stroke:#24465f;stroke-width:1}.pos-graph polyline{fill:none;stroke:var(--club2);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.pos-graph text{fill:#87a0b5;font-size:12px}.bars{display:grid;gap:11px;margin-top:12px}.bars div{display:grid;grid-template-columns:90px 1fr 55px;gap:10px;align-items:center;font-size:12px}.bars div:before{content:"";grid-column:2;grid-row:1;background:#eef2e8;height:8px;border-radius:8px}.bars b{grid-column:2;grid-row:1;height:8px;display:block;background:var(--club2);border-radius:8px;z-index:1}.bars em{font-style:normal;text-align:right;color:#adc1d2}.big-metric{padding:13px 0;border-bottom:1px solid #17364e}.big-metric span,.big-metric small{display:block;color:#8fa9bd}.big-metric strong{font-size:40px}.match-list a{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;padding:12px 0;border-bottom:1px solid #17364e;text-decoration:none;color:#fff}.match-list small,.match-list em{display:block;color:#89a3b8;font-style:normal}.match-list b{display:block;margin:3px 0}.players td:first-child{text-align:left}.match-hero{text-align:center;padding:34px}.scoreboard{display:grid;grid-template-columns:1fr auto 1fr;gap:22px;align-items:center;max-width:850px;margin:22px auto}.match-crest{width:100px;height:100px;object-fit:contain}.scoreboard>strong{display:grid;grid-template-columns:auto auto auto;gap:8px;align-items:center;font-size:60px}.scoreboard>strong small{grid-column:1/-1;font-size:12px;color:#9db4c7}.scoreboard h2{margin:8px 0}.match-grid{display:grid;grid-template-columns:1fr .72fr;gap:18px;margin-top:18px}.lineup{grid-column:auto}.events div{display:grid;grid-template-columns:55px 1fr auto;gap:10px;padding:9px 0;border-bottom:1px solid #17364e}.events b{color:#ffd700}.events small{color:#8ba5b9}.facts{display:grid;grid-template-columns:1fr 1fr;margin:0}.facts dt,.facts dd{padding:10px 0;border-bottom:1px solid #17364e}.facts dt{color:#8da6ba}.facts dd{text-align:right;margin:0;font-weight:800}.lineup ol{list-style:none;padding:0}.lineup li{display:grid;grid-template-columns:28px 1fr auto;gap:9px;padding:8px 0;border-bottom:1px solid #17364e}.lineup li>b{color:#ffd700}.lineup li small{color:#8da6ba}.bench{display:flex;flex-wrap:wrap;gap:7px}.bench span{font-size:11px;background:#eef2e8;border:1px solid #24455f;border-radius:999px;padding:6px 8px}.fh2-foot{max-width:1480px;margin:10px auto 0;padding:20px 26px 34px;color:#718ca2;font-size:11px}.compact{font-size:13px}@media(max-width:1050px){.mega{grid-template-columns:1fr}.home-grid,.split,.team-grid,.match-grid{grid-template-columns:1fr}.stat-strip{grid-template-columns:repeat(3,1fr)}.players-panel,.matches-panel{grid-column:auto}.team-hero{grid-template-columns:auto 1fr}.rank{grid-column:1/-1;text-align:left}.club-links{grid-template-columns:1fr 1fr}.scoreboard{grid-template-columns:1fr auto 1fr}}@media(max-width:720px){.fh2-top{padding:12px 14px;flex-wrap:wrap}.fh2-top nav{order:3;width:100%;overflow:auto;margin-left:0}.private{margin-left:auto}.fh2-main{padding:14px}.mega,.page-hero,.team-hero,.match-hero{padding:22px;border-radius:20px}.mega h1,.page-hero h1,.team-hero h1{font-size:38px}.home-grid{grid-template-columns:1fr}.stat-strip{grid-template-columns:repeat(2,1fr)}.team-hero{grid-template-columns:1fr;text-align:center}.crest-wrap{margin:auto}.rank{text-align:center}.form-line{justify-content:center}.club-links{grid-template-columns:1fr}.scoreboard{gap:8px}.match-crest{width:66px;height:66px}.scoreboard h2{font-size:15px}.scoreboard>strong{font-size:38px}.panel{padding:16px}.feature-nav{display:grid}.table-wrap{margin:0 -8px}.match-list a{grid-template-columns:auto 1fr}.match-list a>strong{display:none}}

.club-nav{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.club-nav a{color:#d9e8f4;text-decoration:none;background:#eef2e8;border:1px solid #254b68;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:850}.league-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.stat-list{display:grid;gap:0}.stat-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #17364e}.stat-list small{display:block;color:#8ca5ba}.stat-list strong{color:#ffd700}.summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:10px 0 16px}.summary-cards>div,.performance-grid>div,.record-grid>div,.run-grid>div,.record-split>div{background:#eef2e8;border:1px solid #1f415b;border-radius:13px;padding:13px}.summary-cards span,.performance-grid span,.record-grid span,.run-grid span,.record-split span{display:block;color:#8da6ba;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.summary-cards b,.performance-grid b,.record-grid b,.run-grid b,.record-split b{display:block;font-size:22px;margin-top:3px}.left{text-align:left!important}.compact-table table{min-width:560px}.points-graph{width:100%;height:230px;background:#eef2e8;border-radius:14px;padding:10px}.points-graph line{stroke:#24465f;stroke-width:1}.points-graph polyline{fill:none;stroke:var(--club2);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.performance-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:12px}.record-split{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.record-split small{display:block;color:#7e99af;margin-top:4px}.attendance-bars{height:210px;display:flex;align-items:flex-end;gap:12px;padding:15px 5px 0}.attendance-bars>div{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-width:48px}.attendance-bars i{width:70%;min-height:4px;background:var(--club2);border-radius:8px 8px 2px 2px;position:relative}.attendance-bars i b{position:absolute;top:-22px;left:50%;transform:translateX(-50%);font-size:10px;white-space:nowrap}.attendance-bars span{font-size:10px;color:#8da6ba;text-align:center;margin-top:7px}.month-bars{height:220px;display:flex;align-items:flex-end;gap:24px;padding:12px}.month-bars>div{flex:1;text-align:center;height:100%;display:flex;flex-direction:column;justify-content:flex-end}.month-bars>div>div{height:170px;display:flex;align-items:flex-end;justify-content:center;gap:7px}.month-bars i{width:28px;min-height:3px;border-radius:8px 8px 2px 2px;position:relative}.month-bars i.for{background:var(--club2)}.month-bars i.against{background:#eef2e8}.month-bars i b{position:absolute;top:-19px;left:50%;transform:translateX(-50%);font-size:10px}.month-bars span{font-size:11px;color:#a8bfd2;margin-top:7px}.goal-key{display:flex;gap:16px;color:#9db4c7;font-size:11px}.goal-key span:before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--club2);margin-right:6px}.goal-key span+span:before{background:#eef2e8}.run-grid,.record-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.run-grid small{display:block;color:#7f9aae;margin-top:5px;line-height:1.35}.team-grid>#crowds,.team-grid>#away-support,.team-grid>#trends,.team-grid>#runs,.team-grid>#players,.team-grid>#referees,.team-grid>#records,.team-grid>#opponents{grid-column:1/-1}@media(max-width:1050px){.league-stat-grid{grid-template-columns:1fr}.performance-grid{grid-template-columns:repeat(3,1fr)}.run-grid,.record-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.summary-cards,.performance-grid,.record-split,.run-grid,.record-grid{grid-template-columns:1fr 1fr}.club-nav{overflow:auto;flex-wrap:nowrap;padding-bottom:3px}.club-nav a{white-space:nowrap}.attendance-bars{overflow-x:auto}.month-bars{overflow-x:auto}.month-bars>div{min-width:70px}}
.league-overview{grid-template-columns:repeat(4,1fr);margin:18px 0}.league-overview small{display:block;color:#7893aa;margin-top:4px}.leader-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.leader-columns>div{background:#eef2e8;border:1px solid #1f415b;border-radius:13px;padding:13px}.leader-columns h3{margin:0 0 9px}.leader-columns p{display:flex;justify-content:space-between;gap:8px;margin:0;padding:8px 0;border-bottom:1px solid #17364e;font-size:12px}.leader-columns p b{color:#ffd700}.leader-columns p:last-child{border-bottom:0}@media(max-width:900px){.league-overview{grid-template-columns:repeat(2,1fr)}.leader-columns{grid-template-columns:1fr}}@media(max-width:520px){.league-overview{grid-template-columns:1fr}}

/* dev6 readability + interaction */
.points-graph .grid,.pos-graph .grid{stroke:#1d3e57;stroke-width:1}.points-graph text,.pos-graph text{fill:#8fa9bd;font-size:11px}.points-graph .axis-y,.pos-graph .axis-y{text-anchor:end}.points-graph .axis-x,.pos-graph .axis-x{text-anchor:middle}.points-graph .axis-title,.pos-graph .axis-title{fill:#5f829d;font-size:9px;font-weight:800;letter-spacing:.08em}.points-graph circle,.pos-graph circle{fill:var(--club2);stroke:#071a2c;stroke-width:2}.points-graph polyline,.pos-graph polyline{filter:drop-shadow(0 2px 3px rgba(0,0,0,.25))}
.support-summary{grid-template-columns:repeat(4,1fr)}.support-summary small{display:block;color:#718ea5;font-size:10px;margin-top:4px}.support-share{position:relative;min-width:96px;height:22px;background:#eef2e8;border-radius:999px;overflow:hidden}.support-share span{display:block;height:100%;background:var(--club2);opacity:.85}.support-share b{position:absolute;inset:0;display:grid;place-items:center;font-size:10px;color:#fff;text-shadow:0 1px 2px #000}
.sequence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.sequence-card{background:#eef2e8;border:1px solid #1f415b;border-radius:15px;padding:14px}.sequence-card h3{margin:0 0 8px;color:var(--club2)}.sequence-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid #17364e}.sequence-row:last-child{border-bottom:0}.sequence-row span{color:#9bb2c5;font-size:12px}.sequence-row b{font-size:13px}
.sortable-table th{cursor:pointer;user-select:none;white-space:nowrap}.sortable-table th:hover{color:#ffd700;background:#eef2e8}.sortable-table th:after{content:' ↕';opacity:.35;font-size:9px}.sortable-table th.sort-asc:after{content:' ↑';opacity:1;color:#ffd700}.sortable-table th.sort-desc:after{content:' ↓';opacity:1;color:#ffd700}.sortable-table th:focus{outline:2px solid #ffd700;outline-offset:-2px}
@media(max-width:900px){.support-summary{grid-template-columns:repeat(2,1fr)}.sequence-grid{grid-template-columns:1fr}}
/* dev7: National League Hub root + latest round */
.league-tabs a{color:inherit;text-decoration:none}
.latest-round{margin-bottom:18px}
.latest-results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.latest-result{display:block;background:#eef2e8;border:1px solid #1c4665;border-radius:12px;padding:12px 14px;color:#fff;text-decoration:none;transition:.15s ease}
.latest-result:hover{transform:translateY(-1px);border-color:#ffd500}
.latest-result>small{display:block;color:#80b9dd;margin-bottom:8px;text-transform:uppercase;font-size:10px;letter-spacing:.08em}
.latest-result>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 0}
.latest-result>div span{display:flex;align-items:center;gap:8px;min-width:0;font-weight:700}
.latest-result>div b{font-size:18px;color:#ffd500}
.latest-result>em{display:block;margin-top:7px;color:#7fb0cd;font-style:normal;font-size:11px}
.away-league-summary{grid-template-columns:repeat(5,minmax(0,1fr));margin:12px 0 16px}
@media(max-width:900px){.latest-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.away-league-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.latest-results-grid{grid-template-columns:1fr}.away-league-summary{grid-template-columns:1fr 1fr}}
/* dev9: database-rich National League front page */
.db-showcase{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin:18px 0}.record-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.record-tile{background:linear-gradient(145deg,#eef2e8,#eef2e8);border:1px solid #22506f;border-radius:15px;padding:14px;color:#fff;text-decoration:none;min-height:162px;display:flex;flex-direction:column;justify-content:flex-start}.record-tile:hover{border-color:#ffd500;transform:translateY(-1px)}.record-tile>span{color:#89a8bd;text-transform:uppercase;font-size:9px;letter-spacing:.08em;font-weight:800}.record-tile>div{display:flex;gap:4px;align-items:center;margin:13px 0 10px;min-height:42px}.record-badge{width:38px;height:38px;object-fit:contain}.record-tile>b{font-size:15px;line-height:1.25}.record-tile>small{color:#7fa2ba;margin-top:5px}.pattern-ring-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0}.pattern-ring-row>div{background:#eef2e8;border:1px solid #204863;border-radius:14px;text-align:center;padding:15px 8px}.pattern-ring-row b{display:block;font-size:27px;color:#ffd500}.pattern-ring-row span{font-size:10px;color:#8ea8bc;text-transform:uppercase}.mini-metrics p{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #17364e;padding:10px 0;margin:0}.mini-metrics span{color:#95acbd}.mini-metrics b{color:#fff}.goal-timing{margin:18px 0}.timing-bars{height:240px;display:grid;grid-template-columns:repeat(6,1fr);gap:16px;align-items:end;padding:20px 20px 5px;background:linear-gradient(180deg,#eef2e8 0,#eef2e8 100%);border-radius:14px}.timing-bars>div{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px}.timing-bars i{display:block;width:min(58px,70%);background:linear-gradient(180deg,#ffd500,#dba900);border-radius:10px 10px 3px 3px;box-shadow:0 0 20px rgba(255,213,0,.08)}.timing-bars b{color:#fff;font-size:14px}.timing-bars span{color:#89a8bd;font-size:10px}.stat-person,.badge-name{display:flex!important;align-items:center;gap:8px}.venue-power{margin:18px 0}.venue-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.venue-columns>div{background:#eef2e8;border:1px solid #1f465f;border-radius:15px;padding:14px}.venue-columns h3{margin:0 0 8px}.venue-columns a{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;color:#fff;text-decoration:none;padding:10px 0;border-bottom:1px solid #17364e}.venue-columns a:last-child{border-bottom:0}.venue-columns a>span{display:flex;align-items:center;gap:8px}.venue-columns em{font-style:normal;color:#6f93aa;width:16px}.venue-columns strong{color:#ffd500}.venue-columns small{grid-column:1/-1;color:#7697ad;padding-left:46px}.match-badged{display:flex!important;align-items:center;gap:7px}.league-stat-grid .panel,.venue-power,.goal-timing,.db-showcase .panel{background:linear-gradient(145deg,#eef2e8 0%,#eef2e8 58%,#eef2e8 100%)}.league-stat-grid .panel:hover,.venue-power:hover,.goal-timing:hover{border-color:#285774}.stat-list>div:nth-child(-n+3){background:rgba(255,213,0,.025)}
@media(max-width:1050px){.db-showcase{grid-template-columns:1fr}.record-tiles{grid-template-columns:repeat(2,1fr)}.venue-columns{grid-template-columns:1fr}}
@media(max-width:620px){.record-tiles{grid-template-columns:1fr 1fr}.timing-bars{gap:6px;padding-left:8px;padding-right:8px}.timing-bars i{width:70%}}

/* dev10 final National League Hub polish */
.card-counts{display:flex;align-items:center;justify-content:flex-end;gap:7px;white-space:nowrap}.card-chip{display:inline-block;width:12px;height:16px;border-radius:2px;font-size:0;box-shadow:0 0 0 1px rgba(255,255,255,.14)}.card-chip.yellow-card{background:#ffd500}.card-chip.red-card{background:#eef2e8}.card-counts .card-chip+span{margin-left:5px}
.leader-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.leader-columns>div{padding:16px}.leader-columns h3{font-size:18px;margin-bottom:12px}.leader-columns p{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px 0;font-size:13px}.leader-columns p>em{font-style:normal;color:#6f93aa;font-weight:900;text-align:center}.leader-columns .badge-name{min-width:0}.leader-columns .badge-name a{color:#fff;text-decoration:none;font-weight:800;line-height:1.2}.leader-columns .badge-name a:hover{color:#ffd500}.leader-columns p>b{display:flex;flex-direction:column;align-items:flex-end;font-size:15px;line-height:1.05;white-space:nowrap}.leader-columns p>b small{color:#7f9bb0;font-size:9px;text-transform:uppercase;letter-spacing:.06em;margin-top:3px}
.venue-columns a small{display:flex;gap:12px;align-items:center;padding-left:46px}.venue-columns a small b{color:#a9c2d3}.venue-columns a small span{color:#7898ad}
.league-crowd-panel,.league-away-panel{overflow:hidden}.league-crowd-panel .summary-cards,.league-away-panel .summary-cards{gap:10px}.league-crowd-panel .summary-cards>div,.league-away-panel .summary-cards>div{background:linear-gradient(145deg,#eef2e8,#eef2e8);min-height:84px;display:flex;flex-direction:column;justify-content:center}.league-crowd-panel .compact-table,.league-away-panel .compact-table{border:1px solid #1d445f;border-radius:14px;overflow:auto;background:#eef2e8}.league-crowd-panel table,.league-away-panel table{margin:0}.league-crowd-panel tbody tr:nth-child(-n+3),.league-away-panel tbody tr:nth-child(-n+3){background:rgba(255,213,0,.025)}.league-crowd-panel td,.league-away-panel td{padding-top:11px;padding-bottom:11px}.league-crowd-panel .match-badged{gap:8px}.league-away-panel .club-cell{min-width:165px}.league-away-panel .club-cell a{font-weight:800;color:#fff;text-decoration:none}.league-away-panel .club-cell a:hover{color:#ffd500}
@media(max-width:1100px){.leader-columns{grid-template-columns:1fr}.leader-columns p{grid-template-columns:22px minmax(0,1fr) auto}}


/* v1.3 club identity system: verified club palettes with contrast-safe derived surfaces. */
.team-page{position:relative;color:var(--club-text);isolation:isolate}
.team-page:before{content:"";position:absolute;z-index:-1;inset:-26px;border-radius:30px;background:radial-gradient(circle at 15% 0,color-mix(in srgb,var(--club-primary) 32%,transparent) 0,transparent 34%),radial-gradient(circle at 95% 34%,color-mix(in srgb,var(--club-secondary) 12%,transparent) 0,transparent 30%);pointer-events:none}
.team-page .team-hero{background:linear-gradient(120deg,var(--club-panel) 0%,var(--club-panel2) 70%);border-color:var(--club-line)}
.team-page .team-hero:after{background:linear-gradient(105deg,var(--club-primary) 0,color-mix(in srgb,var(--club-primary) 50%,transparent) 28%,transparent 64%);opacity:.68}
.team-page .team-hero.premium{box-shadow:inset 0 4px 0 var(--club-accent),0 24px 80px rgba(0,0,0,.25)}
.team-page .rank strong,.team-page .eyebrow,.team-page .text-link{color:var(--club-accent)}
.team-page .crest-wrap{border:2px solid color-mix(in srgb,var(--club-accent) 50%,transparent);box-shadow:0 16px 40px rgba(0,0,0,.3),0 0 0 6px color-mix(in srgb,var(--club-primary) 18%,transparent)}
.team-page .feature-nav>*{background:var(--club-soft);border-color:var(--club-line);color:var(--club-text)}
.team-page .feature-nav>*:hover{background:color-mix(in srgb,var(--club-primary) 42%,#eef2e8);border-color:var(--club-accent)}
.team-page .stat-strip div,.team-page .summary-cards>div,.team-page .performance-grid>div,.team-page .record-grid>div,.team-page .record-split>div{background:linear-gradient(145deg,var(--club-soft),var(--club-panel2));border-color:var(--club-line)}
.team-page .panel{background:linear-gradient(180deg,var(--club-panel),var(--club-panel2));border-color:var(--club-line);box-shadow:0 16px 42px rgba(0,0,0,.18)}
.team-page .panel h2,.team-page .panel h3,.team-page .panel b,.team-page .players td:first-child{color:var(--club-text)}
.team-page .muted,.team-page .panel small,.team-page .summary-cards span,.team-page .performance-grid span,.team-page .record-grid span,.team-page .record-split span{color:var(--club-muted)}
.team-page .matches-panel{background:linear-gradient(180deg,color-mix(in srgb,var(--club-primary) 34%,#eef2e8),var(--club-panel2));box-shadow:inset 0 4px 0 var(--club-accent),0 16px 42px rgba(0,0,0,.2)}
.team-page .match-list a{border-bottom-color:var(--club-line);border-radius:10px;padding-left:8px;padding-right:8px}
.team-page .match-list a:hover{background:color-mix(in srgb,var(--club-primary) 24%,transparent)}
.team-page table th{color:var(--club-muted);border-bottom-color:var(--club-line)}
.team-page table td{border-bottom-color:color-mix(in srgb,var(--club-line) 76%,transparent)}
.team-page .players tbody tr:hover,.team-page .compact-table tbody tr:hover{background:color-mix(in srgb,var(--club-primary) 18%,transparent)}
.team-page .points-graph,.team-page .pos-graph{background:var(--club-graph);border:1px solid color-mix(in srgb,var(--club-line) 75%,transparent)}
.team-page .points-graph .grid,.team-page .pos-graph .grid{stroke:color-mix(in srgb,var(--club-line) 75%,transparent)}
.team-page .points-graph text,.team-page .pos-graph text{fill:var(--club-muted)}
.team-page .points-graph .axis-title,.team-page .pos-graph .axis-title{fill:var(--club-accent)}
.team-page .points-graph polyline,.team-page .pos-graph polyline{stroke:var(--club-accent)!important;filter:drop-shadow(0 2px 4px color-mix(in srgb,var(--club-accent) 28%,transparent))}
.team-page .points-graph circle,.team-page .pos-graph circle{fill:var(--club-accent)!important;stroke:var(--club-graph)!important}
.team-page .attendance-bars i,.team-page .month-bars i.for,.team-page .bars b,.team-page .support-share span{background:var(--club-accent)}
.team-page .month-bars i.against{background:#eef2e8}
.team-page .goal-key span:before{background:var(--club-accent)}
.team-page .goal-key span+span:before{background:#eef2e8}
.team-page .sequence-card{background:linear-gradient(145deg,var(--club-soft),var(--club-panel2));border-color:var(--club-line)}
.team-page .sequence-card h3{color:var(--club-accent)!important}
.team-page .sequence-row{border-bottom-color:var(--club-line)}
.team-page .sequence-row span{color:var(--club-muted)}
.team-page .pill{background:var(--club-soft);border-color:var(--club-line);color:var(--club-text)}
.team-page .big-metric,.team-page .leaders li,.team-page .mini-table li{border-bottom-color:var(--club-line)}
.team-page .big-metric span,.team-page .big-metric small{color:var(--club-muted)}
.team-page .big-metric strong,.team-page .leaders strong{color:var(--club-accent)}
.team-page .support-share{background:var(--club-graph)}
.team-page .run-grid>div,.team-page .record-grid>div{position:relative;overflow:hidden}
.team-page .run-grid>div:before,.team-page .record-grid>div:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--club-accent)}
.team-page #crowds,.team-page #away-support{background:linear-gradient(145deg,color-mix(in srgb,var(--club-primary) 25%,#eef2e8),var(--club-panel2))}
@media(max-width:720px){.team-page:before{inset:-14px;border-radius:20px}}


/* v2.0 live navigation polish */
.team-page .club-nav{gap:9px;margin:16px 0 19px;padding:10px;border:1px solid var(--club-line);border-radius:18px;background:color-mix(in srgb,var(--club-panel2) 88%,transparent);box-shadow:0 10px 30px rgba(0,0,0,.12)}
.team-page .club-nav a{background:color-mix(in srgb,var(--club-primary) 18%,var(--club-soft));border:1px solid color-mix(in srgb,var(--club-accent) 28%,var(--club-line));color:var(--club-text);padding:9px 13px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04);transition:.18s ease}
.team-page .club-nav a:hover,.team-page .club-nav a:focus{background:var(--club-accent);border-color:var(--club-accent);color:#06131f;transform:translateY(-2px);box-shadow:0 8px 22px color-mix(in srgb,var(--club-primary) 32%,transparent);outline:none}
.league-tabs{padding:10px;border:1px solid #234663;border-radius:18px;background:linear-gradient(180deg,#eef2e8,#eef2e8);box-shadow:0 10px 30px rgba(0,0,0,.12)}
.league-tabs a{padding:9px 13px;border:1px solid #31536c;border-radius:999px;background:#eef2e8;color:#eaf5fd!important;font-size:11px;font-weight:900;transition:.18s ease}
.league-tabs a:hover,.league-tabs a:focus,.league-tabs a.active{background:#ffd700;color:#071d33!important;border-color:#ffd700;transform:translateY(-2px);box-shadow:0 8px 20px rgba(255,215,0,.14);outline:none}
.fh2-top nav a{transition:.18s ease}.fh2-top nav a:hover{background:#ffd700;color:#071d33;transform:translateY(-1px)}
@media(max-width:720px){.league-tabs{flex-wrap:nowrap;overflow:auto}.league-tabs a{white-space:nowrap}.team-page .club-nav{border-radius:14px;padding:8px}}

/* v2.0.0-rc7 — normal mobile flow; only wide data components scroll */
.fh2-app{width:100%;max-width:100%;overflow:visible}
.fh2-main{width:100%;max-width:1480px;margin-left:auto;margin-right:auto}
.fh2-main>*,.team-page>*,.panel,.page-hero,.team-hero,.match-hero{min-width:0}
.fh2-scroll-x,.table-wrap{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.fh2-scroll-x>table,.table-wrap>table{width:max-content;min-width:100%}
.fh2-scroll-x::-webkit-scrollbar,.table-wrap::-webkit-scrollbar{height:7px}
.fh2-scroll-x::-webkit-scrollbar-thumb,.table-wrap::-webkit-scrollbar-thumb{background:#eef2e8;border-radius:999px}

@media(max-width:900px){
 .fh2-main{padding:16px}
 .home-grid,.split,.team-grid,.match-grid,.db-showcase,.leader-columns,.venue-columns{grid-template-columns:1fr}
 .matches-panel,.players-panel{grid-column:auto}
 .stat-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
 .record-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
 .latest-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .team-hero{grid-template-columns:auto minmax(0,1fr);gap:18px}
 .rank{grid-column:1/-1;text-align:left}
 .feature-nav,.club-nav,.league-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior-x:contain}
 .feature-nav::-webkit-scrollbar,.club-nav::-webkit-scrollbar,.league-tabs::-webkit-scrollbar{display:none}
 .feature-nav>* ,.club-nav a,.league-tabs a{flex:0 0 auto;white-space:nowrap}
 .attendance-bars,.month-bars{overflow-x:auto;-webkit-overflow-scrolling:touch}
}

@media(max-width:640px){
 .fh2-top{position:relative;top:auto;padding:11px 14px;display:grid;grid-template-columns:1fr auto;gap:10px 12px}
 .fh2-top .brand{min-width:0}.fh2-top .brand b{font-size:17px}
 .fh2-top nav{grid-column:1/-1;width:100%;margin:0;display:flex;overflow-x:auto;overflow-y:hidden;gap:4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
 .fh2-top nav::-webkit-scrollbar{display:none}.fh2-top nav a{flex:0 0 auto;padding:8px 10px;font-size:11px}
 .fh2-main{padding:12px}
 .panel,.page-hero,.team-hero,.match-hero{padding:16px;border-radius:17px}
 .team-hero{grid-template-columns:1fr;text-align:center}
 .crest-wrap{margin:0 auto;width:104px;height:104px}.team-crest{width:84px;height:84px}
 .team-hero h1{font-size:34px;line-height:1.02;margin:9px 0 13px}
 .form-line{justify-content:center;flex-wrap:wrap}
 .rank{grid-column:auto;text-align:center}.rank strong{font-size:50px}
 .stat-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.stat-strip div{padding:14px}.stat-strip b{font-size:25px}
 .summary-cards,.support-summary,.league-overview,.away-league-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
 .record-tiles,.latest-results-grid,.run-grid,.record-grid,.sequence-grid,.club-links{grid-template-columns:1fr}
 .panel-head{flex-direction:column;gap:8px}.panel h2{font-size:24px}
 .scoreboard{grid-template-columns:1fr;gap:10px}.scoreboard>strong{order:2;margin:0 auto;font-size:38px}.scoreboard>div:first-child{order:1}.scoreboard>div:last-child{order:3}.match-crest{width:76px;height:76px}
 .facts{grid-template-columns:1fr}.facts dd{text-align:left;padding-top:0}.facts dt{border-bottom:0;padding-bottom:3px}
 .fixture-big{gap:8px}.fixture-badge{width:46px;height:46px}
 .events div{grid-template-columns:42px minmax(0,1fr);gap:8px}.events div>*:last-child{grid-column:2}
 .lineup li{grid-template-columns:24px minmax(0,1fr)}
 .bars div{grid-template-columns:72px minmax(120px,1fr) 48px}
 .fh2-foot{padding:16px 12px 28px}
}

@media(max-width:430px){
 .fh2-main{padding:10px}
 .panel,.page-hero,.team-hero,.match-hero{padding:14px;border-radius:15px}
 .team-hero h1{font-size:30px}.crest-wrap{width:94px;height:94px}.team-crest{width:76px;height:76px}.rank strong{font-size:44px}
 .stat-strip,.summary-cards,.support-summary,.league-overview,.away-league-summary{grid-template-columns:1fr 1fr}
 .stat-strip span{font-size:9px}.stat-strip b{font-size:23px}
 .feature-nav>* ,.club-nav a,.league-tabs a{padding:9px 11px;font-size:11px}
}

/* rc8: full fixtures + National League Cup */
.next-fixture-card{margin:14px 0 18px;padding:18px 20px;border:1px solid var(--club-line,#244b68);border-radius:18px;background:linear-gradient(135deg,var(--club-panel,#eef2e8),var(--club-panel2,#eef2e8));display:grid;grid-template-columns:minmax(170px,.8fr) 2fr;gap:18px;align-items:center;color:var(--club-text,#fff)}
.next-fixture-card .fixture-meta{display:flex;flex-direction:column;gap:4px}.next-fixture-card .fixture-meta b{font-size:16px}.next-fixture-card .fixture-meta small,.rollover-note{color:var(--club-muted,#8db3d1)}
.fixture-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}.fixture-teams>div{display:flex;align-items:center;gap:10px;min-width:0}.fixture-teams>div:last-child{justify-content:flex-end;text-align:right}.fixture-teams>span{font-weight:900;color:var(--club-accent,#ffd400)}.fixture-badge{width:44px;height:44px;object-fit:contain;flex:0 0 44px}.rollover-note{grid-column:1/-1;font-size:12px}
.upcoming-panel{margin-top:18px}.fixture-list{display:flex;flex-direction:column}.fixture-row{display:grid;grid-template-columns:165px 1fr;gap:16px;align-items:center;padding:12px 0;border-top:1px solid rgba(130,180,210,.18)}.fixture-row:first-child{border-top:0}.fixture-row time{font-size:12px;color:var(--club-muted,#8db3d1);font-weight:700}.fixture-row>div{display:flex;align-items:center;gap:8px;min-width:0}.fixture-row>div>b{white-space:nowrap}.fixture-row>div>span{color:var(--club-muted,#8db3d1)}
.cup-team-panel{margin-top:18px;border-color:color-mix(in srgb,var(--club-accent,#ffd400) 55%,transparent)}.cup-link{text-decoration:none}.cup-record,.cup-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.cup-record>div,.cup-summary>div{padding:14px;border:1px solid rgba(130,180,210,.2);border-radius:12px;background:rgba(4,17,28,.28);display:flex;flex-direction:column;gap:4px}.cup-record span,.cup-summary span{text-transform:uppercase;font-size:10px;letter-spacing:.08em;color:var(--club-muted,#8db3d1)}.cup-record b,.cup-summary b{font-size:22px}.cup-team-games>div{display:grid;grid-template-columns:90px 1fr auto;gap:12px;padding:11px 0;border-top:1px solid rgba(130,180,210,.18);align-items:center}.cup-team-games small{grid-column:2/-1;color:var(--club-muted,#8db3d1)}
.cup-hub{--cup-gold:#ffd400;--cup-purple:#37205f}.cup-hero{background:radial-gradient(circle at 85% 20%,rgba(255,212,0,.18),transparent 30%),linear-gradient(135deg,#eef2e8,#eef2e8);border-color:#7556a9}.cup-summary{margin:16px 0}.cup-summary>div{background:linear-gradient(145deg,#eef2e8,#eef2e8);border-color:#3b4f70}.cup-summary b{color:var(--cup-gold)}
.cup-next{margin-bottom:18px}.cup-next-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cup-next-grid>div{display:grid;grid-template-columns:52px 30px 1fr auto 1fr 30px;gap:8px;align-items:center;padding:11px 12px;border:1px solid #244b68;border-radius:12px;background:#eef2e8}.cup-next-grid time{color:#ffd400;font-weight:900}.cup-next-grid .tiny-badge{width:26px;height:26px}
.cup-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.cup-group{min-width:0}.cup-group tr.qualifying{background:rgba(255,212,0,.06)}.cup-group tr.qualifying td:first-child{color:#ffd400;font-weight:900}.cup-u21-badge{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;font-size:8px;font-weight:900;background:#eef2e8;color:#fff;border:1px solid #59667a;object-fit:initial!important}.cup-results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cup-results-grid>div{padding:13px;border:1px solid #244b68;border-radius:12px;background:#eef2e8}.cup-results-grid small{display:block;color:#8db3d1;margin-bottom:8px}.cup-results-grid span{display:grid;grid-template-columns:26px 1fr auto;gap:8px;align-items:center;padding:5px 0}.cup-results-grid strong{color:#ffd400;font-size:18px}.cup-results-grid em{display:block;margin-top:7px;font-size:11px;color:#cbb5ff}.group-chip{display:inline-flex!important;align-items:center;justify-content:center;background:#eef2e8;color:#fff!important;border-radius:999px;padding:3px 6px;font-size:10px;font-weight:900}

@media(max-width:760px){
 .next-fixture-card{grid-template-columns:1fr;padding:15px}.fixture-teams{gap:8px}.fixture-badge{width:36px;height:36px;flex-basis:36px}.fixture-teams>div{flex-direction:column;text-align:center}.fixture-teams>div:last-child{justify-content:center;text-align:center}.rollover-note{grid-column:auto}
 .fixture-row{grid-template-columns:1fr;gap:5px}.fixture-row>div{overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.fixture-row>div::-webkit-scrollbar{display:none}.fixture-row>div>b{font-size:13px}
 .cup-record,.cup-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.cup-team-games>div{grid-template-columns:68px 1fr auto;font-size:12px}.cup-groups{grid-template-columns:1fr}.cup-results-grid{grid-template-columns:1fr}.cup-next-grid{grid-template-columns:1fr}.cup-next-grid>div{grid-template-columns:44px 24px 1fr auto 1fr 24px;font-size:11px}.cup-next-grid .tiny-badge{width:22px;height:22px}
}

/* rc9 brain/live state */
.next-fixture-card.fixture-state-live,.next-fixture-card.fixture-state-second_half{box-shadow:inset 0 0 0 1px rgba(78,224,143,.45)}
.next-fixture-card.fixture-state-half_time{box-shadow:inset 0 0 0 1px rgba(255,215,0,.45)}
.next-fixture-card.fixture-state-full_time{box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.next-fixture-card .live-score{font-size:1.6rem;letter-spacing:.02em;white-space:nowrap}
.next-fixture-card .live-link{display:block;text-align:center;margin-top:10px}

/* rc11: clearer pre-match state and visible league fixture round */
.next-fixture-card.fixture-state-upcoming .fixture-teams>span{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;border:1px solid var(--club-line,#315875);border-radius:999px;background:rgba(255,255,255,.04);font-size:.9rem;text-transform:lowercase}
.next-league-round{margin-top:18px}.fixture-grid .upcoming-result{cursor:default}.fixture-grid .upcoming-result>div{margin-top:5px}.fixture-grid .upcoming-result .upcoming-v{justify-content:center;color:#ffd400}.fixture-grid .upcoming-result .upcoming-v b{font-size:.8rem;text-transform:lowercase;border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:2px 9px}.fixture-grid .upcoming-result>div:nth-of-type(3){margin-top:2px}

/* rc12 dedicated All Clubs collection */
.clubs-collection{margin-top:18px}.all-clubs-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}.all-club-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px;border-radius:15px;background:#eef2e8;border:1px solid #24455f;color:#fff;text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease}.all-club-card:hover{transform:translateY(-2px);border-color:#ffd700;background:#eef2e8}.all-club-card strong,.all-club-card small{display:block}.all-club-card small{color:#8fa9bd;margin-top:3px}.all-club-card>b{font-size:24px;color:#ffd700}.club-crest-box{width:42px;height:42px;border-radius:11px;background:#fff;display:grid;place-items:center}.club-crest-box img{width:30px;height:30px;object-fit:contain}@media(max-width:1050px){.all-clubs-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.all-clubs-grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.all-clubs-grid{grid-template-columns:1fr}}

/* rc16: schedule-aware season forecast */
.forecast-panel{margin:18px 0;background:radial-gradient(circle at 90% 5%,color-mix(in srgb,var(--club-accent,#ffd700) 14%,transparent),transparent 34%),linear-gradient(135deg,var(--club-panel,#eef2e8),var(--club-panel2,#eef2e8));border-color:color-mix(in srgb,var(--club-accent,#ffd700) 40%,var(--club-line,#244b68))}
.forecast-lead{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 18px}.forecast-lead>div{padding:15px;border:1px solid color-mix(in srgb,var(--club-line,#315875) 70%,transparent);border-radius:14px;background:rgba(4,17,28,.28);display:flex;flex-direction:column;gap:4px}.forecast-lead span{text-transform:uppercase;font-size:9px;letter-spacing:.09em;color:var(--club-muted,#8db3d1);font-weight:800}.forecast-lead b{font-size:28px;color:var(--club-accent,#ffd700)}.forecast-lead small{color:var(--club-muted,#8db3d1)}
.forecast-probs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.forecast-prob{padding:12px 14px;border:1px solid color-mix(in srgb,var(--club-line,#315875) 70%,transparent);border-radius:13px;background:rgba(4,17,28,.22)}.forecast-prob>span{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:12px}.forecast-prob>span strong{color:var(--club-accent,#ffd700);font-size:15px}.forecast-prob>i{display:block;height:8px;margin-top:9px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.forecast-prob>i>em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--club-primary,#eef2e8),var(--club-accent,#ffd700))}.forecast-note,.forecast-intro{font-size:12px;line-height:1.65;color:var(--club-muted,#91acc0);margin:14px 0 0}.forecast-note strong{color:var(--club-text,#fff)}
.league-forecast{margin:18px 0}.league-forecast .forecast-intro{max-width:900px;margin:0 0 14px}.forecast-table td,.forecast-table th{white-space:nowrap}.forecast-table tr:nth-child(1) td:first-child{color:#ffd700}.forecast-table tr:nth-child(n+2):nth-child(-n+7) td:first-child{color:#65d68a}.forecast-table tr:nth-child(n+21) td:first-child{color:#ff7474}.forecast-table .club-cell a{font-weight:800}
@media(max-width:760px){.forecast-lead{grid-template-columns:1fr}.forecast-probs{grid-template-columns:1fr}.forecast-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.forecast-table{min-width:760px}}
/* rc20: forecast is deliberately prominent at the top of every club page. */
.forecast-summary{margin:18px 0 20px;padding:20px 22px;border:2px solid var(--club-accent,#FFD700);border-radius:18px;background:linear-gradient(135deg,var(--club-panel,#fff),var(--club-soft,#f4f7fb));display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 10px 30px rgba(7,29,51,.10)}
.forecast-summary h2{margin:4px 0 6px;font-size:clamp(1.2rem,2.2vw,1.65rem)}
.forecast-summary p{margin:0;max-width:850px}.forecast-summary .btn{white-space:nowrap}
@media(max-width:700px){.forecast-summary{display:block;padding:17px}.forecast-summary .btn{display:inline-flex;margin-top:14px}}

/* rc27: Southend United all-time player archive */
.players-archive-hero{background:radial-gradient(circle at 88% 12%,rgba(255,215,0,.2),transparent 31%),linear-gradient(135deg,#eef2e8,#eef2e8);border-color:#315d91}.players-archive-actions{display:grid;grid-template-columns:auto minmax(220px,520px) auto;gap:12px;align-items:center;margin-top:22px}.players-archive-actions label{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.players-archive-actions input{width:100%;padding:14px 16px;border-radius:12px;border:1px solid #5279a0;background:#fff;color:#071d33;font:inherit}.players-archive-actions span{font-weight:800;color:#ffd700;white-space:nowrap}.player-az{display:flex;flex-wrap:wrap;gap:6px;margin-top:15px}.player-az button{width:34px;height:34px;border-radius:8px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);color:#fff;font-weight:900;cursor:pointer}.player-az button:hover,.player-az button.active{background:#ffd700;color:#071d33;border-color:#ffd700}.players-directory{margin-top:18px}.archive-table{min-width:790px}.archive-table tr[hidden]{display:none}.player-name-cell>a{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.player-name-cell>a:hover b{color:#ffd700}.player-name-cell small{display:block;color:#8db3d1;font-size:10px;margin-top:2px}.player-monogram{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,#eef2e8,#eef2e8);border:1px solid #466f95;color:#ffd700;font-weight:900}.player-empty{text-align:center;padding:25px}.archive-source{font-size:11px;color:#8db3d1;margin:15px 0 0}.archive-source a{color:#ffd700}.player-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:2px 0 14px;font-size:12px}.player-breadcrumb a{color:#8db3d1}.player-profile-hero{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;padding:30px;border:1px solid #315d91;border-radius:22px;background:radial-gradient(circle at 88% 12%,rgba(255,215,0,.18),transparent 30%),linear-gradient(135deg,#eef2e8,#eef2e8);color:#fff}.profile-monogram{display:grid;place-items:center;width:105px;height:105px;border-radius:26px;background:#fff;color:#003087;font-size:54px;font-weight:950;box-shadow:0 15px 34px rgba(0,0,0,.25)}.player-profile-hero h1{margin:5px 0;font-size:clamp(32px,5vw,58px);line-height:1}.player-profile-hero p{margin:8px 0 0;color:#c5d8e8}.profile-total{text-align:right}.profile-total span,.profile-total small{display:block;color:#c5d8e8}.profile-total strong{display:block;font-size:56px;color:#ffd700;line-height:1.05}.profile-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.profile-facts>div{padding:15px;border:1px solid #244b68;border-radius:13px;background:#eef2e8;color:#fff}.profile-facts span{display:block;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#8db3d1;margin-bottom:5px}.profile-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:18px}.player-career-table .career-total{background:rgba(255,215,0,.08)}.player-career-table .career-total td{border-color:rgba(255,215,0,.25)}.profile-summary>div{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 0;border-top:1px solid rgba(130,180,210,.18)}.profile-summary>div b{font-size:20px;color:#ffd700}.profile-source{margin-top:18px}.southend-archive-panel{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:18px;background:radial-gradient(circle at 85% 15%,rgba(255,215,0,.16),transparent 32%),linear-gradient(135deg,#eef2e8,#eef2e8);color:#fff}.southend-archive-panel h2{margin:4px 0}.southend-archive-panel p{margin:0;color:#c5d8e8}.southend-archive-panel .btn{white-space:nowrap}
@media(max-width:760px){.players-archive-actions{grid-template-columns:1fr}.players-archive-actions span{justify-self:start}.player-profile-hero{grid-template-columns:1fr;text-align:center;padding:22px}.profile-monogram{margin:auto}.profile-total{text-align:center}.profile-facts{grid-template-columns:1fr 1fr}.profile-grid{grid-template-columns:1fr}.southend-archive-panel{display:block}.southend-archive-panel .btn{display:inline-flex;margin-top:15px}}

/* rc30: completed Southend season centre */
.season-archive-page{--club:#003087;--club2:#ffd700;--club-line:#315875}.season-archive-page .team-grid{margin-top:18px}.season-archive-page .match-list>div{display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:center;padding:12px 8px;border-bottom:1px solid var(--club-line);border-radius:10px}.season-archive-page .match-list>div:hover{background:rgba(0,48,135,.2)}.season-archive-page .match-list small,.season-archive-page .match-list em{display:block;color:#89a3b8;font-style:normal}.season-archive-page .match-list b{display:block;margin:3px 0}.season-archive-page tr.focus{background:rgba(255,215,0,.09)}.season-archive-page tr.focus td:first-child,.season-archive-page tr.focus td:last-child{color:#ffd700}.season-archive-page .players a{color:#fff;text-decoration:none}.season-archive-page .players a:hover{color:#ffd700}

/* rc63: clear full-width destinations and usable jump navigation */
.fh2-main .league-full-table,.fh2-main .league-clubs{margin:18px 0;min-width:0}
.fh2-main .league-full-table .table-panel{width:100%;box-sizing:border-box}
.fh2-main .league-clubs>.panel{width:100%;box-sizing:border-box}
.fh2-main .league-clubs .club-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}
.fh2-main .league-clubs .club-links a{min-width:0}
.fh2-main .league-full-stats{grid-template-columns:1fr}
.fh2-main .league-single{grid-template-columns:1fr}
.fh2-main .db-showcase{grid-template-columns:1fr}
.fh2-main .record-tiles{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.fh2-main .league-tabs{display:flex;flex-wrap:wrap;gap:7px;overflow:visible}
.fh2-main [id]{scroll-margin-top:110px}
@media(max-width:720px){.fh2-main .league-tabs{flex-wrap:nowrap;overflow-x:auto}.fh2-main .record-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.fh2-main .record-tiles{grid-template-columns:1fr}}

/* 2.4.4: semantic match heading and direct links into the existing player A–Z. */
.fh2-main .match-page-title{font-size:clamp(17px,2vw,23px);line-height:1.35;font-weight:800;color:#ffd76a;text-align:center;margin:0 0 14px}
.fh2-main .player-profile-link{color:inherit;text-decoration:underline;text-decoration-color:#c6a15b;text-underline-offset:4px}
.fh2-main .player-profile-link:hover,.fh2-main .player-profile-link:focus{color:#ffd76a;text-decoration-color:currentColor}

/* 2026/27 FA Cup: all 24 National League clubs and qualifying-round results. */
.fa-cup-hub .cup-hero{background:radial-gradient(circle at 87% 12%,rgba(255,215,106,.18),transparent 32%),linear-gradient(135deg,#eef2e8,#eef2e8);border-color:#c6a15b}
.fa-cup-hub .cup-results-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.fa-cup-hub .cup-results-grid>div{min-width:0;box-shadow:0 6px 18px rgba(2,12,25,.15)}
.fa-cup-hub .cup-results-grid b{overflow-wrap:anywhere}
.fa-cup-club-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.fa-cup-club-grid a{min-width:0;display:flex;align-items:center;gap:10px;color:#f3f7fb;text-decoration:none;border:1px solid #244b68;border-radius:12px;background:#eef2e8;padding:12px;transition:background .2s,border-color .2s}
.fa-cup-club-grid a:hover,.fa-cup-club-grid a:focus-visible{background:#eef2e8;border-color:#ffd76a}
.fa-cup-club-grid a span{font-weight:750;min-width:0;flex:1}
.fa-cup-club-grid a b{font-size:11px;color:#ffd76a;white-space:nowrap}
.fa-cup-team-panel .cup-team-games small{font-size:11px}
@media(max-width:1100px){.fa-cup-club-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.fa-cup-hub .cup-results-grid,.fa-cup-club-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.fa-cup-hub .cup-results-grid,.fa-cup-club-grid{grid-template-columns:1fr}}

/* rc64: a spacious two-column team leaders board */
.fh2-main .league-team-leaders{margin:18px 0;min-width:0}
.fh2-main .league-team-leaders>.panel{width:100%;box-sizing:border-box}
.fh2-main .league-team-leaders .leader-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.fh2-main .league-team-leaders .leader-columns>div{min-width:0}
.fh2-main .league-team-leaders .goalkeeper-leaders{background:#eef2e8;border:1px solid #1f415b;border-radius:13px;padding:16px}
.fh2-main .league-team-leaders .goalkeeper-leaders h3{font-size:18px;margin:0 0 12px}
.fh2-main .league-team-leaders .goalkeeper-leaders .stat-person{min-width:0;display:flex;align-items:center;gap:8px}
.fh2-main .league-team-leaders .goalkeeper-leaders .stat-person>em{font-style:normal;color:#6f93aa;font-weight:900;width:22px;text-align:center;flex:none}
.fh2-main .league-team-leaders .goalkeeper-leaders .stat-person>span{min-width:0}
.fh2-main .league-team-leaders .goalkeeper-leaders .stat-list strong{white-space:nowrap}
@media(max-width:720px){.fh2-main .league-team-leaders .leader-columns{grid-template-columns:1fr}}

/* rc66: show every match sharing a comeback record */
.fh2-main .comeback-record{min-height:0}
.fh2-main .comeback-record>strong{font-size:17px;color:#ffd76a;margin:12px 0 4px}
.fh2-main .comeback-record .comeback-record-matches{display:grid;gap:8px;margin:8px 0 0;min-height:0}
.fh2-main .comeback-record-matches a{display:block;padding:9px 10px;border:1px solid #28506d;border-radius:9px;color:#fff;text-decoration:none}
.fh2-main .comeback-record-matches a:hover,.fh2-main .comeback-record-matches a:focus{border-color:#ffd76a}
.fh2-main .comeback-record-matches b,.fh2-main .comeback-record-matches small{display:block}
.fh2-main .comeback-record-matches small{color:#abc1d1;margin-top:3px}

/* rc67: comeback records use the same badge, score and detail style */
.fh2-main .comeback-record .comeback-record-matches{display:grid;gap:14px;margin:0;min-height:0}
.fh2-main .comeback-record-matches a{padding:0;border:0;border-radius:0;background:none;color:#fff;text-decoration:none}
.fh2-main .comeback-record-matches a+a{padding-top:12px;border-top:1px solid #22506f}
.fh2-main .comeback-record-matches a:hover b,.fh2-main .comeback-record-matches a:focus b{color:#ffd76a}
.fh2-main .comeback-record-matches .comeback-badges{display:flex;gap:4px;align-items:center;margin:13px 0 10px;min-height:42px}
.fh2-main .comeback-record-matches b{font-size:15px;line-height:1.25}
.fh2-main .comeback-record-matches small{color:#7fa2ba;margin-top:5px}
.fh2-main .record-tiles{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}
.fh2-main .record-tile{min-width:0;box-sizing:border-box}
@media(max-width:1050px){.fh2-main .record-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.fh2-main .record-tiles{grid-template-columns:1fr}}

}
