/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */.surf-conditions-container{--conditionsNone:#4d8ba7;--conditionsVeryPoor:#f4496d;--conditionsPoor:#ff9500;--conditionsPoorToFair:#ffcd1e;--conditionsFair:#0bd674;--conditionsFairToGood:#009371;--conditionsGood:#6851f4;--conditionsVeryGood:#6851f4;--conditionsGoodToEpic:#5c00d0;--conditionsEpic:#5c00d0}.weather-container{border-radius:8px;flex-direction:column;align-items:center;width:100%;display:flex}.current-weather{justify-content:flex-start;gap:16px;margin-bottom:8px;padding-bottom:8px}.current-weather,.location{align-items:center;display:flex}.location{flex-direction:column;min-width:88px}.city{color:var(--text-primary,currentColor);font-size:1rem;font-weight:600;line-height:1.2}.weather-label{color:var(--text-secondary,#666);font-size:1rem}.location-link .city-link,.location-link .weather-label-link{color:#2563eb;text-underline-offset:2px;text-decoration:underline}.location-link:hover .city-link,.location-link:hover .weather-label-link{color:#1d4ed8}.current-conditions{flex-grow:1;align-items:center;gap:12px;min-width:0;display:flex}.current-icon{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.current-details{flex-direction:column;min-width:0;display:flex}.current-temp{color:var(--text-primary,currentColor);font-size:1.7rem;font-weight:600}.current-desc{color:var(--text-secondary,#666);font-size:.9rem}.current-wind{border-left:1px solid var(--border-color,#e0e0e0);flex-direction:row;flex-shrink:0;justify-content:flex-start;align-items:center;gap:8px;width:auto;min-width:0;max-width:none;margin-top:0;padding-left:12px;display:flex}.wind-icon{color:var(--text-secondary,#666)}.wind-details{flex-direction:column;align-items:flex-start;gap:1px;display:flex}.wind-speed{color:var(--text-primary,currentColor);font-size:1.2rem;font-weight:600;line-height:1.1}.wind-direction{color:var(--text-secondary,#666);justify-content:flex-start;align-items:center;gap:3px;font-size:.9rem;line-height:1.1;display:flex}.wind-direction svg{transition:transform .3s}:root.dark .current-wind{border-left-color:#fff3}.forecast{-ms-overflow-style:none;justify-content:space-between;gap:0;width:100%;padding:4px 0;display:flex;overflow-x:visible}.forecast::-webkit-scrollbar{display:none}@media (max-width:500px){.forecast{overflow-x:auto}}.forecast-day{border-radius:6px;flex-direction:column;flex-shrink:0;align-items:center;min-width:50px;padding:2px 1px;transition:background-color .2s;display:flex}.forecast-day:hover{background-color:var(--hover-color,#0000000d)}.day-name{color:var(--text-primary,currentColor);margin-bottom:2px;font-size:.8rem;font-weight:500}.forecast-icon{object-fit:contain;border-radius:6px;width:32px;height:32px;margin:2px 0}.temps{flex-direction:column;align-items:center;gap:0;font-size:.85rem;display:flex}.high-temp{color:var(--temp-high-color,#d32f2f);font-weight:700}.low-temp{color:var(--temp-low-color,#1976d2)}@media (min-width:768px){.weather-container{flex-flow:wrap;align-items:center;gap:24px}.current-weather{border-bottom:none;flex:0 360px;min-width:260px;margin-bottom:0;padding-bottom:0;padding-right:24px}.current-conditions{gap:14px}.forecast{flex-wrap:nowrap;flex:460px;justify-content:space-between;gap:4px;min-width:0}.forecast-day{flex:1;min-width:0;padding:4px 2px}.day-name{font-size:.85rem}}@media (min-width:768px) and (max-width:1023px){.weather-container{flex-flow:row;align-items:center;gap:16px}.current-weather{flex:none;min-width:240px;padding-right:16px}.current-conditions{gap:10px}.current-wind{gap:6px;padding-left:10px}.wind-speed{font-size:1.05rem}.wind-direction{font-size:.85rem}.forecast{flex:auto;justify-content:flex-start;width:auto;overflow-x:auto}.forecast-day{flex:none;min-width:56px}}.short-day{display:inline}.full-day{display:none}.hourly-weather-container{background:var(--card-background,#ffffff0d);border-radius:8px;max-width:100%;margin:0 auto;padding:1rem;box-shadow:0 2px 8px #0000001a}.hourly-heading{text-align:center;margin:.5rem 0 1rem;font-size:1.2rem;font-weight:700}.hourly-forecast-wrapper{width:100%;margin:0 auto;position:relative;overflow:hidden}.hourly-forecast{scroll-behavior:smooth;border-radius:4px;margin:0;padding:.5rem 0 12px;display:flex;overflow:auto hidden}@supports (scrollbar-width:none){.forecast{scrollbar-width:none}}@supports (scrollbar-width:thin){.hourly-forecast{scrollbar-width:thin}}.hourly-item{background:var(--hourly-item-bg,#ffffff14);border-radius:8px;flex-direction:column;flex-shrink:0;align-items:center;min-width:80px;margin:0 .5rem;padding:.75rem .5rem;transition:transform .2s;display:flex}.hourly-item:hover{background:var(--hourly-item-hover-bg,#ffffff1f);transform:translateY(-2px)}.hour{margin-bottom:.3rem;font-weight:700}.hourly-icon,.hourly-temp{margin:.3rem 0}.hourly-temp{font-size:1.1rem;font-weight:700}.hourly-wind{color:var(--text-secondary,#666);justify-content:center;align-items:center;gap:3px;margin:.2rem 0;font-size:.75rem;display:flex}.hourly-wind svg{flex-shrink:0}.hourly-wind-speed{white-space:nowrap}.hourly-desc{text-align:center;text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;max-width:100px;height:2.4em;font-size:.8rem;line-height:1.2;display:-webkit-box;overflow:hidden}.hourly-forecast::-webkit-scrollbar{height:4px}.hourly-forecast::-webkit-scrollbar-track{background:#0000000d;border-radius:2px}.hourly-forecast::-webkit-scrollbar-thumb{background:#0003;border-radius:2px}@media (min-width:768px){.hourly-weather-container{max-width:calc(100% - 2rem);margin:0 auto;padding:1.5rem}.hourly-item{min-width:100px}}@media (min-width:1200px){.weather-container{flex-wrap:nowrap;grid-template-columns:minmax(360px,420px) minmax(0,1fr);align-items:center;gap:0 28px;display:grid}.current-weather{border-right:1px solid var(--border-color,#e0e0e0);width:100%;min-width:0;padding-right:20px}.current-conditions{gap:10px;width:100%;min-width:0}.current-details{min-width:0}.current-desc{max-width:12ch}.current-wind{flex-shrink:0;gap:7px;padding-left:10px}.forecast{align-items:start;justify-content:normal;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;width:100%;display:grid;overflow:hidden}.forecast-day{grid-template-rows:auto 44px auto;align-content:start;justify-items:center;width:100%;min-width:0;padding:6px 2px;display:grid}.day-name{text-align:center;white-space:nowrap;text-overflow:ellipsis;width:100%;max-width:100%;font-size:.9rem;overflow:hidden}.short-day{display:inline}.full-day{display:none}.temps{flex-direction:row;align-items:baseline;gap:8px;min-height:1.5rem;font-size:.95rem}.forecast-icon,.temps{justify-content:center}.forecast-icon{align-items:center;width:40px;height:40px;margin:4px 0;padding:2px;display:flex}}@media (min-width:1200px) and (max-width:1399px){.weather-container{column-gap:20px}.current-weather{padding-right:14px}.current-wind{gap:6px;padding-left:8px}.forecast{gap:4px}}.tide-container{background:var(--card-background,#ffffff0d);border-radius:8px;flex-direction:column;width:100%;padding:1rem;display:flex;box-shadow:0 2px 8px #0000001a}.tide-container .data-source{margin-top:auto;padding-top:.75rem}.tide-header{border-bottom:1px solid var(--divider-color,#e0e0e0);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.tide-title{margin:0;font-size:1.2rem;font-weight:600}.water-temp{align-items:center;gap:.5rem;display:flex}.water-temp-value{font-size:1.2rem;font-weight:600}.water-temp-label{display:none}.tide-schedule{flex-wrap:wrap;justify-content:space-around;gap:1rem;display:flex}.tide-schedule-grouped{flex-direction:column;gap:.75rem;width:100%;display:flex}.tide-schedule-grid{flex:1;grid-template-columns:repeat(3,1fr);gap:.5rem;width:100%;display:grid}.tide-grid-item{background:var(--tide-event-bg,#00000008);text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.125rem;padding:.5rem .25rem;display:flex}:root.dark .tide-grid-item{background:#ffffff0d}.tide-grid-item.high{border-left:3px solid #2563eb}.tide-grid-item.low{border-left:3px solid #06b6d4}:root.dark .tide-grid-item.high{border-left-color:#60a5fa}:root.dark .tide-grid-item.low{border-left-color:#22d3ee}.tide-grid-day{color:var(--text-secondary,#64748b);text-transform:uppercase;letter-spacing:.5px;font-size:.7rem;font-weight:500}:root.dark .tide-grid-day{color:#94a3b8}.tide-grid-time{color:var(--text-primary,#1e293b);font-size:1rem;font-weight:700}:root.dark .tide-grid-time{color:#f1f5f9}.tide-grid-type{text-transform:uppercase;letter-spacing:.5px;font-size:.65rem;font-weight:600}.tide-grid-type.high{color:#2563eb}.tide-grid-type.low{color:#06b6d4}:root.dark .tide-grid-type.high{color:#60a5fa}:root.dark .tide-grid-type.low{color:#22d3ee}.tide-grid-height{color:var(--text-secondary,#64748b);font-size:.75rem}:root.dark .tide-grid-height{color:#94a3b8}.tide-row{background:var(--tide-event-bg,#ffffff14);border-radius:8px;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.tide-row-label{text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;min-width:70px;font-size:.75rem;font-weight:700}.tide-row-label.high{color:#2563eb}.tide-row-label.low{color:#06b6d4}.dark .tide-row-label.high,:root.dark .tide-row-label.high{color:#60a5fa}.dark .tide-row-label.low,:root.dark .tide-row-label.low{color:#22d3ee}.tide-row-items{flex-wrap:wrap;flex:1;gap:1rem;display:flex}.tide-event-compact{align-items:baseline;gap:.35rem;display:flex}.tide-time-compact{color:var(--text-primary,#1e293b);font-size:1rem;font-weight:600}.dark .tide-time-compact,:root.dark .tide-time-compact{color:var(--text-primary,#f1f5f9)}.tide-height-compact{color:var(--text-secondary,#64748b);font-size:.8rem}.dark .tide-height-compact,:root.dark .tide-height-compact{color:var(--text-secondary,#94a3b8)}.tide-event{background:var(--tide-event-bg,#ffffff14);border-radius:8px;flex-direction:column;align-items:center;min-width:120px;padding:.75rem;display:flex}.tide-time-large{margin-bottom:.25rem;font-size:1.3rem;font-weight:600}.tide-time-large,.tide-type{color:var(--text-primary,currentColor)}.tide-type{margin:.15rem 0;font-size:.95rem;font-weight:500}.tide-height-small{color:var(--text-tertiary,#888);margin-top:.15rem;font-size:.85rem}.tide-height,.tide-time{display:none}.data-source{text-align:right;color:var(--text-secondary,#666);word-wrap:break-word;overflow-wrap:break-word;margin-top:1rem;font-size:.7rem;font-style:italic}@media (min-width:768px){.tide-schedule{justify-content:space-between}.tide-event{flex:1;max-width:200px}.tide-time-large{font-size:1.5rem}}.temp-icon{background-position:50%;background-repeat:no-repeat;background-size:contain;width:24px;height:24px;margin-right:6px}.temp-cold{color:#1976d2}.temp-medium{color:#4caf50}.temp-hot{color:#d32f2f}.sea-temp-label{font-size:.9rem;font-weight:500}.sea-temp-value{font-size:1.1rem;font-weight:600}.sun-times{justify-content:space-around;gap:1rem;margin:1rem 0;display:flex}.sun-time-event{background:var(--tide-event-bg,#ffffff14);border-radius:8px;flex-direction:column;flex:1;min-width:120px;padding:.75rem}.sun-icon,.sun-time-event{align-items:center;display:flex}.sun-icon{justify-content:center;margin-bottom:.5rem}.sun-icon-svg{width:28px;height:28px}.sunrise .sun-icon-svg{color:#ff9800}.sunset .sun-icon-svg{color:#e91e63}.sun-time-label{margin:.15rem 0;font-size:.95rem;font-weight:500}.sun-time-label,.sun-time-value{color:var(--text-primary,currentColor)}.sun-time-value{font-size:1.3rem;font-weight:600}.sun-times-unavailable{text-align:center;color:var(--text-secondary,#666);padding:1rem;font-style:italic}@media (min-width:768px){.sun-time-event{max-width:200px;padding:1rem}.sun-time-value{font-size:1.5rem}.sun-icon-svg{width:32px;height:32px}}.sun-info-header{flex-direction:column;align-items:flex-start;gap:.3rem;display:flex}.sun-times-compact{align-items:center;gap:1rem;display:flex}.sun-time-compact{align-items:center;gap:.3rem;font-size:.85rem;font-weight:500;display:flex}.sun-time-compact.sunrise{color:#ff9800}.sun-time-compact.sunset{color:#e91e63}.sun-icon-small{width:16px;height:16px}@media (min-width:768px){.sun-info-header{flex-direction:row;align-items:center;gap:1rem}.tide-title{margin-right:.5rem}.sun-time-compact{font-size:.9rem}}.surf-conditions-container{box-sizing:border-box;background:var(--card-background,#ffffff0d);border:1px solid var(--border-color,#94a3b859);border-radius:10px;width:100%;max-width:1200px;margin:1.5rem auto 0;padding:1rem}.surf-header-row{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.surf-title{color:var(--text-primary,currentColor);margin:0;font-size:1.1rem;font-weight:700}.surf-grade-badge{color:#fff;border:1px solid #0000;border-radius:9999px;padding:.25rem .65rem;font-size:.8rem;font-weight:700}.surf-grade-epic{background:var(--conditionsEpic);border-color:var(--conditionsEpic);color:#fff}.surf-grade-good,.surf-grade-very-good{background:var(--conditionsGood);border-color:var(--conditionsGood);color:#fff}.surf-grade-good-to-epic{background:var(--conditionsEpic);border-color:var(--conditionsEpic);color:#fff}.surf-grade-fair{background:var(--conditionsFair);border-color:var(--conditionsFair);color:#1c3300}.surf-grade-poor{background:var(--conditionsPoor);border-color:var(--conditionsPoor);color:#fff}.surf-grade-poor-to-fair{background:var(--conditionsPoorToFair);border-color:var(--conditionsPoorToFair);color:#4a3a00}.surf-grade-fair-to-good{background:var(--conditionsFairToGood);border-color:var(--conditionsFairToGood);color:#fff}.surf-grade-flat{background:var(--conditionsNone);border-color:var(--conditionsNone);color:#fff}.surf-grade-very-poor{background:var(--conditionsVeryPoor);border-color:var(--conditionsVeryPoor);color:#fff}.surf-alert{margin:0 0 .35rem;font-size:.9rem;font-weight:600}.surf-alert-epic{color:var(--conditionsEpic)}.surf-alert-good,.surf-alert-very-good{color:var(--conditionsGood)}.surf-alert-good-to-epic{color:var(--conditionsEpic)}.surf-alert-fair-to-good{color:var(--conditionsFairToGood)}.surf-alert-fair{color:var(--conditionsFair)}.surf-alert-poor-to-fair{color:var(--conditionsPoorToFair)}.surf-alert-poor{color:var(--conditionsPoor)}.surf-alert-flat{color:var(--conditionsNone)}.surf-alert-very-poor{color:var(--conditionsVeryPoor)}.surf-summary{color:var(--text-secondary,#666);margin:0 0 .75rem;font-size:.95rem}.surf-score-badge{letter-spacing:0;text-transform:uppercase;align-items:center;font-size:1.7rem;font-weight:700;line-height:1;display:inline-flex}.surf-score-badge-flat{color:var(--conditionsNone)}.surf-score-badge-epic{color:var(--conditionsEpic)}.surf-score-badge-good,.surf-score-badge-very-good{color:var(--conditionsGood)}.surf-score-badge-good-to-epic{color:var(--conditionsEpic)}.surf-score-badge-fair-to-good{color:var(--conditionsFairToGood)}.surf-score-badge-fair{color:var(--conditionsFair)}.surf-score-badge-poor-to-fair{color:var(--conditionsPoorToFair)}.surf-score-badge-poor{color:var(--conditionsPoor)}.surf-score-badge-very-poor{color:var(--conditionsVeryPoor)}.surf-rating-row{align-items:center;gap:.65rem;display:flex}.surf-rating-bars{align-items:center;gap:.25rem;display:flex}.surf-rating-bar{background:#d1d5db;border-radius:.2rem;width:2.35rem;height:.75rem}.surf-rating-bar.is-active{background:var(--conditionsFair)}.surf-rating-bar-flat.is-active{background:var(--conditionsNone)}.surf-rating-bar-very-poor.is-active{background:var(--conditionsVeryPoor)}.surf-rating-bar-poor.is-active{background:var(--conditionsPoor)}.surf-rating-bar-poor-to-fair.is-active{background:var(--conditionsPoorToFair)}.surf-rating-bar-fair.is-active{background:var(--conditionsFair)}.surf-rating-bar-fair-to-good.is-active{background:var(--conditionsFairToGood)}.surf-rating-bar-good.is-active,.surf-rating-bar-very-good.is-active{background:var(--conditionsGood)}.surf-rating-bar-epic.is-active,.surf-rating-bar-good-to-epic.is-active{background:var(--conditionsEpic)}@media (max-width:640px){.surf-score-badge{font-size:1.35rem}.surf-rating-bar{width:1.5rem;height:.6rem}}.surf-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:.85rem;display:grid}.surf-metric{background:var(--hourly-item-bg,#ffffff14);border-radius:8px;flex-direction:column;gap:.15rem;padding:.55rem .65rem;display:flex}.surf-metric-label{color:var(--text-secondary,#666);font-size:.75rem}.surf-metric-value{color:var(--text-primary,currentColor);font-size:1rem;font-weight:600}.surf-footnote,.surf-unavailable{color:var(--text-secondary,#666);margin-top:.7rem;font-size:.8rem}@media (min-width:768px){.surf-conditions-container{padding:1.25rem}.surf-metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.tide-clock-info-layout{flex-direction:column;align-items:center;gap:1rem;max-width:1200px;margin:1.5rem auto 0;padding:0 1rem;display:flex}@media (min-width:768px){.tide-clock-info-layout{flex-flow:wrap;justify-content:center;align-items:stretch;gap:1.25rem}.tide-clock-info-layout .tide-clock-container,.tide-clock-info-layout .wind-compass-container{flex-direction:column;flex:280px;justify-content:center;width:100%;max-width:320px;margin:0;display:flex}.tide-clock-info-layout .tide-container{flex-direction:column;flex:100%;justify-content:space-between;width:100%;min-width:0;max-width:100%;margin:0;display:flex}}@media (min-width:1200px){.tide-clock-info-layout{flex-wrap:nowrap;gap:1.5rem}.tide-clock-info-layout .tide-container{flex:auto;min-width:320px;max-width:500px}}.beaufort-link-container{justify-content:center;max-width:1200px;margin:1rem auto;display:flex}.beaufort-link{color:#fff;background:linear-gradient(135deg,#0077b6,#00a8e8);border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 2px 8px #0077b64d}.beaufort-link:hover{background:linear-gradient(135deg,#005f8a,#0090cc);transform:translateY(-2px);box-shadow:0 4px 12px #0077b666}:root.dark .beaufort-link{background:linear-gradient(135deg,#1a4a5e,#2a6a8a);box-shadow:0 2px 8px #0000004d}:root.dark .beaufort-link:hover{background:linear-gradient(135deg,#2a5a6e,#3a7a9a);box-shadow:0 4px 12px #0006}.tide-clock-container{background:var(--card-background,#fffffff2);border-radius:12px;width:100%;max-width:320px;padding:1rem 1.25rem;box-shadow:0 4px 12px #0000001a}.dark .tide-clock-container,:root.dark .tide-clock-container{background:var(--card-background,#1e293bf2);box-shadow:0 4px 12px #0000004d}.tide-clock-content{flex-direction:column;align-items:center;gap:.75rem;display:flex}.tide-info-row{text-align:center;align-items:baseline;gap:.5rem;display:flex}.tide-info-row .tide-label{color:var(--text-primary,#1e293b);font-size:1rem;font-weight:700}.dark .tide-info-row .tide-label,:root.dark .tide-info-row .tide-label{color:var(--text-primary,#f1f5f9)}.tide-info-row .tide-value{color:#6366f1;font-size:1rem;font-weight:400}.dark .tide-info-row .tide-value,:root.dark .tide-info-row .tide-value{color:#818cf8}.tide-clock-center{flex-direction:column;align-items:center;display:flex}.tide-clock-svg{filter:drop-shadow(0 2px 4px #0000001a);width:200px;height:200px}.dark .tide-clock-svg .clock-face,:root.dark .tide-clock-svg .clock-face{fill:#334155}.dark .tide-clock-svg .clock-outer-ring,:root.dark .tide-clock-svg .clock-outer-ring{stroke:#64748b}.dark .tide-clock-svg .clock-marker,:root.dark .tide-clock-svg .clock-marker{stroke:#94a3b8}.dark .tide-clock-svg .tide-label-text,:root.dark .tide-clock-svg .tide-label-text{fill:#60a5fa}.water-fill{animation:waterShimmer 2s ease-in-out infinite}@keyframes waterShimmer{0%,to{opacity:.85}50%{opacity:1}}.tide-clock-error{text-align:center;color:var(--text-secondary,#64748b);padding:2rem;font-style:italic}.wind-compass-container{background:var(--card-bg,#fff);border-radius:16px;flex-direction:column;justify-content:space-between;align-items:center;min-height:320px;padding:1.25rem;display:flex;box-shadow:0 2px 8px #00000014}.dark .wind-compass-container,:root.dark .wind-compass-container{background:var(--card-bg-dark,#1e293b);box-shadow:0 2px 8px #0000004d}.wind-compass-content{flex-direction:column;justify-content:space-between;align-items:center;gap:1rem;height:100%;display:flex}.wind-compass-svg{filter:drop-shadow(0 2px 4px #0000001a);width:200px;height:200px}.compass-outer-ring{stroke:var(--text-secondary,#94a3b8)}.compass-face{fill:var(--card-bg,#f8fafc);stroke:var(--text-secondary,#cbd5e1);stroke-width:1px}:root.dark .compass-outer-ring{stroke:#64748b}:root.dark .compass-face{fill:#334155;stroke:#475569}.compass-tick{stroke:var(--text-secondary,#94a3b8)}.compass-tick.cardinal{stroke:var(--text-primary,#334155)}.compass-tick.major{stroke:var(--text-secondary,#64748b)}:root.dark .compass-tick{stroke:#64748b}:root.dark .compass-tick.cardinal{stroke:#e2e8f0}:root.dark .compass-tick.major{stroke:#94a3b8}.compass-cardinal-label{fill:var(--text-primary,#1e293b);font-size:14px;font-weight:700}.compass-intercardinal-label{fill:var(--text-secondary,#64748b);font-size:9px;font-weight:500}:root.dark .compass-cardinal-label{fill:#f1f5f9}:root.dark .compass-intercardinal-label{fill:#94a3b8}.compass-center-outer{fill:var(--card-bg,#e2e8f0);stroke:var(--text-secondary,#94a3b8);stroke-width:1px}.compass-center-inner{fill:var(--text-secondary,#64748b)}.compass-center-pin{fill:#1e293b;stroke:#fff;stroke-width:1px}:root.dark .compass-center-outer{fill:#475569;stroke:#64748b}:root.dark .compass-center-inner{fill:#94a3b8}:root.dark .compass-center-pin{fill:#f1f5f9;stroke:#334155}.compass-needle-head{filter:drop-shadow(0 1px 2px #0000004d)}.compass-needle-tail{filter:drop-shadow(0 1px 2px #0003)}.wind-compass-info{gap:.75rem;width:100%}.wind-compass-datetime,.wind-compass-info{flex-direction:column;align-items:center;display:flex}.wind-compass-datetime{gap:.125rem}.wind-compass-date{color:var(--text-primary,#1e293b);font-size:.9rem;font-weight:500}.wind-compass-time{color:var(--text-primary,#1e293b);font-size:1.1rem;font-weight:700}:root.dark .wind-compass-date,:root.dark .wind-compass-time{color:#f1f5f9}.wind-compass-data{flex-direction:column;gap:.375rem;width:100%;display:flex}.wind-compass-row{background:var(--hover-bg,#00000005);border-radius:6px;justify-content:space-between;align-items:center;padding:.25rem .5rem;display:flex}:root.dark .wind-compass-row{background:#ffffff0d}.wind-compass-label{color:var(--text-secondary,#64748b);font-size:.85rem;font-weight:500}.wind-compass-value{color:#6366f1;font-size:.9rem;font-weight:600}.beaufort-value{flex-direction:column;gap:.1rem;display:flex}.beaufort-link-inline{color:#6366f1;font-weight:600;text-decoration:none;transition:color .2s}.beaufort-link-inline:hover{color:#4f46e5;text-decoration:underline}.beaufort-name{color:var(--text-secondary,#64748b);font-size:.75rem;font-weight:400}:root.dark .beaufort-link-inline{color:#818cf8}:root.dark .beaufort-link-inline:hover{color:#a5b4fc}:root.dark .beaufort-name,:root.dark .wind-compass-label{color:#94a3b8}:root.dark .wind-compass-value{color:#818cf8}.wind-compass-error{text-align:center;color:var(--text-secondary,#64748b);padding:2rem;font-style:italic}@media (min-width:480px){.wind-compass-svg{width:200px;height:200px}}@media (min-width:768px){.wind-compass-container{max-width:280px}.wind-compass-svg{width:180px;height:180px}}@media (min-width:900px){.wind-compass-container{max-width:320px}.wind-compass-svg{width:200px;height:200px}}@media (min-width:480px){.tide-clock-svg{width:200px;height:200px}}@media (min-width:768px){.tide-clock-container{max-width:280px}.tide-clock-svg{width:180px;height:180px}.tide-info-row .tide-label,.tide-info-row .tide-value{font-size:.9rem}}@media (min-width:900px){.tide-clock-container{max-width:320px}.tide-clock-svg{width:200px;height:200px}.tide-info-row .tide-label,.tide-info-row .tide-value{font-size:1rem}}