.activity-map-hero{position:relative;overflow:hidden;min-height:clamp(470px,55vw,650px);border:1px solid rgba(255,255,255,.13);border-radius:28px;background:#071016;box-shadow:0 32px 100px rgba(0,0,0,.34);isolation:isolate}.activity-map-hero>.satellite-trace-card{position:absolute;inset:0;border:0;border-radius:0}.activity-map-hero>.satellite-trace-card>header{display:none}.activity-map-hero .ride-map-stage,.activity-map-hero .ride-map-stage svg{width:100%;height:100%;min-height:100%}.activity-map-hero .satellite-map-image{filter:saturate(.98) brightness(.92) contrast(1.08)}.activity-map-hero .satellite-map-shade{fill:rgba(2,8,11,.02)}.activity-map-hero .map-recorded-trace{stroke-width:4;filter:drop-shadow(0 0 7px rgba(32,231,226,.98))}.activity-map-hero .map-trace-halo{stroke-width:11}.activity-map-hero .ride-map-legend{top:18px;bottom:auto}.activity-map-hero .ride-map-attribution{top:18px;right:17px;bottom:auto}.activity-map-vignette{position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(3,8,12,.03) 30%,rgba(3,7,11,.3) 55%,rgba(3,7,11,.98) 100%),linear-gradient(90deg,rgba(3,7,11,.25),transparent 45%)}.activity-map-copy{position:absolute;z-index:3;left:clamp(24px,4vw,54px);right:clamp(24px,4vw,54px);bottom:clamp(24px,4vw,46px);display:flex;align-items:end;justify-content:space-between;gap:35px}.activity-map-title{display:grid;gap:9px;min-width:0}.activity-map-title h1{max-width:700px;font-size:clamp(39px,5.2vw,78px);line-height:.9;letter-spacing:-.065em;text-shadow:0 6px 30px #000}.activity-map-title>p:last-child{display:flex;align-items:center;gap:9px;color:#b9c4ce;font-size:10px}.activity-avatar{display:grid;place-items:center;width:25px;height:25px;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:linear-gradient(145deg,var(--cyan),#39e7bc);color:#051114;font-size:7px;font-weight:950}.activity-map-stats{display:grid;grid-template-columns:repeat(4,minmax(78px,1fr));gap:1px;overflow:hidden;min-width:min(560px,52%);border:1px solid rgba(255,255,255,.12);border-radius:15px;background:rgba(255,255,255,.1);backdrop-filter:blur(15px)}.activity-map-stats>span{display:grid;gap:6px;padding:16px 17px;background:rgba(7,12,17,.72)}.activity-map-stats strong{font-size:20px;letter-spacing:-.04em}.activity-map-stats small{color:#8e9aa7;font-size:7px;font-weight:900;letter-spacing:.13em}.course-profile-only{grid-template-columns:1fr}.course-profile-only>.analysis-chart{min-height:0}
.power-distribution,.ride-gallery{position:relative;overflow:hidden;padding:clamp(20px,2.5vw,34px);border:1px solid rgba(255,255,255,.1);border-radius:24px;background:radial-gradient(circle at 7% 0,rgba(21,221,234,.08),transparent 30%),linear-gradient(145deg,#101720,#090d13);box-shadow:0 24px 80px rgba(0,0,0,.2)}
.power-distribution-head,.ride-gallery-head{display:flex;align-items:end;justify-content:space-between;gap:26px;margin-bottom:24px}.power-distribution-head>div:first-child,.ride-gallery-head>div:first-child{display:grid;gap:7px}.power-distribution-head h2,.ride-gallery-head h2{font-size:clamp(27px,3vw,40px);line-height:.98;letter-spacing:-.05em}.power-distribution-head small,.ride-gallery-head small{color:var(--muted);font-size:9px;line-height:1.5}.power-distribution-head>div:last-child{display:grid;justify-items:end;gap:5px}.power-distribution-head>div:last-child span,.ride-gallery-head>strong{color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.15em}.power-distribution-head>div:last-child strong{color:#e8faff;font-size:21px;letter-spacing:-.035em}
.power-distribution-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:18px}.power-chart-panel{min-width:0}.power-marker-key{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:8px}.power-marker-key>span{display:grid;grid-template-columns:6px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;padding:9px 12px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(4,8,12,.5)}.power-marker-key i{width:5px;height:19px;border-radius:8px;background:currentColor;box-shadow:0 0 10px currentColor}.power-marker-key small{overflow:hidden;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.14em;text-overflow:ellipsis;white-space:nowrap}.power-marker-key strong{color:currentColor;font-size:14px;letter-spacing:-.025em;white-space:nowrap}.power-marker-key em{font-size:.72em;font-style:normal;letter-spacing:.04em}.power-marker-key .is-average{color:#e8faff}.power-marker-key .is-maximum{color:#ff8594}.power-chart-scroll{overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid rgba(255,255,255,.07);border-radius:17px;background:rgba(4,8,12,.56);scrollbar-width:thin;scrollbar-color:rgba(21,221,234,.3) transparent}.power-distribution-chart{display:block;width:100%;min-width:700px;height:auto}.power-grid line{stroke:rgba(255,255,255,.07);stroke-width:1}.power-grid text,.power-zone-band text{fill:#71808e;font-family:inherit;font-size:10px;font-weight:800;letter-spacing:.07em}.power-zone-band rect{opacity:.08}.power-bin{opacity:.92;transition:opacity .2s}.power-bin:hover{opacity:1;filter:drop-shadow(0 0 7px currentColor)}.power-marker line{stroke-width:1.5;stroke-dasharray:4 4}.power-marker circle{stroke-width:1.5;fill:#071016}.power-marker.is-average line,.power-marker.is-average circle{stroke:#fff}.power-marker.is-maximum line,.power-marker.is-maximum circle{stroke:#ff6577}
.power-zone-summary{display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.07);border-radius:17px;background:rgba(4,8,12,.5)}.power-zone-summary>header{display:flex;justify-content:space-between;padding:15px 16px;border-bottom:1px solid rgba(255,255,255,.07);color:var(--muted);font-size:7px;font-weight:900;letter-spacing:.14em}.power-zone-row{display:grid;grid-template-columns:6px 1fr auto 32px;gap:9px;align-items:center;min-height:37px;padding:8px 13px;border-bottom:1px solid rgba(255,255,255,.045)}.power-zone-row:last-child{border-bottom:0}.power-zone-row i{width:5px;height:22px;border-radius:9px;background:var(--zone-color);box-shadow:0 0 10px color-mix(in srgb,var(--zone-color),transparent 45%)}.power-zone-row span{color:#b9c3ce;font-size:8px;font-weight:750}.power-zone-row strong{font-size:10px}.power-zone-row small{color:var(--muted);font-size:8px;text-align:right}
.ride-gallery{padding:0;background:#090e14}.ride-gallery-head{margin:0;padding:clamp(20px,2.5vw,31px)}.ride-gallery-head>strong{align-self:center;padding:9px 11px;border:1px solid rgba(21,221,234,.18);border-radius:99px;background:rgba(21,221,234,.06);color:var(--cyan)}.ride-photo-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:190px;gap:4px;padding:4px}.ride-photo-card{position:relative;grid-column:span 4;overflow:hidden;border-radius:10px;background:#111923}.ride-photo-card.is-featured{grid-column:span 8;grid-row:span 2}.ride-photo-card:nth-child(4n+2){grid-column:span 4;grid-row:span 2}.ride-photo-card button{width:100%;height:100%;cursor:zoom-in}.ride-photo-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.95) contrast(1.03);transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .35s}.ride-photo-card:hover img{transform:scale(1.035);filter:saturate(1.1) contrast(1.04)}.ride-photo-card::after{content:"";position:absolute;inset:35% 0 0;pointer-events:none;background:linear-gradient(transparent,rgba(2,5,8,.9))}.ride-photo-card figcaption{position:absolute;z-index:2;left:16px;right:16px;bottom:14px;display:grid;grid-template-columns:1fr auto;gap:4px;pointer-events:none;text-shadow:0 2px 8px #000}.ride-photo-card figcaption span{grid-column:1;color:#e9fbff;font-size:9px;font-weight:850;letter-spacing:.08em}.ride-photo-card figcaption span i{color:var(--cyan);font-style:normal}.ride-photo-card figcaption strong{grid-column:2;grid-row:1/3;align-self:end;color:#fff;font-size:18px}.ride-photo-card figcaption small{grid-column:1;color:#aab7c4;font-size:8px}
.ride-photo-viewer{position:fixed;z-index:120;inset:0;display:grid;grid-template-columns:72px minmax(0,1fr) 72px;grid-template-rows:minmax(0,1fr) auto;align-items:center;gap:18px;padding:clamp(18px,4vw,64px);background:rgba(1,4,7,.92);backdrop-filter:blur(18px)}.ride-photo-viewer>img{grid-column:2;grid-row:1;width:100%;height:100%;max-height:calc(100vh - 150px);object-fit:contain;border-radius:15px;filter:drop-shadow(0 25px 70px #000)}.ride-photo-viewer>div{grid-column:2;display:grid;grid-template-columns:1fr auto;gap:5px;padding:0 4px}.ride-photo-viewer>div strong{grid-column:2;grid-row:1/3;font-size:20px}.ride-photo-viewer>div span{color:#fff;font-size:11px;font-weight:850}.ride-photo-viewer>div small{color:var(--muted);font-size:9px}.ride-photo-viewer>div span i{color:var(--cyan);font-style:normal}.ride-photo-close{position:absolute;top:22px;right:24px;z-index:2;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(10,15,21,.65);color:#fff;font-size:25px}.ride-photo-nav{display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(10,15,21,.65);font-size:20px}.ride-photo-nav.is-previous{grid-column:1;grid-row:1}.ride-photo-nav.is-next{grid-column:3;grid-row:1}.ride-photo-open{overflow:hidden}
@media(max-width:1050px){.activity-map-copy{display:grid}.activity-map-stats{min-width:min(560px,100%);width:100%}}
@media(max-width:900px){.power-distribution-layout{grid-template-columns:1fr}.power-zone-summary{display:grid;grid-template-columns:repeat(2,1fr)}.power-zone-summary>header{grid-column:1/-1}.power-zone-row:nth-child(even){border-right:1px solid rgba(255,255,255,.045)}.ride-photo-grid{grid-auto-rows:155px}.ride-photo-card,.ride-photo-card.is-featured,.ride-photo-card:nth-child(4n+2){grid-column:span 6;grid-row:span 1}.ride-photo-card.is-featured{grid-column:1/-1;grid-row:span 2}}
@media(max-width:720px){.activity-map-hero{min-height:520px;border-radius:21px}.activity-map-hero .ride-map-stage svg{min-height:520px}.activity-map-hero .ride-map-legend{top:12px;left:11px}.activity-map-hero .ride-map-attribution{display:block;top:13px;right:10px}.activity-map-copy{left:19px;right:19px;bottom:19px;gap:18px}.activity-map-title h1{font-size:39px}.activity-map-title>p:last-child{align-items:start;font-size:8px;line-height:1.5}.activity-map-stats{grid-template-columns:1fr 1fr;border-radius:13px}.activity-map-stats>span{padding:12px 13px}.activity-map-stats strong{font-size:17px}.power-distribution,.ride-gallery{margin-left:-2px;margin-right:-2px;border-radius:20px}.power-distribution{padding:18px}.power-distribution-head,.ride-gallery-head{align-items:start;margin-bottom:18px}.power-distribution-head>div:last-child{justify-items:start}.power-distribution-head{display:grid}.power-distribution-head h2,.ride-gallery-head h2{font-size:28px}.power-marker-key{margin-right:0}.power-marker-key>span{padding:9px 10px}.power-chart-scroll{margin-right:-18px;border-right:0;border-radius:14px 0 0 14px}.power-distribution-chart{min-width:660px}.power-zone-summary{grid-template-columns:1fr 1fr}.power-zone-row{grid-template-columns:5px 1fr auto;padding:8px 10px}.power-zone-row small{display:none}.ride-gallery-head{padding:19px}.ride-gallery-head>strong{display:none}.ride-photo-grid{display:flex;overflow-x:auto;gap:9px;padding:0 14px 15px;scroll-snap-type:x mandatory;scrollbar-width:none}.ride-photo-grid::-webkit-scrollbar{display:none}.ride-photo-card,.ride-photo-card.is-featured,.ride-photo-card:nth-child(4n+2){flex:0 0:84vw;height:235px;scroll-snap-align:center}.ride-photo-viewer{grid-template-columns:40px minmax(0,1fr) 40px;gap:7px;padding:56px 8px 24px}.ride-photo-viewer>img{max-height:calc(100vh - 145px);border-radius:9px}.ride-photo-nav{width:38px;height:38px}.ride-photo-close{top:12px;right:12px}.ride-photo-viewer>div{font-size:9px}}
@media(max-width:390px){.power-marker-key{gap:6px}.power-marker-key>span{grid-template-columns:5px minmax(0,1fr) auto;gap:7px;padding:8px}.power-marker-key i{width:4px;height:17px}.power-marker-key strong{font-size:13px}.power-zone-summary{grid-template-columns:1fr}.power-zone-summary>header{grid-column:1}.power-zone-row:nth-child(even){border-right:0}.ride-photo-card,.ride-photo-card.is-featured,.ride-photo-card:nth-child(4n+2){flex-basis:86vw;height:215px}}
.ride-photo-viewer{z-index:10000;width:100vw;height:100vh;height:100dvh;grid-template-columns:none;grid-template-rows:none;gap:0;padding:0;background:rgba(0,2,4,.98);backdrop-filter:blur(22px)}
.ride-photo-viewer>img{position:absolute;inset:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;border-radius:0;object-fit:contain;filter:drop-shadow(0 28px 90px #000)}
.ride-photo-viewer>.ride-photo-caption{position:absolute;z-index:2;right:0;bottom:0;left:0;display:grid;grid-template-columns:1fr auto;align-items:end;gap:5px;padding:72px max(28px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(28px,env(safe-area-inset-left));background:linear-gradient(transparent,rgba(0,2,4,.86));pointer-events:none}
.ride-photo-viewer>.ride-photo-caption strong{grid-column:2;grid-row:1/3;font-size:clamp(18px,2vw,27px)}
.ride-photo-viewer>.ride-photo-caption span{font-size:clamp(10px,1.1vw,13px)}
.ride-photo-viewer>.ride-photo-caption small{font-size:clamp(8px,.9vw,11px)}
.ride-photo-viewer>.ride-photo-close{top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));width:48px;height:48px;background:rgba(5,9,13,.78);backdrop-filter:blur(12px)}
.ride-photo-viewer>.ride-photo-nav{position:absolute;z-index:3;top:50%;width:54px;height:54px;margin:0;background:rgba(5,9,13,.72);backdrop-filter:blur(12px);transform:translateY(-50%)}
.ride-photo-viewer>.ride-photo-nav.is-previous{left:max(16px,env(safe-area-inset-left))}.ride-photo-viewer>.ride-photo-nav.is-next{right:max(16px,env(safe-area-inset-right))}
@media(max-width:720px){.ride-photo-viewer{display:block;padding:0}.ride-photo-viewer>img{max-height:none;border-radius:0}.ride-photo-viewer>.ride-photo-nav{top:auto;bottom:max(22px,env(safe-area-inset-bottom));width:44px;height:44px;transform:none}.ride-photo-viewer>.ride-photo-nav.is-previous{left:max(14px,env(safe-area-inset-left))}.ride-photo-viewer>.ride-photo-nav.is-next{right:max(14px,env(safe-area-inset-right))}.ride-photo-viewer>.ride-photo-caption{right:62px;left:62px;padding:65px 0 max(24px,env(safe-area-inset-bottom))}.ride-photo-viewer>.ride-photo-caption strong{font-size:18px}.ride-photo-viewer>.ride-photo-caption span{font-size:9px}.ride-photo-viewer>.ride-photo-caption small{font-size:8px}}
@media(prefers-reduced-motion:reduce){.ride-photo-card img{transition:none}}
.activity-map-hero .satellite-map-image{image-rendering:auto;filter:none}.activity-map-hero .satellite-map-shade{fill:rgba(2,8,11,.045)}
