/* Homepage performance modules: season-aware lineup, awards and scorer race. */
.season-stats-tabs{display:flex;align-items:center;gap:5px;max-width:100%;overflow-x:auto;scrollbar-width:none}.season-stats-tabs::-webkit-scrollbar{display:none}.season-stats-tabs button{flex:0 0 auto;min-height:34px;padding:0 13px;color:#8a8d95;background:#f4f4f5;border:1px solid #e3e4e7;font:800 9px 'Manrope',sans-serif;letter-spacing:.12em;text-transform:uppercase;transition:.18s}.season-stats-tabs button:hover{color:#17181e;border-color:#bbbfc7}.season-stats-tabs button.on{color:#fff;background:#17181e;border-color:#17181e;box-shadow:inset 0 -3px #c8102e}.season-stats-tabs a{flex:0 0 auto;margin-left:8px;color:#c8102e!important}
.season-stats-tabs button:disabled{position:relative;color:#9c7a34;background:#fff9e9;border-style:dashed;border-color:#d8bc77;cursor:help}.season-stats-tabs button:disabled:after{content:"";display:inline-block;width:5px;height:5px;margin-left:7px;background:#d6a64a;border-radius:50%;animation:statusPulse 1.8s infinite}@keyframes statusPulse{50%{opacity:.3}}
.team-wrap{grid-template-columns:minmax(0,1.18fr) minmax(390px,.82fr);align-items:start}.formation,.awards{box-shadow:0 18px 42px rgba(17,20,27,.07)}
.rink{min-height:610px;justify-content:space-around;padding-top:58px!important;padding-bottom:58px!important;overflow:hidden;background:linear-gradient(180deg,#edf7fd 0%,#fbfdff 48%,#eaf5fb 100%)}.rink-bg{inset:14px 18px;border-radius:94px}.rink-bg::before{left:0;right:0;top:50%;bottom:auto;width:auto;height:2px;background:repeating-linear-gradient(90deg,rgba(200,16,46,.38) 0,rgba(200,16,46,.38) 8px,transparent 8px,transparent 15px)}
.rink-markings{position:absolute;inset:16px 20px;z-index:1;pointer-events:none}.rink-markings .blue-line{position:absolute;left:4%;right:4%;height:2px;background:rgba(37,121,201,.34);box-shadow:0 0 10px rgba(37,121,201,.12)}.rink-markings .b1{top:31%}.rink-markings .b2{bottom:31%}.rink-markings .faceoff{position:absolute;width:54px;height:54px;border:2px solid rgba(200,16,46,.18);border-radius:50%}.rink-markings .faceoff:after{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;transform:translate(-50%,-50%);background:rgba(200,16,46,.45);border-radius:50%}.rink-markings .f1{left:18%;top:20%}.rink-markings .f2{right:18%;top:20%}.rink-markings .f3{left:18%;bottom:20%}.rink-markings .f4{right:18%;bottom:20%}
.rink-route{position:absolute;width:24%;height:16%;border-top:2px dashed rgba(200,16,46,.25);border-radius:50%;animation:routePulse 2.8s ease-in-out infinite}.rink-route:after{content:"";position:absolute;right:-2px;top:-4px;width:7px;height:7px;border-top:2px solid rgba(200,16,46,.48);border-right:2px solid rgba(200,16,46,.48);transform:rotate(35deg)}.rink-route.r1{left:20%;top:27%;transform:rotate(17deg)}.rink-route.r2{right:20%;top:27%;transform:scaleX(-1) rotate(17deg);animation-delay:.8s}.rink-route.r3{left:38%;top:55%;transform:rotate(72deg);animation-delay:1.5s}@keyframes routePulse{0%,100%{opacity:.18}50%{opacity:.7}}
.rink-row{width:100%;min-height:122px;align-items:center}.rink-forwards{padding-top:0}.rink-defenders{padding:0 14%}.player-cell{z-index:3;max-width:170px}.pc-ava{width:76px;height:76px}.pc-ava.goalie{width:84px;height:84px}.pc-name{font-size:15px}.pc-team{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.performance-changing .player-cell{animation:lineupEnter .48s cubic-bezier(.2,.8,.2,1) both}.performance-changing .player-cell:nth-child(2){animation-delay:.06s}.performance-changing .player-cell:nth-child(3){animation-delay:.12s}@keyframes lineupEnter{from{opacity:0;transform:translateY(14px) scale(.92)}to{opacity:1;transform:none}}
.awards{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;background:#fff}.awards-head{grid-column:1/-1}.awards .aw-main{grid-column:1/-1;min-height:330px}.awards .aw-mini{min-height:126px;padding:14px 16px;border-right:1px solid #eceef1}.awards .aw-mini .aw-photo{width:62px;height:62px}.awards .aw-mini .aw-name-mini{font-size:16px}.awards .aw-mini .aw-stats{gap:4px}.awards .aw-mini .as-pill{padding:3px 6px;font-size:9px}.performance-changing .award-card{animation:awardEnter .45s ease both}.performance-changing .award-card:nth-of-type(3){animation-delay:.05s}.performance-changing .award-card:nth-of-type(4){animation-delay:.1s}@keyframes awardEnter{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
.race-showcase .profile-card-shell{position:relative;flex-direction:column;justify-content:flex-start;gap:18px;padding-top:42px}.race-profile-card{width:min(100%,360px)}.race-card-controls{position:sticky;top:88px;z-index:4;width:min(100%,360px);display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;color:#fff;background:rgba(16,19,27,.88);border:1px solid rgba(255,255,255,.11);backdrop-filter:blur(10px)}.race-card-controls button{height:42px;color:#fff;background:rgba(255,255,255,.055);font:600 28px/1 var(--f-display);transition:.18s}.race-card-controls button:hover{background:#c8102e}.race-card-controls span{text-align:center}.race-card-controls b,.race-card-controls small{display:block}.race-card-controls b{font:700 10px var(--f-display);letter-spacing:.08em;text-transform:uppercase}.race-card-controls small{margin-top:2px;color:#747985;font:700 8px 'Manrope',sans-serif;letter-spacing:.08em;text-transform:uppercase}
.race-card-insight{position:sticky;top:148px;width:min(100%,360px);padding:16px 17px;color:#fff;background:linear-gradient(135deg,rgba(20,179,213,.11),rgba(200,16,46,.08)),rgba(10,13,20,.9);border:1px solid rgba(255,255,255,.11)}.race-card-insight .k{color:#6dd4eb;font:800 8px 'Manrope',sans-serif;letter-spacing:.15em;text-transform:uppercase}.race-card-insight .n{margin-top:6px;font:700 19px var(--f-display);text-transform:uppercase}.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:12px;background:rgba(255,255,255,.08)}.insight-grid span{padding:9px;color:#858b97;background:#10141d;font:700 9px 'Manrope',sans-serif;text-transform:uppercase}.insight-grid b{display:block;margin-bottom:2px;color:#fff;font:700 18px var(--f-display)}.insight-line{height:4px;margin-top:13px;overflow:hidden;background:rgba(255,255,255,.08)}.insight-line i{display:block;height:100%;background:linear-gradient(90deg,#14b3d5,#c8102e);animation:barGrow .7s ease}
.race-chart{height:auto;min-height:250px}.race-chart .axis{stroke:rgba(255,255,255,.34);stroke-width:1}.race-chart .axis-label{fill:#9aa0ac;font:700 9px 'JetBrains Mono',monospace}.race-chart .axis-label.y{text-anchor:end}.race-chart .axis-label.x.end{text-anchor:end}.race-chart .axis-title{fill:#e2e5eb;font:800 8px 'Manrope',sans-serif;letter-spacing:.12em}.race-chart .axis-title.x{text-anchor:end}.race-chart .line{animation:chartDraw .9s ease both;stroke-dasharray:900;stroke-dashoffset:900}.race-view.on .race-chart .line{stroke-dashoffset:0}@keyframes chartDraw{to{stroke-dashoffset:0}}
@media(max-width:1240px){.team-wrap{grid-template-columns:1fr}.rink{min-height:590px}.awards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.team-section .sec-head{display:block}.season-stats-tabs{margin-top:14px;padding-bottom:4px}.season-stats-tabs button{min-height:38px;padding:0 12px}.team-wrap{display:block}.formation{margin-bottom:14px}.rink{min-height:555px;padding:48px 8px!important;justify-content:space-around}.rink-bg{inset:10px 14px;border-radius:68px}.rink-markings{inset:12px 16px}.rink-markings .faceoff{width:40px;height:40px}.rink-markings .f1,.rink-markings .f3{left:12%}.rink-markings .f2,.rink-markings .f4{right:12%}.rink-route{display:none}.rink-row{min-height:112px}.rink-defenders{padding:0 9%}.player-cell{max-width:112px}.pc-name{font-size:13px}.pc-team{max-width:100px;font-size:9px}.pc-stat{font-size:10px}.awards{grid-template-columns:1fr!important}.awards .aw-main,.awards .aw-mini{grid-column:1!important}.awards .aw-main{min-height:0}.awards .aw-mini{border-right:0}.race-showcase .profile-card-shell{padding-top:18px}.race-card-controls,.race-card-insight{position:relative;top:auto}.race-picker{position:relative}.race-picks{scroll-snap-type:x mandatory}.race-pick{scroll-snap-align:center}.race-chart{min-height:220px}.race-chart-panel{overflow-x:auto}.race-chart-panel svg{min-width:560px}}
@media(prefers-reduced-motion:reduce){.rink-route,.performance-changing .player-cell,.performance-changing .award-card,.race-chart .line{animation:none!important}}

/* True hockey orientations: landscape on wide screens, portrait below. */
.race-showcase{grid-template-columns:minmax(430px,460px) minmax(0,1fr)!important}.race-showcase .profile-card-shell{padding:42px 20px 28px}.race-profile-card{width:min(100%,420px)}.race-card-controls,.race-card-insight{width:min(100%,420px)}
@media(min-width:1241px){
 .rink{display:block;min-height:590px;height:590px;padding:0!important}
 .rink-bg{inset:18px;border-radius:120px}.rink-bg::before{left:50%;right:auto;top:3%;bottom:3%;width:2px;height:auto;background:repeating-linear-gradient(180deg,rgba(200,16,46,.42) 0,rgba(200,16,46,.42) 8px,transparent 8px,transparent 15px)}
 .rink-markings{inset:20px}.rink-markings .blue-line{top:5%;bottom:5%;width:2px;height:auto}.rink-markings .b1{left:34%;right:auto}.rink-markings .b2{left:66%;right:auto}
 .rink-markings .f1{left:14%;top:18%}.rink-markings .f2{right:14%;top:18%}.rink-markings .f3{left:14%;bottom:18%}.rink-markings .f4{right:14%;bottom:18%}
 .rink-row{position:absolute;z-index:3;min-height:0;width:auto;padding:0;margin:0}
 .rink-goalie{left:5%;top:50%;width:155px;transform:translateY(-50%);justify-content:center}
 .rink-defenders{left:30%;top:12%;bottom:12%;width:170px;display:flex;flex-direction:column;justify-content:space-around;align-items:center}
 .rink-forwards{left:57%;right:7%;top:9%;bottom:9%;display:flex;flex-direction:column;justify-content:space-around;align-items:center}
 .rink-row .player-cell{flex:0 0 auto;width:150px}.rink-route.r1{left:41%;top:24%;transform:rotate(8deg)}.rink-route.r2{right:22%;top:44%;transform:scaleX(-1) rotate(7deg)}.rink-route.r3{left:43%;top:68%;transform:rotate(-10deg)}
 .rink-goal{top:50%;bottom:auto;width:90px}.rink-goal-top{left:auto;right:-12px;transform:translateY(-50%) rotate(90deg)}.rink-goal-bottom{left:-12px;transform:translateY(-50%) rotate(90deg)}.rink-goal .goal-label{display:none}
}
@media(max-width:1240px){
 .formation{width:min(100%,740px);margin-left:auto;margin-right:auto}.rink{min-height:690px;padding-top:62px!important;padding-bottom:62px!important}
 .rink-goal-top .goal-label{top:38px;bottom:auto}.rink-goal-bottom .goal-label{top:auto;bottom:38px}.goal-label{font-size:8px;opacity:.78}
 .race-showcase{grid-template-columns:1fr!important}.race-profile-card,.race-card-controls,.race-card-insight{width:min(100%,420px)}
}
@media(max-width:780px){.formation{width:100%}.rink{min-height:600px;padding-top:62px!important;padding-bottom:62px!important}.rink-goal-top{top:14px}.rink-goal-bottom{bottom:14px}.rink-goal-top .goal-label{top:35px}.rink-goal-bottom .goal-label{bottom:35px}}

/* Homepage finishing pass: interactive race, richer fixtures and live derby. */
.race-row{width:100%;border-right:0;border-left:0;border-bottom:0;color:inherit;background:transparent;text-align:left;cursor:pointer;font:inherit}.race-row:hover{background:linear-gradient(90deg,rgba(20,179,213,.09),transparent 75%)}.race-row:focus-visible{outline:2px solid #14b3d5;outline-offset:2px}
.gc-schedule-row{grid-template-columns:42px minmax(0,1fr) 48px;padding:11px 12px}.gc-match{min-width:0}.gc-club{display:flex;align-items:center;gap:7px;min-width:0;font:700 12px var(--f-display);line-height:1.15}.gc-club+.gc-club{margin-top:4px}.gc-club img{width:22px;height:22px;flex:0 0 22px;object-fit:contain;background:#fff;border:1px solid #e5e6e9;border-radius:50%;padding:2px}.gc-club span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gc-schedule-row .time small{display:block;margin-top:4px;color:#999;font:700 8px 'Manrope',sans-serif;letter-spacing:.12em;text-transform:uppercase}.gc-schedule-row:hover .gc-club span{color:var(--red)}
.derby-section{background:#f4f5f7}.derby-live{grid-template-columns:minmax(0,1.28fr) minmax(360px,.72fr);align-items:stretch}.derby-card{position:relative;display:flex;min-height:390px;flex-direction:column;overflow:hidden;color:#fff;background:radial-gradient(circle at 15% 20%,rgba(200,16,46,.25),transparent 34%),radial-gradient(circle at 88% 78%,rgba(20,179,213,.18),transparent 33%),#0c0e15;border-top:3px solid var(--red);box-shadow:0 20px 45px rgba(12,14,21,.18)}.derby-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(125deg,transparent 0,transparent 30px,rgba(255,255,255,.018) 30px,rgba(255,255,255,.018) 31px)}.derby-kicker{position:relative;z-index:1;display:flex;justify-content:space-between;gap:12px;padding:18px 22px;color:#ffcb55;font:800 10px 'Manrope',sans-serif;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.09)}.derby-kicker span{color:#8f96a4}.derby-teams{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 130px minmax(0,1fr);align-items:center;gap:18px;flex:1;padding:28px 36px}.derby-team{display:flex;min-width:0;flex-direction:column;align-items:center;gap:15px;text-align:center}.derby-team img{width:116px;height:116px;object-fit:contain;filter:drop-shadow(0 15px 18px rgba(0,0,0,.4));transition:.3s}.derby-card:hover .derby-team:first-child img{transform:translateX(5px) scale(1.04)}.derby-card:hover .derby-team:last-child img{transform:translateX(-5px) scale(1.04)}.derby-team b{font:800 24px/1.05 var(--f-display);text-transform:uppercase}.derby-score{text-align:center}.derby-score small,.derby-score em{display:block;color:#9299a7;font:700 9px 'Manrope',sans-serif;letter-spacing:.1em;text-transform:uppercase}.derby-score strong{display:block;margin:10px 0;color:#fff;font:800 46px/1 var(--f-display);text-shadow:0 0 28px rgba(200,16,46,.35)}.derby-score em{font-style:normal;line-height:1.4}.derby-history{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.09)}.derby-history span{padding:14px;text-align:center;color:#858c99;font:700 9px 'Manrope',sans-serif;letter-spacing:.08em;text-transform:uppercase;border-right:1px solid rgba(255,255,255,.09)}.derby-history span:last-child{border:0}.derby-history b{display:block;margin-bottom:3px;color:#fff;font:800 19px var(--f-display);letter-spacing:0}
.derby-radar{display:flex;flex-direction:column;background:#fff;border:1px solid #dcdee3;border-top:3px solid #17181e}.derby-radar-head{padding:16px 18px;background:#17181e;color:#fff}.derby-radar-head b,.derby-radar-head span{display:block}.derby-radar-head b{font:800 15px var(--f-display);letter-spacing:.08em;text-transform:uppercase}.derby-radar-head span{margin-top:4px;color:#858a95;font:700 8px 'Manrope',sans-serif;letter-spacing:.1em;text-transform:uppercase}.derby-radar-team{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:13px;padding:20px 18px;border-bottom:1px solid #e6e7ea;transition:.18s}.derby-radar-team:hover{background:#f7f8fa}.derby-radar-team>img{width:50px;height:50px;object-fit:contain}.derby-radar-name b{display:block;font:800 17px var(--f-display)}.derby-radar-name span{display:block;margin-top:4px;color:#858995;font:700 9px 'Manrope',sans-serif;letter-spacing:.08em;text-transform:uppercase}.derby-radar .derby-form-strip{display:flex;gap:4px}.derby-radar .derby-form-strip span{width:22px;height:22px}.derby-radar .derby-form-strip .d{background:var(--gold)}.derby-radar-note{margin:auto 18px 18px;padding:15px;background:#f4f5f7;border-left:3px solid var(--red)}.derby-radar-note b,.derby-radar-note span{display:block}.derby-radar-note b{font:800 11px var(--f-display);letter-spacing:.08em;text-transform:uppercase}.derby-radar-note span{margin-top:5px;color:#686d77;font:500 11px/1.45 'Manrope',sans-serif}
@media(max-width:1100px){.derby-live{grid-template-columns:1fr}.derby-radar{min-height:0}}
@media(max-width:780px){.insight-grid span{min-height:62px}.gc-schedule-row{grid-template-columns:39px minmax(0,1fr) 43px;padding:10px 9px}.gc-club{font-size:11px}.gc-club img{width:20px;height:20px;flex-basis:20px}.derby-card{min-height:340px}.derby-kicker{display:block;padding:14px 16px}.derby-kicker span{display:block;margin-top:5px}.derby-teams{grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);gap:8px;padding:24px 12px}.derby-team img{width:78px;height:78px}.derby-team b{font-size:17px}.derby-score strong{font-size:34px}.derby-score small,.derby-score em{font-size:7px}.derby-history span{padding:11px 5px;font-size:7px}.derby-history b{font-size:16px}.derby-radar-team{grid-template-columns:42px minmax(0,1fr);padding:15px 13px}.derby-radar-team>img{width:40px;height:40px}.derby-radar .derby-form-strip{grid-column:1/-1;justify-content:flex-end}.derby-radar-note{margin:12px}}
.gc-schedule-row>.gc-match{display:block;position:static;min-width:0;min-height:0;padding:0;color:inherit;background:none;border:0;overflow:visible}.gc-schedule-row>.gc-match:before,.gc-schedule-row>.gc-match:after{display:none}
.gc-schedule-row{min-height:66px;padding-top:7px;padding-bottom:7px}.gc-schedule-row>.gc-match{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);align-items:center;column-gap:4px}.gc-schedule-row>.gc-match:before{content:"VS";display:flex;position:static;grid-column:2;grid-row:1;align-items:center;justify-content:center;width:28px;height:22px;color:#fff;background:#17181e;border-bottom:2px solid var(--red);font:800 9px var(--f-display);letter-spacing:.06em}.gc-schedule-row>.gc-match>.gc-club{grid-row:1;margin:0}.gc-schedule-row>.gc-match>.gc-club:first-child{grid-column:1;justify-content:flex-end}.gc-schedule-row>.gc-match>.gc-club:nth-child(2){grid-column:3}.gc-schedule-row>.gc-match>.meta{grid-column:1/-1;grid-row:2;margin-top:5px;text-align:center}.gc-schedule-row .time{align-self:center}.gc-club img{width:20px;height:20px;flex-basis:20px}.gc-club span{font-size:11px}
@media(max-width:780px){.gc-schedule-row{grid-template-columns:32px minmax(0,1fr) 39px;gap:6px;min-height:60px;padding:6px 7px}.gc-date .d{font-size:19px}.gc-schedule-row>.gc-match{grid-template-columns:minmax(0,1fr) 23px minmax(0,1fr);column-gap:2px}.gc-schedule-row>.gc-match:before{width:23px;height:19px;font-size:8px}.gc-club{gap:4px}.gc-club img{width:18px;height:18px;flex-basis:18px}.gc-club span{font-size:9.5px}.gc-schedule-row>.gc-match>.meta{margin-top:3px;font-size:9px}.gc-schedule-row .time{font-size:11px}}

/* Compact fixture poster: crests and names meet around a clean centre mark. */
.gc-schedule-row>.gc-match{width:100%;grid-template-columns:minmax(0,160px) 42px minmax(0,160px);justify-content:center;justify-items:stretch;column-gap:7px}.gc-schedule-row>.gc-match:before{width:42px;height:20px;color:var(--red);background:linear-gradient(90deg,#d9dce2 0,#d9dce2 11px,transparent 11px,transparent 31px,#d9dce2 31px,#d9dce2 42px);border:0;font-size:10px;font-style:italic;letter-spacing:.02em}.gc-schedule-row>.gc-match>.gc-club{width:100%;gap:7px}.gc-schedule-row>.gc-match>.gc-club:first-child{flex-direction:row-reverse}.gc-schedule-row>.gc-match>.gc-club:first-child span{text-align:right}.gc-schedule-row>.gc-match>.gc-club:nth-child(2) span{text-align:left}.gc-schedule-row>.gc-match>.gc-club img{width:23px;height:23px;flex-basis:23px;border:0;background:transparent;padding:0}.gc-schedule-row>.gc-match>.gc-club span{font-size:12px}.gc-schedule-row:hover>.gc-match:before{color:#fff;background:linear-gradient(90deg,#c8102e 0,#c8102e 11px,transparent 11px,transparent 31px,#c8102e 31px,#c8102e 42px);text-shadow:0 0 8px rgba(200,16,46,.5)}
@media(max-width:780px){.gc-schedule-row>.gc-match{grid-template-columns:minmax(0,1fr) 27px minmax(0,1fr);column-gap:3px}.gc-schedule-row>.gc-match:before{width:27px;height:18px;background:linear-gradient(90deg,#d9dce2 0,#d9dce2 5px,transparent 5px,transparent 22px,#d9dce2 22px,#d9dce2 27px);font-size:8px}.gc-schedule-row>.gc-match>.gc-club{gap:3px}.gc-schedule-row>.gc-match>.gc-club img{width:18px;height:18px;flex-basis:18px}.gc-schedule-row>.gc-match>.gc-club span{font-size:9.5px}.gc-schedule-row:hover>.gc-match:before{background:linear-gradient(90deg,#c8102e 0,#c8102e 5px,transparent 5px,transparent 22px,#c8102e 22px,#c8102e 27px)}}
