:root{--gb-primary: #22c55e;--gb-primary-light: #4ade80;--gb-primary-dark: #16a34a;--gb-primary-muted: rgba(34, 197, 94, .15);--gb-bg: #121212;--gb-bg-secondary: #1a1a1a;--gb-bg-tertiary: #262626;--gb-text: #fafafa;--gb-text-secondary: #999999;--gb-text-muted: #666666;--gb-border: #333333;--gb-border-light: #404040;--gb-error: #ef4444;--gb-success: #22c55e;--gb-warning: #fbbf24;--gb-info: #3b82f6;--gb-condition-excellent: #22c55e;--gb-condition-good: #4ade80;--gb-condition-moderate: #fbbf24;--gb-condition-poor: #f97316;--gb-condition-dangerous: #ef4444;--gb-radius-sm: 8px;--gb-radius-md: 12px;--gb-radius-lg: 16px;--gb-radius-pill: 9999px;--gb-shadow-1: 0 1px 3px rgba(0, 0, 0, .3);--gb-shadow-2: 0 4px 12px rgba(0, 0, 0, .4);--gb-shadow-3: 0 8px 24px rgba(0, 0, 0, .5)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,system-ui,sans-serif;background:var(--gb-bg);color:var(--gb-text);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.animate-in{animation:fadeInUp .6s ease-out both}.animate-in-1{animation-delay:.1s}.animate-in-2{animation-delay:.2s}.animate-in-3{animation-delay:.3s}.animate-in-4{animation-delay:.4s}.animate-in-5{animation-delay:.5s}.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--gb-primary);color:#000;padding:14px 32px;border-radius:var(--gb-radius-pill);font-size:16px;font-weight:700;text-decoration:none;transition:background .2s,transform .2s;box-shadow:0 4px 16px #22c55e4d;border:none;cursor:pointer;font-family:inherit}.btn-primary:hover{background:var(--gb-primary-light);transform:translateY(-1px)}.btn-secondary{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--gb-text);padding:14px 32px;border-radius:var(--gb-radius-pill);font-size:16px;font-weight:600;text-decoration:none;transition:background .2s;border:1px solid var(--gb-border);cursor:pointer;font-family:inherit}.btn-secondary:hover{background:var(--gb-bg-secondary)}.section{padding:80px 24px;max-width:1100px;margin:0 auto}.section-divider{border-top:1px solid var(--gb-border)}.section-label{font-size:13px;font-weight:600;color:var(--gb-primary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}.section-title{font-size:clamp(28px,4vw,40px);font-weight:900;letter-spacing:-.02em;margin-bottom:16px;line-height:1.15}.section-desc{font-size:17px;color:var(--gb-text-secondary);max-width:640px;line-height:1.7;margin-bottom:48px}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--gb-primary);display:inline-block;animation:pulse 2s ease-in-out infinite}.station-breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--gb-text-muted);margin-bottom:24px;flex-wrap:wrap}.station-breadcrumb a{color:var(--gb-text-muted);transition:color .2s}.station-breadcrumb a:hover{color:var(--gb-primary-light)}.station-breadcrumb .sep{color:var(--gb-border)}.station-header{margin-bottom:32px}.station-header h1{font-size:clamp(28px,5vw,40px);font-weight:900;letter-spacing:-.02em;margin-bottom:8px}.station-header-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.station-region-badge{display:inline-flex;align-items:center;gap:4px;background:var(--gb-primary-muted);color:var(--gb-primary);padding:4px 12px;border-radius:var(--gb-radius-pill);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.station-location{font-size:15px;color:var(--gb-text-secondary)}.station-main-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;margin-bottom:32px}.station-main-grid>.station-conditions-card,.station-main-grid>.station-buoycam{margin-bottom:0}.station-main-grid>:only-child{grid-column:1 / -1}.station-main-grid>.station-buoycam{position:sticky;top:88px}.station-condition-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 14px;border-radius:var(--gb-radius-pill);font-size:13px;font-weight:600;border:1px solid transparent}.station-conditions-card{background:var(--gb-bg-secondary);border-radius:var(--gb-radius-md);border:1px solid var(--gb-border);overflow:hidden;margin-bottom:32px}.station-metric-row{display:grid;grid-template-columns:54px minmax(0,1fr) 72px;align-items:center;padding:14px 16px;gap:10px;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--gb-border)}.station-metric-row:last-child{border-bottom:none}.station-metric-row:hover{background:#ffffff08}.station-metric-left{min-width:0}.station-metric-name{font-size:14px;font-weight:600;color:var(--gb-text)}.station-metric-desc{font-size:12px;font-weight:500;margin-top:2px}.station-mini-chart{height:32px;min-width:0}.station-mini-chart canvas{width:100%;height:32px;display:block}.station-metric-right{text-align:right;min-width:0}.station-metric-value{font-size:15px;font-weight:700;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;white-space:nowrap}.station-metric-unit{font-size:11px;font-weight:500;opacity:.7;margin-left:2px}.station-metric-change{font-size:12px;color:var(--gb-text-muted);font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;margin-top:2px}.station-expanded-chart{padding:16px 20px 20px;border-top:1px solid var(--gb-border);background:#0003;display:none;position:relative}.station-expanded-chart.open{display:block}.station-expanded-chart canvas{width:100%;height:200px;display:block;border-radius:var(--gb-radius-sm);touch-action:pan-y}.station-chart-scrub-line{position:absolute;width:1px;background:#fff9;pointer-events:none;display:none;z-index:2}.station-chart-scrub-tip{position:absolute;background:#0a0c0beb;border:.5px solid rgba(255,255,255,.2);border-radius:6px;padding:6px 8px;pointer-events:none;display:none;z-index:3;white-space:nowrap}.station-chart-scrub-row{display:flex;align-items:baseline;gap:4px}.station-chart-scrub-row+.station-chart-scrub-row{margin-top:2px}.station-chart-scrub-lbl{font-size:8px;font-weight:800;color:var(--gb-text-muted)}.station-chart-scrub-val{font-size:10px;font-weight:600;color:var(--gb-text)}.station-expanded-close{text-align:center;font-size:12px;color:var(--gb-text-muted);margin-top:8px;cursor:pointer}.station-buoycam{margin-bottom:32px}.station-buoycam-container{aspect-ratio:16 / 9;background:var(--gb-bg-secondary);border-radius:var(--gb-radius-md);border:1px solid var(--gb-border);overflow:hidden;position:relative;touch-action:pan-y}.station-buoycam-container img{position:absolute;left:0;top:0;max-width:none}.station-buoycam-container video{width:100%;height:100%;object-fit:cover}.station-buoycam-container img.station-buoycam-still{position:static;width:100%;height:100%;max-width:100%;object-fit:cover}.station-buoycam-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--gb-text-muted);font-size:14px}.station-buoycam-refresh{position:absolute;top:12px;right:12px;background:#0009;color:var(--gb-text);border:none;border-radius:var(--gb-radius-sm);padding:6px 12px;font-size:12px;cursor:pointer;font-family:inherit;transition:background .2s}.station-buoycam-refresh:hover{background:#000c}.station-buoycam{position:relative}.station-buoycam-container img{transform-origin:center center;transition:transform .15s ease-out;user-select:none;-webkit-user-select:none}.station-buoycam-controls{position:absolute;bottom:12px;right:12px;display:flex;flex-direction:column;gap:6px;z-index:2}.station-buoycam-ctrl-btn{width:32px;height:32px;border-radius:50%;border:none;background:#0000008c;color:#fff;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:background .2s,opacity .2s;font-family:inherit;padding:0}.station-buoycam-ctrl-btn:hover{background:#000c}.station-buoycam-ctrl-btn:disabled{opacity:.4;cursor:default}.station-buoycam-ctrl-btn:disabled:hover{background:#0000008c}.station-buoycam-ctrl-reset{font-size:14px}.station-details{background:var(--gb-bg-secondary);border-radius:var(--gb-radius-md);border:1px solid var(--gb-border);padding:20px;margin-bottom:32px}.station-details h3{font-size:16px;font-weight:700;margin-bottom:16px}.station-details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.station-detail-item{display:flex;flex-direction:column;gap:2px}.station-detail-label{font-size:12px;color:var(--gb-text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.station-detail-value{font-size:14px;color:var(--gb-text-secondary);font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace}.station-nearby{margin-bottom:32px}.station-nearby h3{font-size:18px;font-weight:700;margin-bottom:16px}.station-nearby-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.station-nearby-card{background:var(--gb-bg-secondary);border:1px solid var(--gb-border);border-radius:var(--gb-radius-md);padding:16px;text-decoration:none;transition:border-color .2s,background .2s}.station-nearby-card:hover{border-color:var(--gb-primary);background:var(--gb-bg-tertiary)}.station-nearby-card h4{font-size:15px;font-weight:700;margin-bottom:4px}.station-nearby-card p{font-size:13px;color:var(--gb-text-muted)}.station-nearby-card .camera-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--gb-primary);margin-top:8px}.station-cta{background:var(--gb-bg-secondary);border:1px solid var(--gb-border);border-radius:var(--gb-radius-md);padding:32px;text-align:center;margin-bottom:32px}.station-cta h3{font-size:20px;font-weight:800;margin-bottom:8px}.station-cta p{font-size:15px;color:var(--gb-text-secondary);margin-bottom:20px}.gb-dir-arrow{display:inline-block;font-size:13px;line-height:1;transform-origin:center}.wind-style-toggle{display:flex;gap:6px;justify-content:flex-end;padding:8px 8px 0 0}.wind-style-toggle button{background:var(--gb-bg-tertiary);color:var(--gb-text-secondary);border:1px solid var(--gb-border);border-radius:var(--gb-radius-pill);font-family:inherit;font-size:11px;padding:3px 10px;cursor:pointer}.wind-style-toggle button.active{color:var(--gb-text);border-color:var(--gb-primary)}.marine-forecast-card{background:var(--gb-bg-secondary);border:1px solid var(--gb-border);border-radius:16px;padding:18px 20px;margin-bottom:32px}.marine-forecast-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.marine-forecast-label{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gb-text-secondary)}.marine-forecast-meta{font-size:12px;color:var(--gb-text-muted)}.marine-forecast-warning{font-size:12px;color:var(--gb-warning);margin-bottom:8px}.marine-forecast-period{margin-bottom:10px}.marine-forecast-period.extra{display:none}.marine-forecast-card.open .marine-forecast-period.extra{display:block}.marine-forecast-period-label{font-size:13px;font-weight:700;color:var(--gb-text);margin-bottom:2px}.marine-forecast-period-summary{font-size:14px;line-height:1.6;color:var(--gb-text-secondary);margin:0}.marine-forecast-toggle{background:none;border:none;color:var(--gb-primary);font-family:inherit;font-size:13px;font-weight:600;padding:4px 0;cursor:pointer}.marine-forecast-footer{margin-top:10px}.marine-forecast-synopsis{font-size:13px;line-height:1.6;color:var(--gb-text-muted);margin:0 0 8px}.marine-forecast-footer a{font-size:13px;color:var(--gb-primary);text-decoration:none}.marine-forecast-footer a:hover{text-decoration:underline}.marine-forecast-attrib{display:block;margin-top:6px;font-size:11px;color:var(--gb-text-muted)}.station-app-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:var(--gb-bg-secondary);border:1px solid var(--gb-border);border-radius:16px;padding:20px 24px;margin-bottom:32px}.station-app-cta-text h3{font-size:18px;font-weight:800;color:var(--gb-text);margin-bottom:4px}.station-app-cta-text p{font-size:14px;color:var(--gb-text-secondary);margin:0;max-width:480px}.station-app-cta .app-store-badge{display:inline-block;flex-shrink:0;transition:opacity .2s}.station-app-cta .app-store-badge:hover{opacity:.85}@media(max-width:600px){.station-app-cta{flex-direction:column;align-items:flex-start}}.station-seo-content{margin-bottom:32px;color:var(--gb-text-secondary);font-size:15px;line-height:1.8}.station-seo-content h2{font-size:22px;font-weight:800;color:var(--gb-text);margin-bottom:12px;margin-top:32px}.station-seo-content h2:first-child{margin-top:0}.station-seo-content p{margin-bottom:16px}.stations-search{margin-bottom:24px}.stations-search input{width:100%;max-width:480px;padding:12px 16px;background:var(--gb-bg-secondary);border:1px solid var(--gb-border);border-radius:var(--gb-radius-md);color:var(--gb-text);font-size:15px;font-family:inherit;outline:none;transition:border-color .2s}.stations-search input:focus{border-color:var(--gb-primary)}.stations-search input::placeholder{color:var(--gb-text-muted)}.stations-filters{display:flex;gap:8px;margin-bottom:32px;flex-wrap:wrap}.stations-filter-btn{padding:8px 16px;border-radius:var(--gb-radius-pill);font-size:13px;font-weight:600;border:1px solid var(--gb-border);background:transparent;color:var(--gb-text-secondary);cursor:pointer;font-family:inherit;transition:all .2s}.stations-filter-btn:hover{border-color:var(--gb-primary);color:var(--gb-text)}.stations-filter-btn.active{background:var(--gb-primary-muted);border-color:var(--gb-primary);color:var(--gb-primary)}.stations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.stations-card{background:var(--gb-bg-secondary);border:1px solid var(--gb-border);border-radius:var(--gb-radius-md);padding:20px;text-decoration:none;transition:border-color .2s,transform .2s}.stations-card:hover{border-color:var(--gb-primary);transform:translateY(-2px)}.stations-card h3{font-size:17px;font-weight:700;margin-bottom:4px}.stations-card .card-location{font-size:14px;color:var(--gb-text-muted);margin-bottom:8px}.stations-card .card-id{font-size:12px;color:var(--gb-text-muted);font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace}.stations-card .card-badges{display:flex;gap:8px;margin-top:12px}.station-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:20px;color:var(--gb-text-muted);font-size:14px}.station-map-embed{margin-bottom:32px}.station-map-embed h3{font-size:18px;font-weight:700;margin-bottom:12px}.station-map-embed #stationDetailMap{height:350px;border-radius:var(--gb-radius-md);border:1px solid var(--gb-border);overflow:hidden;background:#0a0a0a}.station-map-embed .leaflet-tile-pane{filter:brightness(.7) contrast(1.1) saturate(.3) hue-rotate(180deg) invert(1)}.station-map-embed .leaflet-control-zoom a{background:var(--gb-bg-secondary)!important;color:var(--gb-text)!important;border-color:var(--gb-border)!important}.station-map-embed .leaflet-control-zoom a:hover{background:var(--gb-bg-tertiary)!important}.station-map-embed .leaflet-control-attribution{display:none}.station-map-embed .leaflet-popup-content-wrapper{background:var(--gb-bg-secondary)!important;color:var(--gb-text)!important;border:1px solid var(--gb-border)!important;border-radius:var(--gb-radius-md)!important;box-shadow:var(--gb-shadow-3)!important}.station-map-embed .leaflet-popup-tip{background:var(--gb-bg-secondary)!important;border:1px solid var(--gb-border)!important}.station-map-embed .leaflet-popup-content{margin:12px 14px!important;font-family:Inter,sans-serif!important}.station-map-embed .leaflet-popup-close-button{color:var(--gb-text-muted)!important}.map-current-marker{width:36px;height:36px;border-radius:50%;background:var(--gb-primary);border:4px solid rgba(34,197,94,.35);box-shadow:0 0 20px #22c55e99;animation:pulse 2s ease-in-out infinite}.station-map-page{position:fixed;inset:64px 0 0}.station-map-page .leaflet-container{background:#0a0a0a}.station-map-page .leaflet-tile-pane{filter:brightness(.7) contrast(1.1) saturate(.3) hue-rotate(180deg) invert(1)}.station-map-page .leaflet-control-zoom a{background:var(--gb-bg-secondary)!important;color:var(--gb-text)!important;border-color:var(--gb-border)!important}.station-map-page .leaflet-control-zoom a:hover{background:var(--gb-bg-tertiary)!important}.station-map-page .leaflet-control-attribution{display:none}.station-map-page .leaflet-popup-content-wrapper{background:var(--gb-bg-secondary)!important;color:var(--gb-text)!important;border:1px solid var(--gb-border)!important;border-radius:var(--gb-radius-md)!important;box-shadow:var(--gb-shadow-3)!important}.station-map-page .leaflet-popup-tip{background:var(--gb-bg-secondary)!important;border:1px solid var(--gb-border)!important}.station-map-page .leaflet-popup-content{margin:12px 14px!important;font-family:Inter,sans-serif!important}.station-map-page .leaflet-popup-close-button{color:var(--gb-text-muted)!important}#stationMap{width:100%;height:100%}.map-station-marker{width:28px;height:28px;border-radius:50%;background:var(--gb-primary);border:3px solid rgba(34,197,94,.4);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#000;box-shadow:0 0 12px #22c55e80;transition:transform .2s;cursor:pointer}.map-station-marker:hover{transform:scale(1.2)}.map-station-label{background:#000000bf!important;border:none!important;border-radius:4px!important;padding:2px 6px!important;font-size:11px!important;font-weight:600!important;color:#fff!important;white-space:nowrap!important;box-shadow:0 1px 4px #0000004d!important}.map-station-label:before{display:none!important}.map-station-label-hidden{display:none!important}.station-radar{background:var(--gb-bg-secondary);border:1px solid var(--gb-border);border-radius:var(--gb-radius-md);overflow:hidden;margin-bottom:32px}.station-radar-header{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;background:none;border:none;cursor:pointer;text-align:left;color:var(--gb-text);font-family:inherit}.station-radar-title{font-size:16px;font-weight:600}.station-radar-frame{font-size:13px;font-weight:600;color:var(--gb-text-secondary);font-variant-numeric:tabular-nums;min-width:56px}.station-radar-frame.is-now{color:var(--gb-primary)}.station-radar-updated{margin-left:auto;font-size:12px;color:var(--gb-text-muted);font-variant-numeric:tabular-nums}.station-radar-chevron{font-size:22px;line-height:1;color:var(--gb-text-muted);transition:transform .25s ease;flex-shrink:0}.station-radar.is-expanded .station-radar-chevron{transform:rotate(90deg)}.station-radar-map-wrap{position:relative;height:200px;transition:height .25s ease}.station-radar.is-expanded .station-radar-map-wrap{height:460px}.station-radar-map-wrap #stationRadarMap{position:absolute;inset:0;background:#0a0a0a}.station-radar .leaflet-tile-pane{filter:brightness(.7) contrast(1.1) saturate(.3) hue-rotate(180deg) invert(1)}.station-radar .leaflet-radar-pane{pointer-events:none}.station-radar-legend{position:absolute;top:12px;left:12px;z-index:500;pointer-events:none;display:flex;align-items:center;gap:8px;flex-wrap:wrap;max-width:220px;padding:8px 10px;background:#121212b8;backdrop-filter:blur(8px);border:1px solid var(--gb-border);border-radius:var(--gb-radius-sm);font-size:11px;font-weight:600;color:var(--gb-text)}.station-radar-legend-cap{letter-spacing:.3px}.station-radar-legend-bar{width:86px;height:6px;border-radius:999px;background:linear-gradient(90deg,#76c893,#15a34a,#facc15,#f97316,#dc2626,#a21caf)}.station-radar-attrib{flex-basis:100%;font-size:10px;font-weight:500;color:var(--gb-text-muted)}.station-radar-recenter{position:absolute;top:12px;right:12px;z-index:500;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#121212b8;backdrop-filter:blur(8px);border:1px solid var(--gb-border);color:var(--gb-text);cursor:pointer;box-shadow:var(--gb-shadow-2);transition:background .15s}.station-radar-recenter:hover{background:var(--gb-bg-tertiary)}.station-radar-playback{position:absolute;left:12px;right:12px;bottom:12px;z-index:500;display:none;align-items:center;gap:12px;padding:10px 12px;background:#121212d1;backdrop-filter:blur(10px);border:1px solid var(--gb-border);border-radius:var(--gb-radius-md);box-shadow:var(--gb-shadow-2)}.station-radar.is-expanded .station-radar-playback{display:flex}.station-radar-play{flex-shrink:0;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#00000059;border:none;color:var(--gb-text);cursor:pointer;transition:background .15s}.station-radar-play:hover{background:#0000008c}.station-radar-scrub-col{flex:1;display:flex;flex-direction:column;gap:4px}.station-radar-scrubber{width:100%;accent-color:var(--gb-primary);cursor:pointer}.station-radar-scrub-labels{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:600;color:var(--gb-text-muted);font-variant-numeric:tabular-nums}.station-radar-frame-time{color:var(--gb-text)}.station-radar-loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:490;display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--gb-radius-pill);background:#121212d1;border:1px solid var(--gb-border);font-size:13px;color:var(--gb-text-secondary)}.map-station-marker.is-plain{background:var(--gb-text-secondary);border-color:#9999994d;box-shadow:none}.map-user-marker{width:18px;height:18px;border-radius:50%;background:#3b82f6;border:3px solid rgba(59,130,246,.3);box-shadow:0 0 16px #3b82f699}.map-user-pulse{width:40px;height:40px;border-radius:50%;background:#3b82f626;animation:mapPulse 2s ease-out infinite;position:absolute;top:-11px;left:-11px}@keyframes mapPulse{0%{transform:scale(.8);opacity:1}to{transform:scale(2);opacity:0}}.map-locate-fab{position:absolute;z-index:600;bottom:20px;right:20px;width:48px;height:48px;border-radius:50%;background:var(--gb-primary);border:none;color:#000;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--gb-shadow-3);transition:all .2s}.map-locate-fab:hover{background:var(--gb-primary-light);transform:scale(1.05)}.map-locate-fab svg{width:22px;height:22px}.map-drawer{position:absolute;bottom:0;left:0;right:0;z-index:800;background:var(--gb-bg-secondary);border-top:1px solid var(--gb-border);border-radius:16px 16px 0 0;transition:transform .35s cubic-bezier(.4,0,.2,1);max-height:55vh;display:flex;flex-direction:column}.map-drawer.dragging{transition:none}.map-drawer.collapsed{transform:translateY(calc(100% - 150px))}.map-drawer-handle{display:flex;justify-content:center;padding:10px;cursor:pointer;flex-shrink:0}.map-drawer-handle span{width:36px;height:4px;border-radius:2px;background:var(--gb-border-light)}.map-drawer-header{padding:0 20px 12px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.map-drawer-header h2{font-size:18px;font-weight:800;letter-spacing:-.3px}.map-drawer-header .drawer-count{font-size:12px;color:var(--gb-text-muted);background:var(--gb-bg-tertiary);padding:3px 10px;border-radius:var(--gb-radius-pill)}.map-drawer-search{padding:0 20px 12px;flex-shrink:0;max-height:60px;opacity:1;overflow:hidden;transition:max-height .35s cubic-bezier(.4,0,.2,1),opacity .25s ease,padding .35s cubic-bezier(.4,0,.2,1)}.map-drawer.collapsed .map-drawer-search{max-height:0;opacity:0;padding-top:0;padding-bottom:0;pointer-events:none}.map-drawer-search input{width:100%;padding:10px 14px;background:var(--gb-bg-tertiary);border:1px solid var(--gb-border);border-radius:var(--gb-radius-sm);color:var(--gb-text);font-size:14px;font-family:inherit;outline:none;transition:border-color .2s}.map-drawer-search input:focus{border-color:var(--gb-primary)}.map-drawer-search input::placeholder{color:var(--gb-text-muted)}.map-drawer-tiles{flex:1;overflow-y:auto;padding:0 20px 20px;display:flex;flex-direction:column;gap:2px}.map-drawer-tiles::-webkit-scrollbar{width:4px}.map-drawer-tiles::-webkit-scrollbar-track{background:transparent}.map-drawer-tiles::-webkit-scrollbar-thumb{background:var(--gb-border);border-radius:2px}.map-drawer-tile{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--gb-border);padding:10px 4px;cursor:pointer;transition:background .15s;text-decoration:none;color:inherit}.map-drawer-tile:hover{background:var(--gb-bg-tertiary)}.map-drawer-tile .tile-info{flex:1;min-width:0}.map-drawer-tile .tile-name{display:flex;align-items:center;gap:6px;min-width:0}.map-drawer-tile .tile-name h3{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-drawer-tile .tile-cam-icon{width:13px;height:13px;color:var(--gb-primary);flex-shrink:0}.map-drawer-tile .tile-info p{font-size:13px;color:var(--gb-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-drawer-tile .tile-fav{background:none;border:none;padding:6px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;color:var(--gb-text-muted);transition:color .15s}.map-drawer-tile .tile-fav:hover,.map-drawer-tile .tile-fav.active{color:var(--gb-warning)}@media(max-width:768px){.section{padding:60px 20px}.station-main-grid{grid-template-columns:1fr}.station-main-grid>.station-buoycam{order:-1;position:relative;top:0}.station-map-embed #stationDetailMap{height:250px}.station-radar-map-wrap{height:170px}.station-radar.is-expanded .station-radar-map-wrap{height:340px}.station-radar-legend{max-width:160px}.station-radar-updated{display:none}.station-metric-row{padding:12px 16px}.station-details-grid,.station-nearby-grid{grid-template-columns:1fr}.map-drawer.collapsed{transform:translateY(calc(100% - 130px))}.map-locate-fab{bottom:145px}}@media(min-width:1100px){.station-main-grid{grid-template-columns:1fr 1.2fr}.station-radar.is-expanded .station-radar-map-wrap{height:560px}}nav[data-astro-cid-37fxchfa]{position:fixed;top:0;left:0;right:0;z-index:100;background:#121212e6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--gb-border);padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between}.nav-brand[data-astro-cid-37fxchfa]{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--gb-text)}.nav-logo[data-astro-cid-37fxchfa]{width:36px;height:36px}.nav-wordmark[data-astro-cid-37fxchfa]{font-size:24px;font-weight:900;letter-spacing:-.02em}.nav-links[data-astro-cid-37fxchfa]{display:flex;gap:8px;list-style:none;align-items:center}.nav-links[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]{color:var(--gb-text-secondary);text-decoration:none;font-size:14px;font-weight:500;transition:color .2s;padding:8px 14px;border-radius:var(--gb-radius-sm)}.nav-links[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]:hover{color:var(--gb-primary-light)}.nav-links[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa].active{color:var(--gb-primary);background:var(--gb-primary-muted)}.nav-cta[data-astro-cid-37fxchfa]{background:var(--gb-primary);color:#000;font-weight:700;border-radius:var(--gb-radius-pill);padding:8px 20px;font-size:13px;transition:background .2s;border:none;cursor:pointer;font-family:inherit}.nav-cta[data-astro-cid-37fxchfa]:hover{background:var(--gb-primary-light)}.nav-avatar[data-astro-cid-37fxchfa]{width:36px;height:36px;border-radius:50%;background:var(--gb-primary);color:#000;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;border:none;cursor:pointer;transition:background .2s;font-family:inherit}.nav-avatar[data-astro-cid-37fxchfa]:hover{background:var(--gb-primary-light)}.nav-toggle[data-astro-cid-37fxchfa]{display:none;background:none;border:none;color:var(--gb-text);font-size:24px;cursor:pointer;padding:8px}.account-menu[data-astro-cid-37fxchfa]{position:fixed;top:60px;right:24px;z-index:150;background:var(--gb-bg);border:1px solid var(--gb-border);border-radius:var(--gb-radius-md);width:260px;box-shadow:var(--gb-shadow-3);padding:8px}.account-header[data-astro-cid-37fxchfa]{display:flex;align-items:center;gap:12px;padding:12px 8px}.account-avatar[data-astro-cid-37fxchfa]{width:40px;height:40px;border-radius:50%;background:var(--gb-primary);color:#000;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;flex-shrink:0}.account-name[data-astro-cid-37fxchfa]{display:block;font-size:14px;font-weight:700}.account-email[data-astro-cid-37fxchfa]{display:block;font-size:12px;color:var(--gb-text-muted)}.account-divider[data-astro-cid-37fxchfa]{height:1px;background:var(--gb-border);margin:4px 0}.account-item[data-astro-cid-37fxchfa]{display:block;width:100%;padding:10px 12px;font-size:14px;color:var(--gb-text-secondary);background:none;border:none;border-radius:var(--gb-radius-sm);cursor:pointer;text-align:left;text-decoration:none;font-family:inherit;transition:background .2s}.account-item[data-astro-cid-37fxchfa]:hover{background:var(--gb-bg-secondary)}.account-item[data-astro-cid-37fxchfa].signout{color:var(--gb-error)}.cookie-notice[data-astro-cid-37fxchfa]{position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--gb-bg-secondary);border-top:1px solid var(--gb-border);padding:12px 24px;display:flex;align-items:center;justify-content:center;gap:16px;font-size:13px}.cookie-notice[data-astro-cid-37fxchfa] p[data-astro-cid-37fxchfa]{color:var(--gb-text-secondary);margin:0}.cookie-notice[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]{color:var(--gb-primary);text-decoration:none}.cookie-notice[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]:hover{text-decoration:underline}.cookie-buttons[data-astro-cid-37fxchfa]{display:flex;gap:8px;flex-shrink:0}.cookie-reject[data-astro-cid-37fxchfa]{padding:6px 16px;background:transparent;color:var(--gb-text-secondary);border:1px solid var(--gb-border);border-radius:var(--gb-radius-sm);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap}.cookie-reject[data-astro-cid-37fxchfa]:hover{background:var(--gb-bg);color:var(--gb-text)}.cookie-accept[data-astro-cid-37fxchfa]{padding:6px 16px;background:var(--gb-primary);color:#000;border:none;border-radius:var(--gb-radius-sm);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap}.cookie-accept[data-astro-cid-37fxchfa]:hover{background:var(--gb-primary-light)}@media(max-width:600px){.cookie-notice[data-astro-cid-37fxchfa]{flex-direction:column;align-items:stretch;padding:16px 20px;gap:12px}.cookie-notice[data-astro-cid-37fxchfa] p[data-astro-cid-37fxchfa]{text-align:center}.cookie-buttons[data-astro-cid-37fxchfa]{justify-content:center}}footer[data-astro-cid-37fxchfa]{border-top:1px solid var(--gb-border);padding:48px 24px}.footer-inner[data-astro-cid-37fxchfa]{max-width:1100px;margin:0 auto}.footer-grid[data-astro-cid-37fxchfa]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:48px;margin-bottom:40px}.footer-col[data-astro-cid-37fxchfa] h4[data-astro-cid-37fxchfa]{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--gb-text-secondary);margin-bottom:16px}.footer-col[data-astro-cid-37fxchfa] ul[data-astro-cid-37fxchfa]{list-style:none;display:flex;flex-direction:column;gap:10px}.footer-col[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]{font-size:14px;color:var(--gb-text-muted);text-decoration:none;transition:color .2s}.footer-col[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]:hover{color:var(--gb-text-secondary)}.footer-bottom[data-astro-cid-37fxchfa]{display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid var(--gb-border);flex-wrap:wrap;gap:12px}.footer-copy[data-astro-cid-37fxchfa]{font-size:13px;color:var(--gb-text-muted)}.gb-modal-overlay[data-astro-cid-37fxchfa]{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;animation:gbFadeIn .2s ease-out}@keyframes gbFadeIn{0%{opacity:0}to{opacity:1}}@keyframes gbSlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.gb-modal-backdrop[data-astro-cid-37fxchfa]{position:absolute;inset:0;background:#000000b3;backdrop-filter:blur(4px)}.gb-modal-card[data-astro-cid-37fxchfa]{position:relative;background:var(--gb-bg);border:1px solid var(--gb-border);border-radius:20px;width:100%;max-width:440px;padding:32px 24px;box-shadow:0 25px 50px -12px #0009;animation:gbSlideUp .3s ease-out;max-height:90vh;overflow-y:auto}.gb-modal-card[data-astro-cid-37fxchfa]>div[data-astro-cid-37fxchfa]{display:flex;flex-direction:column;align-items:center}.gb-modal-cancel[data-astro-cid-37fxchfa]{align-self:flex-start;background:none;border:none;color:var(--gb-text-secondary);font-family:inherit;font-size:15px;cursor:pointer;padding:0}.gb-modal-cancel[data-astro-cid-37fxchfa]:hover{color:var(--gb-text)}.gb-auth-tabs[data-astro-cid-37fxchfa]{display:flex;gap:4px;padding:4px;background:var(--gb-bg-secondary);border-radius:var(--gb-radius-md);width:100%}.gb-auth-tab[data-astro-cid-37fxchfa]{flex:1;padding:12px 0;border:none;border-radius:10px;font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:center;background:transparent;color:var(--gb-text-secondary)}.gb-auth-tab[data-astro-cid-37fxchfa]:hover:not(.active){color:var(--gb-text)}.gb-auth-tab[data-astro-cid-37fxchfa].active{background:var(--gb-primary);color:#000}.gb-auth-heading[data-astro-cid-37fxchfa]{font-size:22px;font-weight:600;color:var(--gb-text);text-align:center;margin:0}.gb-auth-subtitle[data-astro-cid-37fxchfa]{font-size:14px;color:var(--gb-text-secondary);text-align:center;line-height:1.6;margin:8px 0 0;white-space:pre-line}.gb-social-buttons[data-astro-cid-37fxchfa]{display:flex;flex-direction:column;gap:16px;width:100%}.gb-btn-apple[data-astro-cid-37fxchfa],.gb-btn-google[data-astro-cid-37fxchfa]{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:52px;border:none;border-radius:var(--gb-radius-md);font-family:inherit;font-size:16px;cursor:pointer;transition:opacity .15s}.gb-btn-apple[data-astro-cid-37fxchfa]:hover,.gb-btn-google[data-astro-cid-37fxchfa]:hover{opacity:.9}.gb-btn-apple[data-astro-cid-37fxchfa]:active,.gb-btn-google[data-astro-cid-37fxchfa]:active{opacity:.8}.gb-btn-apple[data-astro-cid-37fxchfa]{background:#fff;color:#000;font-weight:600}.gb-btn-apple[data-astro-cid-37fxchfa] svg[data-astro-cid-37fxchfa]{flex-shrink:0;width:18px;height:18px}.gb-btn-google[data-astro-cid-37fxchfa]{background:#131314;color:#e3e3e3;font-weight:500;border:1px solid #8E918F}.gb-g-logo-wrap[data-astro-cid-37fxchfa]{width:32px;height:32px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.gb-g-logo-wrap[data-astro-cid-37fxchfa] svg[data-astro-cid-37fxchfa]{width:20px;height:20px;flex-shrink:0}.gb-auth-divider[data-astro-cid-37fxchfa]{width:100%;height:1px;background:var(--gb-border);margin-top:24px;margin-bottom:20px}.gb-email-link[data-astro-cid-37fxchfa]{background:none;border:none;font-family:inherit;font-size:13px;cursor:pointer;padding:0}.gb-or-text[data-astro-cid-37fxchfa]{color:var(--gb-text-muted)}.gb-link-text[data-astro-cid-37fxchfa]{color:var(--gb-text-secondary);text-decoration:underline}.gb-email-link[data-astro-cid-37fxchfa]:hover .gb-link-text[data-astro-cid-37fxchfa]{color:var(--gb-text)}.gb-form-group[data-astro-cid-37fxchfa]{width:100%;text-align:left}.gb-form-label[data-astro-cid-37fxchfa]{display:block;font-size:14px;color:var(--gb-text-secondary);margin-bottom:8px}.gb-form-input[data-astro-cid-37fxchfa]{width:100%;height:52px;background:var(--gb-bg-secondary);border:1px solid var(--gb-border);border-radius:var(--gb-radius-md);color:var(--gb-text);font-family:inherit;font-size:16px;padding:0 16px;outline:none;transition:border-color .15s}.gb-form-input[data-astro-cid-37fxchfa]::placeholder{color:var(--gb-text-muted)}.gb-form-input[data-astro-cid-37fxchfa]:focus{border-color:var(--gb-primary)}.gb-code-input[data-astro-cid-37fxchfa]{text-align:center;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:24px;font-weight:500;letter-spacing:8px}.gb-btn-primary[data-astro-cid-37fxchfa]{display:flex;align-items:center;justify-content:center;width:100%;height:52px;border:none;border-radius:var(--gb-radius-md);font-family:inherit;font-size:16px;font-weight:700;cursor:pointer;transition:opacity .15s;margin-top:16px;-webkit-appearance:none;appearance:none;background:var(--gb-primary);color:#000}.gb-btn-primary[data-astro-cid-37fxchfa].enabled{background:var(--gb-primary);color:#000}.gb-btn-primary[data-astro-cid-37fxchfa].enabled:hover{opacity:.9}.gb-btn-primary[data-astro-cid-37fxchfa].disabled{background:var(--gb-bg-tertiary);color:var(--gb-text-muted);cursor:not-allowed}.gb-auth-error[data-astro-cid-37fxchfa]{font-size:13px;color:var(--gb-error);text-align:center;margin-top:12px}.gb-auth-email-confirm[data-astro-cid-37fxchfa]{font-size:14px;font-weight:500;color:var(--gb-text);margin:0}.gb-resend-link[data-astro-cid-37fxchfa]{background:none;border:none;font-family:inherit;font-size:13px;color:var(--gb-text-secondary);cursor:pointer;text-decoration:underline;margin-top:12px}.gb-resend-link[data-astro-cid-37fxchfa]:hover{color:var(--gb-text)}.gb-skip-link[data-astro-cid-37fxchfa]{background:none;border:none;font-family:inherit;font-size:13px;color:var(--gb-text-secondary);cursor:pointer;text-decoration:underline;margin-top:12px;width:100%;text-align:center}.gb-skip-link[data-astro-cid-37fxchfa]:hover{color:var(--gb-text)}.gb-legal-docs[data-astro-cid-37fxchfa]{display:flex;flex-direction:column;gap:16px;width:100%;text-align:left}.gb-legal-item[data-astro-cid-37fxchfa]{display:flex;align-items:flex-start;gap:16px;font-size:14px;color:var(--gb-text-secondary);cursor:pointer;line-height:1.4}.gb-legal-item[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]{color:var(--gb-accent);text-decoration:underline}.gb-legal-item[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]:hover{color:#fff}.gb-legal-check[data-astro-cid-37fxchfa]{width:20px;height:20px;min-width:20px;flex-shrink:0;margin-top:1px;margin-right:16px;accent-color:var(--gb-accent);cursor:pointer}.gb-legal-note[data-astro-cid-37fxchfa]{display:block;font-size:12px;color:var(--gb-text-tertiary, #888);margin-top:2px}.gb-icon-circle[data-astro-cid-37fxchfa]{width:80px;height:80px;border-radius:50%;background:#22c55e1f;display:flex;align-items:center;justify-content:center}.gb-icon-circle[data-astro-cid-37fxchfa] svg[data-astro-cid-37fxchfa]{color:var(--gb-primary)}.gb-icon-circle-lg[data-astro-cid-37fxchfa]{width:96px;height:96px}.gb-safety-backdrop[data-astro-cid-37fxchfa]{background:#00000073;backdrop-filter:blur(2px)}.gb-safety-card[data-astro-cid-37fxchfa]{max-width:520px}.gb-safety-label[data-astro-cid-37fxchfa]{font-size:11px;font-weight:600;color:var(--gb-warning);text-transform:uppercase;letter-spacing:.1em;width:100%;text-align:left}.gb-safety-heading[data-astro-cid-37fxchfa]{font-size:24px;font-weight:900;letter-spacing:-.02em;text-align:left;width:100%;color:var(--gb-text)}.gb-safety-body[data-astro-cid-37fxchfa]{font-size:14px;color:var(--gb-text-secondary);line-height:1.7;text-align:left;width:100%}.gb-safety-body[data-astro-cid-37fxchfa] strong[data-astro-cid-37fxchfa]{color:var(--gb-text)}.gb-safety-body[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]{color:var(--gb-primary);text-decoration:none}.gb-safety-body[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]:hover{text-decoration:underline}.gb-safety-divider[data-astro-cid-37fxchfa]{width:100%;height:1px;background:var(--gb-border)}.gb-safety-checkbox[data-astro-cid-37fxchfa]{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;cursor:pointer;min-height:44px;padding:12px 16px;background:var(--gb-bg-secondary);border:1px solid var(--gb-border);border-radius:var(--gb-radius-md)}.gb-safety-checkbox[data-astro-cid-37fxchfa] input[data-astro-cid-37fxchfa][type=checkbox]{width:20px;height:20px;flex-shrink:0;margin-top:1px;accent-color:var(--gb-primary);cursor:pointer}.gb-safety-checkbox[data-astro-cid-37fxchfa] span[data-astro-cid-37fxchfa]{font-size:14px;line-height:1.5;color:var(--gb-text-secondary)}.gb-waitlist-features[data-astro-cid-37fxchfa]{display:flex;flex-direction:column;gap:12px;width:100%;text-align:left}.gb-waitlist-feature[data-astro-cid-37fxchfa]{display:flex;align-items:flex-start;gap:12px;font-size:14px;color:var(--gb-text-secondary)}.gb-check[data-astro-cid-37fxchfa]{color:var(--gb-primary);font-size:16px;flex-shrink:0;margin-top:1px}#clerk-captcha[data-astro-cid-37fxchfa]{position:relative;z-index:20;width:100%}#clerk-captcha[data-astro-cid-37fxchfa]:not(:empty){margin-top:16px}.gb-loading-overlay[data-astro-cid-37fxchfa]{position:absolute;inset:0;background:#121212cc;border-radius:20px;display:flex;align-items:center;justify-content:center;z-index:10}.gb-spinner[data-astro-cid-37fxchfa]{width:32px;height:32px;border:3px solid var(--gb-border);border-top-color:var(--gb-primary);border-radius:50%;animation:gbSpin .7s linear infinite}@keyframes gbSpin{to{transform:rotate(360deg)}}@media(max-width:768px){.nav-links[data-astro-cid-37fxchfa]{display:none}.nav-links[data-astro-cid-37fxchfa].open{display:flex;flex-direction:column;position:absolute;top:64px;left:0;right:0;background:#121212f2;backdrop-filter:blur(20px);border-bottom:1px solid var(--gb-border);padding:16px;gap:4px}.nav-toggle[data-astro-cid-37fxchfa]{display:block}.footer-grid[data-astro-cid-37fxchfa]{grid-template-columns:1fr 1fr;gap:32px}.account-menu[data-astro-cid-37fxchfa]{right:16px;left:16px;width:auto}}@media(max-width:480px){.footer-grid[data-astro-cid-37fxchfa]{grid-template-columns:1fr}.gb-modal-overlay[data-astro-cid-37fxchfa]{align-items:flex-start}.gb-modal-card[data-astro-cid-37fxchfa]{max-width:100%;border-radius:0;min-height:100vh;min-height:100dvh;max-height:100vh;max-height:100dvh;padding:24px 16px calc(24px + env(safe-area-inset-bottom))}}
