.wind-gust-stream{animation:wind-gust-flow var(--gust-duration,2s) linear infinite;opacity:0}@keyframes wind-gust-flow{0%{transform:translateY(5px);opacity:0}25%{opacity:.75}65%{opacity:.75}to{transform:translateY(-5px);opacity:0}}.wind-gust.is-paused .wind-gust-stream{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.wind-gust-stream{animation:none;opacity:.65}}.spot-picker-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;min-height:38px;padding:0 9px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--foreground);font-size:12px;font-weight:500;text-align:left}.spot-picker-trigger>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spot-picker-trigger>svg{flex-shrink:0;color:var(--muted)}.spot-picker-search input::placeholder{color:var(--muted);font-size:13px}.spot-picker-scope>svg{flex-shrink:0;color:var(--muted)}.spot-picker-select{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:1;min-width:0;min-height:44px;border:0;border-radius:6px;padding:9px;background:transparent;color:var(--foreground);text-align:left;font-size:12px;line-height:1.4}.spot-picker-select>span{min-width:0;overflow-wrap:anywhere}.spot-picker-select>svg{flex-shrink:0;color:var(--sage)}.spot-picker-scope:hover,.spot-picker-select:hover,.spot-picker-star:hover{background:var(--secondary)}.spot-picker-scope[aria-pressed=true],.spot-picker-select[aria-pressed=true]{background:var(--selected);color:var(--sage)}.spot-picker-trigger:focus-visible,.spot-picker-scope:focus-visible,.spot-picker-select:focus-visible,.spot-picker-star:focus-visible{outline:2px solid var(--sage);outline-offset:-2px}.spot-picker-empty{margin:0;padding:24px 14px;text-align:center;font-size:12px;color:var(--muted)}.spot-picker-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(prefers-reduced-motion:reduce){.spot-picker-popover{animation:none!important}}.spot-picker-heading h3{margin:0;font-size:13px;font-weight:600}.spot-picker-popover.day-spot-picker{z-index:90}.spot-picker-popover{z-index:70;display:flex;flex-direction:column;width:min(390px,calc(100vw - 28px));max-height:min(590px,80dvh,var(--radix-popover-content-available-height));padding:0;border:1px solid var(--border);border-radius:13px;background:var(--popover);color:var(--foreground);box-shadow:0 14px 42px #20272124;overflow:hidden}.spot-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px 4px}.spot-picker-heading button{width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:50%;background:none;color:var(--muted)}.spot-picker-search{display:flex;align-items:center;gap:9px;padding:0 10px;min-height:44px;flex-shrink:0;border-bottom:1px solid var(--border);color:var(--muted);margin:4px 14px 10px;border:1px solid var(--border);border-radius:7px;background:var(--background)}.spot-picker-search input{width:100%;min-width:0;height:42px;padding:0;border:0;background:transparent;color:var(--foreground);font:inherit;font-size:16px;outline:none}.spot-picker-scopes{border-bottom:1px solid var(--border);display:flex;gap:4px;margin:0 10px;padding:0 0 10px}.spot-picker-scope{display:flex;align-items:center;gap:5px;width:auto;min-height:34px;padding:6px;border:0;border-radius:6px;background:transparent;color:var(--foreground);text-align:left;font-size:11px;justify-content:center;flex:1}.spot-picker-scope>span{flex:none}.spot-picker-context{flex-shrink:0;margin:0;padding:10px 16px 2px;color:var(--muted);font-size:10px;line-height:1.5}.spot-picker-results{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:4px 8px 8px;scroll-padding:8px}.spot-picker-province>h3{position:sticky;top:-4px;z-index:1;margin:0;padding:9px 8px 7px;background:var(--popover);color:var(--muted);font-size:11px;font-weight:500;letter-spacing:0;display:flex;align-items:center;gap:7px}.spot-picker-province>h3>span{color:var(--muted);font-size:10px;font-weight:400}.spot-picker-row{display:flex;align-items:center;gap:0;border-radius:8px}.spot-picker-row[data-selected=true]{background:var(--selected)}.spot-picker-select[aria-pressed=true]{color:var(--foreground)}.spot-picker-select.is-rich{min-height:61px;gap:10px;padding:10px 8px}.spot-picker-name{display:flex;flex:1;flex-direction:column;gap:3px;line-height:1.3}.spot-picker-name>b{font-size:12px;font-weight:600}.spot-picker-name>small{font-size:11px;color:var(--muted);font-weight:400}.spot-picker-height{flex-shrink:0;font-size:12px;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.spot-picker-select>.spot-picker-dot{flex:none;width:7px;height:7px;align-self:flex-start;margin-top:5px;border:1px solid var(--muted);border-radius:50%;background:transparent}.spot-picker-dot[data-tone=go],.spot-picker-dot[data-tone=alert]{background:var(--sage);border-color:var(--sage)}.spot-picker-dot[data-tone=possible]{background:#90744a;border-color:#90744a}.spot-picker-dot[data-tone=unknown]{border-style:dashed}.spot-picker-star{display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:34px;min-height:44px;border:0;border-radius:6px;padding:0;background:transparent;color:var(--muted)}.spot-picker-star[aria-pressed=true]{color:var(--sage);opacity:.7}.spot-picker-browse{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;margin-top:5px;border:0;border-top:1px solid var(--border);border-radius:0;padding:10px 8px 2px;background:none;color:var(--foreground);font:inherit;font-size:11px;text-align:left}.spot-picker-browse>span:first-child{flex:1}.spot-picker-browse>span:nth-child(2){color:var(--muted)}.spot-picker-browse:hover{color:var(--sage)}.spot-picker-browse:focus-visible{outline:2px solid var(--sage);outline-offset:-2px}.spot-picker-footnote{flex-shrink:0;margin:0;padding:10px 16px;border-top:1px solid var(--border);font-size:9px;color:var(--muted);line-height:1.5}.spot-picker-categories{display:flex;gap:3px;margin:5px 14px 7px;background:var(--secondary);padding:3px;border-radius:7px}.spot-picker-categories>button{display:flex;align-items:center;justify-content:center;gap:6px;flex:1;min-height:32px;border:0;border-radius:5px;background:none;font:inherit;font-size:11px;color:var(--muted)}.spot-picker-categories>button[aria-pressed=true]{background:var(--popover);box-shadow:0 1px 3px #20272115;color:var(--foreground)}.spot-picker-categories>button>span{font-size:10px}.spot-picker-categories>button:focus-visible{outline:2px solid var(--sage)}.spot-picker-station{display:flex;align-items:center;gap:10px;width:100%;min-height:59px;border:0;border-radius:7px;padding:10px 8px;background:none;color:var(--foreground);font:inherit;font-size:12px;text-align:left}.spot-picker-station>span:first-of-type{display:flex;flex:1;flex-direction:column;gap:3px}.spot-picker-station small{font-size:11px;color:var(--muted)}.spot-picker-station svg{color:var(--muted)}.spot-picker-station:hover,.spot-picker-station[aria-pressed=true]{background:var(--selected)}.spot-picker-station:focus-visible{outline:2px solid var(--sage);outline-offset:-2px}@media(pointer:coarse){.spot-picker-scope,.spot-picker-categories>button{min-height:44px}.spot-picker-star{min-width:44px}.spot-picker-heading button{width:44px;height:44px}}.map-spot-hover{position:absolute;z-index:6;width:210px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--popover);color:var(--foreground);font-size:11px;line-height:1.4;box-shadow:0 6px 22px #16251a16;pointer-events:none;transform:translate(-50%,calc(-100% - 20px))}.map-spot-hover[data-side=bottom]{transform:translate(-50%,20px)}.map-spot-hover[data-align=start]{transform:translate(-22px,calc(-100% - 20px))}.map-spot-hover[data-align=end]{transform:translate(calc(-100% + 22px),calc(-100% - 20px))}.map-spot-hover[data-side=bottom][data-align=start]{transform:translate(-22px,20px)}.map-spot-hover[data-side=bottom][data-align=end]{transform:translate(calc(-100% + 22px),20px)}.map-spot-hover-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.map-spot-hover-head>strong{min-width:0;font-size:12px;font-weight:650;overflow-wrap:anywhere}.map-spot-hover-chip{flex:none;padding:1px 7px;border-radius:99px;background:var(--sage);color:var(--background);font-size:9px;font-weight:600;white-space:nowrap}.map-spot-hover[data-tone=possible] .map-spot-hover-chip{background:transparent;color:var(--sage);box-shadow:inset 0 0 0 1px var(--sage)}.map-spot-hover dl{margin:0}.map-spot-hover dl>div{display:flex;justify-content:space-between;gap:10px;padding:2px 0}.map-spot-hover dt{color:var(--muted);font-size:10px}.map-spot-hover dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.map-spot-height-star{display:inline-block;margin-left:1px;font-size:.85em;vertical-align:super;line-height:1}.map-spot-hover .is-unknown,.map-spot-hover p{color:var(--muted)}.map-spot-hover p{margin:0;font-size:10px}.map-spot-hover .map-spot-hover-reason{margin-top:8px;padding-top:7px;border-top:1px solid var(--border)}.map-spot-hover[data-tone=neutral] .map-spot-hover-chip{background:var(--secondary);color:var(--muted);white-space:normal}@media(pointer:coarse){.map-spot-hover{display:none}}.map-beach-button.is-secondary:not(:hover):not(:focus-visible) .map-beach-dot{opacity:.65}.map-cluster-count{display:flex;align-items:center;justify-content:center;gap:4px;flex:none;min-width:56px;height:28px;padding:0 7px;border:1px solid var(--border);border-radius:16px;background:var(--panel);color:var(--foreground);font-size:11px;font-weight:650;font-variant-numeric:tabular-nums;box-shadow:0 1px 4px #20272112}.map-cluster-count>span{font-size:10px;font-weight:400;color:var(--muted)}.is-active .map-cluster-count{border-color:var(--foreground);box-shadow:0 0 0 2px var(--land),0 0 0 3px var(--muted)}.is-secondary .map-cluster-count{color:var(--muted)}[data-slot=popover-content].map-cluster-popover{z-index:55;width:min(310px,calc(100vw - 28px));max-height:min(420px,var(--radix-popover-content-available-height,420px));padding:0;border-radius:12px;overflow-y:auto;overscroll-behavior:contain;background:var(--popover);color:var(--foreground);box-shadow:0 10px 36px #16251a16}.map-cluster-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:14px 10px 12px 16px;border-bottom:1px solid var(--border)}.map-cluster-heading strong{font-size:13px;font-weight:650}.map-cluster-heading p{margin:4px 0 0;font-size:11px;color:var(--muted)}.map-cluster-heading>button{display:grid;place-items:center;flex:none;width:32px;height:32px;border:0;border-radius:6px;background:none;color:var(--muted)}.map-cluster-popover ul{list-style:none;margin:0;padding:4px}.map-cluster-popover li>button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:54px;padding:9px 12px;border:0;border-radius:8px;background:none;color:var(--foreground);text-align:left;font:inherit}.map-cluster-popover li>button[aria-pressed=true]{background:var(--selected)}.map-cluster-popover button:hover{background:var(--selected)}.map-cluster-popover button:focus-visible{outline:2px solid var(--sage);outline-offset:-2px}.map-cluster-beach{min-width:0;flex:1}.map-cluster-beach>span{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600}.map-cluster-beach svg,.map-cluster-count>svg{flex:none;color:var(--sage);fill:currentColor}.map-cluster-beach small{display:block;margin-top:3px;font-size:11px;color:var(--muted)}.map-cluster-call{max-width:88px;font-size:10px;line-height:14px;text-align:right;color:var(--muted)}.map-cluster-call[data-tone=go],.map-cluster-call[data-tone=alert]{padding:3px 7px;border-radius:12px;background:var(--selected);color:var(--sage);font-weight:650}.map-cluster-call[data-tone=possible]{color:#90744a}.map-cluster-popover li>button>svg{flex:none;color:var(--muted)}@media(pointer:coarse){.map-cluster-heading>button{width:44px;height:44px}}@media(prefers-reduced-motion:reduce){.map-cluster-popover{animation:none!important;transition:none!important}}.map-place-trigger{display:flex;align-items:center;gap:5px;max-width:180px;min-height:28px;padding:0;border:0;background:none;color:var(--foreground);font:inherit;font-size:12px;font-weight:650;text-align:left}.map-place-trigger>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-place-trigger>svg{flex:none;color:var(--muted)}.map-place-trigger:focus-visible{outline:2px solid var(--sage);outline-offset:3px;border-radius:3px}.map-beach-button{position:absolute;z-index:3;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:none;color:var(--sage)}.map-beach-dot{width:7px;height:7px;flex:none;border:1px solid var(--muted);border-radius:50%;background:var(--land)}.map-beach-button[data-tone=go] .map-beach-dot{border-color:var(--sage);background:var(--sage)}.map-beach-button[data-tone=alert] .map-beach-dot{width:9px;height:9px;border-color:var(--sage);background:var(--sage);box-shadow:0 0 0 2px var(--land),0 0 0 3px var(--sage)}.map-beach-button[data-tone=unknown] .map-beach-dot{border:1px dashed var(--muted);background:transparent;opacity:.75}.map-beach-button.is-context:not(.is-active)>strong{color:var(--muted);font-weight:500}.map-beach-button.is-favorite:not(.is-active):not(.is-context)>strong{color:var(--foreground);font-weight:500}.map-beach-button.is-active,.map-beach-button:focus-visible,.map-beach-button:hover{z-index:5}.map-beach-button.is-active .map-beach-dot{box-shadow:0 0 0 3px var(--land),0 0 0 4px var(--sage)}.map-beach-button:focus-visible{outline:2px solid var(--sage);outline-offset:1px;border-radius:50%}[data-slot=popover-content].map-spot-popover{z-index:55;width:min(290px,calc(100vw - 28px));max-height:min(calc(100dvh - 160px),var(--radix-popover-content-available-height,580px));padding:15px;border-radius:12px;background:var(--popover);color:var(--foreground);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 10px 36px #16251a16}@media(max-width:849px){.map-place-trigger{max-width:170px}.map-beach-button>strong{font-size:9px}}@media(pointer:coarse){.map-place-trigger{min-height:44px}.map-beach-button{width:44px;height:44px}}@media(prefers-reduced-motion:reduce){.map-spot-popover{animation:none!important;transition:none!important}}.map-beach-button>strong{position:absolute;left:calc(50% + var(--map-label-x));top:calc(50% + var(--map-label-y));width:var(--map-label-width);box-sizing:border-box;font-size:11px;font-weight:600;line-height:15px;white-space:nowrap;text-shadow:none;pointer-events:auto;text-align:left;padding:6px 10px;border:1px solid var(--border);border-radius:7px;background:var(--popover);box-shadow:0 2px 6px #2027210a;color:var(--foreground)}.map-beach-name{display:block;overflow:hidden;text-overflow:ellipsis}.map-beach-name svg{display:inline-block;margin-left:6px;vertical-align:-1px;color:var(--sage);fill:currentColor}.coast-map>.map-callout-lines{position:absolute;inset:0;z-index:2;pointer-events:none}.map-callout-lines line{stroke:var(--muted);stroke-width:.8;opacity:.5}.map-beach-button.is-callout{transform:none;border-radius:7px}.map-beach-button.is-callout>strong{left:0;top:0}.map-beach-button.is-callout[data-grow=up]>strong{top:auto;bottom:0}.map-beach-button.is-expanded{z-index:6}.map-beach-button.is-expanded>strong{box-shadow:0 6px 22px #16251a16}.map-callout-details{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .16s ease,visibility .16s}.map-callout-details>span{min-height:0;overflow:hidden;font-weight:400;white-space:normal}.is-expanded .map-callout-details{grid-template-rows:1fr;visibility:visible}.map-callout-readings{display:block;margin-top:8px;padding-top:7px;border-top:1px solid var(--border)}.map-callout-readings>span{display:flex;justify-content:space-between;gap:8px;padding:3px 0;font-size:10px;line-height:15px}.map-callout-readings>span>span:first-child{color:var(--muted)}.map-callout-readings>span>span:last-child{text-align:right;font-variant-numeric:tabular-nums}.map-callout-reason{display:block;max-height:80px;overflow:auto;margin-top:6px;font-size:10px;line-height:15px;color:var(--muted)}.map-beach-button.is-callout .map-beach-dot{position:absolute;left:0;top:0;transform:translate(-50%,-50%);pointer-events:none}.map-beach-button.is-callout:focus-visible{outline:none}.map-beach-button.is-callout:focus-visible>strong{outline:2px solid var(--sage);outline-offset:2px}.map-beach-button>strong{min-height:46px}.map-beach-button>strong>.map-beach-forecast{display:flex;align-items:center;gap:5px;white-space:nowrap}.map-beach-height{color:var(--foreground);font-variant-numeric:tabular-nums}.map-beach-call{overflow:hidden;text-overflow:ellipsis}.map-beach-button[data-tone=go] .map-beach-call,.map-beach-button[data-tone=alert] .map-beach-call{color:var(--sage);font-weight:650}@media(prefers-reduced-motion:reduce){.map-callout-details{transition:none}}.map-beach-button>strong>.map-beach-height{font-weight:500;font-variant-numeric:tabular-nums;color:var(--foreground)}.map-beach-button>strong>small{display:block;font-size:10px;font-weight:400;line-height:15px;letter-spacing:0;color:var(--muted)}.map-beach-button.is-active>strong{font-size:11px;font-weight:700;color:var(--sage);border-color:var(--sage);background:var(--selected)}.map-beach-button[data-tone=possible] .map-beach-dot{border:1.5px solid var(--sage);background:#90744a;border-color:#90744a}.map-beach-button.is-favorite.is-muted:not(.is-expanded):not(:hover):not(:focus-visible)>strong{min-height:29px;color:var(--muted);font-weight:400;background:color-mix(in srgb,var(--popover) 65%,transparent);border-color:transparent;box-shadow:none}.map-beach-button.is-muted:not(.is-expanded):not(:hover):not(:focus-visible) .map-beach-name svg{color:var(--muted)}.map-beach-button.is-muted:not([data-tone=unknown]):not(.is-expanded):not(:hover):not(:focus-visible)>strong>.map-beach-forecast{display:none}.map-beach-button.is-muted:not(.is-expanded):not(:hover):not(:focus-visible) .map-beach-height{color:var(--muted)}.map-callout-lines line.is-muted{opacity:.2}:root{--map-coast-shade:#5f8c8a;--map-coast-shade-alpha:.035}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--map-coast-shade:#050b0c;--map-coast-shade-alpha:.07}}:root[data-theme=dark]{--map-coast-shade:#050b0c;--map-coast-shade-alpha:.07}.dark{--map-coast-shade:#050b0c;--map-coast-shade-alpha:.07}.coastal-shading{fill:none;stroke:var(--map-coast-shade);stroke-opacity:var(--map-coast-shade-alpha);stroke-linejoin:round;stroke-linecap:round}.coast-map .user-marker{width:10px;height:10px}.coast-map .user-marker .user-dot{width:10px;height:10px;border:2px solid #fff;box-shadow:0 0 0 .5px #0000004d;animation:none}.map-caption.measurement-map-caption{max-width:calc(100% - 125px);letter-spacing:0;font-family:Avenir Next,Avenir,sans-serif}.map-caption.measurement-map-caption>strong{display:block;font-size:13px;font-weight:600;color:var(--foreground);line-height:1.4}.map-caption.measurement-map-caption>span{font-size:11px;line-height:1.4;margin-top:3px}.map-caption.measurement-map-caption .map-relevance-key{display:flex;align-items:center;gap:6px;margin-top:7px;font-size:11px}.map-relevance-key i{display:inline-block;width:9px;height:9px;border:1px dashed var(--sage);border-radius:50%;flex:none}.station-marker.is-potential:before{content:"";position:absolute;inset:1px;border:1px dashed var(--sage);border-radius:50%;opacity:.85}.station-marker.is-potential.active:before{inset:-3px}.beach-marker.label-west>strong{left:auto;right:16px;text-align:right}.session-buoy-reading{max-width:640px;margin:0 auto}.buoy-check-summary{display:grid;gap:6px;border-top:1px solid var(--border);padding-top:10px;margin-top:10px}.buoy-check-summary>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;font-size:12px;line-height:1.45}.buoy-check-summary>div>span{color:var(--muted);flex-shrink:0}.buoy-check-summary strong{font-size:12px;font-weight:550;text-align:right}.buoy-check-summary strong>small{display:block;font-size:11px;font-weight:400;color:var(--muted)}.potential-connection strong{color:var(--accent-ink)}.buoy-check-details{margin-top:9px;font-size:12px;color:var(--muted)}.buoy-check-details summary{display:flex;align-items:center;gap:6px;width:fit-content;list-style:none;cursor:pointer;min-height:28px}.buoy-check-details summary::-webkit-details-marker{display:none}.buoy-check-details[open] summary svg{transform:rotate(180deg)}.buoy-check-details[open]{max-height:36dvh;overflow-y:auto;overscroll-behavior:contain;padding-bottom:4px}.map-only .map-reading .buoy-check-details p{max-width:none;line-height:1.55;font-size:12px;margin-top:8px}@media(max-width:849px){.map-caption.measurement-map-caption{max-width:calc(100% - 87px);top:82px!important}.map-caption.measurement-map-caption>strong{font-size:12px}.map-caption.measurement-map-caption>span{font-size:11px}.map-caption.measurement-map-caption .map-relevance-key{font-size:10px;margin-top:6px}.map-only .coast-map .beach-marker{display:flex}.map-only .map-reading:has(.session-buoy-reading){padding-top:12px;padding-bottom:max(9px,env(safe-area-inset-bottom))}.map-only .session-buoy-reading .map-values{margin-top:10px;margin-bottom:10px}.map-only .session-buoy-reading .map-values>div+div{padding-left:10px}.map-only .session-buoy-reading .map-values strong{font-size:21px}.map-only .session-buoy-reading .map-values span{font-size:11px;line-height:1.3;min-height:2.6em}.buoy-check-summary{padding-top:9px;margin-top:9px;gap:5px}.buoy-check-summary>div{font-size:11px;gap:12px}.buoy-check-summary strong{font-size:12px}.buoy-check-details{margin-top:5px}}.session-buoy-reading .map-reading-title{font-size:12px}.session-buoy-reading .map-at{font-size:10px}.session-buoy-reading .map-values span{font-size:11px}.session-buoy-reading .map-values strong{font-size:23px}.session-buoy-reading .reading-mode-label{margin:8px 0 0;font-size:11px;color:var(--accent-ink);font-weight:600}.session-buoy-reading .station-forecast-unavailable{padding:15px 0 8px;font-size:13px;color:var(--muted)}.current-observation-details{border-top:1px solid var(--border);padding-top:6px}.coast-map.map-navigable{touch-action:none;cursor:grab}.coast-map.map-navigable.is-panning{cursor:grabbing}.coast-map.map-navigable:focus-visible{outline:2px solid var(--sage);outline-offset:-4px}.map-navigation-help{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.map-toolbar{position:absolute;right:22px;top:112px;z-index:6;width:56px;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:14px;background:var(--panel);box-shadow:0 3px 12px #00000004;cursor:default}.map-toolbar-section{display:flex;flex-direction:column}.map-toolbar-section+.map-toolbar-section{border-top:1px solid var(--border)}.map-toolbar-section:first-child{border-radius:13px 13px 0 0;overflow:hidden}.map-locate{border-radius:0 0 13px 13px;overflow:hidden}.map-toolbar button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%;min-height:40px;padding:0;border:0;border-radius:0;background:transparent;color:var(--muted);font:10px Avenir Next,Avenir,sans-serif;touch-action:manipulation}.map-toolbar button+button{border-top:1px solid var(--border)}.map-toolbar-section:first-child button{min-height:48px}.map-toolbar-section:first-child button span{font-size:9px;line-height:1}.map-zoom-buttons button,.map-locate button,.map-view-presets button{color:var(--foreground)}.map-view-presets button{min-height:36px}.map-toolbar button[aria-pressed=true]{background:var(--selected);color:var(--accent-ink)}.map-toolbar button:hover:not(:disabled){background:var(--popover);color:var(--foreground)}.map-toolbar button[aria-pressed=true]:hover:not(:disabled){background:var(--selected);color:var(--accent-ink)}.map-toolbar button:disabled{opacity:.5}.map-toolbar button:focus-visible{position:relative;outline:2px solid var(--sage);outline-offset:-3px}.map-locate-message{position:absolute;right:calc(100% + 8px);bottom:0;width:max-content;max-width:176px;margin:0;font-size:10px;line-height:1.5;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:8px 10px;color:var(--muted)}.map-wind-legend{position:absolute;top:116px;right:92px;z-index:5;max-width:200px;padding:4px 8px;border-radius:6px;background:color-mix(in srgb,var(--panel) 88%,transparent);color:var(--muted);font-size:10px;line-height:1.5;text-align:right;pointer-events:none}@media(max-width:849px){.map-toolbar{right:14px;top:90px}.map-toolbar button{min-height:44px}.map-toolbar-section:first-child button{min-height:48px}.map-view-presets button{min-height:40px}.map-wind-legend{top:94px;right:84px;max-width:150px;font-size:9px}.map-locate-message{max-width:150px}}@media(max-width:849px)and (max-height:720px){.map-toolbar button{min-height:40px}.map-toolbar-section:first-child button{min-height:42px}.map-view-presets button{min-height:36px}}.map-wind-point{--wind-size:var(--map-wind-size,30px);position:absolute;width:0;height:0;color:var(--muted);pointer-events:none;white-space:nowrap;font:9px Avenir Next,Avenir,sans-serif}.map-wind-target{position:absolute;z-index:2;left:-22px;top:calc(-30px - var(--wind-size)/2);display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:8px;background:none;color:inherit;opacity:.8;pointer-events:auto;cursor:default;transition:opacity .16s ease}.map-wind-point.is-selected .map-wind-target,.map-wind-point.is-open .map-wind-target{opacity:1}.map-wind-target:focus-visible{outline:2px solid var(--sage);outline-offset:-2px}.map-wind-target svg.wind-gust{width:var(--wind-size);height:var(--wind-size)}.map-wind-speed{position:absolute;z-index:2;padding:1px 3px;background:color-mix(in srgb,var(--panel) 88%,transparent);border-radius:3px;font-weight:600;font-variant-numeric:tabular-nums}.map-wind-point.is-calm i{width:5px;height:5px;border:1px solid currentColor;border-radius:50%}@media(prefers-reduced-motion:reduce){.map-wind-target{transition:none}}.board-picker-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;min-height:38px;padding:0 9px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--foreground);font-size:12px;font-weight:500;text-align:left}.board-picker-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-picker-trigger>svg{flex-shrink:0;color:var(--muted)}.board-picker-popover{z-index:70;width:min(280px,calc(100vw - 28px));max-height:var(--radix-popover-content-available-height);padding:0;border:1px solid var(--border);border-radius:11px;background:var(--popover);color:var(--foreground);box-shadow:0 10px 35px #0002;overflow-y:auto}.board-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 7px 0 16px}.board-picker-heading h3{margin:0;font-size:14px;font-weight:650;letter-spacing:-.02em}.board-picker-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted)}.board-picker-hint{margin:0;padding:2px 16px 9px;color:var(--muted);font-size:12px;line-height:1.5}.board-picker-options{padding:0 7px 7px}.board-picker-option{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 9px;border-radius:6px;color:var(--foreground);font-size:13px;cursor:pointer}.board-picker-option input{width:17px;height:17px;margin:0;accent-color:var(--sage);cursor:pointer}.board-picker-option:has(input:checked){background:var(--selected);color:var(--sage)}.board-picker-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:45px;padding:0 7px 0 16px;border-top:1px solid var(--border);font-size:11px;color:var(--muted)}.board-picker-footer button{min-height:38px;border:0;border-radius:6px;padding:0 9px;background:transparent;color:var(--sage);font-size:12px;font-weight:600}.board-picker-footer button:disabled{opacity:.5;cursor:default}.board-picker-option:hover,.board-picker-close:hover,.board-picker-footer button:not(:disabled):hover{background:var(--secondary)}.board-picker-trigger:focus-visible,.board-picker-close:focus-visible,.board-picker-option input:focus-visible,.board-picker-footer button:focus-visible{outline:2px solid var(--sage);outline-offset:2px}@media(prefers-reduced-motion:reduce){.board-picker-popover{animation:none!important}}.day-drawer-overlay{position:fixed;inset:0;background:color-mix(in srgb,var(--foreground) 12%,transparent);z-index:80;animation:drawer-fade-in .16s ease-out}.day-drawer{position:fixed;inset:0 0 0 auto;width:min(570px,calc(100vw - 80px));background:var(--popover);color:var(--foreground);border-left:1px solid var(--border);box-shadow:-12px 0 50px #12271c12;z-index:81;display:flex;flex-direction:column;outline:none;animation:drawer-slide-in .18s ease-out}.day-drawer-header{display:flex;align-items:flex-start;gap:16px;justify-content:space-between;padding:20px 30px 17px;border-bottom:1px solid var(--border);flex:none;background:var(--popover)}.day-drawer-heading{min-width:0}.day-drawer-heading h2{font-size:24px;line-height:1.2;font-weight:600;letter-spacing:-.03em;margin:0 0 7px}.day-drawer-heading p{font-size:12px;line-height:1.5;color:var(--muted);margin:0}.day-drawer-heading p>span{white-space:nowrap}.day-drawer-actions{display:flex;gap:4px;flex:none}.day-drawer-actions button{display:inline-flex;align-items:center;justify-content:center;width:36px;min-height:36px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}.day-drawer-actions button:hover{background:var(--secondary);color:var(--foreground)}.day-drawer-actions button:focus-visible{outline:2px solid var(--sage);outline-offset:2px}.day-drawer-body{overflow-y:auto;overscroll-behavior:contain;padding:0 30px 35px;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.day-drawer .spot-day-list{margin-top:0}.day-drawer .spot-day-card:first-child{border-top:0}.day-drawer .spot-day-card{scroll-margin-top:12px}.day-drawer .spot-day-title b{font-size:18px}.day-drawer .spot-day-summary{padding:16px 0 4px}.day-drawer .spot-day-surf>.height-estimate>strong{font-size:32px}.day-drawer .spot-day-span{font-size:14px}.day-drawer .spot-day-character{font-size:12px}.day-drawer .no-day-session{padding-top:22px}.day-drawer .spot-info{margin-top:0;border:0;border-top:1px solid var(--border);border-radius:0}.day-drawer .spot-info>summary{padding:14px 0;font-size:12px}.day-drawer .spot-info-body{padding:0 0 12px}.day-drawer .timeline-time{min-width:0}.day-drawer .timeline-time .condition-indicator{margin-top:5px;font-size:9px;line-height:1.4;gap:3px;flex-wrap:wrap}.day-drawer .timeline-columns,.day-drawer .timeline-row{grid-template-columns:80px minmax(0,1fr) minmax(0,1fr);column-gap:15px}.day-drawer .timeline-row>.forecast-values{gap:15px}.day-drawer .timeline-heading h4{font-size:13px}.day-drawer .timeline-heading>button{font-size:11px}.day-drawer .forecast-values.compact b{font-size:14px}.day-drawer .forecast-values.compact span{font-size:11px}.day-drawer .planner-disclosure>summary{font-size:12px}.day-drawer .forecast-details>summary>.context-summary{font-size:10px}@keyframes drawer-fade-in{0%{opacity:0}to{opacity:1}}@keyframes drawer-slide-in{0%{transform:translate(25px);opacity:.5}to{transform:translate(0);opacity:1}}@media(max-width:849px){.day-drawer{inset:0;width:100%;height:100dvh;border:0;background:var(--background)}.day-drawer-header{background:var(--background);padding:max(16px,env(safe-area-inset-top)) 22px 14px}.day-drawer-actions button{width:40px;min-height:44px}.day-drawer-body{padding:0 22px max(30px,env(safe-area-inset-bottom))}.day-drawer .timeline-columns,.day-drawer .timeline-row{grid-template-columns:69px minmax(0,1fr) minmax(0,1fr);column-gap:10px}.day-drawer .timeline-row>.forecast-values{gap:10px}}@media(max-width:359px){.day-drawer-header{padding-left:17px;padding-right:17px;gap:10px}.day-drawer-body{padding-left:17px;padding-right:17px}.day-drawer .timeline-columns,.day-drawer .timeline-row{grid-template-columns:60px minmax(0,1fr) minmax(0,1fr);column-gap:8px}.day-drawer .timeline-row>.forecast-values{gap:8px}.day-drawer .forecast-details>summary>.context-summary{font-size:9px}}@media(prefers-reduced-motion:reduce){.day-drawer,.day-drawer-overlay{animation:none}}.day-drawer .day-spot-navigation{display:flex;gap:7px;margin:14px 0 0}.day-drawer .day-spot-navigation>button{min-width:38px;min-height:44px;flex:none;border-radius:8px}.day-drawer .day-spot-navigation>.spot-picker-trigger{flex:1;min-width:0;font-size:13px;padding:10px}.day-drawer .day-spot-navigation>.spot-picker-trigger>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-drawer .single-spot{border:0}.day-drawer .single-spot .spot-day-summary{align-items:flex-start;gap:5px;padding-top:20px}.day-drawer .single-spot .spot-day-surf{margin:0;min-height:38px}.day-drawer .single-spot .spot-day-surf.is-unknown{min-height:0}.day-drawer .spot-day-surf.is-unknown>.spot-height-status{font-size:18px;font-weight:500;line-height:1.4;letter-spacing:-.015em}.day-drawer .day-context-label{font-size:13px;line-height:1.5;color:var(--muted)}.day-context-hint{color:var(--foreground)}.day-drawer .single-spot .spot-day-notes:empty{display:none}.day-drawer .single-spot .spot-day-character{margin:0 0 12px;line-height:1.5}.spot-session-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px}.spot-session-actions{display:flex;align-items:center;gap:6px;margin-left:auto;padding:5px 0}.day-drawer .wetsuit-advice{margin:12px 0 22px}@media(max-width:849px){.day-drawer .day-spot-navigation{gap:6px;margin-top:12px}.day-drawer .day-spot-navigation>button{width:38px}.day-drawer .single-spot .spot-day-summary{padding-top:14px}.spot-session-meta{min-height:44px}.day-drawer .wetsuit-advice{margin-top:10px}.day-drawer .single-spot .spot-day-character{font-size:11px}}.day-drawer .forecast-details p,.day-drawer .spot-info-body p{font-size:14px;line-height:1.6;margin:12px 0 20px}.day-drawer .forecast-details h4{font-size:14px;margin:16px 0 10px}.day-drawer .planner-disclosure>summary,.day-drawer .spot-info>summary{font-size:14px;min-height:52px}.day-drawer .forecast-details>summary>.context-summary,.day-drawer .forecast-details .context-summary{font-size:12px;line-height:1.5;max-width:55%;text-align:right}.day-drawer .forecast-details small,.day-drawer .forecast-details .context-source,.day-drawer .spot-fact>span,.day-drawer .route-link,.day-drawer .route-distance{font-size:12px;line-height:1.6}.day-drawer .spot-fact{grid-template-columns:1fr;gap:4px;margin:16px 0}.day-drawer .spot-fact p{margin:0;font-size:14px;line-height:1.6}.day-drawer .spot-specifics small,.day-drawer .spot-info-body small,.day-drawer .spot-specifics .forecast-basis{font-size:12px;line-height:1.6}.day-drawer .offshore-input-row span,.day-drawer .offshore-input-row small,.day-drawer .tide-events span{font-size:12px}.day-drawer .offshore-input-row b,.day-drawer .tide-events b{font-size:14px}.day-drawer .local-effects p{gap:8px}.day-drawer-heading p,.day-drawer .single-spot .spot-day-character,.day-drawer .timeline-heading>button,.day-drawer .timeline-columns,.day-drawer .timeline-time>span,.day-drawer .timeline-time .condition-indicator,.day-drawer .forecast-values.compact span,.day-drawer .forecast-values.compact small{font-size:12px}.day-drawer .timeline-heading h4{font-size:14px}.day-drawer .spot-day-wave-meta .period-indicator b,.day-drawer .height-note-trigger>span{font-size:12px}.day-drawer .forecast-details-body h4{color:var(--sage);font-weight:600;margin:0 0 10px}.day-drawer .forecast-details-body>:last-child>:last-child{margin-bottom:0}.day-drawer .forecast-context>.planner-disclosure[open]{padding:0 12px 14px;background:var(--secondary);border-radius:6px;margin-bottom:12px}.day-drawer .forecast-context>.planner-disclosure[open]>summary{color:var(--sage);font-weight:600}.day-drawer .forecast-context>.planner-disclosure[open]>:last-child{margin-bottom:0}.day-drawer .spot-specifics .context-source{font-size:12px;line-height:1.6}.period-indicator{display:inline-flex;align-items:baseline;color:var(--muted);font-size:10px;line-height:1.4;font-variant-numeric:tabular-nums;white-space:nowrap}.period-indicator>b{font-size:inherit;font-weight:550;color:var(--foreground);white-space:nowrap}.period-indicator.is-unknown>b{color:var(--muted)}.day-tile-reading>.period-indicator{font-size:10px}.surf-values .period-indicator,.surf-values .period-indicator>span,.surf-values .period-indicator>b{font-size:10px;line-height:1.4}.spot-day-surf>.spot-day-wave-meta{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.spot-day-wave-meta>.period-indicator{font-size:11px}.spot-day-surf.is-unknown>.spot-day-wave-meta{flex-direction:column;align-items:flex-start}.wind-turn{color:var(--sage)}.tide-phase{color:var(--sage);overflow:visible}.tide-phase-marker{stroke:var(--popover);stroke-width:1px}.surf-height-period{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}.surf-height-period>.period-indicator,.surf-height-period>.period-indicator>b{font-size:10px;font-weight:500;line-height:1.4}.call-level-badge{display:inline-block;align-self:flex-start;max-width:100%;padding:1px 6px;border:1px solid var(--sage);border-radius:999px;color:var(--sage);font-size:10px;font-weight:550;line-height:1.5;letter-spacing:0;white-space:normal;cursor:help}.spot-day-title>.call-level-badge{font-size:10px;margin-left:auto}.wind-source{font-size:10px;color:var(--muted)}.best-tide{display:inline-block;max-width:100%;padding:1px 6px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:10px;font-weight:550;line-height:1.5;cursor:help}.spot-day-notes{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}.spot-day-notes:empty{display:none}.veto-notes{display:flex;flex-direction:column;gap:2px}.veto-note{font-size:11px;color:var(--muted);line-height:1.4}.veto-note b{font-weight:600}.day-tide-tooltip{display:flex;align-items:center;justify-content:center;gap:5px;min-width:84px;max-width:calc(100vw - 16px);font-size:11px;line-height:1.4;font-variant-numeric:tabular-nums;white-space:nowrap}.day-tide-tooltip svg{flex:none}.report-action{border-top:1px solid var(--border)}.report-action-open{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:0;background:none;border:0;font:inherit;font-size:11px;font-weight:550;color:var(--sage);text-align:left;cursor:pointer}.report-dialog-overlay{position:fixed;inset:0;z-index:130;background:color-mix(in srgb,var(--foreground) 28%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.report-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:131;width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;padding:24px 24px 18px;background:var(--popover);color:var(--foreground);border:1px solid var(--border);border-radius:16px;box-shadow:0 20px 80px #102a3329;outline:none}@media(max-width:600px){.report-dialog{inset:0;transform:none;width:100%;max-height:none;height:100dvh;border:0;border-radius:0;box-shadow:none;padding:max(18px,env(safe-area-inset-top)) 16px max(18px,env(safe-area-inset-bottom))}}.report-dialog-close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:40px;height:40px;padding:0;background:none;border:0;border-radius:50%;color:var(--muted);cursor:pointer}.report-dialog-close:hover{background:var(--secondary);color:var(--foreground)}.report-form{display:flex;flex-direction:column;gap:16px;font-size:12px}.report-header{display:flex;flex-direction:column;gap:6px}.report-title{margin:0 44px 0 0;font-size:22px;font-weight:550;letter-spacing:-.4px;line-height:1.2}.report-session{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}.report-session>span{font-size:13px;font-weight:550;line-height:1.4}.report-intro{font-size:11px;line-height:1.6;color:var(--muted);margin:0}.report-intro a{color:inherit;text-decoration:underline;text-underline-offset:2px}.report-link{background:none;border:0;padding:0;min-height:28px;font:inherit;font-size:11px;color:var(--sage);text-decoration:underline;text-underline-offset:2px;cursor:pointer;align-self:flex-start}.report-times{display:grid;grid-template-columns:1fr 1fr;gap:10px}.report-field{display:flex;flex-direction:column;gap:6px;min-width:0;border:0;padding:0;margin:0}.report-field label,.report-label{font-size:11px;font-weight:550;padding:0}.report-field label span,.report-label span{font-weight:400;color:var(--muted)}.report-field input,.report-field textarea{width:100%;min-height:44px;font:inherit;font-size:13px;color:var(--foreground);background:var(--background);border:1px solid var(--border);border-radius:6px;padding:8px 9px}.report-field textarea{resize:vertical;min-height:62px}.report-field [aria-invalid=true]{border-color:#b44d44}.report-field>small{font-size:10px;color:var(--muted)}.report-field>small.report-error{color:#b44d44}.dark .report-field>small.report-error{color:#e0958c}.report-scale-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:28px}.report-unsure{flex:none;min-height:28px;padding:3px 9px;margin-right:-9px;background:none;border:0;border-radius:14px;font:inherit;font-size:11px;color:var(--muted);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.report-unsure.is-selected{margin-right:0;background:var(--selected);color:var(--foreground);font-weight:600;text-decoration:none}.report-scale.is-unsure .report-slider,.report-scale.is-unsure .report-scale-stops{opacity:.35}.report-slider{min-height:44px}.report-slider [data-slot=slider-thumb]{position:relative;width:20px;height:20px;border-color:var(--sage)}.report-slider [data-slot=slider-thumb]:after{content:"";position:absolute;inset:-12px;border-radius:50%}.report-slider [data-slot=slider-range]{background:var(--sage)}.report-slider[data-unset] [data-slot=slider-range]{opacity:0}.report-slider[data-unset] [data-slot=slider-thumb]{background:var(--background);border:1.5px dashed var(--muted);box-shadow:none}.report-slider[aria-invalid=true] [data-slot=slider-thumb]{border-color:#b44d44}.report-scale-stops{position:relative;height:30px;margin-top:-8px}.report-scale-stops button{position:absolute;top:0;transform:translate(-50%);max-width:64px;background:none;border:0;padding:4px 0;font:inherit;font-size:10px;line-height:1.2;color:var(--muted);text-align:center;cursor:pointer}.report-scale-stops button:first-child{transform:translate(-10px);text-align:left}.report-scale-stops button:last-child{transform:translate(calc(-100% + 10px));text-align:right}.report-scale-stops button.is-selected{color:var(--foreground);font-weight:600}.report-chips{display:flex;flex-wrap:wrap;gap:8px}.report-chip{min-height:40px;padding:8px 14px;border:1px solid var(--border);border-radius:20px;background:transparent;color:var(--foreground);font:inherit;font-size:12px;cursor:pointer}.report-chip.is-selected{background:var(--selected);border-color:var(--sage);font-weight:600}.report-rating-ends{display:flex;justify-content:space-between;margin-top:-8px;font-size:10px;color:var(--muted)}.report-primary{min-height:44px;padding:8px 18px;border:1px solid var(--sage);border-radius:6px;background:var(--sage);color:var(--background);font:inherit;font-size:12px;cursor:pointer}.report-primary:disabled{opacity:.5}.report-actions{display:flex}.report-status{min-height:1.4em;margin:0;font-size:11px;line-height:1.5;color:var(--sage)}.report-status.is-error{color:#b44d44;border-left:2px solid #b44d44;padding-left:10px}.dark .report-status.is-error{color:#e0958c;border-color:#e0958c}.report-thanks{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:4px 0 6px}.report-thanks-text{margin:0;font-size:13px;line-height:1.6;color:var(--muted)}@media(pointer:coarse){.report-chip,.report-link,.report-unsure{min-height:44px}.report-scale-stops{height:34px}.report-dialog-close{width:44px;height:44px}}.report-rate{display:flex;flex-direction:column;gap:4px}.report-rate-buttons{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.report-rate-button{min-height:44px;padding:0;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--foreground);font:inherit;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer}@media(hover:hover){.report-rate-button:hover{border-color:var(--sage)}}.report-rate-button:focus-visible{outline:2px solid var(--sage);outline-offset:2px}.report-rate-button.is-selected{background:var(--sage);border-color:var(--sage);color:var(--background)}.report-rate-buttons[aria-busy=true] .report-rate-button{cursor:progress}.report-rate-ends{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.report-details{display:flex;flex-direction:column;gap:16px;padding-top:14px;border-top:1px solid var(--border)}.report-details-toggle[aria-expanded=true]{color:var(--foreground);text-decoration:none;font-weight:550}.report-nudge{display:flex;flex-direction:column;gap:10px;margin:-6px 0 16px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--background);color:var(--foreground);font-size:12px}.report-nudge-question{display:flex;align-items:center;gap:8px;min-height:24px;margin:0;font-size:13px;font-weight:550;line-height:1.4;outline:none}.report-nudge-question svg{flex:none;color:var(--sage)}.report-nudge-question:focus-visible{outline:2px solid var(--sage);outline-offset:3px;border-radius:4px}.report-nudge-actions{display:flex;flex-wrap:wrap;gap:8px}.report-nudge-answer{min-height:40px;min-width:72px;padding:8px 16px;border:1px solid var(--border);border-radius:20px;background:transparent;color:var(--foreground);font:inherit;font-size:12px;cursor:pointer}.report-nudge-answer.is-yes{background:var(--sage);border-color:var(--sage);color:var(--background);font-weight:600}.report-nudge-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.report-nudge-head .report-nudge-question{display:block;flex:1;min-width:0}.day-overview~.report-nudge{margin:16px 0 0}.report-nudge-spots{display:flex;flex-wrap:wrap;gap:6px}.report-nudge-spots>[role=radiogroup]{display:contents}.report-nudge-spots .report-chip{min-height:34px;padding:6px 12px;font-size:12px}.report-nudge-spots .report-chip:disabled{opacity:.6;cursor:progress}.report-nudge-spots>.report-nudge-other{min-height:34px;padding:0 10px 0 12px;border-style:dashed;border-radius:20px;color:var(--muted);font-weight:400}.report-nudge-skip{flex:none;min-height:30px;padding:0;background:none;border:0;font:inherit;font-size:11px;color:var(--muted);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.report-nudge-parts{display:flex;flex-wrap:wrap;gap:8px}.report-nudge-status{min-height:1.4em;margin:-4px 0 0;font-size:11px;line-height:1.4;color:var(--muted)}.report-nudge-status.is-error{color:#b44d44}.dark .report-nudge-status.is-error{color:#e0958c}@media(pointer:coarse){.report-nudge-answer,.report-nudge-skip,.report-nudge-spots .report-chip,.report-nudge-spots>.report-nudge-other{min-height:44px}}.spot-action-button{display:inline-flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;min-height:36px;padding:0;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--muted);box-shadow:none;text-decoration:none}.spot-action-button:hover{background:var(--secondary);color:var(--foreground)}.spot-action-button:focus-visible{outline:2px solid var(--sage);outline-offset:3px}.spot-action-tooltip{z-index:110;max-width:min(280px,calc(100vw - 32px));font-size:12px;line-height:1.5}.spot-action-tooltip strong{display:block;font-weight:500}.spot-action-tooltip span{display:block;margin-top:3px;opacity:.85}@media(pointer:coarse){.spot-action-button{width:44px;height:44px;min-height:44px}}.planner-eyebrow-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.planner-eyebrow-row .planner-eyebrow{flex:1}.forecast-share-trigger{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;background:transparent;border:1px solid var(--border);border-radius:20px;padding:7px 10px;font-size:11px;color:var(--foreground);cursor:pointer}.forecast-share-trigger:hover{background:var(--secondary)}.forecast-share-trigger.is-inline{display:inline;padding:0;border:0;border-radius:0;font:inherit;color:inherit;vertical-align:baseline}.forecast-share-trigger.is-inline:hover{background:transparent;color:var(--foreground)}.forecast-share-trigger.is-inline>svg{display:inline-block;vertical-align:-1px;margin-right:3px}.forecast-share-trigger.is-inline>span{text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:2px}.forecast-share-trigger.is-inline:hover>span{text-decoration-color:currentColor}.forecast-share-popover{width:300px;max-width:calc(100vw - 28px);padding:18px;background:var(--popover);color:var(--foreground);border:1px solid var(--border);border-radius:16px;box-shadow:0 12px 40px #172b201a;z-index:95}.forecast-share-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.forecast-share-heading h3{margin:0;font-size:15px;font-weight:650}.forecast-share-heading p{margin:4px 0 0;font-size:11px;color:var(--muted)}.forecast-share-heading button{background:none;border:0;color:var(--muted);padding:2px;cursor:pointer}.forecast-share-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border:0;border-top:1px solid var(--border);background:none;text-align:left;cursor:pointer}.forecast-share-option:hover{color:var(--sage)}.forecast-share-option strong{display:block;font-size:13px;font-weight:600}.forecast-share-option small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.forecast-share-status{display:flex;gap:6px;align-items:center;margin:8px 0 0;font-size:11px;line-height:1.6;color:var(--muted)}.forecast-copy-link{display:flex;align-items:center;gap:6px;background:none;border:0;color:var(--sage);padding:12px 0 0;font-size:11px;text-align:left;cursor:pointer}.forecast-share-link{width:100%;margin-top:12px;font-size:12px;padding:8px;border:1px solid var(--border);border-radius:6px;background:var(--background)}.forecast-share-popover button:disabled{opacity:.5;cursor:wait}.wetsuit-advice{margin:12px 0 18px;border-block:1px solid var(--border);font-size:14px}.wetsuit-heading{display:flex;align-items:center;gap:8px;min-height:48px;cursor:pointer;list-style:none;color:var(--muted)}.wetsuit-heading::-webkit-details-marker{display:none}.wetsuit-heading>svg{flex:none}.wetsuit-suit{display:flex;align-items:center;gap:7px;white-space:nowrap}.wetsuit-suit>svg{flex:none}.wetsuit-gear{display:flex;align-items:center;gap:8px;margin-left:auto}.wetsuit-gear-item{position:relative;display:inline-flex;width:24px;height:27px;color:var(--foreground);flex:none}.wetsuit-gear-item.is-recommended{color:var(--sage)}.wetsuit-gear-item.is-unneeded{color:var(--muted)}.wetsuit-gear-status{position:absolute;right:0;bottom:0;display:flex;align-items:center;justify-content:center;width:10px;height:10px}.wetsuit-gear-optional{width:6px;height:6px;border:1px solid currentColor;border-radius:50%}.wetsuit-heading strong{font-size:14px;font-weight:550;color:var(--foreground);white-space:nowrap}.wetsuit-heading .wetsuit-water{font-size:12px;white-space:nowrap;margin-left:6px}.wetsuit-advice[open]>.wetsuit-heading>svg:last-child{transform:rotate(180deg)}.wetsuit-heading:focus-visible,.wetsuit-explanation>summary:focus-visible{outline:2px solid var(--sage);outline-offset:3px;border-radius:3px}.wetsuit-body{padding:0 0 12px}.wetsuit-conditions{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px;color:var(--muted);margin:4px 0 16px}.wetsuit-conditions>span{display:inline-flex;align-items:center;gap:3px}.wetsuit-accessories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding-top:12px;border-top:1px solid var(--border)}.wetsuit-accessories>div{display:flex;gap:6px;align-items:flex-start;min-width:0}.wetsuit-accessories svg{flex:none;margin-top:2px;color:var(--sage)}.wetsuit-accessories span{font-size:12px;color:var(--muted);line-height:1.45}.wetsuit-accessories strong{display:block;color:var(--foreground);font-size:12px;font-weight:550;margin-top:3px}.wetsuit-explanation>summary{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);list-style:none;cursor:pointer;min-height:44px;margin:3px 0 -8px}.wetsuit-explanation>summary::-webkit-details-marker{display:none}.wetsuit-explanation[open]>summary{margin-bottom:5px}.wetsuit-explanation[open]>summary>svg{transform:rotate(180deg)}.wetsuit-explanation p{font-size:14px;line-height:1.6;color:var(--muted);margin:12px 0}.wetsuit-explanation a{text-underline-offset:3px}.wetsuit-unavailable{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;min-height:44px;margin:8px 0}.wetsuit-unavailable button{margin-left:auto;font:inherit;color:var(--sage);min-height:44px}@media(max-width:430px){.wetsuit-heading{gap:6px}.wetsuit-suit,.wetsuit-gear{gap:5px}.wetsuit-heading .wetsuit-water{font-size:13px;margin-left:0}.wetsuit-water>span{display:none}.wetsuit-accessories{grid-template-columns:1fr;gap:16px}.wetsuit-accessories>div{gap:10px}.wetsuit-accessories>div>span{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex:1}.wetsuit-accessories strong{margin:0;text-align:right}}@media(max-width:340px){.wetsuit-suit>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}.personal-surf-details{grid-column:1/-1;margin:8px 0;color:var(--muted);font-size:12px;line-height:1.5}.personal-surf-details>strong{display:block;color:var(--foreground);font-size:12px;font-weight:600}.personal-surf-details p{margin:6px 0;font-size:12px;line-height:1.6}.personal-surf-details .personal-surf-scope{font-size:11px}.personal-surf-details.is-collapsible{margin:0;border-top:1px solid var(--border)}.personal-surf-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 0;list-style:none;cursor:pointer;font-size:12px}.personal-surf-details>summary::-webkit-details-marker{display:none}.personal-surf-details>summary:hover{color:var(--foreground)}.personal-surf-details>summary:focus-visible{outline:2px solid var(--sage);outline-offset:3px;border-radius:4px}.personal-surf-details>summary>svg{flex:none;transition:transform .15s}.personal-surf-details[open]>summary>svg{transform:rotate(180deg)}.personal-surf-explanation{padding:0 0 14px;max-width:52ch}.personal-surf-period{margin-top:14px}.personal-surf-period h5{margin:0 0 5px;font-size:12px;font-weight:600;color:var(--foreground)}.height-estimate{display:inline-flex;align-items:baseline;white-space:nowrap;color:inherit;line-height:inherit}.height-note-trigger{position:relative;z-index:3;display:inline-flex;align-items:baseline;justify-content:flex-start;flex:none;width:24px;min-height:24px;margin:0 -10px 0 0;padding:0 0 0 2px;border:0;border-radius:4px;background:none;color:var(--muted);font:inherit;font-size:12px;font-weight:400;line-height:1;cursor:pointer;pointer-events:auto;touch-action:manipulation}.height-note-trigger>span,.height-note-mark{position:relative;top:-.25em;font-size:11px;font-weight:400;color:inherit}.height-note-trigger:hover,.height-note-trigger[data-state=open]{color:var(--foreground)}.height-note-trigger:focus-visible{outline:2px solid var(--sage);outline-offset:1px}.height-missing-trigger{position:relative;z-index:3;display:inline-flex;align-items:baseline;margin:0;padding:0;border:0;border-radius:4px;background:none;color:inherit;font:inherit;line-height:inherit;cursor:help;pointer-events:auto;touch-action:manipulation}.height-missing-trigger:focus-visible{outline:2px solid var(--sage);outline-offset:1px}.height-note-popover{z-index:100;width:300px;max-width:calc(100vw - 16px);max-height:var(--radix-popover-content-available-height);overflow-y:auto;overscroll-behavior:contain;padding:14px;color:var(--foreground);white-space:normal}.height-note-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.height-note-heading h3{margin:0;font-size:13px;font-weight:600;letter-spacing:-.01em}.height-note-close{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:28px;min-height:28px;margin:-5px -5px -5px 0;padding:0;border:0;border-radius:4px;background:none;color:var(--muted);cursor:pointer}.height-note-close:hover{color:var(--foreground);background:var(--secondary)}.height-note-close:focus-visible{outline:2px solid var(--sage);outline-offset:1px}.height-note-popover p{margin:8px 0 0;font-size:11px;font-weight:400;line-height:1.55;color:var(--muted)}.height-note-popover .height-note-value{margin:0;font-size:12px;font-weight:550;color:var(--foreground)}@media(prefers-reduced-motion:reduce){.height-note-popover{animation:none!important;transition:none!important}}:root{--danger-line:#b44d44;--danger-bg:#f8e4e0;--danger-ink:#8c2b23;--danger-chip:#a63f36;--danger-chip-ink:#fff;--caution-line:#b07a1f;--caution-bg:#f6ecd6;--caution-ink:#6e470b}.dark{--danger-line:#e0958c;--danger-bg:#3a2321;--danger-ink:#f5beb5;--danger-chip:#e8a097;--danger-chip-ink:#2a1210;--caution-line:#cfa04c;--caution-bg:#342b1b;--caution-ink:#efd29a}.confidence-rating{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:24px;min-height:24px;padding:2px 0;border:0;background:transparent;font:inherit;font-size:11px;line-height:1.4;color:var(--muted);white-space:nowrap;cursor:pointer}.confidence-rating:hover{color:var(--foreground)}.confidence-rating:focus-visible{outline:2px solid var(--sage);outline-offset:3px;border-radius:4px}.confidence-ring{flex:none;color:var(--caution-ink)}.day-tile-call>.confidence-rating{position:relative;z-index:2;pointer-events:auto;margin-top:0}.confidence-popover{z-index:120;width:min(288px,calc(100vw - 24px));padding:14px 16px;border-radius:10px;font-size:12px;line-height:1.5;color:var(--foreground);background:var(--popover)}.confidence-popover h4{margin:0 0 8px;font-size:13px;font-weight:650}.confidence-popover p{margin:0}.confidence-popover ul{margin:0;padding-left:16px}.confidence-popover li+li{margin-top:4px}.confidence-popover .confidence-explainer{margin-top:12px;padding-top:10px;border-top:1px solid var(--border);color:var(--muted)}.danger-badge{display:inline-flex;align-items:center;gap:3px;max-width:100%;padding:1px 7px 1px 5px;border-radius:999px;font-size:10px;font-weight:650;line-height:1.5;letter-spacing:0;white-space:nowrap;cursor:help}.danger-badge>svg{flex:none}.danger-badge.is-dangerous{background:var(--danger-chip);color:var(--danger-chip-ink)}.danger-badge.is-experienced_only{background:var(--caution-bg);color:var(--caution-ink);box-shadow:inset 0 0 0 1px var(--caution-line)}.day-tile-reading>.danger-badge{margin:0 0 3px;padding:1px 6px 1px 4px;border-radius:6px;font-size:9px;white-space:normal;text-align:left}.danger-notice{display:flex;align-items:flex-start;gap:9px;margin:12px 0 0;padding:10px 12px;border:1px solid;border-radius:8px;font-size:12px;line-height:1.5;max-width:420px}.danger-notice>svg{flex:none;margin-top:2px}.danger-notice p{margin:0}.danger-notice ul{margin:3px 0 0;padding-left:16px}.danger-notice strong{font-weight:700}.danger-notice .danger-drift{margin-top:4px;font-weight:550}.danger-notice.is-dangerous{background:var(--danger-bg);border-color:var(--danger-line);color:var(--danger-ink)}.danger-notice.is-experienced_only{background:var(--caution-bg);border-color:var(--caution-line);color:var(--caution-ink)}.planner-verdict>.danger-notice{margin-top:12px}.day-grid>.day-tile.has-danger{box-shadow:inset 0 3px 0 var(--caution-line)}.day-grid>.day-tile.has-danger.is-danger-dangerous{box-shadow:inset 0 3px 0 var(--danger-line)}.day-grid>.day-tile.has-danger.is-danger-dangerous:not(.is-selected){border-color:var(--danger-line)}.spot-day-signals{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:-4px 0 10px}.spot-day-signals>.danger-notice{flex-basis:100%;margin-top:4px}.spot-day-summary .danger-badge{align-self:flex-start}.row-signals{display:inline-flex;align-items:center;gap:5px;margin-top:4px}.row-danger{display:inline-flex}.row-danger.is-dangerous{color:var(--danger-line)}.row-danger.is-experienced_only{color:var(--caution-line)}.forecast-signals-detail{margin:0 0 18px}.forecast-signals-detail p{margin:0 0 6px;font-size:12px;line-height:1.55}.forecast-signals-detail ul{margin:0 0 8px;padding-left:16px;font-size:12px;line-height:1.55}.forecast-signals-detail .danger-notice{margin:4px 0 8px}.forecast-signals-note{color:var(--muted)}.decision-explanation{font-size:11px;line-height:1.6;color:var(--muted);margin:10px 0 12px}.decision-explanation p{margin:0}.decision-explanation p>span{color:var(--foreground)}.decision-explanation small{display:block;font-size:10px;line-height:1.6;margin-top:4px}.spot-day-card>.decision-explanation{margin:8px 0 12px}.alert-invitation{margin:18px 0 6px;padding:14px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.alert-invitation-heading{display:flex;align-items:center;gap:7px;color:var(--foreground)}.alert-invitation-heading h2{font-size:13px;font-weight:600;margin:0;flex:1}.alert-invitation-heading>svg{color:var(--sage);flex:none}.alert-invitation-dismiss{display:flex;align-items:center;justify-content:center;border:0;background:none;color:var(--muted);width:32px;height:32px;padding:0;flex:none}.alert-invitation>p,.alert-invitation>small{font-size:11px;line-height:1.6;color:var(--muted);margin:7px 0}.alert-invitation>small{display:block;font-size:10px;margin-bottom:0}.alert-invitation-example{margin:10px 0;font-size:11px;line-height:1.6}.alert-invitation-example>summary{cursor:pointer;color:var(--sage);padding:5px 0}.alert-example-label{font-size:10px;color:var(--muted);margin:8px 0 5px}.alert-invitation-example blockquote{margin:0;padding:12px;border:1px solid var(--border);border-radius:7px;color:var(--foreground);background:var(--secondary);font-size:11px;line-height:1.6;overflow-wrap:anywhere}.alert-example-link{color:var(--sage);text-decoration:underline;text-underline-offset:2px}.alert-invitation-action{display:inline-flex;align-items:center;gap:5px;min-height:40px;padding:4px 0;border:0;background:none;color:var(--sage);font-size:12px;font-weight:550;text-align:left}.alert-invitation button:focus-visible,.alert-invitation summary:focus-visible{outline:2px solid var(--sage);outline-offset:3px;border-radius:3px}@media(pointer:coarse){.alert-invitation-dismiss{width:44px;height:44px}.alert-invitation-action,.alert-invitation-example>summary{min-height:44px}}.app .map-reading:has(.map-timeline){position:fixed;left:470px;right:30px;top:auto;bottom:var(--map-control-bottom,28px);width:auto;max-width:680px;padding:10px 16px 9px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--panel) 96%,transparent);box-shadow:0 4px 20px #16251a0b;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app.map-only .map-reading:has(.map-timeline){left:50%;right:auto;bottom:max(22px,env(safe-area-inset-bottom));width:min(680px,calc(100% - 48px));transform:translate(-50%)}.app.map-only .coast-map{bottom:0}.app:has(.map-timeline) .map-credit{right:30px;bottom:8px;font-size:7px}.map-timeline{position:relative;min-width:0}.map-timeline-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(28px,auto) minmax(28px,auto);grid-template-areas:"time station" "values actions";column-gap:20px;row-gap:2px;margin-bottom:9px}.map-timeline-station,.map-timeline-values,.map-timeline-time{min-width:0;line-height:1.4}.map-timeline-station{grid-area:station;display:flex;align-items:center;justify-content:flex-end}.map-timeline-station strong{font-size:12px;font-weight:600;white-space:nowrap}.map-timeline-station .map-place-trigger{height:28px;min-height:28px;max-width:160px;padding:0 4px;font-size:12px;font-weight:500}.map-timeline-actions{grid-area:actions;align-self:start;display:flex;align-items:center;justify-content:flex-end;gap:4px}.map-timeline-actions button{border:0;background:transparent;color:var(--muted);height:28px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:10px;font-weight:400;line-height:1;white-space:nowrap;border-radius:5px}.map-timeline-actions .map-info-button{width:28px;padding:0}.map-timeline-actions button>svg{flex:none;width:14px;height:14px}.map-timeline-actions button:hover,.map-timeline-actions button[aria-expanded=true]{background:var(--secondary);color:var(--foreground)}.map-timeline-values{grid-area:values;display:flex;align-items:center;flex-wrap:wrap;gap:5px 12px;font-variant-numeric:tabular-nums}.map-timeline-metrics{display:flex;align-items:baseline;column-gap:8px;row-gap:0;flex-wrap:wrap;min-width:0}.map-timeline-metrics>strong,.map-timeline-metrics>.height-estimate>strong{font-size:20px;font-weight:600;letter-spacing:-.04em;white-space:nowrap}.map-timeline-metrics>.height-estimate{display:inline-flex;align-items:baseline;gap:1px;color:var(--foreground)}.map-timeline-metrics>strong.is-unavailable{font-size:12px;font-weight:400;letter-spacing:0;color:var(--muted)}.map-timeline-metrics>span:not(.height-estimate){font-size:12px;color:var(--muted);white-space:nowrap}.map-timeline-metrics>span.map-timeline-unavailable{white-space:normal;font-size:12px}.map-timeline-verdict{display:inline-block;max-width:100%;padding:1px 7px;border:1px solid var(--border);border-radius:999px;font-size:10px;line-height:16px;font-weight:550;white-space:normal;color:var(--foreground)}.map-timeline-verdict[data-tone=go],.map-timeline-verdict[data-tone=alert]{border-color:var(--sage);background:var(--sage);color:var(--background)}.map-timeline-verdict[data-tone=unknown]{border-style:dashed;color:var(--muted)}.map-timeline-direction{display:flex;align-items:center;gap:5px}.map-timeline-direction svg{flex:none;color:var(--accent-ink)}.map-timeline-time{grid-area:time;display:flex;align-items:center;flex-wrap:wrap;gap:2px 10px;font-variant-numeric:tabular-nums}.map-timeline-time time{font-size:12px;font-weight:500;white-space:normal}.map-timeline-time time:first-letter,.map-timeline-bubble>span:first-letter{text-transform:uppercase}.map-timeline-time>span{font-size:10px;line-height:14px;color:var(--muted);white-space:nowrap}.map-timeline-time>.map-timeline-light{display:inline-flex;align-items:center;gap:7px;font-size:9px;font-weight:400}.map-timeline-light>span{display:inline-flex;align-items:center;gap:3px}.map-timeline-light svg{flex:none;opacity:.5}.map-timeline-track{position:relative;--timeline-input-height:24px}.map-timeline-chartbox{height:14px;pointer-events:none;overflow:hidden}.map-timeline-chart{display:block;overflow:hidden}.map-timeline-chart .band{fill:var(--sage);fill-opacity:.32}.map-timeline-chart .line{fill:none;stroke:var(--muted);stroke-width:1.25;stroke-linejoin:round;stroke-linecap:round}.map-timeline-chart .dot{fill:var(--muted)}.map-timeline-go{position:absolute;left:0;right:0;top:14px;height:var(--timeline-input-height);pointer-events:none}.map-timeline-go>i{position:absolute;top:50%;height:5px;margin-top:-2.5px;border-radius:3px;background:var(--sage)}.map-timeline-note{position:absolute}.map-timeline-track input{display:block;width:100%;height:var(--timeline-input-height);appearance:none;-webkit-appearance:none;background:transparent;cursor:ew-resize;padding:0;margin:0;touch-action:pan-y;accent-color:var(--sage)}.map-timeline-track input::-webkit-slider-runnable-track{height:3px;border-radius:4px;background:linear-gradient(to right,var(--sage) 0 var(--timeline-progress),var(--border) var(--timeline-progress) 100%)}.map-timeline-track input::-moz-range-track{height:3px;border-radius:4px;background:var(--border)}.map-timeline-track input::-moz-range-progress{height:3px;border-radius:4px;background:var(--sage)}.map-timeline-track.has-series input::-webkit-slider-runnable-track{background:var(--border)}.map-timeline-track.has-series input::-moz-range-progress{background:transparent}.map-timeline-track.has-opportunities input::-webkit-slider-runnable-track{background:var(--border)}.map-timeline-track.has-opportunities input::-moz-range-progress{background:transparent}.map-timeline-track input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;box-sizing:border-box;width:15px;height:15px;border:2px solid var(--panel);border-radius:50%;background:var(--sage);box-shadow:0 0 0 1px var(--sage);margin-top:-6px}.map-timeline-track input::-moz-range-thumb{box-sizing:border-box;width:15px;height:15px;border:2px solid var(--panel);border-radius:50%;background:var(--sage);box-shadow:0 0 0 1px var(--sage)}.map-timeline-track input:focus-visible{outline:none}.map-timeline-track input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--sage)}.map-timeline-track input:focus-visible::-moz-range-thumb{box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--sage)}@media(forced-colors:active){.map-timeline-track input:focus-visible{outline:2px solid Highlight;outline-offset:2px}}.map-timeline-track input:disabled{cursor:default;opacity:.35}.map-timeline.is-observation .map-timeline-track input{opacity:.6}.map-timeline-dates{position:relative;height:16px;margin-top:3px;font-variant-numeric:tabular-nums;pointer-events:none}.map-timeline-dates>span{position:absolute;transform:translate(-50%);color:var(--muted);font-size:9px;line-height:1.3;white-space:nowrap}.map-timeline-dates>span:before{content:"";position:absolute;left:50%;top:-4px;height:3px;border-left:1px solid var(--border)}.map-timeline-dates>span.is-first{transform:none}.map-timeline-dates>span.is-first:before{left:0}.map-timeline-dates>span.is-last{transform:translate(-100%)}.map-timeline-dates>span.is-last:before{left:auto;right:0}.map-timeline-dates>span.is-active{color:var(--foreground);font-weight:550}.map-timeline-label-measure{position:absolute;visibility:hidden;pointer-events:none;font-size:9px;line-height:1.3;font-weight:400}.map-timeline-hour-tick{position:absolute;top:-3px;height:2px;border-left:1px solid var(--border);font-style:normal;pointer-events:none}.map-timeline-hour-tick.is-end{top:-4px;height:4px;border-left-color:var(--muted)}.map-timeline-hour-tick>span{position:absolute;top:3px;left:0;transform:translate(-50%);color:var(--muted);font-size:9px;line-height:1.3;white-space:nowrap}.map-timeline-hour-tick.is-first>span{transform:none}.map-timeline-hour-tick.is-last>span{transform:translate(-100%)}.map-timeline-bubble{position:absolute;z-index:2;bottom:calc(100% + 18px);left:clamp(min(72px,50%),var(--bubble-position),max(calc(100% - 72px),50%));transform:translate(-50%);display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 7px;width:min(144px,calc(100% - 12px));padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--popover);color:var(--foreground);box-shadow:0 4px 16px #16251a0d;pointer-events:none;-webkit-user-select:none;user-select:none;visibility:hidden;opacity:0;line-height:1.3;font-variant-numeric:tabular-nums;transition:opacity .12s ease}.map-timeline-bubble.is-visible{visibility:visible;opacity:1}.map-timeline-bubble>span{font-size:10px;white-space:nowrap;color:var(--muted)}.map-timeline-bubble>strong{font-size:11px;font-weight:600;white-space:nowrap}.map-timeline-bubble>.map-timeline-verdict{flex:0 1 auto;text-align:center}.map-timeline-actions button:focus-visible{outline:2px solid var(--sage);outline-offset:1px}.map-timeline-empty{display:block;color:var(--muted);font-size:10px;padding-bottom:3px}[data-slot=popover-content].map-timeline-details{width:min(380px,calc(100vw - 24px));max-height:min(65dvh,580px);overflow-y:auto;overscroll-behavior:contain;padding:16px 18px;z-index:60;border-radius:14px;background:var(--popover);color:var(--foreground)}.map-timeline-details-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px;color:var(--muted);font-size:11px}.map-timeline-details-heading button{display:flex;align-items:center;justify-content:center;border:0;width:32px;height:32px;border-radius:50%;background:transparent;color:var(--muted)}.map-timeline-details-heading button:hover{background:var(--secondary);color:var(--foreground)}.map-timeline-details p{display:block;font-size:12px;line-height:1.55;color:var(--muted);margin:10px 0 0}.map-timeline-details .map-values span{font-size:10px;line-height:1.35}.map-timeline-details .map-values strong{font-size:23px}.map-timeline-details .map-wave-key{border-top:1px solid var(--border);padding-top:11px;margin-top:14px;font-size:11px}.map-timeline-details .buoy-check-details[open]{max-height:none;overflow:visible}@media(min-width:850px)and (max-width:1199px){.app:not(.map-only) .map-reading:has(.map-timeline){left:420px;right:20px;padding:10px 14px 9px}.app:not(.map-only) .map-timeline-heading{column-gap:12px}}@media(max-width:849px){.app.map-only .map-reading:has(.map-timeline){width:calc(100% - 28px);max-width:620px;left:50%;right:auto;bottom:calc(env(safe-area-inset-bottom) + 20px);padding:10px 13px 9px;border-radius:14px}.map-timeline-heading{column-gap:12px}.map-timeline-time time{font-size:11px}.map-timeline-station .map-place-trigger{max-width:130px;font-size:11px}.app:has(.map-timeline) .map-credit{right:17px;bottom:calc(env(safe-area-inset-bottom) + 5px);left:auto;margin:0}.app:has(.map-timeline) .map-credit span{display:none}}@media(max-width:370px){.map-timeline-heading{column-gap:8px}.map-timeline-station .map-place-trigger{max-width:112px}.map-timeline-metrics{column-gap:5px}.map-timeline-metrics>strong,.map-timeline-metrics>.height-estimate>strong{font-size:18px}.map-timeline-metrics>span:not(.height-estimate){font-size:11px}}@media(pointer:coarse){.map-timeline-station .map-place-trigger,.map-timeline-actions button{min-height:44px}.map-timeline-actions .map-info-button{min-width:44px}.map-timeline-track{--timeline-input-height:44px}}@media(prefers-reduced-motion:reduce){.map-timeline-details,.map-timeline-chart,.map-timeline-go>i,.map-timeline-bubble{animation:none!important;transition:none!important}}.map-timeline-heading{min-height:58px}.map-timeline-track{min-height:calc(33px + var(--timeline-input-height))}.map-timeline-track:not(.has-series):not(:has(.map-timeline-chartbox)){padding-top:14px}@media(max-width:600px){.map-timeline-heading{min-height:82px}}@media(pointer:coarse){.map-timeline-heading{min-height:90px}}.map-spot-conditions{width:100%;min-width:0;color:var(--foreground);font-size:12px;line-height:1.45}.map-spot-conditions-heading{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid var(--border)}.map-spot-conditions-heading>div:first-child{min-width:0}.map-spot-conditions-heading h2{font-size:16px;font-weight:650;letter-spacing:-.035em;line-height:1.25;margin:0 0 5px;overflow-wrap:anywhere}.map-spot-conditions-heading time{font-size:10px;color:var(--muted)}.map-spot-conditions-actions{display:flex;gap:3px;flex:none}.map-spot-conditions-actions button,.map-spot-conditions-actions .surf-cam-link{display:flex;align-items:center;justify-content:center;width:28px;height:28px;min-height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted)}.map-spot-conditions-actions button[aria-pressed=true]{color:var(--sage);background:var(--selected)}.map-spot-conditions-actions button:hover{color:var(--foreground);background:var(--secondary)}.map-spot-conditions-actions button:focus-visible,.map-spot-conditions-sources>summary:focus-visible{outline:2px solid var(--sage);outline-offset:2px}.map-spot-conditions-actions button:disabled{opacity:.45;cursor:default}.map-spot-conditions-sea{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:13px;padding:15px 0}.map-spot-conditions-sea>div{display:flex;flex-direction:column;gap:3px;min-width:0}.map-spot-conditions-sea>div>span:not(.height-estimate){font-size:10px;color:var(--muted)}.map-spot-conditions-sea .height-estimate{display:inline-flex;align-items:baseline;gap:1px;color:var(--foreground)}.map-spot-conditions-sea strong{font-size:20px;line-height:1.2;font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.map-spot-conditions-sea strong.is-unknown{font-size:15px;color:var(--muted)}.map-spot-conditions-sea small{font-size:9px;line-height:1.5;color:var(--muted)}.map-spot-conditions-details{margin:0;border-top:1px solid var(--border)}.map-spot-conditions-details>div{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:10px;padding:11px 0;border-bottom:1px solid var(--border)}.map-spot-conditions-details dt{font-size:10px;color:var(--muted)}.map-spot-conditions-details dd{min-width:0;margin:0;font-size:12px}.map-spot-conditions-details small{display:block;margin-top:3px;font-size:9px;line-height:1.45;color:var(--muted)}.map-spot-conditions-details .is-unknown{font-size:11px;color:var(--muted)}.map-spot-conditions-wind{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-variant-numeric:tabular-nums}.map-spot-conditions-wind svg{flex:none;color:var(--sage)}.map-spot-conditions-wind b{font-weight:550;margin-left:auto}.map-spot-conditions-details .tide-indicator{font-size:11px;gap:7px}.map-spot-conditions-sources{margin-top:10px;color:var(--muted);font-size:10px}.map-spot-conditions-sources>summary{cursor:pointer;padding:3px 0}.map-spot-conditions-sources p{font-size:10px;line-height:1.6;overflow-wrap:anywhere;margin:7px 0 0}@media(pointer:coarse){.map-spot-conditions-actions button,.map-spot-conditions-actions .surf-cam-link{width:44px;height:44px;min-height:44px}.map-spot-conditions-actions{gap:0}.map-spot-conditions-sources>summary{min-height:44px;display:flex;align-items:center}}.analytics-footer{position:fixed;z-index:25;right:38px;bottom:0;height:42px;display:flex;align-items:center;gap:20px}.privacy-link{flex-shrink:0;padding:10px 0;font-size:12px;line-height:1.6;color:var(--muted);text-decoration:none;text-underline-offset:3px}.privacy-link:hover{text-decoration:underline}.privacy-link:focus-visible{outline:2px solid currentColor;outline-offset:4px}.analytics-preferences{position:relative;font-size:12px;color:var(--muted);line-height:1.6}.analytics-preferences summary{cursor:pointer;width:fit-content;padding:10px 0;text-underline-offset:3px}.analytics-preferences summary:hover{text-decoration:underline}.analytics-preferences-body{position:absolute;right:0;bottom:calc(100% + 12px);width:360px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 110px);overflow-y:auto;padding:20px;border:1px solid var(--foreground);border-radius:14px;color:var(--background);background:var(--foreground);box-shadow:0 12px 40px #16322824}.analytics-preferences-body strong{display:block;font-size:15px;font-weight:650}.analytics-preferences-body p{margin:8px 0 0;max-width:64ch}.analytics-preferences-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.analytics-preferences-actions button{border:1px solid currentColor;border-radius:8px;padding:8px 14px;min-height:40px;font:inherit;font-weight:600;background:transparent;cursor:pointer;color:inherit}.analytics-preferences-actions button:hover{background:color-mix(in srgb,currentColor 6%,transparent)}.analytics-preferences :focus-visible{outline:2px solid currentColor;outline-offset:4px}.app:has(.analytics-footer) .map-credit{right:auto;left:38px}@media(min-width:850px)and (max-width:1100px){.analytics-footer{right:24px}.app:has(.analytics-footer) .map-credit{left:24px}}@media(max-width:849px){.analytics-footer{position:static;height:auto;padding:16px 0 env(safe-area-inset-bottom);margin-top:16px;border-top:1px solid var(--border);flex-wrap:wrap;column-gap:20px;row-gap:0;font-size:11px}.analytics-preferences{flex:1;min-width:0;font-size:11px}.analytics-preferences summary{padding:10px 0}.analytics-preferences-body{position:static;max-height:none;width:100%;max-width:none;margin:6px 0 10px;padding:16px;font-size:12px}.analytics-footer:has(details[open]){display:block}.analytics-footer .privacy-link{font-size:11px}.app:has(.analytics-footer) .session-panel.planner-v3{bottom:0;margin-bottom:0;padding-bottom:24px}}.analytics-preferences-body{position:fixed;z-index:45;right:22px;bottom:42px;width:360px;max-width:calc(100vw - 60px);max-height:calc(100dvh - 110px);margin:0;font-size:12px;line-height:1.65;color:var(--background);background:var(--foreground);border-color:var(--foreground);box-shadow:0 8px 28px #16322824}.analytics-preferences-body p a{color:inherit;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.analytics-preferences-actions .analytics-allow{background:var(--background);color:var(--foreground);border-color:var(--background)}.analytics-preferences-actions .analytics-allow:hover{background:var(--secondary);border-color:var(--secondary)}.analytics-preferences-body :focus-visible{outline:2px solid currentColor;outline-offset:4px}@media(min-width:850px)and (max-height:850px){.analytics-preferences-body{bottom:36px}}@media(max-width:849px){.analytics-preferences-body{right:14px;bottom:calc(env(safe-area-inset-bottom) + 20px);max-width:calc(100vw - 28px);padding:18px;font-size:12px}}@media(min-width:850px){body:has(.app.map-only) .analytics-preferences-body{bottom:max(22px,env(safe-area-inset-bottom))}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--tracking-widest:.1em;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.right-2{right:calc(var(--spacing) * 2)}.left-2{left:calc(var(--spacing) * 2)}.z-50{z-index:50}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.my-1{margin-block:var(--spacing)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-px{height:1px}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.w-72{width:calc(var(--spacing) * 72)}.w-fit{width:fit-content}.w-full{width:100%}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-popover-content-transform-origin\){transform-origin:var(--radix-popover-content-transform-origin)}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.touch-none{touch-action:none}.resize{resize:both}.scroll-my-1{scroll-margin-block:var(--spacing)}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:8px}.rounded-sm{border-radius:6px}.border{border-style:var(--tw-border-style);border-width:1px}.border-input{border-color:var(--border)}.border-primary{border-color:var(--foreground)}.border-transparent{border-color:#0000}.bg-background{background-color:var(--background)}.bg-border{background-color:var(--border)}.bg-destructive{background-color:#b44d44}.bg-foreground{background-color:var(--foreground)}.bg-muted{background-color:var(--secondary)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--foreground)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.fill-current{fill:currentColor}.p-1{padding:var(--spacing)}.p-4{padding:calc(var(--spacing) * 4)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.text-background{color:var(--background)}.text-muted-foreground{color:var(--muted)}.text-popover-foreground,.text-primary{color:var(--foreground)}.text-primary-foreground{color:var(--background)}.text-secondary-foreground{color:var(--foreground)}.text-white{color:var(--color-white)}.lowercase{text-transform:lowercase}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-ring\/50{--tw-ring-color:var(--sage)}@supports (color:color-mix(in lab,red,red)){.ring-ring\/50{--tw-ring-color:color-mix(in oklab, var(--sage) 50%, transparent)}}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.paused{animation-play-state:paused}.running{animation-play-state:running}.group-data-\[size\=default\]\/switch\:size-4:is(:where(.group\/switch)[data-size=default] *){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.group-data-\[size\=sm\]\/switch\:size-3:is(:where(.group\/switch)[data-size=sm] *){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}@media(hover:hover){.hover\:bg-accent:hover{background-color:var(--secondary)}.hover\:bg-destructive\/90:hover{background-color:#b44d44e6}.hover\:bg-primary\/90:hover{background-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--foreground) 90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary) 80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:ring-4:hover{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:bg-accent:focus{background-color:var(--secondary)}.focus\:text-accent-foreground:focus{color:var(--foreground)}.focus-visible\:border-ring:focus-visible{border-color:var(--sage)}.focus-visible\:ring-4:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:oklab(55.2112% .120823 .062598/.2)}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--sage)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--sage) 50%, transparent)}}.focus-visible\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus-visible\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:#b44d44}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:oklab(55.2112% .120823 .062598/.2)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing) * 8)}.data-\[orientation\=horizontal\]\:h-1\.5[data-orientation=horizontal]{height:calc(var(--spacing) * 1.5)}.data-\[orientation\=horizontal\]\:h-full[data-orientation=horizontal]{height:100%}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:min-h-44[data-orientation=vertical]{min-height:calc(var(--spacing) * 44)}.data-\[orientation\=vertical\]\:w-1\.5[data-orientation=vertical]{width:calc(var(--spacing) * 1.5)}.data-\[orientation\=vertical\]\:w-auto[data-orientation=vertical]{width:auto}.data-\[orientation\=vertical\]\:w-full[data-orientation=vertical]{width:100%}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical]{flex-direction:column}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing) * 9)}.data-\[size\=default\]\:h-\[1\.15rem\][data-size=default]{height:1.15rem}.data-\[size\=default\]\:w-8[data-size=default]{width:calc(var(--spacing) * 8)}.data-\[size\=sm\]\:h-3\.5[data-size=sm]{height:calc(var(--spacing) * 3.5)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing) * 8)}.data-\[size\=sm\]\:w-6[data-size=sm]{width:calc(var(--spacing) * 6)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing) * 2)}.data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state=checked]{--tw-translate-x: calc(100% - 2px) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--foreground)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--secondary)}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--foreground)}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--border)}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:#b44d44}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:#b44d441a}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:#b44d44}.dark\:border-input:is(.dark *){border-color:var(--border)}.dark\:bg-destructive\/60:is(.dark *){background-color:#b44d4499}.dark\:bg-input\/30:is(.dark *){background-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--border) 30%,transparent)}}@media(hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--secondary) 50%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--border) 50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible,.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:oklab(55.2112% .120823 .062598/.4)}.dark\:data-\[state\=checked\]\:bg-primary-foreground:is(.dark *)[data-state=checked]{background-color:var(--background)}.dark\:data-\[state\=unchecked\]\:bg-foreground:is(.dark *)[data-state=unchecked]{background-color:var(--foreground)}.dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state=unchecked]{background-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state=unchecked]{background-color:color-mix(in oklab,var(--border) 80%,transparent)}}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:#b44d4433}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive\![data-variant=destructive]>*):is(svg){color:#b44d44!important}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--background:#f4f3ed;--foreground:#202721;--popover:#fcfcf8;--secondary:#e8ebe2;--muted:#616a60;--border:#d9dfd3;--sage:#527044;--ocean:#e8ede6;--land:#f5f4ee;--coast:#b1bfab;--map-grid:#b1c3ac66;--wave-ink:#547d66;--panel:#fafbf6f7;--selected:#edf1e6;--accent-ink:#2e4a29;color-scheme:light}.dark{--background:#141d20;--foreground:#e2e9e0;--popover:#202d2d;--secondary:#2b3b35;--muted:#9eafa3;--border:#354a40;--sage:#b6d09b;--ocean:#152426;--land:#23302d;--coast:#486155;--map-grid:#4d6a5a35;--wave-ink:#98c2b1;--panel:#1c2928f7;--selected:#304336;--accent-ink:#c6dcb4;color-scheme:dark}*{box-sizing:border-box}body{background:var(--ocean);color:var(--foreground);-webkit-font-smoothing:antialiased;margin:0;font:14px Avenir Next,Avenir,Helvetica Neue,sans-serif}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--sage);outline-offset:4px}button:disabled{cursor:default}a{color:inherit}button,select{font-family:inherit}.app{min-height:100dvh}.coast-map{background:var(--ocean);z-index:0;position:fixed;inset:0;overflow:hidden}.coast-map>svg,.coast-map>canvas{pointer-events:none;position:absolute;inset:0}.masthead{z-index:20;background:linear-gradient(var(--background),transparent);justify-content:space-between;align-items:center;height:94px;padding:0 38px;display:flex;position:fixed;top:0;left:0;right:0}.brand{letter-spacing:-1.5px;align-items:center;font-size:28px;font-weight:750;text-decoration:none;display:flex}.brand-mark{background:currentColor;flex:none;width:29px;height:29px;margin-right:9px;display:block;transform:translateY(2px);-webkit-mask:url(/icons/mark.svg?v=4) 50%/contain no-repeat;mask:url(/icons/mark.svg?v=4) 50%/contain no-repeat}.brand-dot{color:var(--sage)}.header-note{letter-spacing:.12em;color:var(--muted);font:9px ui-monospace,monospace}.header-actions{align-items:center;gap:9px;display:flex}.map-toggle,.theme-trigger{background:var(--panel);border:1px solid var(--border);box-shadow:0 3px 12px #00000004;border-radius:50px!important;font-size:11px!important}.theme-trigger{width:36px;height:36px}.theme-menu{min-width:150px;font-size:12px}.session-panel{z-index:10;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border) transparent;background:var(--panel);border:1px solid var(--border);border-radius:18px;width:400px;max-height:calc(100dvh - 146px);margin:104px 0 42px 38px;padding:25px;position:relative;overflow-y:auto;box-shadow:0 12px 45px #1632280a}.panel-intro .eyebrow{letter-spacing:.13em;color:var(--muted);align-items:center;gap:8px;font:9px ui-monospace,monospace;display:flex}.live-dot{background:var(--sage);border-radius:50%;width:5px;height:5px}.panel-intro h1{letter-spacing:-.055em;margin:17px 0 11px;font-size:37px;font-weight:650;line-height:1.08}.panel-intro>p{color:var(--muted);max-width:280px;margin:0;font-size:12px;line-height:1.7}.filters{color:var(--muted);align-items:center;gap:8px;margin:22px 0 20px;display:flex}.filters>svg{flex-shrink:0}.filter-select{flex:1;min-width:0;box-shadow:none!important;background:var(--secondary)!important;border:0!important;gap:4px!important;height:35px!important;padding:0 9px!important;font-size:11px!important}.filter-select [data-slot=select-value]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.board-select{max-width:124px}[data-slot=select-content]{z-index:70!important;font-size:12px!important}[data-slot=select-item]{font-size:12px!important}.next-session{background:var(--selected);border:1px solid var(--border);color:var(--accent-ink);border-radius:12px;padding:16px 17px}.session-kicker{letter-spacing:.1em;justify-content:space-between;align-items:center;font:8px ui-monospace,monospace;display:flex}.condition-pill{border:1px solid var(--border);background:var(--panel);letter-spacing:0;border-radius:20px;padding:4px 7px;font:10px Avenir Next,sans-serif}.session-day{text-transform:capitalize;margin-top:15px;font-size:13px;font-weight:600}.session-day>span{color:var(--muted);margin-left:6px;font-size:11px;font-weight:400}.big-time{letter-spacing:-.06em;align-items:center;gap:5px;margin:4px 0;font-size:32px;font-weight:650;line-height:1.3;display:flex}.big-time>span{opacity:.5}.big-time>svg{opacity:.8;margin-left:auto}.session-place{font-size:12px;font-weight:550}.session-bottom{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;gap:10px;margin-top:14px;padding-top:10px;font-size:10px;display:flex}.section-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.section-heading h2{letter-spacing:-.015em;font-size:13px;font-weight:600}.section-heading>span{color:var(--muted);font-size:9px}.day-group{border-bottom:1px solid var(--border);padding:2px 0}.day-option{text-align:left;width:100%;color:var(--foreground);background:0 0;border:0;border-radius:7px;align-items:center;gap:10px;padding:13px 5px;display:flex}.day-option:hover{background:var(--secondary)}.day-option.selected{background:var(--selected)}.day-date{flex-direction:column;flex-shrink:0;gap:3px;width:83px;display:flex}.day-date strong{text-transform:capitalize;font-size:11px;font-weight:600}.day-date>span{color:var(--muted);font-size:9px}.day-session{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.day-session>strong{font-size:12px;font-weight:600}.day-session>span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.day-option>svg{color:var(--muted)}.quality-dot{background:var(--muted);border-radius:50%;width:5px;height:5px}.quality-dot.clean{background:var(--sage)}.quality-dot.rough{background:#bc9970}.alternatives-toggle{color:var(--muted);background:0 0;border:0;align-items:center;gap:10px;padding:0 5px 9px 98px;font-size:9px;display:flex}.alternatives-toggle:hover{color:var(--foreground)}.alternatives{padding:0 5px 9px}.alternatives>button{text-align:left;border:0;border-top:1px dashed var(--border);background:0 0;grid-template-columns:90px 1fr;gap:4px;width:100%;padding:10px 0;font-size:10px;display:grid}.alternatives>button:hover{color:var(--sage)}.alternatives small{color:var(--muted);grid-column:2;font-size:9px}.no-window{color:var(--muted);font-size:10px}.unavailable{opacity:.7}.explanation{color:var(--muted);margin-top:18px;font-size:10px;line-height:1.8}.explanation summary{cursor:pointer;font-size:10px}.explanation p{margin:10px 0}.explanation a{text-decoration:underline}.issue-note{color:var(--muted);margin-top:18px;font:8px/1.8 ui-monospace,monospace}.notice{background:#a5882620;border:1px solid #a5882655;border-radius:7px;margin-bottom:15px;padding:10px;font-size:11px;line-height:1.6}.empty-state{color:var(--muted);padding:25px 0;font-size:13px;line-height:1.8}.empty-state strong{color:var(--foreground);font-size:20px;font-weight:600}.map-spot{z-index:2;background:0 0;border:none;justify-content:center;align-items:center;width:18px;height:18px;padding:0;display:flex;position:absolute;transform:translate(-50%,-50%)}.spot-dot{border:2px solid var(--land);background:var(--sage);width:7px;height:7px;box-shadow:0 0 0 1px var(--coast);border-radius:100%;display:block}.map-spot.active .spot-dot{background:var(--sage);width:11px;height:11px;box-shadow:0 0 0 7px var(--sage),0 0 0 1px var(--sage)}@supports (color:color-mix(in lab,red,red)){.map-spot.active .spot-dot{box-shadow:0 0 0 7px color-mix(in srgb,var(--sage) 15%,transparent),0 0 0 1px var(--sage)}}.spot-name{white-space:nowrap;color:var(--muted);text-shadow:0 1px 5px var(--land),0 -1px 5px var(--land);padding:2px 5px;font-size:11px;font-weight:500;position:absolute;top:0;left:24px}.active .spot-name{color:var(--foreground);font-weight:650}.spot-name.west-label{top:12px;left:auto;right:24px}.incoming-arrow{color:var(--sage);font:25px ui-monospace,monospace;position:absolute;top:-15px;left:-37px}.sea-name{color:var(--coast);pointer-events:none;font:10px ui-monospace,monospace;position:absolute;top:32%;left:40%;transform:rotate(-24deg)}.land-name{letter-spacing:.25em;color:var(--coast);pointer-events:none;font:9px ui-monospace,monospace;position:absolute;top:53%;right:8%}.map-reading{z-index:5;background:var(--panel);border:1px solid var(--border);border-radius:12px;width:345px;padding:16px 18px;position:fixed;bottom:54px;right:38px;box-shadow:0 8px 30px #00000005}.map-reading-title{align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}.map-at{color:var(--muted);margin-left:auto;font-size:9px;font-weight:400}.map-values{grid-template-columns:1.25fr 1fr 1fr;gap:14px;margin:17px 0 10px;display:grid}.map-values>div{flex-direction:column;gap:5px;display:flex}.map-values>div+div{border-left:1px solid var(--border);padding-left:14px}.map-values span{color:var(--muted);font-size:9px}.map-values strong{letter-spacing:-.04em;font-size:23px;font-weight:550}.map-values small{color:var(--muted);font-size:12px;font-weight:400}.map-reading p{color:var(--muted);margin:10px 0 0;font-size:9px;line-height:1.6}.map-credit{color:var(--muted);z-index:4;gap:18px;font-size:8px;display:flex;position:fixed;bottom:17px;right:38px}.map-credit a{text-decoration:none}.map-only .session-panel{display:none}@media(min-width:850px)and (max-height:850px){.panel-intro h1{margin-top:13px;font-size:29px}.panel-intro h1 br{display:none}.panel-intro>p{max-width:none;font-size:11px}.session-panel{max-height:calc(100dvh - 123px);margin-top:87px;padding:21px;top:0}.masthead{height:80px}.filters{margin:16px 0}.next-session{padding:13px 15px}.session-day{margin-top:10px}.big-time{font-size:29px}.session-bottom{margin-top:10px;padding-top:8px}.outlook{margin-top:20px}.day-option{padding-top:11px;padding-bottom:11px}}@media(max-width:1100px){.header-note{display:none}.session-panel{width:370px;margin-left:24px}.masthead{padding:0 24px}.map-reading{width:290px;right:24px}.map-reading-title{flex-wrap:wrap}.map-at{font-size:8px}.map-credit{right:24px}.spot-name{font-size:10px}}@media(max-width:849px){.masthead{background:linear-gradient(var(--background) 50%,transparent);height:77px;padding:0 22px}.brand{font-size:24px}.brand-mark{width:24px;height:24px;margin-right:5px}.map-toggle{height:34px;font-size:10px!important}.header-actions{gap:6px}.session-panel{border-radius:20px;width:calc(100% - 24px);max-height:none;margin:48svh 12px 50px;padding:23px;box-shadow:0 -9px 40px #00000009}.panel-intro h1{font-size:33px}.panel-intro h1 br{display:none}.panel-intro>p{max-width:none}.filters{margin-top:18px}.map-reading{background:var(--panel);width:auto;max-width:calc(100% - 38px);padding:10px 13px;position:absolute;top:calc(48svh - 126px);bottom:auto;right:19px}.map-reading-title{font-size:10px}.map-at{font-size:8px}.map-values{gap:12px;margin:9px 0 0}.map-values strong{font-size:18px}.map-values span{font-size:8px}.map-reading p{display:none}.sea-name{font-size:8px;top:24%;left:9%}.land-name{font-size:7px;top:23%;right:7%}.map-credit{z-index:12;justify-content:center;margin:20px 12px;font-size:8px;position:relative;bottom:auto;right:auto}.map-only .map-reading{width:auto;max-width:none;padding:18px;position:fixed;inset:auto 20px 65px}.map-only .map-reading p{display:block}.map-only .map-values strong{font-size:24px}.map-only .map-credit{position:fixed;bottom:12px;left:0;right:0}.map-only .sea-name{top:38%}.map-only .land-name{top:53%}.spot-name,.session-bottom{font-size:10px}.day-date{width:85px}.alternatives-toggle{padding-left:100px}}@media(max-width:370px){.masthead{padding:0 16px}.brand{font-size:22px}.brand-mark{width:19px;height:19px}.header-actions{gap:4px}.map-toggle{padding-left:9px!important;padding-right:9px!important}.session-panel{padding:19px}.filter-select{font-size:10px!important}.board-select{max-width:111px}.day-date{width:73px}.alternatives-toggle{padding-left:88px}.day-session>span{font-size:9px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important}}.station-marker{z-index:3;width:28px;height:28px;color:var(--foreground);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;transform:translate(-50%,-50%)}.station-dot{background:var(--sage);width:6px;height:6px;box-shadow:0 0 0 3px var(--ocean);border-radius:50%}.station-marker.active .station-dot{box-shadow:0 0 0 4px var(--ocean),0 0 0 5px var(--sage)}.station-label{text-align:left;white-space:nowrap;text-shadow:0 1px 3px var(--ocean);border-radius:6px;flex-direction:column;gap:3px;padding:4px 7px;display:flex;position:absolute;top:-5px;left:51px}.active .station-label{background:var(--panel);outline:1px solid var(--border)}.station-label strong{font-size:11px;font-weight:650}.station-label>span{color:var(--muted);font:10px ui-monospace,monospace}.station-label i{opacity:.5;font-style:normal}.station-label small{color:var(--muted);font:8px ui-monospace,monospace}.station-marker.old{opacity:.6}.beach-marker{white-space:nowrap;color:var(--sage);align-items:center;gap:8px;font-size:10px;display:flex;position:absolute;transform:translate(-4px,-4px)}.beach-marker>span{border:1px solid var(--sage);background:var(--land);border-radius:50%;width:8px;height:8px}.beach-marker>strong{position:absolute;top:8px;left:16px}.map-caption{letter-spacing:.12em;color:var(--muted);font:9px ui-monospace,monospace;position:absolute;top:112px;left:490px}.map-caption span{letter-spacing:0;margin-top:7px;font:10px Avenir Next,sans-serif;display:block}.map-only .map-caption{left:38px}.sea-name{top:42%;left:50%}.map-reading{width:360px}.shore-conditions{gap:8px;margin-top:8px;font-size:10px;display:flex}.shore-conditions span+span:before{content:"·";color:var(--muted);margin-right:8px}.shore-height{color:var(--muted);margin:9px 0 0;font-size:9px}.day-session small{color:var(--muted);font-size:8px;line-height:1.5}.map-reading .observation-status{display:block}.map-values .bearing-value{font-size:22px}.header-note{padding-left:12px}.map-credit span{white-space:nowrap}@media(max-width:849px){.map-caption{font-size:7px;top:77px;left:23px}.map-caption span{margin-top:3px;font-size:8px}.station-label{gap:1px;padding:2px 4px;top:-5px;left:30px}.station-label strong{font-size:9px}.station-label>span{font-size:8px}.station-label small{font-size:7px}.station-label.label-west{text-align:right;left:auto;right:30px}.map-reading{width:calc(100% - 38px);padding:9px 12px;top:calc(48svh - 114px)}.map-reading .observation-status{margin-top:6px;font-size:8px}.map-values{margin-top:7px}.beach-marker strong{font-size:8px}.map-only .station-label{gap:3px}.map-only .station-label strong{font-size:11px}.map-only .station-label>span{font-size:9px}.map-only .station-label small{font-size:8px}.map-only .map-caption{left:23px}.sea-name{top:22%;left:25%}.map-only .sea-name{top:36%}}.coast-map>canvas{width:100%;height:100%}.map-reading{width:320px;left:470px;right:auto}.station-label{background:var(--ocean)}@supports (color:color-mix(in lab,red,red)){.station-label{background:color-mix(in srgb,var(--ocean) 85%,transparent)}}.panel-intro h1{margin:12px 0 8px;font-size:30px}.session-panel{padding:20px}.panel-intro>p{font-size:11px}.next-session{padding:12px 14px}.session-day{margin-top:9px}.big-time{margin:2px 0;font-size:28px}.session-bottom{margin-top:8px;padding-top:7px}.shore-conditions{margin-top:5px}.shore-height{margin-top:5px;font-size:8px}.outlook{margin-top:18px}.filters{margin:16px 0}.day-option{padding:9px 5px}.day-group{position:relative}.alternatives-toggle{padding:0;font-size:8px;line-height:1.6;position:absolute;bottom:4px;right:5px}.day-option,.day-group:has(.alternatives-toggle) .day-option{padding-bottom:20px}.day-group .alternatives-toggle[aria-expanded=true]{margin-left:auto;padding:0 5px 8px;position:static}.day-date{width:75px}.day-session small{font-size:8px}.day-group .unavailable{padding-bottom:9px}@media(min-width:850px)and (max-height:850px){.panel-intro .eyebrow{font-size:8px}.panel-intro h1{font-size:27px}.panel-intro>p{font-size:10px}.session-panel{padding:18px}.filters{margin:12px 0}.next-session{padding:10px 13px}.big-time{font-size:26px}.session-day{margin-top:6px}.session-bottom{margin-top:6px;padding-top:6px}.session-place{font-size:11px}.shore-height{font-size:8px}.outlook{margin-top:14px}.day-option{padding-top:7px;padding-bottom:16px}.day-group:has(.alternatives-toggle) .day-option{padding-bottom:16px}.day-session{gap:2px}.section-heading{margin-bottom:5px}}@media(min-width:850px)and (max-width:1100px){.map-reading{width:265px;left:420px}.map-values{gap:9px}.map-values>div+div{padding-left:9px}.map-caption{left:425px}}@media(max-width:849px){.map-reading{width:auto;left:19px;right:19px}.session-panel{padding:23px}.panel-intro h1{font-size:31px}.station-label{background:var(--ocean)}@supports (color:color-mix(in lab,red,red)){.station-label{background:color-mix(in srgb,var(--ocean) 92%,transparent)}}.map-only .map-reading{left:20px;right:20px}.next-session{padding:16px}.day-option{padding-top:13px;padding-bottom:23px}.day-group:has(.alternatives-toggle) .day-option{padding-bottom:23px}.alternatives-toggle{bottom:6px}.day-session small,.shore-height{font-size:9px}.shore-conditions{margin-top:8px}.session-bottom{margin-top:12px;padding-top:10px}.session-panel{margin-top:94px}.app:not(.map-only) .map-reading{display:none}.app:not(.map-only) .coast-map{visibility:hidden}.app:not(.map-only) .map-credit{display:none}.map-only .map-reading{display:block}.map-only .beach-marker{display:none}}.swell-readout{border-top:1px solid var(--border);margin-top:15px;padding-top:13px}.swell-metrics{grid-template-columns:1.25fr 1.15fr .7fr;gap:10px;display:grid}.swell-metrics>div{flex-direction:column;gap:4px;min-width:0;display:flex}.swell-metrics span{color:var(--muted);font-size:9px}.swell-metrics strong{letter-spacing:-.055em;white-space:nowrap;font-size:22px;font-weight:600}.swell-metrics small{color:var(--muted);letter-spacing:0;font-size:10px;font-weight:400}.swell-metrics>div>small{margin-top:-2px}.wave-components{color:var(--muted);gap:16px;margin-top:10px;font-size:9px;display:flex}.wave-components b{color:var(--accent-ink);white-space:nowrap;font-weight:500}.swell-source{color:var(--muted);margin-top:9px;font:8px ui-monospace,monospace}.day-session>.day-swell{color:var(--accent-ink);font-size:10px;font-weight:550}.session-bottom,.shore-conditions{font-size:11px}@media(max-width:370px){.swell-metrics{grid-template-columns:1.2fr 1.15fr .7fr;gap:6px}.swell-metrics strong{font-size:18px}.swell-metrics small{font-size:9px}.wave-components{gap:8px;font-size:8px}.day-session>.day-swell{white-space:normal;font-size:9px}.session-bottom,.shore-conditions{font-size:10px}}.location-bar{justify-content:space-between;align-items:center;gap:8px;margin-top:15px;display:flex}.location-bar button{color:var(--sage);text-align:left;background:0 0;border:0;align-items:center;gap:7px;padding:0;font-size:11px;font-weight:550;display:flex}.location-bar>span{color:var(--muted);font-size:8px}.location-message{color:var(--muted);margin:8px 0 0;font-size:10px;line-height:1.6}.place-distance{color:var(--muted);white-space:nowrap;margin-left:8px;font-size:10px;font-weight:400}.regional-label{color:var(--muted);margin-top:5px;font-size:9px}.spot-info{border:1px solid var(--border);border-radius:9px;margin-top:10px;font-size:11px;overflow:hidden}.spot-info>summary{cursor:pointer;color:var(--muted);align-items:center;gap:7px;padding:12px;list-style:none;display:flex}.spot-info>summary::-webkit-details-marker{display:none}.spot-info summary>span{flex:1;min-width:0}.spot-info summary b{color:var(--foreground);margin-left:7px;font-weight:500}.spot-info[open] summary>svg:last-child{transform:rotate(90deg)}.spot-info-body{padding:0 13px 13px;line-height:1.7}.spot-character{margin:1px 0 15px;font-size:12px}.spot-fact{grid-template-columns:57px 1fr;gap:10px;margin:11px 0;display:grid}.spot-fact>span{color:var(--sage);padding-top:2px;font-size:9px;font-weight:650}.spot-fact p{margin:0;font-size:11px}.guide-source,.forecast-basis{color:var(--muted);margin:12px 0;font-size:9px;line-height:1.65}.forecast-basis{border-top:1px solid var(--border);padding-top:10px}.route-link{color:var(--sage);align-items:center;gap:4px;font-size:10px;text-decoration:none;display:inline-flex}.route-distance{color:var(--muted);margin-top:5px;font-size:9px;display:block}.session-place{line-height:1.6}.day-option{align-items:flex-start}.day-date{padding-top:1px}@media(max-width:849px){.masthead{background:var(--background)}.map-only .masthead{background:linear-gradient(var(--background) 65%,transparent)}}.user-marker{z-index:4;pointer-events:none;--location-ink:#2676d9;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%)}.dark .user-marker{--location-ink:#72b3ff}.user-dot{background:var(--location-ink);border:2px solid var(--popover);width:14px;height:14px;box-shadow:0 0 0 6px var(--location-ink),0 1px 5px #0003;border-radius:50%;display:block}@supports (color:color-mix(in lab,red,red)){.user-dot{box-shadow:0 0 0 6px color-mix(in srgb,var(--location-ink) 18%,transparent),0 1px 5px #0003}}.user-marker strong{white-space:nowrap;background:var(--panel);border:1px solid var(--border);color:var(--foreground);border-radius:5px;padding:4px 7px;font-size:10px;font-weight:600;position:absolute;bottom:23px;left:-10px;box-shadow:0 2px 8px #00000008}.user-marker.label-west strong{left:auto;right:-10px}@media(max-width:849px){.user-marker strong{font-size:9px}}@media(min-width:850px){.map-only .map-reading{left:38px;right:auto}}.station-marker .station-label,.station-marker.active .station-label{text-shadow:0 1px 3px var(--ocean);background:0 0;outline:none;padding:0}.station-marker .station-label.label-west{text-align:right;top:7px;left:auto;right:23px}.map-locate button.located{color:#2676d9;border-color:#2676d9}@supports (color:color-mix(in lab,red,red)){.map-locate button.located{border-color:color-mix(in srgb,#2676d9 40%,var(--border))}}.map-locate button.located{background:var(--popover)}.dark .map-locate button.located{color:#72b3ff}.map-only .coast-map{bottom:var(--reading-height)}.map-only .map-reading{border:0;border-top:1px solid var(--border);background:var(--background);width:auto;max-width:none;box-shadow:none;border-radius:0;padding:16px 24px;inset:auto 0 0}.map-only .map-reading-title,.map-only .map-values,.map-only .map-reading p{max-width:640px;margin-left:auto;margin-right:auto}.map-only .map-values{margin-top:12px;margin-bottom:8px}.map-only .map-credit{bottom:calc(var(--reading-height) + 9px);margin:0;font-size:7px;position:fixed;left:auto;right:18px}@media(max-width:849px){.map-only .map-reading{padding:14px 20px 18px}.map-only .map-values strong{font-size:22px}.map-only .map-reading p{margin-top:7px;font-size:9px}.map-only .map-credit span{display:none}.map-only .station-label strong{font-size:10px}.map-only .sea-name{top:40%}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}.session-panel.planner-v3{padding:19px 21px;background:var(--popover)}.planner-context{display:flex;align-items:center;gap:6px;padding-bottom:11px;border-bottom:1px solid var(--border)}.planner-context .filter-select{font-size:12px!important;background:transparent!important;height:40px!important;padding:0 4px!important;flex:1;min-width:0}.planner-context .board-select{max-width:112px}.planner-locate{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:40px;color:var(--sage);border:0;background:none;padding:0}.search-context{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:10px;color:var(--muted);margin-top:10px;line-height:1.5;position:relative}.search-context details{flex-shrink:0}.search-context summary{display:flex;align-items:center;gap:3px;list-style:none;cursor:pointer;padding:4px 0}.search-context summary::-webkit-details-marker{display:none}.search-context details[open]{position:relative}.search-context details p{position:absolute;right:0;top:18px;width:270px;padding:14px;background:var(--popover);border:1px solid var(--border);border-radius:8px;z-index:12;font-size:12px;line-height:1.6;box-shadow:0 7px 20px #0001}.planner-verdict{padding:20px 0 21px}.planner-eyebrow{font:10px ui-monospace,monospace;letter-spacing:.08em;color:var(--muted)}.planner-verdict h1{font-size:27px;line-height:1.13;font-weight:650;letter-spacing:-.045em;margin:10px 0;text-wrap:balance}.planner-verdict>p{font-size:12px;line-height:1.6;color:var(--muted);margin:10px 0;max-width:360px}.planner-freshness{font-size:10px;color:var(--muted)}.planner-section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.planner-section-heading h2{font-size:13px;font-weight:600;margin:0}.planner-section-heading>span{font-size:10px;color:var(--muted)}.day-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.day-tile{display:flex;flex-direction:column;gap:4px;min-width:0;min-height:117px;text-align:left;padding:10px 8px;border:1px solid var(--border);border-radius:8px;background:none;color:var(--foreground)}.day-tile:hover{background:var(--secondary)}.day-tile.is-selected{background:var(--selected);border-color:var(--sage);box-shadow:inset 0 0 0 1px var(--sage)}.day-tile-date{display:flex;flex-direction:column;gap:1px;font-size:11px;font-weight:600;text-transform:capitalize}.day-tile-date small{text-transform:none;font-size:10px;font-weight:400;color:var(--muted)}.day-tile>b{font-size:12px;font-weight:600;line-height:1.3;margin-top:3px;font-variant-numeric:tabular-nums}.day-tile>b small{font-size:10px;font-weight:400}.day-tile>.day-no-chance{font-size:10px;font-weight:400;color:var(--muted);margin-top:6px;line-height:1.5}.day-tile-spot{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.day-tile>small{font-size:10px;color:var(--muted);margin-top:auto}.day-tile .plan,.spot-day-title>.plan{color:var(--sage)}.spot-day-list{margin-top:27px}.selected-day-heading{margin-bottom:16px}.selected-day-heading h2{font-size:22px;letter-spacing:-.035em;font-weight:600;margin:8px 0 5px}.selected-day-heading h2>span{font-size:14px;color:var(--muted);font-weight:400;margin-left:4px;letter-spacing:0}.selected-day-heading>p{font-size:11px;line-height:1.5;color:var(--muted);margin:5px 0}.spot-day-card{border-top:1px solid var(--border);scroll-margin-top:92px}.spot-day-card.is-open{border-top-color:var(--sage)}.spot-day-summary{display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;border:0;background:none;padding:15px 0;color:var(--foreground)}.spot-day-title{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.spot-day-title b{font-size:15px;font-weight:600;letter-spacing:-.02em}.spot-day-title small{font-size:10px;color:var(--muted);white-space:nowrap;font-weight:400}.spot-day-span{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;font-weight:550;font-variant-numeric:tabular-nums}.is-open .spot-day-span svg{transform:rotate(90deg)}.spot-day-character{font-size:11px;color:var(--muted);line-height:1.5}.spot-day-body{padding-bottom:12px}.journey-context{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:var(--muted);margin:-2px 0 18px;line-height:1.5}.journey-context a{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;text-decoration:none;min-height:30px;font-size:11px;color:var(--sage)}.forecast-labels{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:10px;color:var(--muted);padding:0 0 7px}.forecast-values{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:13px;font-variant-numeric:tabular-nums}.forecast-values>div{display:flex;flex-direction:column;gap:4px;min-width:0}.forecast-values b{font-size:16px;font-weight:550;line-height:1.3}.forecast-values span{font-size:12px;color:var(--muted);line-height:1.4}.forecast-values small{font-size:10px;color:var(--muted);line-height:1.5}.forecast-values.compact b{font-size:12px}.forecast-values.compact span{font-size:11px}.forecast-values.compact small{font-size:10px}.forecast-values:not(.compact){margin-bottom:17px}.day-timeline{padding-bottom:10px}.timeline-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:5px 0 6px}.timeline-heading h4{font-size:12px;font-weight:600;margin:0}.timeline-heading>button{border:0;background:none;font-size:10px;color:var(--sage);min-height:32px;padding:0}.timeline-columns,.timeline-row{display:grid;grid-template-columns:57px minmax(0,1fr) minmax(0,1fr);column-gap:10px;font-variant-numeric:tabular-nums}.timeline-columns{font-size:10px;color:var(--muted);padding:7px 0}.timeline-row{border-top:1px solid var(--border);padding:12px 0}.timeline-row>.forecast-values{grid-column:2/4;gap:10px}.timeline-time{display:flex;flex-direction:column;gap:3px}.timeline-time b{font-size:12px;font-weight:500}.timeline-time>span{font-size:10px;color:var(--muted)}.timeline-gap{grid-column:1/-1;font-size:10px;color:var(--muted);padding:10px 9px;margin:12px 0 0;background:var(--secondary);border-radius:5px;line-height:1.5}.planner-disclosure{border-top:1px solid var(--border);font-size:12px}.planner-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;font-weight:550;min-height:43px;list-style:none;cursor:pointer}.planner-disclosure>summary::-webkit-details-marker{display:none}.planner-disclosure[open]>summary>svg{transform:rotate(180deg)}.planner-disclosure>p{font-size:11px;line-height:1.65;color:var(--muted);margin:2px 0 13px}.planner-v3 .spot-info{margin-top:0;border:0;border-top:1px solid var(--border);border-radius:0}.planner-v3 .spot-info>summary{padding:13px 0;font-size:11px}.planner-v3 .spot-info-body{padding:0 0 12px}.show-spots{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:1px solid var(--border);border-radius:6px;background:none;color:var(--foreground);font-size:12px;padding:12px;margin-top:10px}.no-day-session{font-size:12px;line-height:1.6;color:var(--muted)}.no-day-session button{display:flex;align-items:center;gap:6px;background:none;border:0;padding:10px 0;color:var(--sage);font-size:12px}.planner-footer{display:flex;flex-direction:column;gap:6px;font-size:10px;color:var(--muted);margin-top:23px}.planner-footer a{display:flex;align-items:center;gap:4px;text-decoration:none;min-height:32px;font-size:11px}@media(min-width:850px)and (max-height:850px){.session-panel.planner-v3{padding:16px 19px}.planner-verdict{padding-top:17px}.planner-verdict h1{font-size:25px}.day-tile{min-height:112px}}@media(max-width:849px){.session-panel.planner-v3{margin:84px 0 35px;width:100%;padding:12px 22px 25px;border:0;border-radius:0;background:var(--background);box-shadow:none;max-height:none}.planner-verdict h1{font-size:28px;max-width:345px}.planner-verdict>p{font-size:13px}.day-tile{min-height:119px}.day-tile-date{font-size:12px}.day-tile>b{font-size:13px}.selected-day-heading h2{font-size:24px}.spot-day-title b{font-size:17px}.spot-day-span{font-size:14px}.spot-day-character{font-size:12px}.spot-day-title small{font-size:11px}.forecast-values.compact b{font-size:13px}.forecast-values.compact span{font-size:11px}.planner-footer{padding-bottom:env(safe-area-inset-bottom)}}@media(max-width:370px){.session-panel.planner-v3{padding-left:17px;padding-right:17px}.planner-context{gap:2px}.planner-context .board-select{max-width:101px}.planner-context .filter-select{font-size:11px!important}.planner-verdict h1{font-size:26px}.day-grid{gap:5px}.day-tile{padding:9px 6px}.day-tile-date{font-size:10px}.day-tile>b{font-size:11px}.day-tile-spot{font-size:10px}.day-tile>small{font-size:10px}.planner-section-heading>span{font-size:10px}.timeline-columns,.timeline-row{grid-template-columns:47px minmax(0,1fr) minmax(0,1fr);column-gap:7px}.timeline-row>.forecast-values{gap:7px}.forecast-values.compact b{font-size:12px}.forecast-values.compact span,.journey-context,.journey-context a,.search-context{font-size:10px}}.radius-control{padding:14px 4px 0}.radius-control>div:first-child{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-bottom:8px}.radius-control output{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--sage)}.radius-control output span{font-size:10px;font-weight:400}.radius-slider{padding:10px 0;touch-action:none}.radius-slider [data-slot=slider-track]{background:var(--border);height:3px}.radius-slider [data-slot=slider-range]{background:var(--sage)}.radius-slider [data-slot=slider-thumb]{background:var(--popover);border:2px solid var(--sage);width:20px;height:20px;box-shadow:0 2px 5px #0001}.radius-endpoints{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:3px}.personal-settings{display:flex;gap:20px;position:relative;border-bottom:1px solid var(--border);margin-top:6px;padding-bottom:3px}.personal-settings>details{min-width:0}.personal-settings summary{display:flex;gap:7px;align-items:center;font-size:11px;min-height:40px;cursor:pointer;list-style:none;color:var(--muted)}.personal-settings summary::-webkit-details-marker{display:none}.personal-settings details[open]>summary{color:var(--sage)}.personal-settings details[open]>summary>svg:last-child{transform:rotate(180deg)}.personal-settings:has(details[open]){display:block}.personal-settings:has(details[open])>details{border-top:1px solid var(--border)}.personal-settings:has(details[open])>details:first-child{border-top:0}.personal-settings-body{padding:2px 0 17px}.personal-settings-body h3{font-size:16px;font-weight:600;letter-spacing:-.025em;margin:4px 0 7px}.personal-settings-body p{font-size:11px;color:var(--muted);line-height:1.6;margin:7px 0 12px}.personal-settings-body .favorite-add{width:100%;font-size:12px;background:var(--background);border:1px solid var(--border);height:40px}.favorite-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.favorite-chips>button{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--border);border-radius:18px;background:var(--selected);padding:8px 10px;font-size:11px;color:var(--foreground)}.settings-text-button{border:0;background:none;color:var(--sage);padding:10px 0 0;font-size:11px}.spot-day-header{display:flex;align-items:flex-start;gap:7px;flex-direction:row-reverse}.spot-day-header .spot-day-summary{min-width:0}.favorite-button{border:0;background:none;display:flex;align-items:center;justify-content:center;width:36px;min-width:36px;height:44px;margin:5px -7px 0 0;color:var(--muted);border-radius:7px}.favorite-button:hover{background:var(--secondary)}.favorite-button.is-favorite{color:var(--sage)}.notification-option{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 0;border-top:1px solid var(--border)}.notification-option>span{display:flex;flex-direction:column;gap:4px}.notification-option b{font-size:12px;font-weight:550}.notification-option small{font-size:11px;color:var(--muted);line-height:1.5}.notification-option [data-slot=switch]{flex-shrink:0;background:var(--border);width:34px;height:20px}.notification-option [data-slot=switch][data-state=checked]{background:var(--sage)}.notification-option [data-slot=switch-thumb]{background:var(--popover);width:16px;height:16px}.notification-actions{display:flex;gap:15px;align-items:center;margin-top:12px}.notification-actions button{display:flex;gap:7px;align-items:center;justify-content:center;min-height:40px;padding:8px 12px;border:1px solid var(--border);background:transparent;border-radius:6px;color:var(--foreground);font-size:11px}.notification-actions .enable-notifications{background:var(--sage);color:var(--background);border-color:var(--sage)}.notification-actions button:disabled{opacity:.45;cursor:not-allowed}.personal-settings-body .settings-privacy{font-size:10px;margin-top:13px}.personal-settings-body .settings-callout{background:var(--selected);color:var(--foreground);padding:11px;border-radius:6px}.personal-settings-body .settings-error{color:var(--foreground);border-left:2px solid var(--sage);padding-left:10px}.enabled-dot{width:5px;height:5px;border-radius:50%;background:var(--sage)}.search-settings{border-bottom:1px solid var(--border)}.search-settings>summary{display:flex;align-items:center;gap:9px;list-style:none;min-height:42px;cursor:pointer;font-size:11px;color:var(--muted)}.search-settings>summary::-webkit-details-marker{display:none}.search-settings>summary>svg{flex-shrink:0}.search-settings>summary>svg:first-child{color:var(--sage)}.search-summary-place{font-weight:550;color:var(--foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-summary-board{margin-left:auto;white-space:nowrap;font-size:10px}.search-settings[open]>summary>svg:last-child{transform:rotate(180deg)}.search-settings-body{padding:3px 0 10px}.search-settings-body .planner-context{padding:0 0 7px}.search-settings-body .search-context{margin-top:8px}.search-done{display:flex;align-items:center;gap:5px;border:0;background:none;color:var(--sage);font:inherit;font-size:11px;padding:0 3px;min-height:38px;margin:5px 0 -5px auto}.search-done svg{transform:rotate(180deg)}.day-overview+.personal-settings{margin-top:15px;padding-bottom:0}.notification-boards{border:0;padding:9px 0 14px;margin:0;min-width:0}.notification-boards legend{font-size:12px;font-weight:550;padding:0}.notification-board-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}.notification-board-chip{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:38px;border:1px solid var(--border);border-radius:6px;padding:8px 11px;background:transparent;color:var(--muted);font:inherit;font-size:11px}.notification-board-chip[aria-pressed=true]{background:var(--selected);border-color:var(--sage);color:var(--foreground)}.notification-board-chip:disabled{opacity:.5}.notification-boards>p{font-size:10px;margin:8px 0 0}.planner-v3 .planner-verdict{padding-top:18px}@media(max-width:849px){.app:not(.map-only) .masthead{height:70px}.session-panel.planner-v3{margin-top:70px;padding-top:4px}.search-settings>summary{font-size:12px}.search-summary-board{font-size:11px}.planner-v3 .planner-verdict{padding-top:17px}}.forecast-context{margin:0 0 12px}.forecast-context .context-summary{margin-left:auto;font-size:10px;font-weight:400;color:var(--muted)}.tide-events{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0 0 12px;font-variant-numeric:tabular-nums}.tide-events>div{display:flex;flex-direction:column;gap:4px}.tide-events span,.tide-events small{font-size:10px;color:var(--muted)}.tide-events b{font-size:14px;font-weight:550}.context-source{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--sage);text-decoration:none;padding:0 0 12px}.tide-context .tide-preference{color:var(--sage)}.local-effects{padding:3px 0 8px}.local-effects p{margin:8px 0;font-size:11px;line-height:1.55;display:flex;flex-direction:column;gap:3px}.local-effects b{font-weight:550}.local-effects span{color:var(--muted)}.context-evidence{display:block;margin-top:6px;color:var(--muted);font-size:11px}.breaking-explanation p{font-size:11px;line-height:1.6;color:var(--muted);margin:0 0 12px}.day-tile{min-height:139px;gap:4px}.day-tile>.day-tile-height{font-size:18px;font-weight:600;letter-spacing:-.045em;line-height:1.15;color:var(--sage);margin:6px 0 1px;white-space:nowrap}.day-tile>.day-tile-height.is-unknown{font-size:11px;font-weight:500;line-height:1.4;letter-spacing:0;white-space:normal;color:var(--muted)}.day-tile-time{font-size:10px;line-height:1.4;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.day-tile>small{font-size:10px;line-height:1.4;padding-top:3px}.spot-day-title>svg{flex-shrink:0;color:var(--muted)}.is-open .spot-day-title>svg{transform:rotate(90deg)}.spot-day-surf{display:flex;align-items:center;gap:12px;margin:3px 0 2px}.spot-day-surf>.height-estimate>strong{font-size:29px;line-height:1.1;font-weight:600;letter-spacing:-.045em;color:var(--sage);font-variant-numeric:tabular-nums;white-space:nowrap}.spot-day-surf>.spot-day-wave-meta{display:flex;flex-direction:column;gap:2px;color:var(--muted);font-size:10px;line-height:1.3}.spot-day-surf small{font-size:10px}.spot-day-surf.is-unknown>strong{font-size:23px;color:var(--muted)}.spot-day-surf.is-unknown>span{flex-direction:row;gap:5px;align-items:baseline}.spot-day-surf.is-unknown small{font-size:10px}.spot-day-surf.is-unknown>.spot-height-status{font-size:12px;line-height:1.4;display:block}.forecast-progress{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.5;padding:11px 0;margin:-8px 0 17px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--muted)}.forecast-progress>div{flex:1;min-width:0}.forecast-progress strong{font-weight:500;color:var(--foreground)}.forecast-progress p{font-size:10px;margin:3px 0 0;line-height:1.5}.forecast-progress-dot{width:5px;height:5px;border-radius:50%;background:var(--sage);margin-top:6px;flex-shrink:0}.forecast-progress button{font:inherit;font-size:10px;border:0;background:none;color:var(--sage);padding:4px 0 4px 5px;min-height:32px;max-width:83px;align-self:center;line-height:1.4;text-align:right}.forecast-progress button:disabled{opacity:.6}.forecast-progress.is-delayed .forecast-progress-dot{background:var(--muted)}.planner-direct-filters .planner-context{padding-bottom:8px;gap:7px}.planner-direct-filters .planner-locate{width:26px;height:37px}.planner-direct-filters .filter-select{height:37px!important}.planner-direct-filters .board-select{max-width:125px;flex-shrink:0}.planner-direct-filters .spot-filter{min-width:0}.region-settings{font-size:10px;color:var(--muted);border-bottom:1px solid var(--border)}.region-settings>summary{min-height:30px;display:flex;align-items:center;gap:6px;cursor:pointer;list-style:none}.region-settings>summary::-webkit-details-marker{display:none}.region-settings>summary>span:first-child{margin-right:auto}.region-settings[open]>summary>svg{transform:rotate(180deg)}.region-settings .radius-control{padding:8px 3px 0}.region-settings>p{font-size:10px;line-height:1.5;margin:10px 3px 12px}.day-conditions{display:flex;flex-direction:column;gap:4px;margin-top:auto;padding-top:7px;min-height:17px}.condition-indicator{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:10px;line-height:1.4}.condition-indicator svg{flex-shrink:0}.condition-indicator>span{min-width:0}.day-conditions .condition-indicator{font-size:10px}.day-tile{min-height:154px}.day-tile:focus-visible{outline:2px solid var(--sage);outline-offset:3px}.day-tile-date{flex-direction:row;justify-content:space-between;gap:3px;align-items:baseline;flex-wrap:wrap}.day-tile-date small{font-size:10px}.day-tile>.day-tile-height{margin-top:9px}.surf-values .condition-indicator{display:flex;align-items:flex-start;gap:4px}.surf-values .condition-indicator>svg{margin-top:1px}.surf-values .condition-indicator>span{font-size:10px;line-height:1.5}@media(max-width:849px){.planner-direct-filters .planner-context{padding-bottom:7px}.planner-direct-filters .board-select{max-width:135px}.day-tile-date{font-size:11px}.day-conditions .condition-indicator{font-size:10px}}.surf-coverage{font-size:10px!important;line-height:1.4!important;color:var(--muted)}.surf-values .surf-number{color:var(--sage);font-size:15px!important;font-weight:600;letter-spacing:-.02em}.surf-values .surf-unknown{color:var(--muted)}.surf-values small{font-size:10px;line-height:1.4}.surf-timeline .timeline-heading{margin-top:0}.surf-timeline .timeline-row{padding:10px 0}.spot-day-body .journey-context{margin-bottom:9px}.forecast-details>summary>.context-summary{margin-left:auto;color:var(--muted);font-size:10px;font-weight:400}.forecast-details h4{font-size:11px;font-weight:600;margin:4px 0 9px}.forecast-details .breaking-explanation{padding:3px 0 6px}.offshore-inputs{padding:4px 0 16px}.offshore-inputs>p{font-size:11px;line-height:1.6;color:var(--muted);margin:0 0 10px}.offshore-input-row{display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px;border-top:1px solid var(--border);padding:10px 0;font-variant-numeric:tabular-nums}.offshore-input-row>span{font-size:10px;color:var(--muted)}.offshore-input-row>div{display:flex;flex-direction:column;gap:4px}.offshore-input-row b{font-size:11px;font-weight:500}.offshore-input-row span,.offshore-input-row small{font-size:10px;line-height:1.5;color:var(--muted)}@media(max-width:359px){.day-tile{padding:9px 6px}.day-tile>.day-tile-height{font-size:16px}.day-tile-time{font-size:10px}.day-tile>small{font-size:10px}.spot-day-surf>.height-estimate>strong{font-size:27px}.forecast-details>summary>.context-summary{font-size:10px}.timeline-columns,.timeline-row{grid-template-columns:48px minmax(0,1fr) minmax(0,1fr);column-gap:8px}}.planner-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 12px}.planner-update{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:var(--muted)}.planner-update>svg{flex:none}.planner-update>.is-spinning{animation:planner-update-spin 1.2s linear infinite}.planner-update>button{min-height:24px;padding:0 2px;margin-left:3px;border:0;background:none;color:var(--sage);font:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.planner-update>button:focus-visible{outline:2px solid var(--sage);outline-offset:2px;border-radius:3px}.planner-update>button:disabled{opacity:.6;cursor:default}@keyframes planner-update-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.planner-update>.is-spinning{animation:none}}@media(pointer:coarse){.planner-update>button{min-height:44px}}.day-tile{min-height:136px;gap:5px}.day-tile-heading{display:flex;justify-content:space-between;align-items:baseline;gap:5px;width:100%;min-width:0}.day-tile-session{display:flex;flex-direction:column;gap:3px;min-width:0}.day-tile-day{font-size:11px;font-weight:600;line-height:1.3;text-transform:capitalize}.day-tile-heading>.day-tile-date{display:block;flex:none;font-size:10px;font-weight:400;color:var(--muted);white-space:nowrap}.day-tile-session>.day-tile-time{font-size:10px;line-height:1.4;font-weight:500;overflow-wrap:normal}.day-tile-reading{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:5px;min-width:0;font-variant-numeric:tabular-nums}.day-tile-reading>.day-tile-height{font-size:16px;font-weight:600;letter-spacing:-.045em;line-height:1.2;color:var(--sage);white-space:nowrap}.day-tile-reading>.day-tile-height.is-unknown{font-size:10px;font-weight:500;letter-spacing:0;line-height:1.4;color:var(--muted);white-space:normal}.day-tile-coverage{font-size:10px;color:var(--muted);line-height:1.4}.day-tile .day-conditions{padding-top:5px;gap:3px}.day-tile .condition-indicator{line-height:1.5;align-items:center}.day-tile .condition-indicator>span{overflow-wrap:anywhere}.day-tile .tide-indicator{gap:5px}.day-tile .tide-phase{width:32px;height:17px}@media(max-width:370px){.day-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.day-tile{min-height:132px;padding:10px 9px}.day-tile-day{font-size:11px}.day-tile-reading>.day-tile-height{font-size:17px}.day-tile .condition-indicator{font-size:10px}}.day-grid{row-gap:0;column-gap:6px}.day-grid>.day-tile{display:grid;grid-template-rows:subgrid;grid-row:span 6;gap:0;align-content:start;min-height:0;margin-bottom:6px;padding:10px 8px;border-color:var(--border);background:none;box-shadow:none}.day-grid>.day-tile:hover{background:var(--secondary)}.day-grid>.day-tile.is-selected{background:none;border-color:var(--foreground);box-shadow:none}.day-grid>.day-tile.is-unknown{border-style:dashed;color:var(--muted)}.day-grid>.day-tile{position:relative}.day-tile-choice{position:absolute;inset:0;z-index:1;border:0;border-radius:inherit;background:none;color:inherit;padding:0;cursor:pointer}.day-tile-choice:focus-visible{outline:2px solid var(--sage);outline-offset:3px}.day-tile>span,.day-tile>.day-no-chance{pointer-events:none}.day-tile>.day-tile-tide{position:relative;z-index:2;pointer-events:auto}.day-grid>.day-tile>span:empty{display:none}.day-tile>.day-tile-heading{grid-row:1;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:2px 4px;width:100%;min-width:0}.day-tile-when,.day-tile-call{display:flex;flex-direction:column;gap:2px;min-width:0}.day-tile-call{align-items:flex-end;flex:none;margin-left:auto}.day-tile-when{flex:1 1 auto}.day-tile-when>.day-tile-day{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-tile-day{font-size:12px;font-weight:600;line-height:1.3;text-transform:capitalize}.day-tile-when>.day-tile-date,.day-tile-call>.day-tile-hours{font-size:10px;font-weight:400;line-height:1.3;color:var(--muted);white-space:nowrap;text-transform:none;font-variant-numeric:tabular-nums}.day-tile>.day-tile-reading{grid-row:2;margin-top:8px;gap:2px}.day-tile>.day-tile-spot{grid-row:3;margin-top:6px;font-size:10px;line-height:1.4;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-tile>.day-tile-surface{grid-row:4;margin-top:2px;font-size:11px;font-weight:500;line-height:1.4}.day-tile>.day-tile-wind{grid-row:5;margin-top:2px;display:flex;align-items:center;min-height:15px}.day-tile>.day-tile-tide{grid-row:6;margin-top:7px;width:100%}.day-tile-reading>.day-tile-height{color:var(--foreground)}.day-tile-reading>.day-tile-height.is-unknown{color:var(--muted)}.day-tile>.day-no-chance{grid-row:2/span 5;margin-top:8px;font-size:11px;font-weight:400;line-height:1.5;color:var(--foreground)}.day-tile.is-unknown>.day-no-chance{color:var(--muted)}.day-status-row{display:flex;align-items:center}.day-status{display:inline-block;padding:0 7px;border:1px solid var(--border);border-radius:999px;color:var(--foreground);font-size:10px;font-weight:600;line-height:1.6;white-space:nowrap;cursor:help}.day-status.is-go{background:var(--sage);border-color:var(--sage);color:var(--background)}.day-status.is-uncertain{color:var(--muted);font-weight:500;border-style:dashed}.tile-wind{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:400;line-height:1;color:var(--muted);white-space:nowrap}.tile-wind-arrow{display:inline-flex;width:12px;height:12px;align-items:center;justify-content:center;transform-origin:50% 50%;color:var(--foreground)}.tile-wind-arrow>svg{display:block}.day-tide{position:relative;display:block;width:100%;height:16px;color:var(--muted)}.day-tide.has-times{height:28px}.day-tide-times{position:absolute;top:17px;left:0;right:0;height:11px;font-size:9px;line-height:11px;font-variant-numeric:tabular-nums;color:var(--muted);pointer-events:none}.day-tide-times>span{position:absolute;top:0;white-space:nowrap;transform:translate(-50%)}.day-tide-times>span.is-start{transform:none}.day-tide-times>span.is-end{transform:translate(-100%)}.day-tide-curve{position:absolute;top:0;left:0;display:block;overflow:visible;pointer-events:none}.day-tide-marker{position:absolute;z-index:1;height:16px;border:0;border-radius:3px;padding:0;background:none;color:var(--foreground);cursor:pointer;touch-action:manipulation}.day-tide-marker.is-tide{top:0}.day-tide-marker.is-light{z-index:2;top:0;width:16px;transform:translate(-50%)}.day-tide-marker:focus-visible{outline:1px solid var(--sage);outline-offset:-1px}.day-tide-dot{position:absolute;width:3px;height:3px;border-radius:50%;background:currentColor;transform:translate(-50%,-50%);pointer-events:none}.day-tide-marker.is-light:after{content:"";position:absolute;left:50%;top:2px;bottom:2px;width:1px;background:currentColor;opacity:0;transform:translate(-50%);transition:opacity .12s}.day-tide-marker.is-light:hover:after,.day-tide-marker.is-light:focus-visible:after,.day-tide-marker.is-light[data-state=instant-open]:after,.day-tide-marker.is-light[data-state=delayed-open]:after{opacity:.6}.day-tide-marker:hover .day-tide-dot,.day-tide-marker[data-state=instant-open] .day-tide-dot,.day-tide-marker[data-state=delayed-open] .day-tide-dot{box-shadow:0 0 0 2px var(--secondary),0 0 0 3px currentColor}.day-tide-line{fill:none;stroke:currentColor;stroke-width:1;opacity:.55}.day-tide-session{fill:none;stroke:var(--foreground);stroke-width:2.4;stroke-linecap:round}.day-tile-reading .height-estimate{font-size:16px;letter-spacing:-.045em;line-height:1.3;color:var(--foreground)}.day-tile-reading .height-estimate>.day-tile-height.is-unknown{font-size:10px;font-weight:500;letter-spacing:0;line-height:1.4;color:var(--muted);white-space:normal}.day-tile-reading .height-estimate>.day-tile-height{font-size:inherit;font-weight:600}.surf-height-period>.height-estimate{color:var(--foreground)}.spot-day-summary{position:relative}.spot-specifics{font-size:14px;line-height:1.6}.spot-specifics .spot-specifics-summary{color:var(--foreground);font-size:14px;line-height:1.6;margin:8px 0 20px}.spot-knowledge{margin:20px 0 0;padding:22px 0 0;border-top:1px solid var(--border)}.spot-knowledge-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:20px}.spot-knowledge-heading h4{font-size:16px;font-weight:550;margin:0}.spot-knowledge-heading>span{font-size:12px;color:var(--muted)}.spot-knowledge-highlights{display:grid;gap:20px;margin:0 0 22px}.spot-knowledge-highlights>div{display:grid;gap:6px}.spot-knowledge-highlights dt{font-size:12px;font-weight:600;color:var(--sage);line-height:1.5}.spot-knowledge-highlights dd{margin:0;font-size:14px;line-height:1.6;color:var(--foreground)}.spot-knowledge-more>summary,.spot-knowledge-topic>summary,.spot-knowledge-evidence>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;font-size:12px;color:var(--foreground);cursor:pointer;list-style:none}.spot-knowledge-more>summary::-webkit-details-marker,.spot-knowledge-topic>summary::-webkit-details-marker,.spot-knowledge-evidence>summary::-webkit-details-marker{display:none}.spot-knowledge-more[open]>summary>svg,.spot-knowledge-topic[open]>summary>svg,.spot-knowledge-evidence[open]>summary>svg{transform:rotate(180deg)}.spot-knowledge-more>summary:focus-visible,.spot-knowledge-topic>summary:focus-visible,.spot-knowledge-evidence>summary:focus-visible{outline:2px solid var(--sage);outline-offset:3px;border-radius:3px}.spot-specifics .spot-specifics-scope,.spot-specifics-sources>p{margin:16px 0 8px;font-size:12px;line-height:1.6;color:var(--muted)}.spot-specifics:not(.spot-knowledge) .spot-knowledge-highlights{margin-top:12px}.spot-knowledge-topic,.spot-knowledge-evidence{border-top:1px solid var(--border)}.spot-knowledge-topic>summary{font-weight:550;font-size:14px}.spot-knowledge-note{margin:0 0 20px}.spot-knowledge-note>p{margin:0;font-size:14px;line-height:1.6;color:var(--foreground)}.spot-knowledge-note small,.spot-specifics-sources small{display:block;font-size:12px;line-height:1.6;color:var(--muted);margin-top:8px}.spot-knowledge-note small a{color:var(--sage);text-decoration:underline;text-underline-offset:3px}.spot-specifics-coverage>b{font-size:12px;font-weight:600;color:var(--foreground)}.spot-specifics-coverage ul,.spot-specifics-sources ul{margin:8px 0 20px;padding-left:20px;font-size:12px;line-height:1.6;color:var(--muted)}.spot-specifics-coverage li,.spot-specifics-sources li{margin:10px 0}.spot-specifics-sources h5{font-size:12px;font-weight:600;margin:20px 0 8px}.spot-specifics-sources .context-source{padding:0;gap:4px;font-size:12px}.spot-knowledge-more[open]>summary,.spot-knowledge-evidence[open]>summary,.spot-knowledge-topic[open]>summary{color:var(--sage);font-weight:600}.spot-knowledge-more[open]>summary{font-size:14px}.spot-knowledge-body,.forecast-details-body{border-left:2px solid var(--border);padding:2px 0 2px 16px;margin:4px 0 24px}.spot-knowledge-topic-body{padding:0 12px 2px;margin:0 0 16px;border-left:1px solid var(--border)}.spot-knowledge-topic-body>:last-child{margin-bottom:0}.spot-knowledge-topic[open]+.spot-knowledge-topic{margin-top:8px}.spot-specifics .spot-knowledge-body>.spot-specifics-summary{margin-top:0}.spot-knowledge-evidence>summary{color:var(--muted)}.spot-knowledge-evidence .spot-specifics-sources li{scroll-margin-top:20px}.forecast-details[open]>summary>span:first-child{color:var(--sage)}.forecast-details-body>.offshore-inputs,.forecast-details-body>.forecast-method{border-top:1px solid var(--border);padding-top:16px;margin-top:20px}.forecast-details-body>.forecast-context{margin-top:20px}@media(max-width:370px){.day-grid>.day-tile{padding:10px 6px}}@media(max-width:370px){.day-tile-reading .height-estimate{font-size:17px}}.personal-surf-status{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:12px 0 4px;font-size:11px;color:var(--muted)}.personal-surf-status button{font:inherit;color:var(--sage);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.personal-surf-status button:focus-visible{outline:2px solid currentColor;outline-offset:3px}.personal-window-reason,.personal-other-windows>p{font-size:12px;color:var(--muted);line-height:1.5}.personal-window-reason{grid-column:1/-1;margin:4px 0 0}.personal-other-windows{margin-top:16px}.day-grid{gap:6px;align-items:stretch}.day-grid>.day-tile{display:flex;flex-direction:column;grid-row:auto;gap:0;margin:0;padding:10px 8px;min-height:156px}.day-tile>.day-tile-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;flex:none;gap:4px;min-height:32px}.day-tile>.day-tile-reading{margin-top:8px;flex:none}.day-tile>.day-tile-spot{margin-top:5px}.day-tile>.day-tile-surface,.day-tile>.day-tile-wind{margin-top:3px}.day-tile>.day-tile-tide{margin-top:auto;padding-top:7px;box-sizing:content-box}.day-grid>.day-tile.locked-day{min-height:156px}.day-tile.locked-day>.locked-placeholder{width:100%;margin:13px 0 10px;gap:8px}.day-tile.locked-day>.locked-day-label{align-self:start;margin-top:auto;font-size:9px}.day-tile .day-status{padding-inline:5px;font-size:9px}.planner-meta{gap:4px 12px;flex-wrap:nowrap}.planner-update-copy{display:grid;gap:3px;min-width:0}.forecast-refresh-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:none;min-height:30px;padding:0 8px;margin-right:-8px;color:var(--muted);font:inherit;font-size:10px;border-radius:6px}.forecast-refresh-button:hover{background:var(--secondary);color:var(--foreground)}.forecast-refresh-button:focus-visible{outline:2px solid var(--sage);outline-offset:2px}.forecast-refresh-button:disabled{opacity:.6;cursor:default}.pull-refresh{display:flex;align-items:center;justify-content:center;gap:8px;overflow:hidden;font-size:11px;color:var(--muted);flex:none}.day-spot-navigation{display:flex;align-items:center;gap:8px;margin-top:15px}.day-spot-navigation>button{min-height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;flex:none;width:40px}.day-spot-navigation>.spot-picker-trigger{flex:1;min-width:0;justify-content:space-between;width:auto;padding:10px 12px;font-size:13px}.day-spot-navigation>button:disabled{opacity:.3}.planner-v3 .planner-verdict{padding:18px 0 22px;margin-bottom:0}.planner-verdict .planner-eyebrow{line-height:1.4}.planner-verdict h1{font-size:25px;line-height:1.15;margin:7px 0 0}.planner-verdict>p{margin:9px 0 0}.planner-verdict .planner-meta{margin-top:12px}@media(pointer:coarse){.forecast-refresh-button{min-height:44px}}@media(max-width:849px){.session-panel.planner-v3{overscroll-behavior-y:contain}.planner-v3 .planner-verdict{padding:16px 0 20px;margin-bottom:0}.planner-verdict h1{font-size:25px;line-height:1.15;margin:7px 0 0;max-width:100%}.planner-verdict>p{font-size:12px;line-height:1.55;margin:9px 0 0}.planner-eyebrow{font-size:9px;letter-spacing:.07em;line-height:1.4}.planner-verdict .planner-meta{margin-top:11px;font-size:10px}.planner-section-heading{margin-bottom:8px}.day-tile-day{font-size:11px}.day-tile>.day-tile-reading{margin-top:6px}.day-tile>.day-tile-surface{font-size:10px}.day-drawer-header{padding-top:max(17px,env(safe-area-inset-top));padding-bottom:14px}.day-drawer-heading h2{font-size:25px;margin:5px 0}}.day-tile.is-muted{color:var(--muted)}.day-tile.is-muted .day-tile-height,.day-tile.is-muted .day-tile-day,.day-tile.is-muted .period-indicator>b{color:var(--muted)}.day-tile.is-muted .day-tide-session{stroke:var(--muted);stroke-width:1}.day-context-label{font-size:.65rem;font-weight:500;color:var(--muted)}.favorites-empty{display:grid;gap:16px;padding:24px 0;color:var(--muted)}.favorites-empty-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px}.forecast-skeleton{display:contents}.forecast-skeleton-line{display:block;height:9px;width:100%;border-radius:4px;background:var(--border);animation:forecast-skeleton-pulse 1.8s ease-in-out infinite}.forecast-skeleton .planner-verdict .planner-eyebrow-row{height:14px;align-items:center}.forecast-skeleton .planner-verdict h1{display:flex;flex-direction:column;gap:7px;padding:3px 0}.forecast-skeleton .planner-verdict>p{display:flex;align-items:center;height:19px}.forecast-skeleton .planner-verdict .planner-meta{height:15px}.forecast-skeleton-line.is-eyebrow{width:37%;height:8px}.forecast-skeleton-line.is-headline{height:22px;width:92%}.forecast-skeleton-line.is-short{width:65%}.forecast-skeleton-line.is-summary{width:78%}.forecast-skeleton-line.is-meta{width:45%;height:8px}.day-grid>.day-tile,.day-grid>.day-tile.locked-day{min-height:192px}.day-grid>.day-skeleton{pointer-events:none}.day-skeleton .day-tile-when{width:100%}.day-skeleton .is-day{width:70%;height:11px;margin:3px 0 8px}.day-skeleton .is-date{width:40%;height:7px}.day-skeleton .day-tile-reading{min-height:36px}.day-skeleton .is-height{width:88%;height:17px;margin-bottom:8px}.day-skeleton .is-period{width:49%;height:8px}.day-skeleton .day-tile-spot,.day-skeleton .day-tile-surface,.day-skeleton .day-tile-wind{min-height:15px;padding-top:3px}.day-skeleton .is-wind{width:60%}.day-skeleton .is-tide{height:18px;opacity:.5}.map-forecast-skeleton .is-place{width:100px;height:12px}.map-forecast-skeleton .is-value{width:100%;max-width:130px;height:18px}.map-forecast-skeleton .is-time{width:125px;height:10px}.map-forecast-skeleton .is-action{width:64px;height:10px}.map-skeleton-input{height:var(--timeline-input-height);display:flex;align-items:center}.map-forecast-skeleton .is-track{height:3px}@keyframes forecast-skeleton-pulse{0%,to{opacity:.45}50%{opacity:.85}}@media(prefers-reduced-motion:reduce){.forecast-skeleton-line{animation:none;opacity:.65}}.planner-footer .planner-credits{margin:0;font-size:10px;line-height:1.55;color:var(--muted)}.planner-footer .planner-credits a{display:inline;min-height:0;font-size:inherit;color:inherit;text-decoration:underline;text-underline-offset:2px}.unit-menu{width:248px;max-width:calc(100vw - 24px);padding:8px;border-radius:14px}.unit-menu [data-slot=dropdown-menu-label]{padding:8px 10px 5px;color:var(--muted);font-size:10px;font-weight:500;letter-spacing:.06em}.unit-menu [data-slot=dropdown-menu-radio-item]{min-height:36px;padding-right:10px;font-size:12px}.unit-menu [data-slot=dropdown-menu-separator]{margin:6px 2px}.unit-menu .unit-symbol{margin-left:auto;padding-left:14px;color:var(--muted);font-size:11px}.display-settings-trigger{height:36px!important;border:1px solid var(--border)!important;border-radius:50px!important;background:var(--panel)!important;font-size:11px!important;gap:6px!important;padding:0 12px!important}.display-settings{z-index:90!important;width:300px;max-width:calc(100vw - 24px);padding:18px;border-radius:16px;background:var(--panel);color:var(--foreground);font-size:13px;box-shadow:0 14px 50px #00000018}.settings-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.settings-heading h2{font-size:14px;font-weight:600;margin:0}.settings-heading button{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border:1px solid var(--border);border-radius:50%;background:var(--background);color:var(--foreground)}.settings-field{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:10px;margin-top:12px}.settings-field>label{color:var(--muted);font-size:12px}.settings-field [data-slot=select-trigger]{width:100%;height:40px;background:var(--background);font-size:12px}.theme-choices{display:flex;border:0;border-top:1px solid var(--border);padding:15px 0 0;margin:21px 0 0;gap:6px}.theme-choices legend{float:left;width:100%;margin-bottom:10px;color:var(--muted);font-size:12px}.theme-choices{flex-wrap:wrap}.theme-choices label{flex:1;position:relative;cursor:pointer}.theme-choices input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer}.theme-choices span{display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid var(--border);border-radius:8px;min-height:40px;font-size:11px}.theme-choices input:checked+span{background:var(--selected);border-color:var(--sage);color:var(--sage)}.theme-choices input:focus-visible+span{outline:2px solid var(--sage);outline-offset:3px}.settings-saved{font-size:10px;color:var(--muted);margin:17px 0 0}@media(max-width:480px){.map-toggle-label,.display-settings-trigger>span{display:none}.map-toggle,.display-settings-trigger{width:36px;padding:0!important}.header-actions{gap:5px}}.map-time-controls{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:0 0 15px;padding-bottom:12px;border-bottom:1px solid var(--border)}.map-mode-options{display:flex;background:var(--background);border:1px solid var(--border);border-radius:8px;padding:3px;gap:3px}.map-mode-options>button{border:0;border-radius:5px;background:none;color:var(--muted);font-size:10px;padding:7px 9px;min-height:32px}.map-mode-options>button[aria-pressed=true]{background:var(--selected);color:var(--sage)}.map-time-selection{display:flex;gap:7px;flex:1;min-width:210px}.map-time-selection [data-slot=select-trigger]{font-size:10px;min-height:36px;height:36px;flex:1;min-width:0;padding:0 8px}.map-time-selection [data-slot=select-trigger]:last-child{flex:0 0 78px}.map-time-selection [data-slot=select-value]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-slot=select-content].settings-unit-options{z-index:110!important}html,body,#root{width:100%;height:100%;min-height:0;overflow:hidden}.app{--map-control-bottom: 42px;position:relative;width:100%;height:100dvh;min-height:0;overflow:hidden}.session-panel.planner-v3{position:absolute;top:104px;bottom:var(--map-control-bottom);left:38px;margin:0;max-height:none;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}@media(min-width:850px)and (max-height:850px){.app{--map-control-bottom: 36px}.session-panel.planner-v3{top:87px}}@media(min-width:850px)and (max-width:1100px){.session-panel.planner-v3{left:24px}}@media(max-width:849px){.session-panel.planner-v3{top:70px;bottom:0;left:0;width:100%;margin:0;padding-bottom:max(25px,env(safe-area-inset-bottom))}}
