.terrain-page .terrain-intro{padding:42px 0 30px}.terrain-intro .breadcrumb{margin-bottom:26px}.terrain-heading{display:flex;justify-content:space-between;align-items:end;gap:25px}.terrain-heading h1{font-size:clamp(48px,5vw,76px);margin:10px 0 14px;line-height:1}.terrain-heading p{font-size:14px;max-width:630px;color:#aabac9;margin:0}.terrain-heading .btn{white-space:nowrap;margin-bottom:5px}.terrain-page .trail-section{padding-top:0}.terrain-explorer{border:1px solid #314753;border-radius:14px;background:#101e29;overflow:hidden;isolation:isolate}.terrain-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;background:#11212d;border-bottom:1px solid #2b404e}.terrain-modes{display:flex;background:#09151f;padding:4px;border:1px solid #30424f;border-radius:9px;gap:3px}.terrain-modes button{font:700 12px Manrope,Arial,sans-serif;min-height:42px;padding:9px 16px;background:transparent;border:0;border-radius:5px;color:#9eb4c7}.terrain-modes button[aria-pressed=true]{background:#2a465a;color:#f2f8ff;box-shadow:0 2px 8px #0003}.terrain-modes button:hover{color:white}.terrain-toolbar>a{font-size:11px;color:#c6d8e6;white-space:nowrap}.terrain-workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;min-width:0}.terrain-stage{position:relative;background:#0b1c27;min-width:0;height:600px;overflow:hidden}.terrain-stage canvas{display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab;opacity:0}.terrain-stage.is-ready canvas{opacity:1}.terrain-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}.terrain-stage:not(.is-ready) .terrain-fallback{z-index:0}.terrain-stage:not(.is-ready) .terrain-landmark,.terrain-stage:not(.is-ready) .active-run-label{display:none}.terrain-topmark{position:absolute;top:22px;left:23px;pointer-events:none;display:flex;align-items:center;gap:11px}.terrain-topmark img{width:33px;height:37px}.terrain-topmark strong{display:block;font-size:11px;letter-spacing:.12em}.terrain-topmark small{font-size:9px;color:#92aaba;letter-spacing:.08em;text-transform:uppercase}.terrain-data-tag{position:absolute;right:21px;top:24px;font-size:9px;letter-spacing:.12em;color:#829ead;text-align:right;line-height:1.8}.terrain-landmark{position:absolute;pointer-events:none;transform:translate(-50%,-100%);text-align:center;white-space:nowrap;text-shadow:0 1px 6px #000;background:#0b1920d9;border:1px solid #537182;padding:7px 12px;border-radius:6px;z-index:2}.terrain-landmark strong{font-size:10px;letter-spacing:.13em;display:block;color:#f3e5c9}.terrain-landmark small{font-size:9px;color:#b3cad7}.terrain-landmark:after{content:'';display:block;position:absolute;left:50%;top:100%;height:20px;border-left:1px solid #809dab}.terrain-landmark.base{transform:translate(-50%,0)}.terrain-landmark.base:after{top:auto;bottom:100%;height:10px}.active-run-label{position:absolute;transform:translate(-50%,-100%);font-size:11px;font-weight:700;pointer-events:none;color:#fff;background:#152d3bdc;padding:6px 10px;border-radius:5px;max-width:180px;text-align:center;border:1px solid #7fabbc;white-space:nowrap}.map-hover{position:absolute;bottom:95px;left:23px;background:#0a1725e6;border:1px solid #5e8197;padding:8px 12px;font-size:11px;pointer-events:none;border-radius:5px}.view-controls{position:absolute;bottom:42px;left:20px;right:20px;display:flex;align-items:center;gap:5px}.view-controls button{min-width:39px;min-height:39px;border:1px solid #3d586c;background:#0b1a27e8;color:#d9e9f4;border-radius:6px;font-size:15px;padding:7px 10px;backdrop-filter:blur(6px)}.view-controls button:hover{background:#284555}.view-controls button:disabled{opacity:.35;cursor:default}.view-controls #map-reset,.view-controls #map-expand{font-size:10px;font-weight:700}.view-controls #map-expand{margin-left:auto}.terrain-interaction-hint{position:absolute;bottom:14px;left:22px;margin:0;font-size:9px;color:#90acbe;pointer-events:none}.terrain-status{position:absolute;top:85px;left:20px;right:20px;background:#0b1727ee;padding:14px 17px;border:1px solid #8d795a;border-radius:7px;color:#e6d8ba;font-size:12px;z-index:3}.terrain-panel{background:linear-gradient(155deg,#192c3a,#0e1b27 80%);border-left:1px solid #2c4354;padding:24px;min-width:0}.terrain-panel label{font-size:9px;letter-spacing:.12em;color:#a6bac9}.terrain-panel select{font-size:15px;font-weight:800;color:#f5f9fc;padding:13px 12px;background:#0c1925;border-color:#476171;width:100%;min-width:0;min-height:49px;border-radius:6px}.run-tags{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:13px 0 20px;font-size:10px;color:#a3bacb}.run-class{color:#dae6ee;font-weight:800}.run-class.easy{color:#6ed9b2}.run-class.intermediate{color:#88c9fa}.run-class.expert{color:#d9b3fa}.run-lighting:before{content:'·';padding-right:8px}.profile-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;padding:16px 0 17px;border-block:1px solid #314553}.profile-stats strong{display:block;font-family:'Barlow Condensed',Impact,sans-serif;font-size:27px;letter-spacing:.02em;line-height:1.1;font-weight:600;white-space:nowrap}.profile-stats span{display:block;color:#96acbc;font-size:9px;line-height:1.5;margin-top:6px}.profile-heading{display:flex;align-items:baseline;justify-content:space-between;margin:22px 0 12px}.profile-heading h3{font-family:Manrope,Arial,sans-serif;font-size:11px;text-transform:none;letter-spacing:0;margin:0}.profile-heading>span{font-size:9px;color:#91a9ba}.elevation-chart{position:relative;margin-bottom:7px}.elevation-chart svg{display:block;width:100%;height:105px;overflow:visible;cursor:crosshair}.profile-scale{display:flex;justify-content:space-between;font-size:9px;color:#9db4c6;margin:8px 0 10px}.terrain-panel input[type=range]{width:100%;height:22px;padding:0;margin:0;accent-color:#9adaf1;cursor:ew-resize;background:transparent;border:0}.terrain-panel .scrub-label{letter-spacing:0;text-transform:none;font-size:10px;margin:9px 0 7px;color:#bfd3e0}.profile-point{display:flex;align-items:baseline;gap:8px;margin:16px 0 15px;flex-wrap:wrap}.profile-point strong{font-size:27px;font-family:'Barlow Condensed',Impact,sans-serif;color:#f1b987}.profile-point>span{font-size:10px;color:#b3c8d7}.profile-point>span:last-child{margin-left:auto;color:#8da4b6}.follow-run{width:100%;background:#a6d9ef;color:#102535;border:1px solid #a6d9ef;border-radius:6px;min-height:43px;font-size:12px;font-weight:800;padding:10px}.follow-run:hover{background:#c9eaf7}.follow-run[aria-pressed=true]{background:#263e50;color:#edf7ff}.profile-coverage{font-size:9px;line-height:1.65;color:#90a9bb;margin:11px 0 0}.terrain-panel .unmapped-run{padding:26px 0;font-size:12px;color:#b7cad9;line-height:1.8;min-height:320px}.run-actions{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #314553;padding-top:15px;margin-top:17px;gap:10px}.run-actions a,.run-actions button{font-size:10px;font-weight:700;color:#c0ddef;background:transparent;border:0;padding:5px 0;text-align:left;min-height:32px}.terrain-panel .share-status{font-size:10px;color:#c6dcee;margin:6px 0 0}.terrain-panel #share-fallback{font-size:11px;margin-top:10px}.terrain-key{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:19px 22px;border-top:1px solid #2c4354;background:#0e1c27}.terrain-key p{font-size:10px;color:#b0c3d2;margin:0}.difficulty-legend{display:flex;gap:15px;flex-wrap:wrap;font-size:10px;color:#c5d6e0}.difficulty-legend .easy{color:#6ed9b2}.difficulty-legend .intermediate{color:#88c9fa}.difficulty-legend .expert{color:#d9b3fa}.difficulty-legend .lift{color:#edc193}.slope-legend{width:280px;max-width:100%;flex:0 0 auto}.slope-gradient{height:7px;border-radius:20px;background:linear-gradient(90deg,#83d6eb,#4fb5d1 30%,#efc278 55%,#ef8959 75%,#c95369)}.slope-values{display:flex;justify-content:space-between;font-size:9px;color:#c5d4df;margin-top:6px}.terrain-attribution{padding:11px 22px;font-size:9px;color:#8ca6b8;border-top:1px solid #233b4b;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.terrain-attribution a{text-decoration:underline;text-underline-offset:3px}.terrain-under{display:grid;grid-template-columns:1.2fr 1fr;gap:25px;margin-top:26px}.terrain-explainer{border:1px solid #304350;border-radius:9px;background:#101b25;padding:24px}.terrain-explainer h2{font-size:28px;margin:5px 0 12px}.terrain-explainer p{font-size:11px;color:#a5bacb;line-height:1.85;margin:9px 0}.terrain-explainer strong{color:#d4e4ee}.terrain-directory{margin-top:28px;border:1px solid #314551;border-radius:9px;background:#101c26;padding:0 24px}.terrain-directory summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:24px 0;font-size:15px;font-weight:800}.terrain-directory summary:after{content:'+';font-size:22px;color:#a6d4ec}.terrain-directory[open] summary:after{content:'−'}.terrain-directory summary span{font-weight:400;color:#99b1c4;font-size:11px;margin-left:15px}.terrain-directory .map-toolbar{margin:0 0 15px}.terrain-directory .trail-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 25px;max-height:none;margin:0;padding:0 0 22px}.terrain-directory .trail-row{min-height:66px;padding:11px 8px}.terrain-directory input[type=search]{max-width:280px;font-size:13px}.terrain-directory .status{font-size:11px}.terrain-directory .map-filters .chip{font-size:10px;padding:10px 12px}.terrain-directory .chip[aria-pressed=true]{background:#31516b;border-color:#779cb7}.terrain-directory .night-toggle{font-size:10px}.terrain-facts-note{font-size:10px;color:#91a8ba;line-height:1.8;margin:20px 0}.terrain-explorer.expanded{position:fixed;inset:14px;z-index:100;overflow:auto;box-shadow:0 0 0 100vmax #050d17eb;display:flex;flex-direction:column}.terrain-explorer.expanded .terrain-workspace{flex:1}.terrain-explorer.expanded .terrain-stage{height:100%;min-height:540px}.terrain-explorer.expanded .terrain-panel{align-self:stretch}.terrain-explorer.expanded .terrain-key,.terrain-explorer.expanded .terrain-attribution,.terrain-explorer.expanded .terrain-toolbar{flex-shrink:0}.terrain-page [hidden]{display:none!important}.terrain-page :focus-visible{outline:2px solid #9ce0fa;outline-offset:4px}
@media(max-width:1100px){.terrain-workspace{grid-template-columns:minmax(0,1fr) 285px}.terrain-panel{padding:20px}.terrain-stage{height:584px}.terrain-key{gap:13px}.terrain-data-tag{display:none}.terrain-heading .btn{font-size:10px;padding:12px}.terrain-toolbar{padding:13px 15px}}
@media(max-width:800px){.terrain-workspace{grid-template-columns:1fr}.terrain-stage{height:480px}.terrain-panel{border-left:0;border-top:1px solid #2c4354;display:grid;grid-template-columns:1fr 1fr;gap:0 28px;padding:24px}.terrain-panel .run-picker,.terrain-panel .run-tags,.terrain-panel .run-actions,.terrain-panel .share-status,.terrain-panel #share-fallback{grid-column:1}.terrain-panel .run-tags{align-self:start;margin:14px 0 0}.terrain-panel #run-profile{grid-column:2;grid-row:1/7}.terrain-panel .run-actions{align-self:end}.terrain-panel .unmapped-run{grid-column:2;grid-row:1/6;min-height:0}.terrain-directory .trail-list{grid-template-columns:1fr 1fr}.terrain-under{gap:16px}.terrain-heading .btn{display:none}.terrain-explorer.expanded .terrain-stage{height:58vh;min-height:350px}.terrain-explorer.expanded .terrain-workspace{display:block}.terrain-explorer.expanded .terrain-panel{display:block}.terrain-explorer.expanded .run-tags{margin-bottom:18px}}
@media(max-width:540px){.terrain-intro .breadcrumb{font-size:10px;margin-bottom:20px}.terrain-page .terrain-intro{padding:26px 0 24px}.terrain-heading h1{font-size:53px}.terrain-heading p{font-size:12px;line-height:1.8}.terrain-heading .eyebrow{font-size:9px}.terrain-explorer{border-radius:10px}.terrain-toolbar{display:block;padding:11px}.terrain-modes{width:100%;gap:2px}.terrain-modes button{flex:1;font-size:11px;padding:8px 5px;white-space:nowrap}.terrain-toolbar>a{display:none}.terrain-stage{height:440px}.terrain-topmark{top:17px;left:15px;gap:9px}.terrain-topmark img{width:27px;height:31px}.terrain-topmark strong{font-size:9px}.terrain-topmark small{font-size:8px}.view-controls{left:12px;right:12px;bottom:40px;gap:4px}.view-controls button{min-width:35px;min-height:40px;padding:7px 9px}.view-controls #map-reset,.view-controls #map-expand{font-size:9px;padding:7px 8px}.terrain-interaction-hint{left:15px;font-size:8px;bottom:16px}.terrain-landmark{padding:6px 9px}.terrain-landmark strong{font-size:8px}.terrain-landmark small{font-size:8px}.active-run-label{font-size:9px;padding:5px 8px}.terrain-panel{display:block;padding:21px}.terrain-panel select{font-size:16px}.terrain-panel .run-tags{margin:12px 0 18px}.profile-stats strong{font-size:31px}.profile-stats span{font-size:10px}.elevation-chart svg{height:116px}.profile-coverage{font-size:10px}.profile-point strong{font-size:30px}.profile-point>span{font-size:11px}.follow-run{min-height:46px}.terrain-key{padding:18px 17px;gap:15px;align-items:start;flex-direction:column}.terrain-key p{font-size:9px;line-height:1.7}.difficulty-legend{gap:10px 16px;font-size:9px}.terrain-attribution{padding:13px 17px;line-height:1.8;font-size:9px;gap:2px}.terrain-under{grid-template-columns:1fr;gap:14px;margin-top:22px}.terrain-explainer{padding:21px}.terrain-explainer h2{font-size:30px}.terrain-explainer p{font-size:11px}.terrain-directory{padding:0 18px;margin-top:22px}.terrain-directory summary{font-size:13px}.terrain-directory summary span{display:block;margin:6px 0 0;font-size:10px}.terrain-directory .trail-list{grid-template-columns:1fr}.terrain-directory .map-toolbar{gap:16px}.terrain-directory .map-filters{gap:6px}.terrain-directory .map-filters .chip{padding:9px 11px}.terrain-directory input[type=search]{max-width:none}.terrain-directory .trail-row strong{font-size:12px}.terrain-facts-note{font-size:9px}.terrain-explorer.expanded{inset:6px}.terrain-explorer.expanded .terrain-stage{height:440px;min-height:0}.terrain-page .action-strip{gap:15px}.terrain-status{top:73px;font-size:11px}.terrain-page .wrap{width:calc(100% - 32px)}}
@media(prefers-reduced-motion:reduce){.terrain-page *{scroll-behavior:auto!important;transition:none!important}}
@media(min-width:801px){.terrain-stage{height:auto;min-height:600px}.terrain-panel{padding-top:21px;padding-bottom:18px}.terrain-panel .profile-heading{margin-top:19px}.terrain-panel .profile-point{margin:12px 0}.terrain-panel .profile-stats{padding:14px 0}.terrain-panel .run-actions{margin-top:13px;padding-top:10px}}
#terrain-explorer{scroll-margin-top:100px}.terrain-panel #point-distance.sr-only{position:absolute}
@media(max-width:540px){.terrain-stage{height:480px}.terrain-topmark>div{display:none}.terrain-explorer.expanded .terrain-stage{height:480px}}

@media(max-width:540px){.terrain-page .terrain-stage .terrain-topmark{top:15px}}
/* V2.2: composed mountain canvas and compact floating trail inspector. */
.terrain-explorer{background:#0a1a24;border-color:#2c424e;border-radius:16px}
.terrain-toolbar{padding:14px 18px;background:#0e202d;gap:16px}.terrain-modes{border:0;background:#081620;padding:3px}.terrain-modes button{font-size:12px;min-height:42px;padding:10px 18px;border-radius:7px}.terrain-modes button[aria-pressed=true]{background:#e1f0f7;color:#102a3c}.terrain-toolbar>a{font-size:12px}.terrain-workspace{position:relative;display:block;min-height:0}.terrain-stage{height:700px;min-height:0;background:#0a1a24}.terrain-panel{position:absolute;right:18px;top:22px;width:298px;padding:20px;background:#102332ed;border:1px solid #395567;border-radius:13px;box-shadow:0 16px 60px #0003;backdrop-filter:blur(16px);z-index:5;display:block}.terrain-panel .run-picker label{font-size:10px;margin:0 0 7px;letter-spacing:.13em;line-height:1.3}.terrain-panel select{font-size:16px;padding:11px 12px;min-height:46px;line-height:1.5;background:#0a1b27;border-color:#526b7d;border-radius:7px}.terrain-panel .run-tags{font-size:10px;line-height:1.45;margin:10px 0 14px;gap:6px}.terrain-panel .profile-stats{padding:13px 0 14px;border-color:#354d5d;gap:9px}.terrain-panel .profile-stats strong{font-size:26px;font-weight:600;letter-spacing:0;line-height:1.1}.terrain-panel .profile-stats span{font-size:9px;line-height:1.4;margin-top:5px}.terrain-panel .profile-heading{margin:17px 0 10px}.terrain-panel .profile-heading h3{font-size:11px;line-height:1.4}.terrain-panel .profile-heading>span{font-size:9px}.terrain-panel .elevation-chart{margin:0}.terrain-panel .elevation-chart svg{height:76px}.terrain-panel .profile-scale{margin:5px 0 8px;font-size:9px;line-height:1.3}.terrain-panel .scrub-label{font-size:10px;margin:5px 0 4px;line-height:1.4}.terrain-panel input[type=range]{height:25px;display:block;margin:0}.terrain-panel .profile-point{margin:7px 0 12px;line-height:1.3;gap:7px}.terrain-panel .profile-point strong{font-size:30px;line-height:1}.terrain-panel .profile-point>span{font-size:10px}.terrain-panel .follow-run{min-height:42px;padding:10px;font-size:12px;line-height:1.5;border-radius:7px;background:#c1e5f6;border-color:#c1e5f6}.terrain-panel .profile-coverage{font-size:10px;line-height:1.6;margin:10px 0 0;color:#a0b6c6}.terrain-panel .run-actions{margin-top:13px;padding-top:10px;gap:8px}.terrain-panel .run-actions a,.terrain-panel .run-actions button{font-size:10px;line-height:1.5;min-height:28px}.terrain-panel .share-status{line-height:1.5}.terrain-panel .unmapped-run{min-height:0;font-size:13px;line-height:1.7;padding:20px 0}.terrain-panel .unmapped-run p{margin:12px 0 0;font-size:12px;line-height:1.8}.terrain-topmark{top:23px;left:24px;gap:10px}.terrain-topmark strong{font-size:11px}.terrain-topmark small{font-size:9px}.terrain-data-tag{display:none}.terrain-landmark{border:0;background:none;box-shadow:none;padding:0;text-shadow:0 1px 3px #02111f,0 0 8px #02111f;z-index:3}.terrain-landmark strong{font-size:11px;font-weight:800;letter-spacing:.15em;color:#f0f7fb;line-height:1.5}.terrain-landmark small{font-size:10px;line-height:1.5;color:#c8dbe7}.terrain-landmark:after{height:19px;border-color:#c2dbe1aa}.terrain-landmark.base:after{height:10px}.active-run-label{font-size:11px;line-height:1.5;font-weight:700;border:1px solid #6994aa66;border-radius:5px;padding:5px 9px;background:#081c28d9;box-shadow:0 3px 12px #0002;z-index:3}.view-controls{bottom:29px;left:22px;right:344px;gap:6px}.view-controls button{width:42px;min-height:42px;padding:7px;background:#102532ed;border-color:#436272;font-size:17px}.view-controls #map-reset,.view-controls #map-expand{width:auto;font-size:11px;padding:8px 13px}.view-controls #map-expand{margin-left:auto}.terrain-interaction-hint{left:24px;bottom:10px;font-size:10px;color:#9ab4c5}.map-hover{bottom:85px;left:24px;font-size:12px}.terrain-key{background:#0e202c;padding:17px 22px;gap:18px}.difficulty-legend{font-size:11px;gap:16px}.terrain-key p{font-size:10px;line-height:1.7}.terrain-attribution{font-size:10px;line-height:1.7;background:#0b1a25;padding:11px 22px}.terrain-attribution a{color:#a7bfce}
#terrain-routes{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.trail-route,.lift-route{fill:none;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.trail-route{stroke:#284857;stroke-width:1.5;opacity:.63}.trail-route.easy{stroke:#237862}.trail-route.intermediate{stroke:#306f9b}.trail-route.expert{stroke:#644b86}.trail-route.selected{stroke:#ffb269;stroke-width:3.1;opacity:1;filter:drop-shadow(0 1px 1px #173347)}.trail-route.muted{opacity:.1}.lift-route{stroke:#c6a37e;stroke-width:1.1;stroke-dasharray:4 6;opacity:.65}.terrain-stage[data-view-mode=steepness] .trail-route{stroke:#193748;opacity:.5;stroke-width:1.2}.terrain-stage[data-view-mode=steepness] .trail-route.selected{stroke:#fff;opacity:1;stroke-width:3;filter:drop-shadow(0 1px 2px #0c263c)}.terrain-stage[data-view-mode=night] .trail-route{stroke:#9bc8e5;opacity:.95;stroke-width:1.8;filter:drop-shadow(0 0 2px #67a7cc)}.terrain-stage[data-view-mode=night] .trail-route.selected{stroke:#ffb269;stroke-width:3}.terrain-stage .trail-route.muted{opacity:.08;filter:none}.terrain-stage:not(.is-ready) #terrain-routes{display:none}
.terrain-explorer.expanded{inset:16px;max-width:1660px;margin:auto;background:#081923;display:flex;overflow:auto}.terrain-explorer.expanded .terrain-workspace{flex:1;min-height:660px;display:block;overflow:hidden}.terrain-explorer.expanded .terrain-stage{height:100%;min-height:660px;max-height:900px}.terrain-explorer.expanded .terrain-panel{height:auto;align-self:auto}.terrain-explorer.expanded .terrain-key{margin-top:auto}
@media(max-width:1150px) and (min-width:901px){.terrain-panel{width:288px;padding:18px;right:15px}.terrain-stage{height:660px}.terrain-topmark strong{font-size:10px}.terrain-topmark small{font-size:8px}.view-controls{right:328px;gap:5px}.view-controls button{min-width:38px;width:38px}.view-controls #map-reset,.view-controls #map-expand{padding:8px 9px;font-size:10px}}
@media(max-width:900px){.terrain-stage{height:520px;min-height:0}.terrain-panel{position:relative;top:auto;right:auto;width:100%;padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:0 26px;border-radius:0;border:0;border-top:1px solid #365262;box-shadow:none;background:#122837;backdrop-filter:none}.terrain-panel .run-picker,.terrain-panel .run-tags,.terrain-panel .run-actions,.terrain-panel .share-status,.terrain-panel #share-fallback{grid-column:1}.terrain-panel .run-tags{align-self:start}.terrain-panel #run-profile{grid-column:2;grid-row:1/7}.terrain-panel .unmapped-run{grid-column:2;grid-row:1/6}.terrain-panel .run-actions{align-self:end}.view-controls{right:22px}.terrain-topmark>div{display:block}.terrain-explorer.expanded .terrain-workspace{flex:0 0 auto;min-height:0;overflow:visible}.terrain-explorer.expanded .terrain-stage{height:520px;min-height:0}.terrain-explorer.expanded .terrain-panel{position:relative;display:grid}.terrain-explorer.expanded .terrain-key{margin-top:0}.terrain-explorer.expanded{max-height:calc(100dvh - 16px);inset:8px}.terrain-explorer.expanded .terrain-workspace{overflow:visible}}
@media(max-width:540px){.terrain-toolbar{padding:10px}.terrain-modes button{font-size:11px;padding:9px 6px}.terrain-stage{height:465px;min-height:0}.terrain-topmark{top:19px;left:18px}.terrain-topmark img{width:26px;height:29px}.terrain-topmark strong{font-size:9px}.terrain-topmark small{font-size:8px}.terrain-landmark strong{font-size:10px}.terrain-landmark small{font-size:9px}.active-run-label{font-size:10px;padding:4px 7px}.view-controls{left:14px;right:14px;bottom:30px;gap:5px}.view-controls button{width:37px;min-width:37px;min-height:42px;font-size:17px}.view-controls #map-reset,.view-controls #map-expand{font-size:10px;padding:8px 9px;min-width:0}.terrain-interaction-hint{left:17px;bottom:10px;font-size:9px}.terrain-panel,.terrain-explorer.expanded .terrain-panel{display:block;padding:22px}.terrain-panel .run-tags{font-size:11px;margin:10px 0 16px}.terrain-panel select{font-size:17px}.terrain-panel .profile-stats strong{font-size:30px}.terrain-panel .profile-stats span{font-size:10px}.terrain-panel .profile-heading h3{font-size:12px}.terrain-panel .elevation-chart svg{height:85px}.terrain-panel .profile-scale{font-size:10px}.terrain-panel .scrub-label{font-size:11px}.terrain-panel input[type=range]{height:31px}.terrain-panel .profile-point{margin:9px 0 14px}.terrain-panel .profile-point>span{font-size:11px}.terrain-panel .follow-run{min-height:46px;font-size:13px}.terrain-panel .run-actions a,.terrain-panel .run-actions button{font-size:11px;min-height:32px}.terrain-key{padding:18px;gap:13px}.difficulty-legend{font-size:10px;gap:10px 14px}.terrain-key p{font-size:10px}.terrain-attribution{font-size:9px;padding:13px 18px;gap:5px}.terrain-explorer.expanded .terrain-stage{height:465px}.terrain-explorer.expanded{inset:5px;max-height:calc(100dvh - 10px)}}
@media(max-width:360px){.terrain-panel{padding:18px}.view-controls{gap:4px;left:10px;right:10px}.view-controls button{min-width:33px;width:33px}.view-controls #map-reset,.view-controls #map-expand{padding:8px 7px;font-size:9px}.terrain-topmark small{display:none}}
@media(max-width:540px){.terrain-topmark>div{display:none}}
@media(min-width:901px){.terrain-fallback{width:calc(100% - 326px)}}
/* V2.3 — mountain first; illustrated forest on the measured terrain. */
.terrain-stage{height:650px;background:radial-gradient(ellipse at 75% 0%,#b8c8cd 0%,#758f9f 28%,#304d63 55%,#0b1d2b 90%)}
.terrain-stage:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(#071b2d66,transparent 18%,transparent 80%,#091d2bcc)}
.terrain-topmark{z-index:2;padding:10px 13px;border:1px solid #ffffff25;background:#0b2031a6;border-radius:9px;backdrop-filter:blur(8px)}
.terrain-topmark small{color:#bed1df}.terrain-topmark strong{font-size:12px}
.terrain-fallback{width:100%}.view-controls{right:22px;z-index:3}.view-controls #rotate-left,.view-controls #rotate-right{display:none}.terrain-interaction-hint{z-index:3;color:#d5e5ef}
.terrain-panel{position:relative;top:auto;right:auto;width:100%;border:0;border-top:1px solid #466171;border-radius:0;padding:26px;display:grid;grid-template-columns:240px minmax(0,1fr);gap:30px;background:#0c2131;box-shadow:none;backdrop-filter:none}
.run-overview{min-width:0}.terrain-panel #run-profile{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:30px;grid-column:auto;grid-row:auto}.terrain-panel .profile-heading{margin:0 0 13px}.terrain-panel .elevation-chart svg{height:104px}.terrain-panel .profile-stats{padding:0 0 13px;border-top:0}.terrain-panel .profile-point{margin:15px 0}.terrain-panel .run-actions{display:grid;gap:8px;margin-top:26px}.terrain-panel .profile-coverage{font-size:10px}.terrain-panel .run-tags{font-size:11px}.terrain-panel .profile-stats strong{font-size:28px}.terrain-panel .run-picker label{font-size:11px}.terrain-panel .unmapped-run{padding:12px 0;grid-column:2;grid-row:auto}.terrain-explorer.expanded .terrain-stage{height:65vh;min-height:420px;max-height:800px}.terrain-explorer.expanded .terrain-workspace{flex:0 0 auto;overflow:visible;min-height:0}.terrain-explorer.expanded .terrain-panel{display:grid}
.trail-route{stroke-width:1;opacity:.30}.trail-route.selected{stroke:#77d3ff;stroke-width:4;filter:drop-shadow(0 0 3px #1474ad);opacity:1}.lift-route{stroke:#273d49;stroke-width:1;opacity:.8;stroke-dasharray:3 5}.terrain-stage[data-view-mode=steepness] .trail-route.selected{stroke:#fff;stroke-width:3}.slope-gradient{background:linear-gradient(90deg,#fff2b0,#f6d273 25%,#f5a04c 50%,#e35c3b 75%,#aa2945)}
.overlay-control{display:flex;align-items:center;gap:12px;font-size:11px;color:#bed0de;margin-top:13px}.overlay-control input{width:130px;height:24px;padding:0;accent-color:#efaf69;margin:0;border:0}.terrain-key{align-items:center}.terrain-key p{max-width:450px}.terrain-explorer.expanded .terrain-key{margin-top:0}
@media(max-width:1100px){.terrain-panel{grid-template-columns:200px minmax(0,1fr);gap:22px;padding:22px}.terrain-panel #run-profile{grid-template-columns:minmax(0,1fr) 200px;gap:22px}.terrain-panel .profile-stats strong{font-size:25px}}
@media(max-width:800px){.terrain-stage{height:530px}.terrain-panel,.terrain-explorer.expanded .terrain-panel{display:block}.run-overview{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.terrain-panel .run-actions{grid-column:2;grid-row:1/3;margin:0;align-self:center}.terrain-panel .run-tags{grid-column:1;margin:12px 0 22px}.terrain-panel #run-profile{display:grid;grid-template-columns:minmax(0,1fr) 220px;padding-top:22px;border-top:1px solid #354d5d}.terrain-explorer.expanded .terrain-stage{height:60vh;min-height:390px}.terrain-panel .profile-stats strong{font-size:27px}}
@media(max-width:540px){.terrain-stage{height:460px}.terrain-topmark{left:13px;top:14px;padding:8px}.terrain-topmark>div{display:block}.terrain-topmark strong{font-size:9px}.terrain-topmark small{display:none}.terrain-topmark img{width:23px;height:26px}.terrain-panel,.terrain-explorer.expanded .terrain-panel{padding:20px}.run-overview{display:block}.terrain-panel .run-actions{display:flex;margin:10px 0 18px}.terrain-panel #run-profile{display:flex;flex-direction:column;gap:18px;padding-top:20px}.terrain-panel .profile-stats{padding-top:14px;border-top:1px solid #354d5d}.terrain-panel .profile-stats strong{font-size:30px}.terrain-panel .elevation-chart svg{height:100px}.terrain-panel .run-tags{margin:12px 0}.terrain-panel .profile-coverage{font-size:11px}.view-controls{right:14px}.terrain-landmark small{font-size:8px}.terrain-explorer.expanded .terrain-stage{height:460px;min-height:0}.overlay-control input{height:34px}.terrain-interaction-hint{font-size:10px}}
/* Fixed illustrated view: artwork and analytical layers share one projection. */
.terrain-stage:after{background:linear-gradient(#071b2d33,transparent 24%,transparent 70%,#091d2bba)}
.terrain-topmark{background:#0b2031dc}.terrain-landmark{background:#0c2130bf;padding:5px 9px;border-radius:5px;text-shadow:none}.terrain-landmark small{color:#d6e6ef}.active-run-label{background:#0b2233eb}
.trail-route{opacity:.46;stroke-width:1.3}.trail-route.selected{stroke:#62caff;stroke-width:3.3;filter:drop-shadow(0 0 2px #07507b)}.lift-route{stroke:#173245;opacity:.85;stroke-width:1.2;stroke-dasharray:4 5}.terrain-stage[data-view-mode=steepness] .trail-route{opacity:.35}.terrain-stage[data-view-mode=steepness] .trail-route.selected{opacity:1}.terrain-stage[data-view-mode=night] .lift-route{stroke:#e5c795}.view-controls button{background:#0b2031eb}.terrain-interaction-hint{color:#e1eff7}.terrain-panel .profile-heading>span{margin-left:12px}
.profile-average{font-size:11px;color:#b9cddd;margin:10px 0 0}.terrain-fallback{object-fit:cover}.terrain-topmark{max-width:calc(50% - 90px)}
@media(max-width:540px){.terrain-topmark{max-width:none}.terrain-topmark>div{display:none}.terrain-landmark{padding:5px 7px}.terrain-stage{height:460px}}
.terrain-landmark.base{transform:translate(-50%,-100%)}.terrain-landmark.base:after{top:100%;bottom:auto;height:10px}.view-controls button:disabled{opacity:.55;visibility:visible}
/* V2.4: finer-scale forest and room for the complete base area. */
.terrain-stage{height:clamp(620px,80vw,1000px)}.terrain-stage[data-focus=base]{height:520px}
.terrain-explorer.expanded .terrain-stage{height:clamp(680px,80vw,1060px);max-height:none}.terrain-explorer.expanded .terrain-stage[data-focus=base]{height:520px}
.map-framing{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 20px;border-bottom:1px solid #355062;background:#0c1c29}.map-framing>div{display:flex;gap:6px}.map-framing button{min-height:40px;border:1px solid #3e5b6d;border-radius:6px;background:transparent;color:#c5d8e5;font:600 12px Manrope,Arial,sans-serif;padding:9px 15px}.map-framing button[aria-pressed=true]{background:#274659;color:white;border-color:#6c98b0}.map-framing>span{font-size:11px;color:#a7bccb}
.base-area-shortcut{position:absolute;transform:translate(-50%,0);z-index:4;min-height:44px;border:1px solid #c7e5ed;background:#0c2436e8;color:#f6fbff;padding:10px 15px;border-radius:7px;font:700 12px Manrope,Arial,sans-serif;box-shadow:0 4px 16px #06131d55;white-space:nowrap}
.base-pin{position:absolute;transform:translate(-50%,-50%);z-index:6;display:flex;align-items:center;gap:7px;min-height:44px;min-width:44px;padding:5px;border:0;border-radius:22px;background:#102c40ed;color:#fff;box-shadow:0 2px 12px #0005}.base-pin>span{display:grid;place-items:center;width:30px;height:30px;border:1px solid #d8e9f2;border-radius:50%;background:#eef7fa;color:#102535;font-weight:800}.base-pin strong{font-size:11px;padding-right:8px;white-space:nowrap}.base-pin[aria-pressed=true]{outline:3px solid #f6b575}
.base-guide{margin:27px 0;border:1px solid #344b59;background:#0f202c;border-radius:12px;padding:25px}.base-guide-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.base-guide h2{margin:6px 0 0;font-size:34px}.base-guide-heading>a{font-size:12px;color:#bfddee;white-space:nowrap}.base-guide-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.base-guide-grid article{min-width:0}.base-guide-grid button,.base-guide-grid h3{font:700 13px Manrope,Arial,sans-serif;color:#f1f7fc;background:none;border:0;padding:0;margin:0;display:flex;align-items:center;gap:9px;text-align:left;min-height:44px}.base-guide-grid button:hover{text-decoration:underline}.base-guide-grid h3 span,.base-guide-grid button span{display:grid;place-items:center;flex-shrink:0;width:26px;height:26px;border-radius:50%;background:#dceef7;color:#132e42;font-size:12px}.base-guide-grid p{font-size:12px;line-height:1.8;color:#a9c0d0;margin:11px 0}.base-guide-grid a{display:block;font-size:11px;color:#b5d9ef;line-height:1.9;margin:5px 0}.base-selection{font-size:11px;color:#9eb7ca;line-height:1.7;border-top:1px solid #304957;padding-top:16px;margin:20px 0 0}.terrain-stage[data-focus=base] .active-run-label{display:none}
@media(max-width:900px){.base-guide-grid{grid-template-columns:1fr 1fr}.terrain-stage{height:650px}.terrain-explorer.expanded .terrain-stage{height:700px}}
@media(max-width:540px){.terrain-stage,.terrain-explorer.expanded .terrain-stage{height:610px}.terrain-stage[data-focus=base],.terrain-explorer.expanded .terrain-stage[data-focus=base]{height:440px}.map-framing{padding:9px 12px}.map-framing>span{display:none}.map-framing>div{width:100%}.map-framing button{flex:1;font-size:12px}.base-guide{padding:20px}.base-guide-heading{display:block}.base-guide h2{font-size:30px}.base-guide-heading>a{display:inline-block;margin-top:12px}.base-guide-grid{grid-template-columns:1fr;gap:18px}.base-guide-grid p{font-size:12px}.base-guide-grid a{font-size:12px;min-height:32px}.base-pin strong{display:none}.base-area-shortcut{font-size:11px;min-height:42px}.terrain-stage[data-focus=base] .terrain-topmark:after{content:'BASE AREA';font-size:10px;font-weight:700;letter-spacing:.1em}}
.base-detail{position:absolute;left:22px;top:110px;max-width:250px;padding:19px;background:#0d2436f5;border:1px solid #5d7e91;border-radius:10px;z-index:7;box-shadow:0 8px 30px #0004}.base-detail h3{font:700 15px Manrope,Arial,sans-serif;margin:0 35px 10px 0}.base-detail p{font-size:12px;line-height:1.7;color:#c7d9e5;margin:0 0 12px}.base-detail a{font-size:12px;color:#afd7f0;text-decoration:underline;display:block;min-height:28px}.base-detail>button{position:absolute;right:6px;top:6px;width:36px;height:36px;font-size:23px;border:0;background:transparent;color:#d9e8f3}
@media(max-width:540px){.base-detail{top:75px;left:14px;right:14px;max-width:none;padding:14px}.base-detail h3{font-size:13px;margin-bottom:6px}.base-detail p{font-size:11px;line-height:1.55;margin-bottom:6px}.base-detail a{font-size:11px}.base-detail>button{min-height:40px}}
/* V2.5 — distinct mountain and arrival contexts. */
#terrain-explorer [hidden]{display:none!important}
.trail-prompt{align-self:center;max-width:600px;padding:14px 0}.trail-prompt .eyebrow{font-size:10px;color:#96cde8}.trail-prompt h3{font:700 22px Manrope,Arial,sans-serif;margin:8px 0;color:#f1f8fc}.trail-prompt p{font-size:13px;line-height:1.8;color:#b5cbd9;margin:0}
.arrival-panel{padding:28px;display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;background:#0c2131;border-top:1px solid #476374}.arrival-heading .eyebrow{font-size:10px}.arrival-heading h2{font-size:36px;margin:6px 0}.arrival-heading p{font-size:12px;line-height:1.8;color:#b7cbd9;margin:0 0 12px}.arrival-heading button{color:#bde5fc;background:none;border:0;padding:6px 0;min-height:44px;text-align:left;font:600 12px Manrope,Arial,sans-serif}.arrival-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:21px}.arrival-tabs button{display:flex;align-items:center;gap:8px;padding:7px 13px 7px 7px;min-height:44px;border:1px solid #486171;border-radius:23px;background:#102c3e;color:#d2e5f1;font:600 12px Manrope,Arial,sans-serif}.arrival-tabs button span{display:grid;place-items:center;width:28px;height:28px;background:#294b60;border-radius:50%}.arrival-tabs button[aria-pressed=true]{border-color:#f3b476;background:#31424b;color:#fff}.arrival-tabs button[aria-pressed=true] span{background:#efb981;color:#172b3a}.arrival-detail h3{font:700 20px Manrope,Arial,sans-serif;color:#f2f8fc;margin:0 0 8px}.arrival-detail p{font-size:13px;line-height:1.85;color:#c4d6e2;max-width:640px;margin:0 0 7px}.arrival-detail a{display:inline-flex;align-items:center;min-height:44px;color:#aedeff;font-size:12px;font-weight:700}.arrival-note{border-top:1px solid #2f4b5f;padding-top:12px;margin:14px 0 0;font-size:10px;line-height:1.7;color:#99b0c2}.terrain-stage[data-focus=base] #route-cursor{display:none}.terrain-stage[data-focus=base] .trail-route{opacity:.2}.terrain-explorer[data-context=base] .terrain-key{display:none}.terrain-page .base-pin:focus-visible,.terrain-page .arrival-tabs button:focus-visible{outline:3px solid #ffbb77;outline-offset:4px}
@media(max-width:800px){.arrival-panel{grid-template-columns:1fr;gap:15px;padding:23px}.arrival-heading{display:grid;grid-template-columns:1fr auto;column-gap:12px}.arrival-heading .eyebrow,.arrival-heading h2,.arrival-heading p{grid-column:1}.arrival-heading button{grid-column:2;grid-row:1/4;align-self:center}.arrival-heading p{margin:0}.trail-prompt{border-top:1px solid #354d5d;margin-top:18px;padding-top:20px}}
@media(max-width:540px){.arrival-panel{padding:20px;gap:20px}.arrival-heading h2{font-size:32px}.arrival-heading button{font-size:11px;max-width:90px}.arrival-tabs{gap:7px;margin-bottom:19px}.arrival-tabs button{font-size:10px;padding-right:10px}.arrival-tabs button span{width:23px;height:23px}.arrival-detail h3{font-size:18px}.arrival-detail p{font-size:12px}.terrain-interaction-hint{max-width:calc(100% - 30px);font-size:9px}.trail-prompt h3{font-size:19px}.trail-prompt p{font-size:12px}}
/* V2.6 — legible difficulty ribbons and separate, recognizable lift geometry. */
.trail-ribbon{--trail-color:#17232d}.trail-ribbon.easy{--trail-color:#168352}.trail-ribbon.intermediate{--trail-color:#1575bd}
.trail-casing,.lift-casing{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.trail-casing{stroke:#fffefa;stroke-width:12;opacity:.94}
.terrain-stage .trail-ribbon .trail-route{stroke:var(--trail-color);stroke-width:8;opacity:1;filter:none}
.trail-ribbon.selected .trail-casing{stroke:#ffc58b;stroke-width:17;opacity:1}.terrain-stage .trail-ribbon.selected .trail-route{stroke-width:11}
.trail-ribbon.muted{opacity:.10}.terrain-stage[data-view-mode=night] .trail-ribbon.muted{opacity:.04}
.terrain-stage[data-view-mode=steepness] .trail-lines{visibility:hidden}
.terrain-stage[data-focus=base] .trail-lines{opacity:.17}
.lift-casing{stroke:#fff4d9;stroke-width:6;opacity:.92}
.terrain-stage .lift-route{stroke:#79502f;stroke-width:2.7;stroke-dasharray:none;opacity:1}
.lift-chair{color:#243645;filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 2px #fff)}
.lift-terminal{fill:#ffe1a6;stroke:#67492f;stroke-width:2;vector-effect:non-scaling-stroke}
.lift-drawing.is-selected .lift-casing{stroke:#ffc077;stroke-width:9}.lift-drawing.is-selected .lift-terminal{stroke:#e17c36;stroke-width:3}
.map-trail-tag,.map-lift-tag{position:absolute;z-index:3;display:flex;align-items:center;justify-content:center;gap:6px;font:800 11px Manrope,Arial,sans-serif;line-height:1.3;white-space:nowrap;min-height:34px;border-radius:7px;padding:5px 9px;box-shadow:0 2px 8px #071a2945}
.map-trail-tag{transform:translate(-50%,-50%);background:#fffef5;outline:1px solid #0a253224;border:1px solid #fff;color:#193041}
.map-trail-tag:hover{background:#fff;box-shadow:0 2px 12px #0005}.map-trail-tag.is-selected{border-color:#f2a965;outline:2px solid #f2a965}
.map-difficulty{display:inline-flex;align-items:center;justify-content:center;font-size:15px;color:#15232d;line-height:1;letter-spacing:-2px;min-width:20px;padding-right:2px}
.map-difficulty.easy{color:#168352}.map-difficulty.intermediate{color:#1575bd}.map-difficulty.expert{font-size:14px;min-width:23px;letter-spacing:-4px;padding-right:4px}
.map-trail-tag.compact{min-height:36px;min-width:38px;padding:5px}.map-trail-tag.compact .tag-name{display:none}
.map-lift-tag{transform:translate(0,-50%);background:#142c3ce8;border:1px solid #dec69a;color:#ffe7b8;padding:5px 8px;font-size:10px;gap:5px}
.map-lift-tag>span:first-child{font-size:19px;line-height:1}.map-lift-tag:hover,.map-lift-tag[aria-pressed=true]{background:#33414a;border-color:#fff2cf}
.terrain-topmark,.terrain-landmark,.active-run-label{z-index:4}.view-controls{z-index:5}.map-hover{z-index:6}
.map-label-toggle{display:flex;align-items:center;gap:8px;margin:0;font-size:11px;color:#c4d8e6;min-height:40px;cursor:pointer}.map-label-toggle input{width:17px;height:17px;margin:0;accent-color:#acd9ee}
.slope-gradient{background:linear-gradient(90deg,#ffe893 0%,#f9c658 25%,#f48b3b 50%,#dc4233 75%,#861e48 100%)}
.terrain-panel .run-class.advanced,.terrain-panel .run-class.expert{display:inline-flex;background:#f4f4ed;color:#17232d;border-radius:4px;padding:4px 7px}
.difficulty-legend .expert{color:#e8f1f7}.terrain-directory .difficulty.expert,.terrain-directory .difficulty.advanced{background:#f7f6ed;color:#17232d}
.find-steepest{display:block;width:100%;border:1px solid #69869a;border-radius:7px;background:#152f40;color:#e7c196;min-height:43px;font:700 11px Manrope,Arial,sans-serif;padding:9px;margin-top:8px}.find-steepest:hover{background:#234258}
.resort-pitch{margin-top:18px;padding-top:15px;border-top:1px solid #3c5360}.resort-pitch .eyebrow{font-size:9px;color:#f1bd87;letter-spacing:.09em}.resort-pitch p{font-size:11px;line-height:1.7;color:#d0e2ed;margin:6px 0}.resort-pitch p strong{font-size:20px;font-family:'Barlow Condensed',Impact,sans-serif;font-weight:600;color:#fff}.resort-pitch small{display:block;font-size:10px;line-height:1.7;color:#9eb7c8}.resort-pitch a{display:flex;align-items:center;font-size:10px;min-height:36px;margin-top:4px;color:#b1dbf4;text-decoration:underline;text-underline-offset:3px}
.terrain-explainer>a,.terrain-explainer .source-review a{font-size:11px;color:#b7daf0;text-decoration:underline;text-underline-offset:4px}.terrain-explainer>a{display:inline-flex;min-height:36px;align-items:center}.source-review{border-top:1px solid #324853;padding-top:12px}
.lift-directory{margin-top:18px;border:1px solid #354d5e;border-radius:9px;background:#0f202c;padding:0 22px}.lift-directory summary{cursor:pointer;padding:18px 0;font-size:13px;font-weight:700;color:#e8d7b8}.lift-directory summary span{font-size:10px;font-weight:400;color:#9fb6c8;margin-left:12px}.lift-directory>div{display:flex;flex-wrap:wrap;gap:10px}.lift-directory button{border:1px solid #677477;background:#24333a;border-radius:6px;color:#f1dfbd;font:600 12px Manrope,Arial,sans-serif;padding:10px 14px;min-height:44px}.lift-directory button:hover{background:#384952}.lift-directory p{font-size:11px;line-height:1.8;color:#9db6c7;margin:14px 0 18px}.lift-directory a{color:#b9dced}.lift-panel .arrival-heading h2{font-size:32px}.lift-panel .arrival-heading .eyebrow{color:#efc895}
@media(max-width:800px){.resort-pitch{grid-column:1/-1;margin:0 0 18px}.map-framing{flex-wrap:wrap}.map-trail-tag{min-height:40px}.map-lift-tag{min-height:40px}}
@media(max-width:540px){.terrain-stage .trail-ribbon .trail-route{stroke-width:6.5}.trail-casing{stroke-width:10}.terrain-stage .trail-ribbon.selected .trail-route{stroke-width:9}.trail-ribbon.selected .trail-casing{stroke-width:14}.lift-casing{stroke-width:5.5}.terrain-stage .lift-route{stroke-width:2.5}.map-trail-tag.compact{min-height:40px;min-width:40px}.map-label-toggle{font-size:11px;min-height:32px}.map-framing{gap:4px}.map-framing>div{flex-basis:100%}.resort-pitch{margin:0 0 20px;padding-top:10px}.resort-pitch p{font-size:12px}.resort-pitch small{font-size:11px}.resort-pitch a{font-size:11px}.map-lift-tag{max-width:150px;font-size:10px}.lift-directory{padding:0 18px}.lift-directory summary span{display:block;margin:6px 0 0}.terrain-panel .profile-stats span{font-size:10px}.profile-point>span:last-child{font-size:10px}.terrain-key p{font-size:10px}}
/* Small screens keep a generous tap target around a compact difficulty sign. */
.map-trail-tag.compact{background:transparent;border:0;outline:0;box-shadow:none;padding:6px;min-height:42px;min-width:42px}
.map-trail-tag.compact .map-difficulty{width:28px;height:28px;border-radius:5px;background:#fffef5;box-shadow:0 2px 7px #081b3650;border:1px solid white}
.map-trail-tag.compact:hover .map-difficulty{background:#fff;outline:2px solid #e9ba89}
.lift-directory button[aria-pressed=true]{background:#594b36;border-color:#f3d19d}
/* V2.6.1 — broad, opaque trail ribbons that stay legible over mountain artwork. */
.trail-ribbon{filter:drop-shadow(0 1px 2px #102b4566)}
.terrain-stage .trail-ribbon .trail-route{stroke-width:14;opacity:1}
.terrain-stage .trail-ribbon .trail-casing{stroke:#fffef5;stroke-width:19;opacity:1}
.terrain-stage .trail-ribbon.selected .trail-route{stroke-width:18}
.terrain-stage .trail-ribbon.selected .trail-casing{stroke:#ffbd77;stroke-width:25}
.terrain-stage .lift-route{stroke:#744722;stroke-width:3.8;opacity:1}
.lift-casing{stroke:#fff3d6;stroke-width:8;opacity:1}
.lift-drawing.is-selected .lift-casing{stroke-width:11}
@media(max-width:1100px){.terrain-stage .trail-ribbon .trail-route{stroke-width:12}.terrain-stage .trail-ribbon .trail-casing{stroke-width:17}.terrain-stage .trail-ribbon.selected .trail-route{stroke-width:16}.terrain-stage .trail-ribbon.selected .trail-casing{stroke-width:23}}
@media(max-width:540px){.terrain-stage .trail-ribbon .trail-route{stroke-width:10}.terrain-stage .trail-ribbon .trail-casing{stroke-width:14}.terrain-stage .trail-ribbon.selected .trail-route{stroke-width:13}.terrain-stage .trail-ribbon.selected .trail-casing{stroke-width:19}.terrain-stage .lift-route{stroke-width:3.2}.lift-casing{stroke-width:7}.trail-ribbon{filter:drop-shadow(0 1px 1px #102b4577)}}
/* V2.6.2 — quieter trail widths and names typeset along the mapped routes. */
.terrain-stage .trail-ribbon .trail-route{stroke-width:11}
.terrain-stage .trail-ribbon .trail-casing{stroke-width:15}
.terrain-stage .trail-ribbon.selected .trail-route{stroke-width:14}
.terrain-stage .trail-ribbon.selected .trail-casing{stroke-width:19}
#terrain-labels{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none;z-index:2}
.inline-map-label{cursor:pointer;pointer-events:none}
.inline-label-hit{fill:none;stroke:transparent;stroke-width:26;pointer-events:stroke;stroke-linecap:round}
.inline-label-text{fill:#fffef5;stroke:#132d40;stroke-opacity:.8;stroke-width:2.4;stroke-linejoin:round;paint-order:stroke fill;font-family:Manrope,Arial,sans-serif;font-weight:700;letter-spacing:.035em;pointer-events:visiblePainted;user-select:none}
.inline-map-label.lift .inline-label-text{fill:#ffe5b3;stroke:#152b36;stroke-width:2.6;letter-spacing:.025em}
.inline-map-label.is-selected .inline-label-text{fill:#fff;stroke:#182f3e;stroke-width:3}
.inline-map-label:hover .inline-label-text,.inline-map-label:focus-visible .inline-label-text{fill:#fff0c8;stroke:#071723;stroke-width:3.5}
.inline-map-label:focus-visible{outline:none}
.active-run-label{display:none!important}
@media(max-width:1100px){.terrain-stage .trail-ribbon .trail-route{stroke-width:9.5}.terrain-stage .trail-ribbon .trail-casing{stroke-width:13.5}.terrain-stage .trail-ribbon.selected .trail-route{stroke-width:12.5}.terrain-stage .trail-ribbon.selected .trail-casing{stroke-width:17.5}}
@media(max-width:540px){.terrain-stage .trail-ribbon .trail-route{stroke-width:8.5}.terrain-stage .trail-ribbon .trail-casing{stroke-width:12}.terrain-stage .trail-ribbon.selected .trail-route{stroke-width:11}.terrain-stage .trail-ribbon.selected .trail-casing{stroke-width:16}.inline-label-text{stroke-width:2.2;letter-spacing:.01em}.inline-label-hit{stroke-width:30}}
.inline-map-label.trail .inline-label-text{font-family:'Barlow Condensed',Arial,sans-serif;font-weight:700;stroke-width:2.1;letter-spacing:.025em}
@media(max-width:540px){.inline-map-label.trail .inline-label-text{stroke-width:1.8;letter-spacing:.01em}}

/* V2.6.3 — complete lift network and finishing details. */
.terrain-explorer.expanded #terrain-canvas{touch-action:none}
.terrain-interaction-hint{font-size:11px;color:#d1dfe8;text-shadow:0 1px 4px #081824}
.view-controls button{min-height:44px;min-width:44px}
.lift-directory button[aria-pressed=true]{background:#544b34;border-color:#f2ce88;color:#fff5df}
.lift-terrain-links{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 22px}
.lift-terrain-link{border:1px solid #446174;border-radius:6px;background:#152a39;color:#e9f3f8;padding:10px 13px;font:700 12px Manrope,Arial,sans-serif;min-height:44px;text-align:left}
.lift-terrain-link.easy{border-left:3px solid #57cb99}
.lift-terrain-link.intermediate{border-left:3px solid #57b1eb}
.lift-terrain-link.advanced,.lift-terrain-link.expert{border-left:3px solid #e0e7ed}
.lift-terrain-link:hover{background:#254255}
.lift-directory button:focus-visible,.lift-terrain-link:focus-visible{outline:2px solid #f4c983;outline-offset:3px}
#lift-alignment-note{max-width:760px}

@media(max-width:540px){.terrain-topmark{backdrop-filter:none}}
