/* WESTERN CANADA MOUNTAIN NETWORK + WEATHER DESK, scoped to Alpine v3 */
.directory-control{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin:25px 0 16px}.directory-tabs{display:flex;gap:5px;flex-wrap:wrap}.dir-btn{border:1px solid #b7c5b6;color:#26352a;background:#f7faf4;padding:15px 17px;font-size:10px;font-weight:900;letter-spacing:1.1px;cursor:pointer;transition:background .2s}.dir-btn:hover,.dir-btn.active{background:#18261a;color:#d2ff38;border-color:#18261a}.dir-btn span{margin-left:8px;opacity:.6}.directory-control label{display:grid;gap:7px;font-size:10px;font-weight:850;letter-spacing:1px;color:#5d685d}.directory-control input{border:1px solid #a4baa4;background:#fff;padding:12px;min-width:240px;font:600 13px inherit;max-width:100%}.resort-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.resort-tile{background:#e6eee3;padding:26px 23px 20px;min-width:0;display:flex;flex-direction:column;min-height:218px;position:relative;overflow:hidden;border:1px solid #dae5d6;transition:background .2s}.resort-tile:nth-child(4n+2){background:#f3f6ef}.resort-tile:hover{background:#d2ff38}.resort-tile:before{content:'✳';position:absolute;right:-15px;top:20px;font-size:94px;color:#b1c0b11f;pointer-events:none}.resort-tile-top{display:flex;justify-content:space-between;gap:12px;position:relative;color:#657263;font-size:9px;font-weight:850;letter-spacing:1px}.resort-tile-top span:last-child{padding:4px 6px;border:1px solid currentColor}.resort-tile h3{font:900 clamp(22px,2.5vw,33px)/.94 var(--font-head);text-transform:uppercase;letter-spacing:-.6px;margin:21px 0 10px;position:relative}.resort-tile p{color:#60715e;font-size:12px;line-height:1.55;margin:0 0 20px;position:relative}.resort-tile-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;position:relative;border-top:1px solid #bdcdbb;padding-top:13px}.resort-tile-links a,.resort-tile-links button{appearance:none;border:0;background:none;color:#1c331c;font:900 9px/1.3 var(--font-body);letter-spacing:.2px;padding:0;cursor:pointer;text-decoration:none}.resort-tile-links a:hover,.resort-tile-links button:hover{text-decoration:underline}.resort-notice{font-size:11px;line-height:1.6;color:#667568;margin:15px 0 35px;max-width:900px}
.weather-section{background:#101b15;color:#e4eee5}.weather-section .section-label{border-color:#334a3b;color:#97aa9d}.weather-head h2{color:#fff}.weather-head h2 em{color:var(--acid)}.weather-head>p{color:#b2c4b4}.weather-deck{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(350px,.9fr);gap:16px;align-items:stretch}.radar-panel,.forecast-panel{border:1px solid #3e5646;background:#172820;min-width:0}.weather-panel-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 26px;border-bottom:1px solid #354b3c}.weather-panel-header .eyebrow{font-size:10px;color:var(--acid)}.weather-panel-header h3{font:900 clamp(25px,3vw,37px)/1 var(--font-head);letter-spacing:-.5px;margin:6px 0 0;color:#fff}.weather-panel-header>a,.forecast-provider{color:#adc3b2;font-size:10px;font-weight:800;letter-spacing:1px}.weather-panel-header>a:hover{color:var(--acid)}.radar-tools{display:flex;gap:15px;justify-content:space-between;align-items:center;padding:12px 19px;background:#26372d}.radar-switch{display:flex;gap:4px}.radar-layer-btn{background:#34493a;border:1px solid #46624b;color:#d9e8d9;min-width:75px;padding:12px 18px;font-size:11px;font-weight:900;letter-spacing:1px;cursor:pointer}.radar-layer-btn.active{background:var(--acid);border-color:var(--acid);color:#1e2d16}.radar-tools label{display:flex;gap:13px;align-items:center;font-size:10px;letter-spacing:1px;font-weight:900;color:#b1c6b3}.radar-tools select{max-width:175px;background:#1a2a20;color:#e4f1e4;border:1px solid #5c755f;padding:10px;font:800 10px var(--font-body)}.radar-canvas{position:relative;background:radial-gradient(ellipse at center,#304838 0%,#16291d 95%);height:500px;overflow:hidden}.radar-canvas #radar-map{height:100%;width:100%;background:#102018;z-index:0}.radar-bug{position:absolute;left:18px;top:18px;z-index:400;pointer-events:none;background:#15291be3;border:1px solid #72947b;color:#daebdb;padding:12px 13px;font-size:9px;letter-spacing:1.1px;font-weight:900}.radar-ping{display:inline-block;background:#cfff2b;border-radius:50%;width:7px;height:7px;margin-right:7px;box-shadow:0 0 12px #aafc44}.radar-error{position:absolute;z-index:1000;left:20px;bottom:25px;background:#24362df5;padding:14px 16px;font-size:12px;border-left:3px solid var(--acid);max-width:280px}.radar-error[hidden]{display:none}.radar-error a{color:var(--acid)}.radar-playback{display:flex;align-items:center;gap:13px;padding:17px 18px;background:#23372c}.radar-play,.radar-refresh{appearance:none;color:#d5ecda;background:#354d3d;border:1px solid #5e7860;padding:12px 14px;cursor:pointer;font:900 10px var(--font-body);letter-spacing:.7px}.radar-play{min-width:100px}.radar-play:disabled{opacity:.48;cursor:not-allowed}.radar-play:not(:disabled):hover,.radar-refresh:hover{background:var(--acid);color:#15271a}.radar-timeline{flex:1;display:flex;flex-direction:column;gap:5px}.radar-timeline input{width:100%;accent-color:#cfff3b;cursor:pointer}.radar-timeline span{color:#d2e3d0;font-weight:800;font-size:10px;letter-spacing:.5px}.radar-meta{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;background:#172820;padding:13px 18px;color:#98af9f;font-size:9px;font-weight:750;letter-spacing:.6px}.radar-meta a{color:var(--acid)}.leaflet-container{font-family:var(--font-body)}.radar-resort-marker{background:transparent;border:0}.map-dot-inner{background:#d2ff38;width:9px;height:9px;display:block;border:2px solid #21331f;border-radius:50%;box-shadow:0 0 0 3px #d2ff3866}.leaflet-popup-content-wrapper{border-radius:3px}.forecast-panel{display:flex;flex-direction:column}.forecast-select-label{display:grid;gap:9px;margin:18px 24px;color:#a8bdb0;font-size:10px;letter-spacing:1.2px;font-weight:900}.forecast-select-label select{width:100%;background:#273d30;color:#e4f2e8;border:1px solid #526953;padding:16px 13px;font:900 13px var(--font-body)}.forecast-status{color:#a3b9a7;font-size:11px;line-height:1.5;padding:0 24px 12px}.forecast-result{padding:5px 24px 20px;overflow:auto;max-height:550px;flex:1;min-height:315px}.forecast-meta{margin:0 0 10px;padding:10px 12px;background:#27392d;border-left:3px solid var(--acid)}.forecast-place{font:900 12px var(--font-body);color:#f0f5e9}.forecast-issue{font-size:10px;color:#adc3aa;line-height:1.5;margin-top:4px}.forecast-period{padding:13px 0;border-top:1px solid #385440}.forecast-period-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.forecast-period-name{font-size:12px;letter-spacing:1px;color:#f7fff5;font-weight:900;text-transform:uppercase}.forecast-temp{white-space:nowrap;color:#cfff36;font-size:11px;font-weight:850}.forecast-period p{font-size:12px;line-height:1.55;color:#b8cbbc;margin:8px 0}.snow-mention{display:inline-block;background:#314b3b;border:1px solid #6b876b;color:#e9ffe5;font-size:9px;padding:5px 7px;letter-spacing:.5px}.forecast-placeholder{text-align:center;padding:40px 8px;color:#b4cdb7}.forecast-placeholder span{display:block;font-size:65px;color:var(--acid)}.forecast-placeholder strong{font:900 clamp(24px,3vw,37px)/1 var(--font-head);color:#fff}.forecast-placeholder p{font-size:12px;line-height:1.65}.forecast-loading{color:#adcbad;line-height:1.6;font-size:13px}.forecast-footer{background:#293c2f;padding:21px 24px;margin-top:auto}.forecast-footer a{display:inline-block;background:var(--acid);padding:14px 16px;color:#17291b;font-size:11px;font-weight:900;text-decoration:none}.forecast-footer a:hover{background:#fff}.forecast-footer p{color:#b1c7b7;font-size:11px;line-height:1.55;margin:12px 0 0}.weather-guidance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:20px;gap:12px}.weather-guidance>div{border-top:2px solid #45634a;padding:18px 0 0}.weather-guidance span{display:block;color:var(--acid);font-size:12px;font-weight:900;margin-bottom:15px}.weather-guidance strong{font:900 17px var(--font-head);color:#f2f8ec}.weather-guidance p{max-width:345px;color:#9fb6a5;font-size:12px;line-height:1.6}.weather-guidance a{color:var(--acid);text-decoration:underline}
@media(max-width:1150px){.resort-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.weather-deck{grid-template-columns:minmax(0,1fr) minmax(300px,.8fr)}.radar-canvas{height:440px}}
@media(max-width:900px){.resort-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weather-deck{grid-template-columns:1fr}.weather-guidance{grid-template-columns:1fr 1fr 1fr}.radar-canvas{height:430px}}
@media(max-width:580px){.resort-grid{grid-template-columns:1fr}.resort-tile{min-height:180px;padding:21px}.resort-tile h3{font-size:30px}.directory-control{align-items:stretch}.directory-tabs{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.dir-btn{font-size:9px;letter-spacing:0;padding:12px 6px}.dir-btn span{display:block;margin:5px 0 0}.directory-control label,.directory-control input{width:100%}.radar-canvas{height:370px}.radar-tools{flex-wrap:wrap}.radar-tools label{flex:1;justify-content:space-between}.radar-tools select{max-width:200px}.radar-playback{gap:7px;padding:12px}.radar-play{min-width:85px}.radar-play,.radar-refresh{padding:10px 8px;font-size:9px}.radar-bug{font-size:8px;padding:9px}.weather-panel-header{padding:19px}.weather-guidance{grid-template-columns:1fr}.forecast-result{min-height:280px;max-height:500px}}
@media(prefers-reduced-motion:reduce){.resort-tile,.dir-btn{transition:none}}

/* v7.3 — personal mountain shortlist + direct first-party source links */
.resort-shortlist-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin:0 0 16px}.mountain-favorites-btn{border:1px solid #192a1c;background:#e9f0e4;color:#192a1c;padding:11px 14px;font:900 11px/1.4 var(--font-body);letter-spacing:.8px;cursor:pointer}.mountain-favorites-btn span{display:inline-flex;min-width:23px;height:23px;align-items:center;justify-content:center;margin-left:5px;background:#d6e4ce;color:#253728;border-radius:50%}.mountain-favorites-btn:hover,.mountain-favorites-btn.active{background:#192a1c;color:#d2ff38}.mountain-favorites-btn:hover span,.mountain-favorites-btn.active span{background:#d2ff38;color:#192a1c}.resort-results-status{font:850 10px/1.4 var(--font-body);letter-spacing:.7px;color:#36523b}.favorite-storage-hint{font:500 11px/1.5 var(--font-body);color:#60715e}.resort-tile-tools{display:flex;margin-top:14px;position:relative;z-index:1}.resort-save{background:transparent;border:1px solid #6f9477;color:#25402a;padding:9px 12px;cursor:pointer;text-align:left;font:850 10px/1.4 var(--font-body);letter-spacing:.35px;min-height:36px}.resort-save[aria-pressed="true"]{background:#233c29;color:#d2ff38}.resort-save:hover{border-color:#233c29}.resort-empty{grid-column:1/-1;padding:22px 20px;background:#e6eee3;color:#283d2d;font-size:13px;line-height:1.5;margin:0}.resort-tile-links{row-gap:12px}.mountain-favorites-btn:focus-visible,.resort-save:focus-visible,.resort-tile-links a:focus-visible,.resort-tile-links button:focus-visible{outline:3px solid #54741f;outline-offset:3px}
@media(max-width:580px){.resort-shortlist-controls{align-items:flex-start;gap:9px;flex-direction:column}.resort-tile-links{gap:10px 14px}.resort-save{width:100%;text-align:center}}
/* v7.3.1 — preserve the mountain headline as two readable lines even with fallback fonts. */
@media(max-width:580px){.mountains-section .heading-row h2{font-size:clamp(39px,12.2vw,52px);letter-spacing:-1.2px}.mountains-section .heading-row h2 em{display:inline-block;white-space:nowrap}}

/* v7.6 — honest radar timestamp and tile-load status, mobile-friendly official fallback. */
.radar-reliability{display:flex;gap:14px;justify-content:space-between;align-items:center;flex-wrap:wrap;border-top:1px solid #405945;padding:11px 18px;background:#1b3025}
.radar-health{font:800 10px/1.55 var(--font-body);letter-spacing:.3px;color:#c5dfcc;margin:0;flex:1 1 210px}
.radar-health[data-state="warning"]{color:#ffda9a}
.radar-health[data-state="ok"]{color:#d2ff72}
.radar-reliability a{font:900 10px/1.5 var(--font-body);letter-spacing:.4px;color:var(--acid);text-decoration:underline;text-underline-offset:3px}
.radar-reliability a:focus-visible{outline:2px solid var(--acid);outline-offset:4px}
@media(max-width:580px){.radar-reliability{gap:8px;padding:13px}.radar-reliability a{display:inline-block;padding:4px 0}.radar-health{flex-basis:100%}}

/* v7.8 — shareable / downloadable My Mountains itinerary tools. */
.shortlist-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.shortlist-action{border:1px solid #54735b;background:#20392a;color:#ebf8ec;padding:11px 13px;font:900 10px/1.4 var(--font-body);letter-spacing:.5px;cursor:pointer;min-height:40px}
.shortlist-action:hover:not(:disabled){background:#d2ff38;color:#1b2c21;border-color:#4e6127}
.shortlist-action:disabled{background:#e4ebe0;color:#778778;border-color:#cad7ca;cursor:not-allowed}
.shortlist-feedback{font:700 11px/1.5 var(--font-body);color:#304f36;min-height:0;margin-bottom:5px}
.shortlist-feedback:empty{display:none}
.shortlist-manual{max-width:720px;padding:12px 15px;margin:0 0 12px;background:#e6eee3;border-left:3px solid #52743d}
.shortlist-manual[hidden]{display:none}
.shortlist-manual label{display:block;margin:0 0 5px;font:900 10px/1.5 var(--font-body);letter-spacing:.6px;color:#2e4732}
.shortlist-manual input{width:100%;max-width:100%;border:1px solid #a4baa4;padding:10px 12px;font:500 12px var(--font-body);color:#1e3926;background:#fff}
.shortlist-action:focus-visible,.shortlist-manual input:focus-visible{outline:3px solid #54741f;outline-offset:3px}
@media(max-width:580px){.shortlist-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.shortlist-action{padding:10px 7px;font-size:9px;letter-spacing:.1px}}
/* v8.5: actionable mountain comparison link beside My Mountains tools */
a.shortlist-action{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;text-align:center}
