.route-detail{max-width:1220px;padding-top:26px;padding-bottom:72px}
.route-detail .back-link{gap:10px;font-size:13px;margin-bottom:16px}
.route-detail .back-link span{font-size:20px}
.ride-heading{max-width:1000px;padding:12px 0 30px}
.ride-kicker{font-size:11px;font-weight:800;letter-spacing:1.6px;color:var(--muted-fg);margin:0 0 12px}
.route-detail h1{font-size:clamp(34px,4.1vw,56px);letter-spacing:-1.8px;line-height:1.1;margin:0 0 22px;text-wrap:balance}
.ride-author-line{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.route-detail .ride-byline{margin:0;font-size:13px}
.route-detail .ride-avatar{width:38px;height:38px;background:var(--muted)}
.route-detail .ride-avatar svg{fill:var(--muted-fg)}
.route-detail .ride-username{font-size:13px}
.route-detail .anonymous-badge{background:var(--muted)}
.route-detail .ride-photo-section{margin:0 0 32px}
.route-detail .ride-photos{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:260px;gap:8px;overflow:hidden;border-radius:16px}
.route-detail .ride-photos[hidden]{display:none}
.route-detail .ride-photos .photo-preview{height:100%;border-radius:0;overflow:hidden}
.route-detail .ride-photos .photo-preview:only-child{grid-column:1/-1}
.route-detail .ride-photos .photo-preview:nth-child(n+4){height:100px}
.route-detail .ride-photos:has(.photo-preview:nth-child(4)){grid-auto-rows:100px}
.route-detail .ride-photos:has(.photo-preview:nth-child(4)) .photo-preview:nth-child(-n+3){grid-row:span 3}
.route-detail .ride-photos img{height:100%;width:100%;aspect-ratio:auto;object-fit:cover;border-radius:0}
.ride-photo-caption{margin:8px 0 0;color:var(--muted-fg);font-size:11px}
.ride-overview{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:32px;align-items:start}
.ride-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 0 15px}
.route-detail h2{font-size:25px;letter-spacing:-.7px;line-height:1.25;margin:0 0 16px}
.ride-section-heading h2{margin:0}
.ride-section-heading>span{font-size:11px;color:var(--muted-fg);white-space:nowrap}
.route-detail .detail-visual{position:relative;border:1px solid var(--border);border-radius:16px;margin:0;background:var(--muted)}
.route-detail .detail-visual .route-preview,.route-detail .ride-map{height:480px;min-height:0;aspect-ratio:auto;border-radius:15px}
.route-detail .map-action{position:absolute;bottom:22px;left:16px;margin:0;background:var(--card);box-shadow:0 2px 10px #20272212;font-size:12px;min-height:42px}
.route-detail .ride-notice{font-size:11px;line-height:1.6;max-width:630px;margin:12px 0 0}
.ride-summary{padding:26px;border:1px solid var(--border);border-radius:16px;background:var(--card);margin-top:46px}
.ride-summary-label{font-size:14px;font-weight:700;margin:0 0 22px}
.ride-facts{display:grid;grid-template-columns:1fr 1fr;gap:22px 16px;margin:0}
.ride-facts>div{min-width:0}
.ride-facts dt{font-size:11px;color:var(--muted-fg);margin-bottom:5px}
.ride-facts dd{font-family:var(--font-heading);font-weight:700;font-size:30px;line-height:1.15;letter-spacing:-.8px;margin:0;font-variant-numeric:tabular-nums}
.ride-facts dd span{font-size:14px;letter-spacing:0;font-family:var(--font-body);font-weight:500}
.ride-facts .ride-secondary-fact dd{font-size:20px;letter-spacing:-.4px}
.ride-time-note{font-size:11px;line-height:1.5;color:var(--muted-fg);margin:16px 0 24px}
.ride-actions{display:grid;gap:9px}
.ride-actions .btn{min-height:46px;padding:10px 12px;width:100%;font-size:13px;justify-content:center;border-radius:9px}
.ride-actions .btn-primary{gap:10px}
.ride-actions .btn-ghost{border:1px solid var(--border);background:var(--card);color:var(--fg)}
.ride-actions .btn-ghost:hover{background:var(--muted)}
.ride-action-status{font-size:11px;line-height:1.5;color:var(--muted-fg);margin:0}
.ride-action-status:not(:empty){margin:12px 0}
.ride-copy-fallback{margin-top:14px}
.ride-copy-fallback label{font-size:11px;color:var(--muted-fg);display:block;margin-bottom:6px}
.ride-copy-fallback input{width:100%;min-height:44px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);padding:8px;font-size:12px}
.ride-gpx-link,.ride-text-action{padding:8px 0;min-height:44px;border:0;background:none;color:var(--fg);font:600 12px var(--font-body);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.ride-gpx-link{width:100%;border-top:1px solid var(--border);padding-top:17px;margin-top:16px}
.ride-story-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:32px;margin-top:42px}
.ride-story{min-width:0}
.route-detail .ride-notes,.route-detail .ride-recorded-journey{padding:28px 0;border-top:1px solid var(--border)}
.route-detail .ride-body{font-size:15px;line-height:1.8;color:var(--fg)}
.ride-section-intro{font-size:13px;line-height:1.65;color:var(--muted-fg);margin:-4px 0 18px}
.route-detail .ride-data-section{margin:22px 0 0;padding:22px 0 0}
.route-detail .section-title{font-size:11px;letter-spacing:1.2px;color:var(--muted-fg);margin-bottom:15px}
.route-detail .ride-social-row{margin-top:14px}
.route-detail .ride-published{display:none}
.ride-technical{border:0;border-block:1px solid var(--border);border-radius:0;background:transparent;padding:0 0 4px}
.ride-technical>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 0;cursor:pointer;list-style:none;font-family:var(--font-heading);font-size:23px;font-weight:700;letter-spacing:-.5px}
.ride-technical>summary::-webkit-details-marker{display:none}
.ride-technical>summary::after{display:none}
.ride-technical summary small{display:block;font-family:var(--font-body);font-weight:400;font-size:12px;letter-spacing:0;color:var(--muted-fg);margin-top:7px}
.ride-details-symbol{font-family:var(--font-body);font-size:26px;font-weight:400}
.ride-technical[open] .ride-details-symbol{transform:rotate(45deg)}
.ride-technical .ride-data-section:first-child{margin-top:0}
.ride-technical #ride-more-sections{padding-bottom:22px}
.ride-next{padding:28px;border-radius:16px;background:#361417;color:#f6f2f1;border-left:3px solid #df382f;align-self:start}
.ride-next h2{font-size:27px;max-width:220px}
.ride-next p:not(.ride-kicker){font-size:13px;line-height:1.75;color:var(--muted-fg);margin:0 0 18px}
.ride-next>a{display:inline-flex;align-items:center;gap:16px;min-height:44px;font-size:13px;font-weight:700;color:var(--fg);text-decoration:none}
.ride-empty-help{margin-top:32px;padding:32px;border:1px solid var(--border);border-radius:16px;background:var(--card);max-width:650px}
.ride-empty-help p{color:var(--muted-fg);font-size:14px;line-height:1.7}
.route-detail :is(button,a,summary,input):focus-visible{outline:3px solid #ef6259;outline-offset:4px}
.route-detail .loading-message{min-height:110px;font-size:16px}
.route-surface .photo-view-dialog{background:#191618;color:#fff}
@media(max-width:1000px){.ride-overview,.ride-story-layout{grid-template-columns:minmax(0,1fr) 300px;gap:24px}.ride-summary{padding:22px}.route-detail .detail-visual .route-preview,.route-detail .ride-map{height:450px}.ride-facts dd{font-size:27px}}
@media(max-width:760px){.route-detail{padding:16px 20px 48px}.route-detail h1{letter-spacing:-1.1px;font-size:35px}.ride-heading{padding:8px 0 26px}.ride-author-line{gap:12px}.ride-author-line .ride-byline{flex-basis:100%;font-size:12px}.ride-overview,.ride-story-layout{grid-template-columns:1fr;gap:24px}.ride-summary{margin-top:0;padding:24px}.ride-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.ride-facts dd{font-size:33px}.ride-actions{grid-template-columns:1fr}.ride-actions #open-ride{grid-column:1/-1}.ride-actions .btn{font-size:12px}.ride-summary-label{margin-bottom:18px}.route-detail .detail-visual .route-preview,.route-detail .ride-map{height:350px}.ride-section-heading{align-items:flex-start;gap:10px}.ride-section-heading h2{font-size:24px;max-width:70%}.ride-section-heading>span{font-size:10px;line-height:1.5;max-width:85px;white-space:normal;text-align:right}.ride-story-layout{margin-top:32px}.ride-next{max-width:none}.ride-next h2{max-width:none}.route-detail .ride-photos{grid-template-columns:2fr 1fr;grid-auto-rows:220px}.route-detail .ride-photos:has(.photo-preview:nth-child(3)){grid-auto-rows:92px}.route-detail .ride-photos:has(.photo-preview:nth-child(3)) .photo-preview:first-child{grid-row:span 2}.route-detail .ride-photos:has(.photo-preview:nth-child(4)) .photo-preview:nth-child(2),.route-detail .ride-photos:has(.photo-preview:nth-child(4)) .photo-preview:nth-child(3){grid-row:span 1}.route-detail .ride-photos .photo-preview:nth-child(n+4){height:92px}.route-detail .ride-photos .photo-preview:nth-child(n+4){grid-column:auto}.ride-notice{max-width:none}.ride-story .ride-notes{padding-top:0;border-top:0}}
@media(prefers-reduced-motion:reduce){.route-detail *{scroll-behavior:auto}}
