/* v242 - scoped additions only: journey labels, program and carpool. */
/* Separate the result ribbon from the alternating player/moment cards. Both
   cards occupy the same grid cell; their opacity transitions are unchanged. */
.modeHub .stadiumWorld{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(124px,auto);align-content:start;row-gap:12px;padding:38px 4% 14px;min-height:250px}
.modeHub .journeyRibbon{position:relative;inset:auto;grid-area:1/1;grid-template-columns:minmax(105px,1fr) minmax(60px,1.5fr) minmax(92px,1fr);gap:8px;align-items:center;min-width:0}
.modeHub .journeyOrigin span,.modeHub .journeyDestination span{font-size:7px;line-height:1.35;letter-spacing:.06em;white-space:normal;overflow:visible;overflow-wrap:normal}
.modeHub .journeyOrigin strong,.modeHub .journeyDestination strong{display:block;-webkit-line-clamp:unset;white-space:normal;overflow:visible;font-size:9px;line-height:1.28;overflow-wrap:anywhere}
.modeHub #journeyOriginScore{display:block;color:#fff;margin-top:5px;font-size:10px;font-weight:850;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
.modeHub .microReplayCard,.modeHub .playerSpotlightMotion{position:relative!important;inset:auto!important;grid-area:2/1;width:100%!important;min-width:0;align-self:stretch;margin:0}
.modeHub .microReplayCard{display:grid;grid-template-columns:46px minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:12px;align-content:center;min-height:124px;padding:14px!important;overflow:visible}
.modeHub .microReplayVisual{position:relative;inset:auto;transform:none;width:46px;height:50px;grid-area:1/1/4/2;align-self:center}
.modeHub .microReplayKicker,.modeHub .microReplayTitle,.modeHub .microReplaySub{grid-column:2;min-width:0;width:100%;max-width:none;display:block!important;-webkit-line-clamp:unset!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important;max-height:none!important;height:auto!important}
.modeHub .microReplayKicker{grid-row:1;font-size:7px;line-height:1.45}
.modeHub .microReplayTitle{grid-row:2;font-size:14px;line-height:1.25;margin-top:5px}
.modeHub .microReplaySub{grid-row:3;font-size:9px;line-height:1.5;margin-top:5px}
.modeHub .playerSpotlightMotion{height:auto;min-height:124px;overflow:visible}
.modeHub .playerSpotlightPortrait{border-radius:18px 0 0 18px;overflow:hidden}
@media(max-width:370px){.modeHub .journeyRibbon{grid-template-columns:minmax(96px,1.1fr) minmax(38px,.6fr) minmax(82px,1fr);gap:6px}.modeHub .journeyOrigin{grid-template-columns:25px minmax(0,1fr);gap:5px}.modeHub .journeyOrigin span,.modeHub .journeyDestination span{font-size:6.5px}.modeHub .journeyOrigin strong,.modeHub .journeyDestination strong{font-size:8px}.modeHub .microReplayCard{column-gap:10px;padding:12px!important}.modeHub .microReplayTitle{font-size:13px}.modeHub .microReplaySub{font-size:8.5px}}

