.weather-page{max-width:1100px;margin:auto}.weather-breadcrumb{font-size:.9rem;margin-bottom:1.25rem}.weather-picker{margin:1.5rem 0}.weather-note h2,.weather-picker h2{font-size:1.2rem;margin-top:0}.weather-search{display:flex;align-items:end;gap:1rem}.weather-search label{flex:1 1}.weather-page label{display:flex;flex-direction:column;gap:.5rem;min-width:0}.weather-page input,.weather-page select{width:100%;min-height:46px;max-width:100%;box-sizing:border-box;font:inherit}.weather-page button{min-height:46px;white-space:normal}.weather-page button:disabled{opacity:.5;cursor:not-allowed}.weather-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1rem 0}.weather-selected{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border,#ddd)}.weather-selected p{margin:.5rem 0}.weather-matches{list-style:none;padding:0}.weather-matches a{display:block;padding:.7rem 0}.weather-matches small{display:block;color:var(--secondary);font-weight:400}.weather-sources,.weather-windows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.weather-sources .card,.weather-window{margin:0;min-width:0}.weather-window dl{display:flex;flex-wrap:wrap;gap:1rem}.weather-window dl>div{display:block}.weather-window dt{font-size:.85rem}.weather-window dd{margin:0;font-size:1.35rem;font-weight:650}.weather-note{background:var(--surface,#f4f4f4);border:1px solid var(--border,#ddd);border-radius:12px;padding:1rem;margin:1.5rem 0;overflow-wrap:anywhere}.weather-table-wrap{max-width:100%;overflow:auto;border:1px solid var(--border,#ddd);border-radius:10px}.weather-table{border-collapse:collapse;width:100%;min-width:610px;font-size:.9rem;margin:0}.weather-table td,.weather-table th{padding:.7rem;text-align:left;white-space:nowrap;border-bottom:1px solid var(--border,#ddd)}.weather-table caption{text-align:left;padding:.8rem;white-space:normal}.weather-page section{scroll-margin-top:5rem}.weather-page h1{overflow-wrap:normal;word-break:keep-all}.weather-page :focus-visible{outline:3px solid var(--accent,#b55b35);outline-offset:3px}.weather-empty{padding:1rem;border:1px dashed var(--border,#ddd);border-radius:10px}.weather-page p{line-height:1.7}.weather-page small{line-height:1.6}@media(max-width:650px){.weather-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.weather-sources,.weather-windows{grid-template-columns:1fr}.weather-search{flex-direction:column;align-items:stretch}.weather-picker{padding:1rem}.weather-page h1{font-size:1.8rem}.weather-page h2{font-size:1.3rem}.weather-page button{width:100%}}.weather-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin:1rem 0;max-width:100%;overflow:auto}.weather-day{padding:1rem;min-width:0}.weather-day h3{margin:0 0 .5rem;font-size:1rem}.weather-day p{font-size:.9rem;margin:.3rem 0}.weather-detail{border:1px solid var(--border);border-radius:10px;background:var(--surface)}.weather-detail summary{cursor:pointer;min-height:48px;padding:1rem;font-weight:600}.weather-detail[open] summary{border-bottom:1px solid var(--border)}.weather-detail .weather-table-wrap{border:0;border-radius:0}@media(max-width:760px){.weather-days{display:flex;padding-bottom:.5rem}.weather-day{flex:0 0 170px}.weather-window dl{padding:14px;gap:.75rem}.weather-window dd{font-size:1.2rem}}.weather-icon{width:76px;height:72px;flex:none;color:var(--accent)}.weather-result-intro{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--surface-muted);border:1px solid var(--border);border-radius:20px;padding:1.5rem 2rem;margin:1.25rem 0}.weather-result-intro h3{font-size:1.65rem;line-height:1.45;margin:.35rem 0}.weather-result-intro p{margin:.5rem 0}.weather-camp-scene{width:270px;max-width:45%;color:var(--accent);flex:none}.weather-window{padding:1.4rem!important}.weather-window-heading{display:flex;align-items:center;gap:.8rem;border-bottom:1px solid var(--border);padding-bottom:1rem}.weather-window-heading h3{font-size:1.2rem;margin:0}.weather-window-heading p{font-size:.85rem;margin:.25rem 0 0;color:var(--secondary)}.weather-activity-icon{height:50px;width:54px;color:var(--accent);flex:none}.weather-window-sky{display:flex;align-items:center;gap:.5rem;margin:1rem 0}.weather-window-sky>div{min-width:0}.weather-window-sky small{display:block;font-size:.75rem}.weather-window-sky strong{font-size:1.1rem}.weather-window-sky .weather-temperature{margin-left:auto;text-align:right}.weather-temperature strong{font-size:1.6rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.weather-window .weather-icon{height:56px;width:60px}.weather-gust-focus{display:flex;align-items:center;gap:1rem;background:var(--surface-muted);border-radius:12px;padding:.8rem}.wind-tree{width:76px;height:70px;color:var(--accent);flex:none}.weather-gust-focus small,.weather-gust-focus span{display:block;font-size:.8rem}.weather-gust-focus strong{font-size:2.05rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.4;display:block}.weather-wind-meter{padding-top:2.1rem}.weather-wind-track{height:10px;display:flex;background:var(--surface-muted);border-radius:10px;position:relative;margin:0 1.5rem 0 .6rem}.weather-wind-track>span{width:25%;border-right:1px solid var(--surface);background:var(--border)}.weather-wind-track>span:nth-child(2n){background:var(--secondary);opacity:.4}.weather-wind-track i{position:absolute;transform:translateX(-50%);font-style:normal;font-size:.7rem;font-weight:650;white-space:nowrap}.weather-wind-track i:after{content:"";position:absolute;left:50%;height:12px;width:2px;background:currentColor}.wind-pointer{bottom:-22px;color:var(--text)}.wind-pointer:after{bottom:20px}.gust-pointer{top:-24px;color:var(--accent)}.gust-pointer:after{top:18px}.weather-wind-axis{display:flex;justify-content:space-between;margin-top:1.7rem;font-size:.7rem;color:var(--secondary)}.weather-window p.weather-wind-values{font-size:.85rem;display:flex;flex-wrap:wrap;gap:.4rem;margin:.7rem 0}.weather-speed-analogy{font-size:.85rem;line-height:1.6!important}.weather-prep-tip{padding:.7rem;border-left:3px solid var(--accent);background:var(--background);font-size:.9rem}.weather-window>small{display:block;color:var(--secondary);font-size:.8rem}.weather-window-source{margin-top:1rem;font-size:.8rem}.weather-window-source summary{cursor:pointer;padding:.5rem 0;min-height:36px}.weather-window-source p{margin:.4rem 0}.weather-gust-explainer{border-left:3px solid var(--accent);padding:.5rem 1rem;margin:1rem 0 2rem}.weather-gust-explainer p{font-size:.9rem;margin:.4rem 0 0}.weather-wind-guide{margin:2rem 0}.weather-wind-guide>p{font-size:.9rem}.weather-wind-examples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1rem 0}.weather-wind-examples article{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:1rem;text-align:center}.weather-wind-examples .wind-tree{display:block;margin:0 auto .5rem}.weather-wind-examples strong{display:block;font-size:1.2rem}.weather-wind-examples strong small{display:block;font-size:.75rem;font-weight:400}.weather-wind-examples p{font-size:.85rem;margin:.5rem 0 0}.weather-wind-guide>small{display:block;color:var(--secondary);font-size:.8rem;line-height:1.6}.weather-day{display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--surface)}.weather-day .weather-icon{height:65px;width:68px}.weather-day>strong{font-size:.9rem}.weather-day>small{display:block;color:var(--secondary);font-size:.72rem}.weather-day .weather-day-temp{font-size:1.2rem;font-weight:650;margin:.8rem 0}.weather-day p{font-size:.8rem}.weather-table-condition{display:flex;align-items:center;gap:.4rem}.weather-table .weather-icon{width:30px;height:28px}.weather-provider-details{margin:1.5rem 0;border-top:1px solid var(--border);padding-top:.5rem}.weather-provider-details>summary{cursor:pointer;min-height:48px;display:list-item;padding:.75rem 0;font-weight:600}.weather-provider-details .weather-sources{margin:.5rem 0}.weather-provider-details .card{padding:1rem}.weather-provider-details h3{font-size:1rem;margin:0}.weather-provider-details p,.weather-provider-details small{font-size:.8rem}.weather-provider-details .card p{margin:.35rem 0}@media(max-width:650px){.weather-result-intro{padding:1rem;gap:.4rem}.weather-result-intro h3{font-size:1.1rem}.weather-result-intro .eyebrow{font-size:.6rem}.weather-result-intro p{font-size:.75rem}.weather-camp-scene{max-width:43%;width:145px}.weather-window{padding:1rem!important}.weather-window-heading h3{font-size:1.1rem}.weather-window-heading p{font-size:.75rem}.weather-window-sky .weather-temperature strong{font-size:1.4rem}.weather-window-sky small{font-size:.68rem}.weather-wind-examples{gap:.4rem}.weather-wind-examples article{padding:.6rem .35rem}.weather-wind-examples .wind-tree{width:60px;height:55px}.weather-wind-examples p{font-size:.75rem;word-break:keep-all}.weather-wind-examples strong{font-size:1rem}.weather-day{flex-basis:155px}}.weather-speed-analogy small,.weather-speed-analogy strong{display:block}.weather-speed-analogy small{font-size:.75rem;color:var(--secondary);font-weight:400}.weather-speed-analogy strong{font-weight:600;margin-top:.25rem}.weather-result-intro h3,.weather-window-heading p{word-break:keep-all}.weather-timeline{margin:2rem 0;padding:1.5rem!important;min-width:0}.weather-timeline h2{margin-top:0}.weather-chart-intro{font-size:.9rem;color:var(--secondary)}.weather-chart-providers{display:flex;gap:.5rem;margin:1rem 0}.weather-chart-providers button{flex:1 1;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:.65rem;line-height:1.4}.weather-chart-providers button[aria-pressed=true]{border:2px solid var(--accent);background:var(--surface-muted);font-weight:700}.weather-chart-providers small{display:block;font-size:.75rem;font-weight:400}.weather-chart-markers{display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-size:.8rem;margin:.8rem 0}.chart-marker-key.pitch{color:var(--accent)}.chart-marker-key.pack{color:var(--text)}.weather-chart-legend{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.8rem;padding:.5rem 0}.weather-chart-legend span:before{content:"";display:inline-block;width:20px;border-top:2px solid;margin:0 .35rem .2rem 0}.weather-chart-legend .gust,.weather-chart-legend .temperature{color:var(--accent)}.weather-chart-legend .wind{color:var(--text)}.weather-chart-legend .gust:before{border-top-style:dashed}.weather-chart-canvas{width:100%;min-width:0}.weather-chart-panel h3{font-size:.95rem;margin:1rem 0 0}.weather-chart-panel h3 small{font-weight:400}.weather-chart-panel svg{display:block;width:100%;height:auto;touch-action:pan-y;cursor:crosshair;overflow:visible}.chart-background{fill:var(--surface)}.chart-unavailable{fill:var(--surface-muted)}.chart-grid{stroke:var(--border);stroke-width:1}.chart-axis{fill:var(--secondary);font:11px system-ui,sans-serif}.chart-series path{fill:none;stroke:currentColor;stroke-width:2}.chart-series circle{fill:var(--surface);stroke:currentColor;stroke-width:1.8}.chart-series.gust,.chart-series.temperature{color:var(--accent)}.chart-series.wind{color:var(--text)}.chart-series.gust path{stroke-dasharray:5 4}.chart-plan-marker{stroke-width:1.5}.chart-plan-marker.pitch{stroke:var(--accent);fill:var(--accent)}.chart-plan-marker.pack{stroke:var(--text);fill:var(--text)}.chart-plan-marker.pitch line{stroke-dasharray:3 4}.chart-plan-marker.pack line{stroke-dasharray:8 4}.chart-inspector{stroke:var(--secondary);stroke-width:1;stroke-dasharray:2 3;pointer-events:none}.weather-chart-time-picker{font-size:.8rem;margin:.75rem 0}.weather-chart-reading{background:var(--surface-muted);border-radius:12px;padding:1rem}.weather-chart-reading>strong{display:block;font-size:.85rem}.weather-chart-reading dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;margin:.75rem 0 0}.weather-chart-reading dt{font-size:.75rem;color:var(--secondary)}.weather-chart-reading dd{font-size:1.2rem;font-weight:700;margin:0;white-space:nowrap}.weather-chart-plan-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1rem 0}.weather-chart-plan-values article{border:1px solid var(--border);border-radius:10px;padding:.7rem;font-size:.8rem}.weather-chart-plan-values p{margin:.4rem 0 0}.weather-chart-footnote{display:block;color:var(--secondary);font-size:.75rem;line-height:1.6}@media(max-width:650px){.weather-timeline{padding:1rem!important}.weather-chart-plan-values{grid-template-columns:1fr}.weather-chart-reading{padding:.8rem}.weather-chart-reading dd{font-size:1.05rem}.weather-chart-providers button{width:auto}.weather-chart-legend{gap:.35rem .7rem;font-size:.75rem}.weather-chart-markers{font-size:.75rem}}.chart-plan-label{font:11px system-ui,sans-serif;stroke:none}.weather-chart-providers button{display:block;font-size:.9rem;word-break:normal;overflow-wrap:normal}.weather-chart-providers small{margin-top:.25rem}.weather-direction{display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap}.weather-compass{width:60px;height:60px;flex:none;overflow:visible}.weather-compass circle{fill:none;stroke:var(--border);stroke-width:1}.weather-compass text{fill:var(--secondary);font:10px system-ui,sans-serif;text-anchor:middle}.weather-compass path{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.weather-compass .weather-compass-center{fill:var(--accent);stroke:none}.weather-direction strong{font-weight:600}.weather-direction small,.weather-direction-empty small{display:block;color:var(--secondary);font-size:.72rem}.weather-attribution{display:inline-block;vertical-align:middle}.weather-attribution img{width:120px;height:auto;display:block}