@font-face{font-family:Manrope;src:url('fonts/manrope-latin.woff2') format('woff2');font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('fonts/manrope-cyrillic.woff2') format('woff2');font-weight:400 800;font-style:normal;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
:root{--pine:#193c30;--green:#346d51;--green-light:#eaf2e7;--lime:#cfdfab;--ink:#202f28;--muted:#778078;--line:#e2e7e1;--surface:#fff;--bg:#f5f7f3;--radius:16px;--sidebar:226px;font-family:Manrope,'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:16px;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #8da969;outline-offset:4px}button{color:inherit}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.icon{display:inline-block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:middle}.icon.small{width:16px;height:16px}.skip-link{position:fixed;top:12px;left:250px;z-index:3000;padding:12px 20px;background:var(--pine);color:white;transform:translateY(-200%);border-radius:8px}.skip-link:focus{transform:translateY(0)}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar);background:#fdfefb;border-right:1px solid var(--line);padding:35px 20px 22px;display:flex;flex-direction:column;z-index:1100}.brand{display:flex;align-items:center;gap:11px;margin:0 12px 48px;font-size:28px;font-weight:800;letter-spacing:2.5px;line-height:1.15}.brand-icon{display:grid;place-items:center;background:var(--pine);color:var(--lime);border-radius:12px;width:44px;height:44px}.brand-icon .icon{width:31px;height:31px;stroke-width:1.25}.brand-caption{display:block;color:var(--muted);font-size:9px;letter-spacing:1.4px;font-weight:700;margin-top:6px}.sidebar-label{display:block;font-size:10px;font-weight:800;letter-spacing:1.65px;color:#939990;padding:0 14px;margin-bottom:15px}.main-nav{display:flex;flex-direction:column;gap:6px}.nav-item{display:flex;gap:12px;align-items:center;text-align:left;min-height:47px;width:100%;border:0;background:none;border-radius:9px;padding:10px 13px;font-size:13px;font-weight:600;color:#6b766d;transition:background .2s}.nav-item.active{background:#eaf1e5;color:#2b513e}.nav-item:hover{background:#f0f4ec}.sidebar-note{display:flex;gap:11px;margin:38px 13px;padding-top:22px;border-top:1px solid var(--line);color:var(--green)}.sidebar-note .icon{width:19px}.sidebar-note p{font-size:12px;line-height:1.6;margin:0;font-weight:700}.sidebar-note p span{display:block;color:var(--muted);font-weight:400;margin-top:7px}.sidebar-bottom{margin-top:auto}.sidebar-location{display:flex;gap:10px;align-items:center;width:100%;border:1px solid var(--line);background:white;padding:13px 11px;border-radius:11px;text-align:left}.sidebar-location>span{flex:1;min-width:0}.sidebar-location strong{display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-location small{display:block;font-size:11px;color:var(--muted);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-version{display:block;margin:23px 14px 0;color:#9ba299;font-size:10px;letter-spacing:1.5px}
.workspace{margin-left:var(--sidebar)}.topbar{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 40px;background:rgba(253,254,251,.97);position:sticky;top:0;z-index:1050}.top-location{display:flex;align-items:center;gap:9px;background:transparent;border:0;font-size:14px;font-weight:700;max-width:45%}.top-location [data-location-name]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-location>.icon:first-child{color:var(--green);width:18px}.top-actions{display:flex;gap:13px;align-items:center}.update-label{font-size:12px;color:var(--muted)}.icon-button{width:36px;height:36px;border:1px solid var(--line);background:white;border-radius:9px;display:grid;place-items:center}.icon-button:hover{background:#f0f4ec}.icon-button .icon{width:18px}.top-divider{height:24px;border-left:1px solid var(--line);margin:0 3px}.profile-badge{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600}.profile-badge .icon{color:var(--green);width:19px}.mobile-brand{display:none}main{padding:36px 40px 0;max-width:1650px;margin:auto}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.6px;color:#7e8c7a;margin-bottom:10px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}h1,h2,h3,p{margin:0}h1{font-size:34px;line-height:1.3;letter-spacing:-1.4px;font-weight:800}.page-heading p,.section-heading p{font-size:14px;color:var(--muted);margin-top:10px}.view-control,.map-mode-control{display:flex;gap:4px;background:#e9eee5;border:1px solid #e5eae1;padding:4px;border-radius:10px}.view-control button,.map-mode-control button{display:flex;align-items:center;justify-content:center;gap:7px;border:0;background:none;color:#75816f;border-radius:7px;padding:9px 13px;font-size:12px;font-weight:700;white-space:nowrap}.view-control button.selected,.map-mode-control button.selected{background:white;color:var(--pine);box-shadow:0 2px 5px #15311a0a}.view-control .icon{width:16px;height:16px}.week-heading{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin-bottom:14px;color:#657360}.week-heading>span:first-child{font-weight:700}.week-heading>span:last-child{font-size:11px;color:#92998e}.status-banner{display:flex;align-items:center;gap:10px;padding:13px 16px;margin:0 0 22px;border:1px solid #e3d7bc;background:#fbf5e8;color:#81612a;border-radius:10px;font-size:13px;line-height:1.6}.status-banner.loading{border-color:#dbe5d6;background:#edf3e8;color:#60765a}.status-banner.error{background:#fff1ec;border-color:#f0d6c9;color:#955438}.status-banner button{padding:5px 10px;margin-left:auto;border:1px solid currentColor;background:none;border-radius:6px;white-space:nowrap}.rotating{animation:rotate 1.8s linear infinite}@keyframes rotate{to{transform:rotate(360deg)}}
.day-cards{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:11px;margin-bottom:24px}.day-card{background:white;border:1px solid var(--line);border-radius:12px;padding:15px 14px;text-align:left;position:relative;transition:border-color .2s,background .2s;min-height:160px}.day-card:hover{border-color:#89aa74}.day-card.selected{background:#ecf2e5;border:1.5px solid #768d62;padding:14.5px 13.5px}.day-card-top{display:flex;justify-content:space-between;align-items:center;color:#8a9683;gap:4px}.day-card-top .icon{width:17px;height:17px}.day-date{font-size:12px;font-weight:700;color:#495740}.day-card-score{display:flex;align-items:baseline;gap:5px;margin-top:15px}.day-card-score strong{font-size:29px;font-weight:800;line-height:1.1;letter-spacing:-1px}.day-card-score small{font-size:10px;color:#9ca591}.day-card-rating{font-size:10px;margin-top:4px;color:#738568}.day-card-weather{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:11px;margin-top:17px;color:#73816b}.day-card-weather .icon{width:14px;height:14px;margin-right:3px}.day-skeleton{height:165px;border-radius:12px;background:linear-gradient(100deg,#e7ece2 20%,#f0f3ec 40%,#e7ece2 60%);background-size:200% 100%;animation:skeleton 1.8s ease-in-out infinite}@keyframes skeleton{to{background-position:-200% 0}}
.overview-grid{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:22px;margin-bottom:22px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius)}.panel-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:23px 25px 0}.panel-top h2{font-size:16px;font-weight:800;letter-spacing:-.25px}.panel-top p{font-size:11px;color:var(--muted);margin-top:7px;line-height:1.6}.text-button{display:flex;align-items:center;gap:5px;background:none;border:0;color:var(--muted);font-size:11px;white-space:nowrap;padding:2px 0}.text-button .icon{width:15px;height:15px}.text-button:hover{color:var(--green)}.chart-panel{min-width:0;overflow:hidden}.chart-key{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:21px 25px 0;font-size:10px;color:#8a9384}.chart-key>span:first-child{display:flex;align-items:center;gap:6px}.chart-key i{display:block;width:6px;height:6px;background:#517745;border-radius:50%}#sun-times{display:flex;gap:13px;align-items:center}#sun-times .icon{width:15px;height:15px}.hour-chart{position:relative;margin:5px 19px 0;min-height:196px}.chart-svg{display:block;width:100%;height:172px;overflow:visible}.chart-svg text{font:11px Manrope,'Segoe UI',sans-serif;fill:#a1aa9a}.chart-line{fill:none;stroke:#587f41;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.chart-line-hit{fill:none;stroke:transparent;stroke-width:22}.chart-grid{stroke:#e9eee3;stroke-width:1;stroke-dasharray:4 4}.chart-hours{display:grid;gap:0;margin-left:29px;position:relative;margin-top:0}.chart-hour-button{border:0;background:none;min-width:0;padding:9px 0;border-radius:5px;font-size:9px;color:#98a08e;position:relative}.chart-hour-button.selected{background:#eef3e7;color:#3e6131;font-weight:800}.chart-hour-button:hover{background:#f3f5ef}.chart-hour-button.past{color:#bdc3b5}.chart-footer{margin:12px 25px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:10px;color:#a0a798}.chart-footer>span:first-child{display:flex;align-items:center;gap:5px}.chart-night-dot{width:6px;height:6px;background:#729b4f;border-radius:50%}.best-panel{border-radius:var(--radius);background:var(--pine);padding:25px 25px 20px;color:#edf4e6;position:relative;overflow:hidden}.best-top{display:flex;align-items:center;justify-content:space-between}.best-top .eyebrow{color:#a3b29a;margin:0;font-size:9px}.best-top .icon{color:#c5d9ac;width:18px}.best-panel h2{font-size:25px;letter-spacing:-.5px;font-weight:700;margin-top:15px;line-height:1.3}.best-panel>p{font-size:11px;color:#9aae9d;margin-top:6px;line-height:1.5}.best-score{display:flex;gap:8px;align-items:center;margin-top:18px}.best-score>strong{font-size:56px;line-height:1;letter-spacing:-2.5px;font-weight:600;color:#d4e7ad}.best-score>span{align-self:center;font-size:13px;color:#a8b59e}.best-score small{display:block;font-size:9px;color:#8ba48f;margin-top:4px}.score-dial{margin-left:auto;width:47px;height:47px;border-radius:50%;background:conic-gradient(#bdd69e var(--dial,75%),#345242 0);position:relative;display:grid;place-items:center}.score-dial:before{content:'';position:absolute;inset:4px;border-radius:50%;background:var(--pine)}.score-dial .icon{position:relative;color:#bdd69e;width:22px}.best-reasons{display:flex;flex-direction:column;gap:8px;margin-top:21px;font-size:10px;color:#b5c6af}.best-reasons span{display:flex;gap:7px;align-items:center}.best-reasons .icon{width:13px;height:13px;color:#c1d6a6}.best-button{width:100%;padding:10px;border-radius:7px;background:#d4e3b7;color:var(--pine);font-size:11px;font-weight:800;border:0;margin-top:20px}.best-button:hover{background:#e3edcf}
.selected-hour{padding:19px 24px 16px;margin-bottom:27px;display:grid;grid-template-columns:230px minmax(0,1fr);column-gap:15px}.selected-hour-heading{display:flex;align-items:center;gap:10px}.selected-time-icon{display:grid;place-items:center;width:35px;height:35px;background:#eef3e7;color:#6a8651;border-radius:9px;flex-shrink:0}.selected-time-icon .icon{width:18px}.selected-hour-heading h2{font-size:14px;line-height:1.3}.selected-hour-heading div>span{display:block;font-size:10px;margin-top:5px;color:var(--muted)}.score-pill{display:inline-block;background:#eaf2e2;border:1px solid #dce8cf;color:#5e7b44;border-radius:6px;padding:4px 7px;font-size:10px;font-weight:800;margin-left:auto;white-space:nowrap}.hour-weather{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:center;border-left:1px solid var(--line);padding-left:25px}.weather-metric{display:flex;align-items:flex-start;gap:8px}.weather-metric>.icon{color:#8b9685;width:18px;height:18px;margin-top:2px}.weather-metric strong{font-size:14px;display:block;font-weight:700;white-space:nowrap}.weather-metric strong small{font-size:10px;font-weight:500;color:var(--muted)}.weather-metric span{display:block;font-size:9px;color:#909888;margin-top:4px;white-space:nowrap}.hour-advice{grid-column:1/-1;border-top:1px solid #edf0e8;margin-top:16px;padding-top:12px;display:flex;gap:8px;align-items:center;font-size:11px;line-height:1.6;color:#7f8c74}.hour-advice .icon{width:15px;height:15px;flex-shrink:0}
.heatmap-panel{overflow:hidden;margin-bottom:39px}.heat-legend{display:flex;align-items:center;gap:4px;font-size:9px;color:#9da795;margin-top:3px;white-space:nowrap}.heat-legend>span:first-child{margin-right:3px}.heat-legend>span:last-child{margin-left:3px}.heat-legend i{display:block;width:13px;height:13px;border-radius:3px;background:#edf1e4}.heat-legend i:nth-of-type(2){background:#d1dfb9}.heat-legend i:nth-of-type(3){background:#8da764}.heat-legend i:nth-of-type(4){background:#476b35}.heatmap-scroll{padding:19px 25px 15px;overflow-x:auto}.heatmap-grid{display:grid;min-width:625px;gap:5px}.heatmap-label{display:flex;align-items:center;font-size:11px;white-space:nowrap;color:#6b775f}.heatmap-label strong{font-size:11px;font-weight:600}.heatmap-col-heading{text-align:center;font-size:9px;color:#9aa48e;padding:3px 0 9px}.heatmap-cell{border:0;border-radius:4px;height:30px;min-width:0;font-size:9px;font-weight:600;background:var(--cell-bg);color:var(--cell-color);padding:0;position:relative;transition:filter .15s}.heatmap-cell:hover{filter:brightness(.9)}.heatmap-cell.selected{outline:2px solid #243e19;outline-offset:2px;z-index:1}.heatmap-cell.past{opacity:.38}.heatmap-note{display:flex;align-items:flex-start;gap:7px;padding:12px 25px 17px;font-size:10px;line-height:1.65;color:#94a088}.heatmap-note .icon{width:14px;height:14px;margin-top:1px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:21px}.section-heading h2{font-size:24px;line-height:1.35;letter-spacing:-.7px;font-weight:800}.section-heading .eyebrow{margin-bottom:8px}.section-heading p{font-size:12px;margin-top:8px}.map-hour-label{font-size:11px;padding:9px 12px;border:1px solid #dce4d6;background:#edf2e7;border-radius:8px;white-space:nowrap;color:#5e7251}.map-grid{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:22px}.map-shell{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid #dde4d4;background:#e8eedf;min-height:458px}.map-toolbar{position:absolute;top:16px;left:16px;right:16px;display:flex;justify-content:space-between;gap:10px;z-index:700;pointer-events:none}.map-toolbar>*{pointer-events:auto}.map-mode-control{background:#f9fbf6;border-color:#e0e5d6;padding:3px;box-shadow:0 2px 10px #3448220c}.map-mode-control button{font-size:10px;padding:7px 9px;gap:5px}.map-mode-control .icon{width:15px;height:15px}.map-mode-control button.selected{background:#e8eee0;box-shadow:none}#map{height:100%;min-height:458px;z-index:1;font-family:inherit;background:#e8eedf}.leaflet-container{font-family:inherit}.leaflet-tile-pane{filter:saturate(.62)}.leaflet-control-zoom{border:1px solid #d5ddca!important;border-radius:8px!important;overflow:hidden;box-shadow:0 2px 10px #3448220a!important}.leaflet-control-zoom a{color:#47573e!important;font-size:18px!important;font-weight:400!important}.leaflet-top.leaflet-left{top:75px;left:6px}.leaflet-control-attribution{background:rgba(255,255,255,.9)!important;font-size:9px!important}.map-wind-key{position:absolute;bottom:27px;left:16px;z-index:700;display:flex;align-items:center;gap:8px;padding:9px 12px;background:rgba(255,255,255,.95);border:1px solid #e0e7d5;border-radius:8px;font-size:10px;color:#6b7e5a;box-shadow:0 2px 10px #3448220a}.wind-key-arrow{font-size:23px;line-height:1;color:#587849}.switch{display:flex;margin-left:9px}.switch input{position:absolute;opacity:0;width:32px;height:19px;margin:0;cursor:pointer}.switch>span{display:block;width:29px;height:16px;background:#d6ddcc;border-radius:9px;pointer-events:none;position:relative;transition:background .2s}.switch>span:after{content:'';position:absolute;left:3px;top:3px;width:10px;height:10px;border-radius:50%;background:white;transition:transform .2s}.switch input:checked+span{background:#60834b}.switch input:checked+span:after{transform:translateX(13px)}.switch input:focus-visible+span{outline:3px solid #8da969;outline-offset:3px}.wind-map-marker{background:transparent!important;border:0!important;pointer-events:none!important}.wind-map-arrow{font-size:35px;line-height:36px;font-family:Arial,sans-serif;text-align:center;color:#3e6b54;opacity:.62;text-shadow:0 1px 2px #fff;transform-origin:50% 50%}.wind-map-arrow.calm{font-size:19px;color:#65846c}.forecast-map-pin{background:var(--pine);border:3px solid white;width:19px;height:19px;border-radius:50%;box-shadow:0 1px 6px #1e382b44}.route-point{width:24px;height:24px;border:2px solid white;border-radius:50%;display:grid;place-items:center;color:white;background:var(--pine);font-size:10px;font-weight:800;box-shadow:0 1px 5px #1e382b33}.map-message{position:absolute;top:71px;left:55px;right:14px;z-index:701;background:#fff9e9;border:1px solid #e6d9bb;color:#866738;border-radius:8px;font-size:11px;padding:10px;line-height:1.6}.route-panel{padding:21px 22px}.route-panel .panel-top{padding:0;align-items:center}.route-panel h3{font-size:13px;font-weight:800}.route-panel .panel-top>.icon{width:17px;color:#87957c}.wind-summary{display:flex;gap:19px;align-items:center;margin-top:19px}.compass{width:84px;height:84px;border:1px solid #e3e9da;border-radius:50%;position:relative;background:radial-gradient(circle,white 36%,#f4f7ee 37%,#f4f7ee 64%,white 65%);flex-shrink:0}.compass>span{font-size:8px;position:absolute;color:#a0ad90}.compass .north{top:5px;left:calc(50% - 3px);color:#496d33;font-weight:800}.compass .east{right:7px;top:calc(50% - 5px)}.compass .south{bottom:5px;left:calc(50% - 3px)}.compass .west{left:7px;top:calc(50% - 5px)}.compass-arrow{position:absolute;left:23px;top:17px;width:36px;height:49px;font:49px/49px Arial,sans-serif;color:#718d50;transform-origin:50% 50%}.wind-summary>div:last-child>strong{font-size:28px;font-weight:700;line-height:1.2;letter-spacing:-1px;display:block}.wind-summary small{font-size:11px;font-weight:500;letter-spacing:0;color:#8b987c}.wind-summary>div:last-child>span{display:block;font-size:11px;margin-top:5px;color:#738466}.wind-summary>div:last-child>.wind-gusts{font-size:10px;color:#a0aa91}.wind-approach{background:#f0f5e8;border:1px solid #e7eddc;border-radius:9px;padding:11px 12px;margin-top:18px;font-size:10px;line-height:1.7;color:#6a8055}.wind-approach strong{font-weight:700;color:#4c683a}.route-divider{height:1px;background:var(--line);margin:21px 0 17px}.route-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.route-title>span{font-size:11px;color:#7c8a70}.route-instruction{font-size:10px;color:#8e9a82;line-height:1.8;margin-top:9px}.route-segments{margin-top:9px;max-height:188px;overflow:auto}.route-segment{display:flex;gap:9px;align-items:center;border-bottom:1px solid #f0f3eb;padding:9px 0;font-size:10px}.route-segment>span:first-child{font-weight:700;min-width:35px}.route-segment>span:nth-child(2){color:#95a188;margin-left:auto}.route-segment>b{font-size:9px;font-weight:600;border-radius:4px;padding:3px 6px;white-space:nowrap}.route-segment.good>b{background:#e5eee0;color:#5e7b45}.route-segment.cross>b{background:#fbf1d8;color:#94762e}.route-segment.bad>b{background:#f9e8df;color:#a56742}.route-segment.calm>b{background:#eef0e9;color:#88917b}.route-summary{font-size:10px;color:#758567;line-height:1.7;padding-top:9px}.route-tools{display:flex;gap:8px;margin-top:13px}.outline-button{display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:white;border-radius:6px;padding:8px;font-size:10px;flex:1}.outline-button .icon{width:14px;height:14px}.outline-button:hover:enabled{background:#f4f7ed}.export-button{width:100%;display:flex;justify-content:center;align-items:center;gap:7px;background:#edf2e5;border:1px solid #dce7cb;border-radius:7px;padding:10px 6px;margin-top:9px;font-size:10px;font-weight:700;color:#5b7943}.export-button .icon{width:15px;height:15px}.export-button:hover:enabled{background:#e3edda}.map-disclaimer{font-size:9px;line-height:1.75;color:#a4ad98;margin-top:13px}
.footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:29px 0 26px;font-size:9px;color:#9aa68e}.footer-brand{display:flex;gap:6px;align-items:center;font-size:12px;font-weight:800;letter-spacing:1.2px;color:#6f7e63}.footer-brand .icon{width:17px;height:17px}.footer-brand>span{font-size:9px;font-weight:400;letter-spacing:0;color:#a0aa94;margin-left:8px}.footer>div{text-align:right;line-height:1.8}.footer a{text-decoration:underline;text-underline-offset:2px}.footer button{display:block;background:none;border:0;text-decoration:underline;text-underline-offset:2px;font-size:9px;color:#93a084;padding:0;margin:3px 0 0 auto}
.dialog{border:1px solid var(--line);border-radius:20px;padding:30px;max-width:570px;width:calc(100% - 32px);max-height:calc(100dvh - 60px);color:var(--ink);background:#fdfefb;box-shadow:0 25px 90px #1b352233}.dialog::backdrop{background:#10271dcc;backdrop-filter:blur(4px)}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.dialog-heading h2{font-size:23px;letter-spacing:-.7px;line-height:1.35}.search-form{display:flex;align-items:center;gap:9px;background:white;border:1px solid #ccd8bf;border-radius:9px;padding:7px 7px 7px 12px}.search-form>.icon{width:17px;color:#8a9d79}.search-form input{width:100%;min-width:0;border:0;background:transparent;font-size:13px;padding:7px 0;color:var(--ink)}.search-form input:focus{outline:0}.search-form:focus-within{outline:2px solid #8da969;outline-offset:2px}.primary-button{padding:10px 15px;background:var(--pine);color:white;border:0;border-radius:6px;font-size:11px;font-weight:700}.search-results{font-size:12px;color:var(--muted);line-height:1.7;margin-top:15px;max-height:290px;overflow:auto}.search-result{display:flex;gap:11px;align-items:center;background:white;width:100%;border:1px solid var(--line);border-radius:9px;padding:12px;text-align:left;margin:7px 0}.search-result:hover{background:#eef3e7}.search-result .icon{color:#7e9668;width:18px}.search-result strong{display:block;font-size:13px;font-weight:700}.search-result small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.location-shortcuts{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}.location-shortcuts button{display:flex;align-items:center;gap:6px;font-size:11px;border:1px solid #dfe6d4;background:#f1f5e9;padding:8px 10px;border-radius:6px}.location-shortcuts .icon{width:15px;height:15px}.dialog-note{font-size:11px;line-height:1.7;color:#94a087;margin-top:18px}.method-dialog{max-width:640px}.method-intro{font-size:14px;line-height:1.8;color:#5d6d52}.method-intro strong{color:var(--ink);font-weight:700}.method-profile{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:19px;margin-top:21px;font-size:12px}.method-profile select{font-size:12px;padding:8px;border:1px solid #d2ddc6;border-radius:6px;background:white;color:#536845;max-width:65%}.method-factors{margin:16px 0}.method-factor{display:grid;grid-template-columns:1fr 35px;gap:5px 15px;padding:11px 0;border-bottom:1px solid #e9eee2}.method-factor strong{font-size:12px;font-weight:700}.method-factor>b{font-size:12px;color:#72944d;text-align:right}.method-factor p{grid-column:1/-1;color:#8a967d;font-size:11px;line-height:1.7}.method-note{font-size:11px;line-height:1.9;color:#8a967c;margin-top:13px}.method-source{display:block;font-size:11px;text-decoration:underline;margin-top:20px;color:#5a7b3f;line-height:1.6}.toast{position:fixed;bottom:25px;left:calc(50% + var(--sidebar)/2);transform:translateX(-50%);background:var(--pine);color:#edf5e5;border:1px solid #6c8554;border-radius:10px;padding:13px 22px;max-width:calc(100% - 30px);font-size:12px;line-height:1.7;box-shadow:0 8px 35px #14301c22;z-index:3000}.noscript{position:fixed;inset:20px 20px auto;background:#fff4e6;color:#9c6122;z-index:4000;padding:20px;border-radius:10px}
@media(min-width:1500px){main{padding-top:42px}.day-card{min-height:174px;padding:17px 18px}.day-card.selected{padding:16.5px 17.5px}.overview-grid,.map-grid{grid-template-columns:minmax(0,1fr) 330px}.best-panel{padding:26px 29px}.hour-chart{min-height:230px}.chart-svg{height:204px}.selected-hour{grid-template-columns:270px minmax(0,1fr)}}
@media(max-width:1200px){:root{--sidebar:194px}.sidebar{padding-left:13px;padding-right:13px}.brand{margin-left:9px;margin-right:0;font-size:25px;gap:9px}.brand-icon{width:38px;height:38px}.brand-caption{font-size:8px;letter-spacing:1px}.nav-item{font-size:11px;gap:9px}.sidebar-note{margin:32px 9px}.topbar{padding:0 27px}main{padding:30px 27px 0}.day-cards{gap:8px}.day-card{padding:13px 10px}.day-card.selected{padding:12.5px 9.5px}.day-card-weather{font-size:9px;gap:3px}.day-card-weather .icon{width:11px;height:11px}.day-date{font-size:11px}.overview-grid,.map-grid{grid-template-columns:minmax(0,1fr) 258px;gap:17px}.panel-top{padding-left:20px;padding-right:20px}.best-panel{padding:23px 20px 18px}.chart-footer{font-size:9px;margin-left:20px;margin-right:20px}.chart-key{margin-left:20px;margin-right:20px}.chart-key #sun-times{font-size:9px;gap:8px}.selected-hour{grid-template-columns:200px minmax(0,1fr);padding:17px 20px}.hour-weather{padding-left:17px;gap:8px}.weather-metric>.icon{display:none}.weather-metric strong{font-size:13px}.weather-metric span{font-size:9px}.heatmap-scroll{padding-left:20px;padding-right:20px}.route-panel{padding:20px 18px}.footer-brand>span{display:none}}
@media(max-width:1000px){:root{--sidebar:0px}.sidebar{display:none}.topbar{height:68px}.mobile-brand{display:flex;align-items:center;gap:7px;font-size:19px;letter-spacing:1px;color:var(--pine)}.mobile-brand .icon{width:28px;height:28px}.top-location{margin-right:auto;margin-left:28px}.top-divider,.profile-badge{display:none}.toast{left:50%}.skip-link{left:15px}.chart-svg{height:183px}.day-card-weather{font-size:10px}.day-card{min-height:157px}}
@media(max-width:760px){html{scroll-padding-top:78px}.topbar{padding:0 20px;height:62px}.top-location{margin-left:16px;max-width:43%;font-size:12px;gap:5px}.top-location>.icon:first-child{display:none}.update-label{display:none}.top-actions{gap:5px}.mobile-brand{font-size:17px}.mobile-brand .icon{width:24px;height:24px}main{padding:26px 20px 0}.page-heading{align-items:flex-start;gap:12px;margin-bottom:24px}h1{font-size:28px;letter-spacing:-1px}.eyebrow{font-size:9px;margin-bottom:7px}.page-heading p{font-size:12px;margin-top:8px}.view-control{gap:2px;padding:3px;margin-top:22px}.view-control button{font-size:10px;padding:7px 8px;gap:4px}.view-control .icon{width:13px;height:13px}.week-heading{font-size:11px}.week-heading>span:last-child{font-size:9px}.day-cards{display:flex;overflow-x:auto;gap:9px;padding:2px 1px 8px;margin-bottom:17px;scroll-snap-type:x proximity}.day-card,.day-skeleton{width:110px;min-width:110px;scroll-snap-align:center;min-height:146px;padding:13px 12px}.day-card.selected{padding:12.5px 11.5px}.day-card-top .icon{width:15px}.day-card-score{margin-top:12px}.day-card-score strong{font-size:27px}.day-card-weather{margin-top:15px;font-size:9px}.overview-grid{grid-template-columns:1fr;gap:15px;margin-bottom:15px}.panel-top{padding-top:21px;gap:10px}.panel-top h2{font-size:15px}.panel-top p{font-size:10px}.text-button{font-size:10px}.chart-panel{min-height:300px}.chart-key{margin-top:18px}.chart-svg{height:171px}.hour-chart{margin-top:4px;min-height:204px}.chart-hours{margin-left:27px}.chart-hour-button{font-size:8px}.chart-footer{margin-top:7px;margin-bottom:17px;font-size:8px}.best-panel{display:grid;grid-template-columns:1fr 130px;column-gap:15px;padding:20px 22px}.best-top{grid-column:1/-1}.best-panel h2{font-size:25px;grid-column:1;grid-row:2;margin-top:15px}.best-panel>p{grid-column:1;grid-row:3;font-size:10px}.best-score{grid-column:2;grid-row:2/4;margin-top:9px;gap:7px;justify-content:flex-end}.best-score>strong{font-size:48px}.best-score>span{font-size:11px}.best-score small{font-size:8px}.score-dial{display:none}.best-reasons{grid-column:1;grid-row:4;gap:7px;margin-top:16px;font-size:9px}.best-button{grid-column:2;grid-row:4;align-self:center;font-size:9px;margin:0;padding:11px 6px}.selected-hour{grid-template-columns:1fr;padding:18px 20px 14px;margin-bottom:19px;gap:18px}.selected-hour-heading h2{font-size:14px}.hour-weather{padding:0;border:0;gap:10px}.weather-metric strong{font-size:13px}.weather-metric span{font-size:8px}.hour-advice{margin:0;padding-top:12px;font-size:10px}.heatmap-panel{margin-bottom:32px}.heatmap-panel .panel-top{flex-wrap:wrap;gap:10px}.heat-legend{margin-top:0}.heatmap-note{padding:9px 20px 16px;font-size:9px}.section-heading{align-items:flex-start;flex-wrap:wrap;gap:12px;margin-bottom:17px}.section-heading h2{font-size:22px}.section-heading p{font-size:11px;line-height:1.7}.map-hour-label{font-size:10px;padding:7px 10px}.map-grid{grid-template-columns:1fr;gap:15px}.map-shell{min-height:380px}#map{height:380px;min-height:380px}.route-panel{padding:21px}.route-panel .panel-top h3{font-size:15px}.wind-summary{gap:25px}.wind-approach,.route-instruction,.route-summary{font-size:12px}.route-title h3{font-size:14px}.route-segment{font-size:12px}.route-segment>b{font-size:10px}.route-tools{margin-top:18px}.outline-button,.export-button{font-size:12px;padding:12px 8px}.map-disclaimer{font-size:10px}.footer{align-items:flex-start;padding:24px 0;gap:20px;font-size:8px}.footer>div{max-width:72%}.footer button{font-size:8px}.dialog{padding:23px;max-height:calc(100dvh - 36px)}.dialog-heading h2{font-size:21px}.method-profile{flex-direction:column;align-items:flex-start}.method-profile select{max-width:100%;width:100%;font-size:13px}.method-note,.method-factor p{font-size:12px}.toast{font-size:12px;width:max-content}}
@media(max-width:390px){main{padding-left:15px;padding-right:15px}.topbar{padding-left:15px;padding-right:15px}.view-control button{font-size:9px;padding:7px 6px}.page-heading p{font-size:11px}.chart-key #sun-times{font-size:8px;gap:5px}.chart-key #sun-times .icon{width:12px}.chart-footer>span:last-child{max-width:160px;text-align:right}.weather-metric strong{font-size:12px}.weather-metric span{font-size:8px}.best-panel{grid-template-columns:1fr 115px;padding-left:19px;padding-right:19px}.best-panel h2{font-size:23px}.best-score>strong{font-size:44px}.top-location{max-width:40%;margin-left:13px}.week-heading>span:last-child{max-width:150px;text-align:right}.heatmap-panel .panel-top{padding-left:18px;padding-right:18px}.search-form{gap:5px}.search-form input{font-size:11px}.primary-button{padding:10px;font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Readable text at all breakpoints; only the numeric chart axis is compact. */
.day-date-detail{display:block;font-size:12px;font-weight:400;color:#8a967e;margin-top:4px}
.heatmap-date{font-size:12px;font-weight:400;color:#96a388;margin-left:5px}
.inline-method-button{background:none;border:0;padding:0;color:#54773c;font-size:inherit;text-decoration:underline;text-underline-offset:2px}
.factor-hour-score{font-size:12px;color:#809d61;font-weight:500;margin-left:6px}
.brand-caption,.sidebar-label,.sidebar-version,.eyebrow{font-size:12px;letter-spacing:1.1px}
.brand-caption{font-size:9px;letter-spacing:1.2px}
.nav-item,.sidebar-location strong,.top-location,.profile-badge,.view-control button,.map-mode-control button,.day-date,.text-button,.best-button,.wind-approach,.route-instruction,.route-segment,.outline-button,.export-button,.search-form input,.primary-button,.search-result strong,.location-shortcuts button,.method-profile,.method-profile select,.method-factor strong,.method-factor>b{font-size:14px}
.page-heading p,.section-heading p,.method-intro{font-size:16px;line-height:1.6}
.sidebar-note p,.sidebar-note p span,.sidebar-location small,.update-label,.week-heading,.week-heading>span:last-child,.day-card-rating,.day-card-score small,.day-card-weather,.panel-top p,.chart-key,.chart-key #sun-times,.chart-hour-button,.chart-footer,.heatmap-col-heading,.heatmap-cell,.heatmap-label,.heatmap-label strong,.heat-legend,.heatmap-note,.best-reasons,.best-panel>p,.best-score small,.weather-metric span,.hour-advice,.score-pill,.selected-hour-heading div>span,.map-hour-label,.map-wind-key,.wind-summary>div:last-child>span,.wind-summary>div:last-child>.wind-gusts,.route-title>span,.route-summary,.route-segment>b,.map-disclaimer,.footer,.footer button,.dialog-note,.search-result small,.search-results,.method-factor p,.method-note,.method-source{font-size:12px;line-height:1.65}
.best-top .eyebrow{font-size:12px}.best-reasons{line-height:1.8}.best-reasons span{align-items:flex-start}.best-reasons .icon{margin-top:3px}.sidebar-note{margin-left:10px;margin-right:10px}.sidebar-note p{font-size:12px}.method-note,.method-factor p,.method-source{font-size:14px}.chart-key #sun-times{gap:10px}.chart-footer>span:last-child{text-align:right}.footer-brand>span{font-size:12px}.heatmap-label{flex-wrap:wrap}.heatmap-date{display:block;margin:1px 0 0}.route-panel h3{font-size:14px}.route-instruction{line-height:1.7}.best-panel{min-height:332px}.hour-chart{min-height:208px}.chart-hours{margin-top:4px}.heatmap-cell{height:33px}.sidebar-note .icon{margin-top:2px}.day-card{min-height:176px}.day-card-score{margin-top:12px}.day-card-weather{font-size:11px}.day-card-rating{font-size:12px}.map-mode-control button{font-size:12px}.map-disclaimer{color:#859478}.heatmap-note{color:#7e8d71}.chart-footer{color:#87967c}.page-heading p,.section-heading p{color:#75846b}
@media(max-width:1200px) and (min-width:1001px){.nav-item{font-size:13px;gap:8px}.sidebar-note p{font-size:12px}.day-date{font-size:12px}.day-card-rating{font-size:11px}.day-card-weather{font-size:10px}.selected-hour{grid-template-columns:1fr}.hour-weather{border-left:0;border-top:1px solid var(--line);padding:15px 0 0;margin-top:15px}.hour-advice{font-size:12px}.chart-footer{font-size:11px}.sidebar-label{font-size:11px}.brand-caption{font-size:8px}}
@media(max-width:760px){.page-heading{flex-wrap:wrap}.view-control{margin-top:0}.day-card,.day-skeleton{width:125px;min-width:125px}.day-date{font-size:14px}.chart-panel .panel-top{flex-wrap:wrap}.chart-key{flex-wrap:wrap;row-gap:6px}.chart-hours{margin-left:27px}.chart-hour-button{font-size:10px;min-height:34px}.chart-footer{font-size:10px}.best-panel{min-height:242px;grid-template-columns:1fr 140px}.best-top .eyebrow{font-size:11px}.best-button{font-size:12px}.best-reasons{font-size:12px}.best-panel>p{font-size:12px}.hour-chart{margin-left:12px;margin-right:12px;min-height:205px}.hour-weather{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.weather-metric>.icon{display:block;width:18px}.weather-metric strong{font-size:16px}.weather-metric span{font-size:12px}.hour-advice{font-size:12px}.heatmap-note{font-size:12px}.section-heading h2{font-size:23px}.map-mode-control button{font-size:11px;padding:9px 8px}.map-mode-control .icon{width:14px}.route-panel h3{font-size:16px}.route-instruction,.wind-approach,.outline-button,.export-button{font-size:14px}.footer{flex-wrap:wrap}.footer>div{max-width:100%;text-align:left}.footer button{margin-left:0}.footer-brand>span{display:block}.sidebar-note{display:none}.week-heading{align-items:flex-start;gap:15px}.week-heading>span:last-child{font-size:11px;text-align:right;max-width:130px}.search-form input{font-size:13px}.primary-button{font-size:12px}}
@media(max-width:390px){.best-panel{grid-template-columns:1fr 117px;column-gap:8px}.best-panel h2{font-size:22px}.best-button{font-size:11px}.best-reasons{font-size:11px}.view-control button{font-size:12px}.top-location{font-size:12px}.chart-key{font-size:11px}.chart-key #sun-times{font-size:11px}.chart-hour-button{font-size:10px}.map-mode-control button{font-size:10px}.map-toolbar{left:12px;right:12px}.heatmap-panel .panel-top p{font-size:12px}}
:root{--muted:#687261}
.eyebrow,.sidebar-label,.sidebar-version,.day-date-detail,.day-card-rating,.day-card-weather,.day-card-score small,.week-heading,.week-heading>span:last-child,.chart-key,.chart-key #sun-times,.chart-hour-button,.chart-footer,.weather-metric span,.heatmap-col-heading,.heatmap-date,.heat-legend,.heatmap-note,.hour-advice,.map-disclaimer,.route-instruction,.route-summary,.route-title>span,.route-segment>span:nth-child(2),.dialog-note,.method-note,.method-factor p,.footer,.footer button,.footer-brand>span,.page-heading p,.section-heading p{color:#687261}
.chart-svg text{fill:#687261;font-size:12px}
.chart-hour-button.selected{color:#3e6131}.day-card.selected .day-card-rating{color:#50623d}
.leaflet-control-attribution{font-size:11px!important}