/* Match cards retain the app's dark base and gold accent. */
.hp-program{min-width:0;max-width:100%}
.hp-program-list{display:grid;gap:9px;min-width:0}
.hp-match{--hp-accent:#79bfff;position:relative;isolation:isolate;display:grid;grid-template-columns:46px minmax(0,1fr);column-gap:11px;padding:12px;border:1px solid #2b3440;border-radius:15px;background:radial-gradient(ellipse at 100% 0,rgba(68,139,210,.11),transparent 72%),linear-gradient(130deg,#12171c,#0b0d10);overflow:hidden}
.hp-match:before{content:"";position:absolute;inset:12px auto 12px 0;width:3px;background:var(--hp-accent);border-radius:0 4px 4px 0;opacity:.72}
.hp-match.is-home{--hp-accent:#87dab5;border-color:#2b3933;background:radial-gradient(ellipse at 100% 0,rgba(59,156,105,.11),transparent 72%),linear-gradient(130deg,#111a16,#0a0e0b)}
.hp-match.is-cup{--hp-accent:#c7a8ff;border-color:#3d3348;background:radial-gradient(ellipse at 100% 0,rgba(150,102,205,.13),transparent 72%),linear-gradient(130deg,#17131e,#0c0b10)}
.hp-match.is-next{--hp-accent:#f0bc60;border-color:#78603a;background:radial-gradient(ellipse at 100% 0,rgba(242,184,78,.17),transparent 70%),linear-gradient(130deg,#211b11,#0c0d0b);box-shadow:inset 0 1px rgba(255,239,204,.04)}
.hp-match.is-next:before{inset:0 auto 0 0;opacity:1}
.hp-match.is-cancelled{--hp-accent:#dc8790;opacity:.74}
.hp-match[hidden]{display:none!important}
.hp-match-date{align-self:center;border-right:1px solid rgba(255,255,255,.09);padding-right:9px;text-align:center;min-width:0;color:var(--hp-accent)}
.hp-date-weekday,.hp-date-month{display:block;text-transform:uppercase;font-weight:850;letter-spacing:.08em;font-size:8px;line-height:1.4}
.hp-date-number{display:block;font-size:27px;font-weight:950;line-height:1.1;margin:3px 0;font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:#fff}
.hp-match-body{min-width:0}
.hp-match-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:5px;margin-bottom:10px}
.hp-match-tags{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0}
.hp-match-side{padding:4px 6px;border-radius:5px;border:1px solid currentColor;color:var(--hp-accent);font-size:7px;font-weight:950;letter-spacing:.09em;text-transform:uppercase;line-height:1}
.hp-match-next,.hp-match-cup{font-size:7px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--hp-accent)}
.hp-match-next{display:inline-flex;align-items:center;gap:4px}
.hp-match-next:before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor;box-shadow:0 0 7px currentColor;animation:hp-next-glow 3s ease-in-out infinite}
.hp-match-time{font-size:9px;font-weight:850;color:#e1e3e7;white-space:nowrap;font-variant-numeric:tabular-nums}
.hp-match-teams{display:grid;grid-template-columns:25px minmax(0,1fr) 25px;gap:7px;align-items:center}
.hp-match h3.hp-match-title{margin:0;font-size:13px;line-height:1.3;font-weight:900;color:#fff;white-space:normal;text-transform:none;letter-spacing:-.01em;overflow:visible;overflow-wrap:anywhere;min-width:0}
.hp-match.is-next h3.hp-match-title{font-size:14px}
.hp-club-mark{width:25px;height:31px;display:grid;place-items:center;min-width:0}
.hp-club-mark>img{grid-area:1/1;max-width:25px;max-height:29px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 2px 5px rgba(0,0,0,.4))}
.hp-club-mark>img[hidden],.hp-club-fallback[hidden]{display:none!important}
.hp-club-mark>.hp-club-fallback{grid-area:1/1;width:24px;height:24px;font-size:6px;border-color:#444b53;background:#1a1c20;box-shadow:none}
.hp-match-competition{color:#b1b5bc;font-size:9px;line-height:1.45;margin-top:7px;overflow-wrap:anywhere}
.hp-match-venue{display:flex;gap:5px;align-items:baseline;color:#909da3;font-size:9px;line-height:1.4;margin-top:3px;overflow-wrap:anywhere}
.hp-venue-dot{font-size:6px;color:var(--hp-accent);flex:none}
.hp-program-more{position:static;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin:11px 0 0;min-height:46px;padding:10px 12px;border:1px solid #5b4d35;border-radius:13px;background:linear-gradient(140deg,#211c13,#11120f);color:#f0cf95;font-size:11px;font-weight:900;line-height:1.4;cursor:pointer;touch-action:manipulation}
.hp-program-more:after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.hp-program-more[aria-expanded="true"]:after{transform:translateY(2px) rotate(225deg)}
.hp-program-more:hover{border-color:#b48c4d;background:#2b2214}
.hp-program-more:focus-visible{outline:2px solid #f0bc60;outline-offset:3px}
@keyframes hp-next-glow{0%,100%{opacity:.6}50%{opacity:1;box-shadow:0 0 9px currentColor}}
@media(min-width:620px){.hp-match{grid-template-columns:57px minmax(0,1fr);padding:16px;gap:16px}.hp-match h3.hp-match-title,.hp-match.is-next h3.hp-match-title{font-size:16px}.hp-match-teams{grid-template-columns:30px minmax(0,1fr) 30px;gap:10px}.hp-club-mark,.hp-club-mark>img{max-width:30px;width:30px;max-height:32px}.hp-date-number{font-size:31px}.hp-match-time{font-size:11px}.hp-match-competition,.hp-match-venue{font-size:10px}}
@media(max-width:350px){.hp-match{grid-template-columns:37px minmax(0,1fr);gap:8px;padding:10px}.hp-match-date{padding-right:6px}.hp-match-teams{grid-template-columns:21px minmax(0,1fr) 21px;gap:5px}.hp-club-mark{width:21px}.hp-club-mark>img{max-width:21px}.hp-match h3.hp-match-title,.hp-match.is-next h3.hp-match-title{font-size:12px}.hp-match-next{font-size:6px}}

/* Decorative road, independent of registration/counts/form controls. */
#carpoolSection{border-color:#494033;background:radial-gradient(ellipse at 100% 0,rgba(206,153,67,.075),transparent 54%),linear-gradient(180deg,#131311,#0b0c0b)}
#carpoolSection .carpoolIntro{background:linear-gradient(135deg,#1d201b,#0d100e);border-color:#363c30;align-items:center}
#carpoolSection .carpoolIntro>div:last-child{min-width:0}
#carpoolSection .carpoolIntro strong{white-space:normal;overflow-wrap:anywhere;line-height:1.3}
#carpoolSection .carpoolIcon{background:linear-gradient(135deg,#f9d799,#d9a350);color:#20180b;border:1px solid #f2cf8f;box-shadow:0 3px 16px rgba(216,167,71,.1)}
#carpoolSection .carpoolIcon svg{width:25px;height:25px}
#carpoolSection .carpoolStats{gap:8px}
#carpoolSection .carpoolStat:first-child{background:linear-gradient(145deg,#14221b,#0d100e);border-color:#32463a}
#carpoolSection .carpoolStat:first-child b{color:#94dfb5}
#carpoolSection .carpoolStat:last-child{background:linear-gradient(145deg,#191f27,#0d1013);border-color:#333d4b}
#carpoolSection .carpoolStat:last-child b{color:#a7cbf7}
#carpoolSection .carpoolMainAction{background:linear-gradient(105deg,#fff6de,#efd3a0);border:1px solid #eed7ac;color:#15110a;min-height:46px;box-shadow:0 5px 18px rgba(218,173,86,.09)}
.hp-drive{position:relative;min-width:0;height:122px;border-radius:15px;border:1px solid #344034;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 84% 15%,rgba(246,196,101,.16),transparent 28%),linear-gradient(180deg,#0c1720,#131f19 72%,#151717);contain:paint}
.hp-drive:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 13% 26%,#52616b 0 .6px,transparent 1px),radial-gradient(circle at 38% 19%,#929690 0 .7px,transparent 1px),radial-gradient(circle at 67% 34%,#798174 0 .6px,transparent 1px);pointer-events:none}
.hp-drive-labels{position:absolute;left:12px;right:12px;top:9px;display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:start;z-index:4;font-size:7px;line-height:1.3;text-transform:uppercase;letter-spacing:.05em;font-weight:850;color:#cad1cb}
.hp-drive-labels>span:last-child{text-align:right;overflow-wrap:anywhere}
.hp-drive-arrow{color:#ecc478;letter-spacing:.12em}
.hp-drive-skyline{position:absolute;inset:32px 0 36px;opacity:.28;background:linear-gradient(0deg,#5d745b 0 15px,transparent 15px);clip-path:polygon(0 100%,0 64%,6% 64%,6% 27%,14% 27%,14% 50%,20% 50%,20% 10%,22% 10%,22% 56%,32% 56%,32% 42%,42% 42%,42% 72%,50% 72%,50% 43%,55% 43%,55% 60%,68% 60%,68% 35%,76% 35%,76% 15%,78% 15%,78% 38%,91% 38%,91% 17%,93% 17%,93% 57%,100% 57%,100% 100%)}
.hp-drive-stadium{position:absolute;right:17px;bottom:40px;width:72px;height:41px;opacity:.65}
.hp-drive-road{position:absolute;left:0;right:0;bottom:13px;height:29px;background:linear-gradient(#232924,#101511);border-top:1px solid #697652;border-bottom:1px solid #343f31;transform:skewY(-.5deg)}
.hp-drive-road:after{content:"";position:absolute;left:0;right:-48px;bottom:7px;height:2px;background:repeating-linear-gradient(90deg,#b7b290 0 24px,transparent 24px 48px);opacity:.5;animation:hp-road-flow 1.3s linear infinite}
.hp-drive-travel{position:absolute;left:-110px;bottom:24px;width:99px;height:44px;z-index:3;animation:hp-drive-across 12s linear infinite;will-change:left}
.hp-drive-car{display:block;width:99px;height:44px;filter:drop-shadow(0 3px 3px rgba(0,0,0,.6));animation:hp-car-bounce .5s ease-in-out infinite alternate}
.hp-car-wheel{transform-box:fill-box;transform-origin:center;animation:hp-wheel-turn .75s linear infinite}
.hp-car-lights{animation:hp-headlight 4s ease-in-out infinite}
.hp-drive-caption{position:absolute;bottom:3px;left:10px;right:10px;text-align:center;text-transform:uppercase;letter-spacing:.15em;font-size:6px;line-height:1;color:#c7b384;font-weight:850}
.hp-drive.hp-motion-paused *,.hp-drive.hp-motion-paused :after{animation-play-state:paused!important}
@keyframes hp-drive-across{from{left:-110px}to{left:calc(100% + 10px)}}
@keyframes hp-road-flow{to{transform:translateX(-48px)}}
@keyframes hp-car-bounce{from{transform:translateY(0)}to{transform:translateY(-.9px)}}
@keyframes hp-wheel-turn{to{transform:rotate(360deg)}}
@keyframes hp-headlight{0%,100%{opacity:.35}50%{opacity:.7}}
@media(prefers-reduced-motion:reduce){.hp-match-next:before,.hp-drive *,.hp-drive :after{animation:none!important;transition:none!important}.hp-drive-travel{left:calc(50% - 50px)}}
