#ocean-visual[hidden],#radar-map[hidden],.map-range-picker[hidden]{display:none!important}.ocean-visual{border:1px solid #abcdd6;border-radius:12px;overflow:hidden;background:#f1f8fb;margin-bottom:16px;color:#123c50}.ocean-visual-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;background:#e1f1f5}.ocean-visual-header h3{margin:0 0 5px}.ocean-visual-header p{margin:0;font-size:13px}#ocean-map{height:440px;width:100%;background:#c7e5ee}.ocean-pin{background:white;border:2px solid #047c96;border-radius:8px;padding:8px;box-shadow:0 2px 8px #153c5126;color:#153f55;font:11px/1.4 system-ui;min-width:160px}.ocean-pin strong,.ocean-pin span{display:block}.ocean-pin.wave{border-color:#7951bb}.ocean-pin.wave strong{color:#6943a4}.ocean-pin strong{font-size:12px;margin-bottom:4px}.ocean-outlook{padding:20px}.ocean-outlook h4{margin:0 0 8px}.ocean-chart{display:flex;gap:8px;margin:18px 0 10px;min-height:145px}.ocean-hour-column{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;border:1px solid #c5dce5;background:white;border-radius:6px;cursor:pointer;padding:8px 3px;font:12px system-ui;color:#254c60}.ocean-hour-column[aria-pressed=true]{outline:2px solid #147d98;background:#e3f4f9}.ocean-bars{height:90px;display:flex;align-items:flex-end;justify-content:center;gap:3px;width:100%;margin-bottom:8px}.ocean-bar{width:30%;max-width:22px;border-radius:3px 3px 0 0}.ocean-bar.waves{background:#147d98}.ocean-bar.swell{background:#7951bb}.ocean-legend{font-size:12px;margin:8px 0}.ocean-legend span{margin-right:20px}.ocean-legend .waves{color:#147d98}.ocean-legend .swell{color:#7951bb}.ocean-outlook input{width:100%;margin:15px 0}.ocean-note{padding:0 20px 16px;font-size:12px;margin:0}.ocean-outlook button:focus-visible{outline:3px solid #cc8100}.ocean-selected{display:flex;justify-content:space-between;gap:10px;font-size:13px}@media(max-width:600px){#ocean-map{height:360px}.ocean-visual-header{padding:14px;align-items:flex-start;flex-direction:column}.ocean-outlook{padding:15px}.ocean-chart{gap:4px}.ocean-hour-column{font-size:10px}.ocean-selected{flex-direction:column}}

.ocean-map-pill{display:block;background:white;border:2px solid #047c96;border-radius:18px;padding:5px 8px;text-align:center;font:600 11px system-ui;white-space:nowrap;box-shadow:0 2px 6px #203c5326;color:#145365}.ocean-map-pill.wave{border-color:#7951bb;color:#6943a4}.ocean-marker:focus{outline:3px solid #c98013;border-radius:18px}.ocean-time-controls{display:flex;align-items:center;gap:12px;margin:8px 0 16px}.ocean-time-controls button{flex:0 0 42px;min-height:42px;border:1px solid #a7c9d6;border-radius:6px;background:white;font-size:24px;color:#145365;cursor:pointer}.ocean-time-controls button:disabled{opacity:.4;cursor:default}.ocean-time-controls input{flex:1;min-width:0}.ocean-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 24px}.ocean-metric{padding:14px;background:white;border:1px solid #c4dce5;border-top:3px solid #147d98;border-radius:6px}.ocean-metric.swell{border-top-color:#7951bb}.ocean-metric span,.ocean-metric strong,.ocean-metric small{display:block}.ocean-metric span{font-size:12px}.ocean-metric strong{font-size:24px;margin:6px 0;color:#143e53}.ocean-metric small{font-size:11px;line-height:1.5;color:#506b7a}.ocean-data-status,.ocean-chart-scale{font-size:12px;color:#506b7a;margin:0 0 12px}.ocean-hour-values{display:flex;justify-content:space-around;gap:8px;width:100%;margin-top:6px}.ocean-hour-values .waves{color:#126b83}.ocean-hour-values .swell{color:#7043a9}.ocean-bars{border-bottom:1px solid #a8c6d3;background:repeating-linear-gradient(to top,transparent 0,transparent 27px,#d9e7ed 28px,transparent 29px)}.marine-extra>summary{font-weight:650;cursor:pointer;padding:10px 0}.marine-extra[open]>summary{margin-bottom:16px}.ocean-selected strong{font-size:13px}.ocean-hour-column[aria-pressed=true]{box-shadow:inset 0 -3px #147d98}.ocean-note[hidden]{display:none!important}@media(max-width:760px){.ocean-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ocean-hour-values{flex-direction:column;gap:2px}.ocean-selected{flex-direction:column;gap:5px}.ocean-metric{padding:12px}.ocean-chart{gap:5px}.ocean-hour-column{padding:8px 2px}}
