:root{font-family:Inter,Arial,sans-serif;color:#102d50;background:#f5f8fc;font-synthesis:none;--blue:#075ae8;--muted:#526985;--motion:2s}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ffbe47;outline-offset:4px}button:disabled{cursor:wait;opacity:.65}.wrap{width:min(1120px,calc(100% - 64px));margin-inline:auto}.topbar{height:108px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font-size:26px;letter-spacing:-1px;font-weight:800;text-decoration:none;color:#102d50}.brand span{font-weight:400;color:#698099;margin-left:-10px}.brand svg{width:34px;height:34px;stroke:var(--blue);stroke-width:2.5;fill:none;stroke-linecap:round}.header-note{color:var(--muted);font-size:14px}.location-bar{display:flex;align-items:flex-end;gap:18px;margin:20px 0 8px}.location-bar form{width:400px}label{display:block;font-size:14px;font-weight:600;margin-bottom:10px}.location-input{display:flex;gap:10px;align-items:center;background:white;border:1px solid #d6e0ed;border-radius:12px;padding:6px 6px 6px 14px}.location-input svg,.secondary svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;flex:none}.location-input input{width:100%;min-width:0;border:0;padding:10px 0;background:transparent;color:#102d50;font-size:16px}.location-input button{border:0;color:white;background:var(--blue);padding:12px 18px;border-radius:8px;font-weight:600}.secondary{display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #d6e0ed;background:white;color:#294b72;border-radius:12px;padding:17px 20px}.or{color:#6c8099;margin-bottom:18px;font-size:14px}.help{font-size:13px;color:var(--muted);margin:0 0 24px}.message{background:#e4edff;border:1px solid #bacff9;border-radius:10px;padding:14px 18px;font-size:14px;line-height:1.5}.message.error{background:#fff0e9;border-color:#f1c9b4;color:#813b24}.wind-panel{display:grid;grid-template-columns:1.12fr 1fr;border-radius:24px;overflow:hidden;min-height:414px;background:white;border:1px solid #e1e8f2;box-shadow:0 14px 48px #1e478308}.wind-copy{padding:37px 42px 40px}.eyebrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:14px}.tiny-divider{width:3px;height:3px;border-radius:100%;background:#8ca0ba}h1{font-size:24px;font-weight:500;letter-spacing:-.5px;margin:35px 0 4px}.answer{font-size:clamp(44px,5.8vw,72px);line-height:1.03;font-weight:800;letter-spacing:-3px;margin:0;color:var(--blue)}.description{margin:16px 0 26px;color:#526985;font-size:17px;line-height:1.5}.main-reading{display:flex;gap:10px;align-items:baseline}.main-reading>strong{font-size:52px;letter-spacing:-2px}.main-reading>span{font-size:16px;color:var(--muted)}.main-reading div{display:flex;align-items:baseline;gap:8px}.main-reading div strong{font-size:27px;letter-spacing:-.5px}.main-reading div span{color:var(--muted);font-size:15px}.reading-divider{height:32px;width:1px;background:#d9e2ee;align-self:center;margin:0 14px}.direction-reading{display:flex;gap:10px;align-items:center;margin-top:14px;font-size:15px;font-weight:600;flex-wrap:wrap}.direction-reading svg{width:20px;height:20px;fill:var(--blue)}.speed-kmh{color:var(--muted);font-weight:400;margin-left:8px}.wind-visual{position:relative;background:#eaf3ff;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.visual-caption{position:absolute;top:29px;font-size:11px;letter-spacing:2px;color:#627d9f;font-weight:600}.windsock{width:90%;max-width:350px;margin-top:28px;z-index:1}.pole{fill:none;stroke:#304f75;stroke-width:5;stroke-linecap:round}.pole-cap{fill:#304f75}.sock{transform-origin:84px 103px;animation:flutter var(--motion) ease-in-out infinite}.sock-white{fill:#fff;stroke:#b2c8e2;stroke-width:1.5}.sock-red{fill:#ff715b}.sock-opening{fill:#c95243;stroke:#ff8875;stroke-width:3}.wind-streak{position:absolute;left:-110px;width:100px;height:2px;background:#accdf7;animation:blow calc(var(--motion)*2) linear infinite}.streak-one{top:30%;width:80px}.streak-two{top:48%;animation-delay:-2s;width:150px}.streak-three{top:68%;animation-delay:-1s;width:65px}.compass{width:102px;height:102px;border:1px solid #bfd3ed;border-radius:50%;position:relative;margin-top:-13px;background:#f4f8ff}.compass>span{position:absolute;font-size:11px;font-weight:700;color:#6984a8}.north{top:7px;left:47px}.south{bottom:7px;left:47px}.east{right:9px;top:44px}.west{left:7px;top:44px}#compass-pointer{position:absolute;left:35px;top:16px;width:32px;height:68px;transition:transform 1s}#compass-pointer svg{width:100%;height:100%}.compass .compass-center{width:8px;height:8px;background:#102d50;border:2px solid #fff;border-radius:50%;left:46px;top:46px}.visual-direction{font-size:13px;color:#526985;margin:12px 0 24px}.forecast-section{margin-top:36px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}h2{font-size:22px;letter-spacing:-.6px;margin:0}.section-heading p{font-size:14px;color:var(--muted);margin:8px 0 0}.periods{display:flex;background:#e6edf6;padding:4px;border-radius:10px;flex:none}.periods button{border:0;background:none;color:#526985;padding:10px 15px;border-radius:7px;font-size:14px}.periods .active{background:white;color:#163e73;box-shadow:0 1px 4px #193a5c12;font-weight:600}.forecast-strip{display:flex;overflow-x:auto;gap:0;margin-top:22px;background:white;border:1px solid #dfe7f1;border-radius:16px;padding:20px 0;scrollbar-width:thin;scrollbar-color:#b3c8e1 transparent}.hour{min-width:91px;flex:1;text-align:center;padding:0 14px;border-right:1px solid #edf1f7}.hour:last-child{border:0}.hour-time{font-size:13px;color:#526985;white-space:nowrap}.hour-bar{height:70px;display:flex;align-items:flex-end;justify-content:center;margin:16px 0 12px}.hour-bar span{width:18px;background:#93bafa;border-radius:5px 5px 3px 3px;min-height:3px}.hour:first-child .hour-bar span{background:var(--blue)}.hour-speed{font-size:20px;font-weight:700;white-space:nowrap}.hour-speed small{font-size:11px;font-weight:400;color:var(--muted)}.hour-direction{display:flex;align-items:center;justify-content:center;gap:5px;font-size:12px;color:#627b99;margin-top:11px}.hour-direction svg{width:16px;height:16px;fill:#46678f}.empty-forecast{padding:10px 24px;color:var(--muted);font-size:14px}.footnote{display:flex;gap:9px;margin-top:22px;align-items:flex-start;color:var(--muted)}.footnote svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.6;fill:none;flex:none;margin-top:1px}.footnote p{font-size:13px;line-height:1.6;margin:0}footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid #dee6f1;margin-top:36px!important;padding:24px 0 32px;color:#5a708d;font-size:12px}footer a{color:inherit;text-underline-offset:3px}.calm .sock{transform:rotate(45deg);animation:none}.calm .wind-streak{display:none}.unavailable .wind-visual{opacity:.45}.unavailable .sock,.unavailable .wind-streak{animation:none}@keyframes flutter{0%,100%{transform:rotate(-3deg) scaleY(.95)}50%{transform:rotate(3deg) scaleY(1.02)}}@keyframes blow{from{transform:translateX(0);opacity:0}20%,75%{opacity:.75}to{transform:translateX(680px);opacity:0}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}@media(max-width:760px){.wrap{width:calc(100% - 32px)}.topbar{height:80px}.brand{font-size:23px}.header-note{display:none}.location-bar{gap:10px;flex-wrap:wrap;margin-top:8px}.location-bar form{flex:1;min-width:100%}.or{display:none}.secondary{padding:11px 14px;font-size:14px}.help{margin-top:10px;font-size:12px}.wind-panel{grid-template-columns:1fr .66fr;min-height:355px;border-radius:18px}.wind-copy{padding:24px 20px}.eyebrow{font-size:12px;gap:7px}.eyebrow #forecast-time{display:none}h1{font-size:19px;margin-top:30px}.answer{font-size:46px;letter-spacing:-2px}.description{font-size:15px;margin:12px 0 20px}.main-reading>strong{font-size:42px}.main-reading{gap:5px;flex-wrap:wrap}.main-reading>span{font-size:12px}.main-reading div strong{font-size:20px}.main-reading div span{font-size:12px}.reading-divider{margin:0 3px;height:22px}.direction-reading{font-size:12px;gap:7px}.speed-kmh{margin-left:0}.visual-caption{font-size:9px;letter-spacing:1px;top:24px}.windsock{width:150%;max-width:none;transform:translateX(9px);margin-top:35px}.compass{transform:scale(.82);margin-top:-15px}.visual-direction{font-size:11px;margin:0 0 16px}.section-heading{align-items:flex-start;gap:14px;flex-direction:column}h2{font-size:20px}.forecast-section{margin-top:28px}.periods button{padding:8px 15px}.hour{min-width:83px}.forecast-strip{margin-top:16px}.footnote p{font-size:12px}footer{flex-direction:column;margin-top:28px!important}}@media(max-width:370px){.wind-panel{grid-template-columns:1fr}.wind-visual{display:none}.answer{font-size:48px}.main-reading{flex-wrap:nowrap}}
@media(min-width:371px) and (max-width:760px){.wind-panel{grid-template-columns:1fr}.wind-copy{padding:25px}.answer{font-size:48px}.wind-visual{height:170px;flex-direction:row;justify-content:center;gap:20px}.windsock{width:205px;height:155px;margin:0;transform:none}.compass{margin:0;transform:scale(.85);flex:none}.visual-caption,.visual-direction{display:none}.wind-streak{top:45%}.streak-two{top:65%}.streak-three{top:25%}h1{margin-top:24px}.direction-reading{font-size:14px}.main-reading>span,.main-reading div span{font-size:14px}.reading-divider{margin:0 12px}.main-reading>strong{font-size:46px}.main-reading div strong{font-size:24px}}
.location-picker{position:relative}.location-input #place-toggle{background:transparent;color:#526985;padding:10px 5px;display:flex;align-items:center}.location-input #place-toggle svg{width:18px;height:18px}#places{position:absolute;z-index:10;top:calc(100% + 6px);left:0;right:0;max-height:280px;overflow-y:auto;overscroll-behavior:contain;margin:0;padding:6px;list-style:none;border:1px solid #d6e0ed;border-radius:12px;background:white;box-shadow:0 12px 28px #102d5026}#places[hidden]{display:none}#places [role=option]{padding:11px 12px;border-radius:6px;font-size:16px;cursor:pointer}#places [role=option]:hover,#places [aria-selected=true]{background:#eaf3ff;color:#075ae8}.no-place{padding:12px;color:#526985;font-size:14px}
