:root{--bg-main:#1d242b;--bg-card:#222831;--bg-header:#1a2f3d;--bg-sidebar:#0f1b22;--border-subtle:#ea00342e;--text-bright:#e8eef5;--text-muted:#a8b8c8;--text-dim:#8a9fb5;--orange:#fe9000;--orange-on:#1a0d05;--orange-deep:#c53000;--teal:#ea0034;--teal-on:#fff;--swell-primary:#4a5290;--swell-primary-text:#8a92c5;--swell-secondary:#984050;--swell-secondary-text:#cc8590;--tide-rising:#8ccbea;--tide-falling:#4a6e9e;--rating-good:#7ba67d;--rating-fair-to-good:#a8a862;--rating-fair:#c8a848;--rating-poor-to-fair:#b85040;--rating-poor:#9a3838;--font-display:"Lusitana", serif;--font-ui:"Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-numeric:"Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{color:#fff;font-family:var(--font-ui);-webkit-font-smoothing:antialiased;overscroll-behavior:none;background:#1c1c1c}html,body{overscroll-behavior:none;scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{display:none}.app{min-height:100vh}.app.loading{color:#888;justify-content:center;align-items:center;min-height:100vh;display:flex}.main-content{min-width:0;margin-left:0;padding:0}.spot-page{flex-direction:column;min-height:100vh;display:flex;position:relative}.page-header{z-index:50;background:#1c1c1c;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.75rem 0 1.25rem;display:flex;position:sticky;top:0}.page-header-titles{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex;container:phtitles/inline-size}.page-header-title{font-family:var(--font-display);color:var(--text-bright);letter-spacing:-.3px;margin:0;font-size:24px;font-weight:400;line-height:1.1}.page-header-title-row{flex-flow:wrap;justify-content:flex-start;align-items:baseline;gap:3px 16px;display:flex}@container phtitles (width>=700px){.page-header-title-row{justify-content:flex-end}}.page-header-size{font-family:var(--font-ui);color:var(--text-muted);letter-spacing:.2px;font-size:15px;font-weight:500;line-height:1.2}.page-header-subline{flex-wrap:wrap;align-items:center;gap:2px 6px;display:flex}.page-header-surface{color:var(--orange-deep)}.page-header-subline .live-conditions-bar{margin-left:0}.page-header-subline .live-conditions-bar .live-cond-divider:first-child{display:block}.page-header-toggle{z-index:60;border:1px solid #3a3a3a;border-radius:0;align-items:stretch;display:flex;position:fixed;top:.75rem;right:2rem;overflow:hidden}.page-toggle{color:#8a8a8a;font-family:var(--font-ui);letter-spacing:.8px;text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;padding:3px 9px;font-size:9px;font-weight:600;transition:color .15s,background .15s}.page-toggle:hover:not(.active):not(:disabled){color:#c4c4c4}.page-toggle.active{color:var(--text-bright);background:#3a3a3a}.page-toggle:disabled{cursor:not-allowed}.spot-layout{flex:1;grid-template-columns:minmax(0,1fr) 540px;align-items:start;gap:20px;padding:1rem 2rem 1.5rem;display:grid}.spot-layout.maximized{grid-template-columns:minmax(0,1fr) 0;gap:0}.forecast-col{transition:opacity .2s,visibility .2s}.spot-layout.maximized .forecast-col{opacity:0;visibility:hidden;overflow:hidden}.spot-layout.peeking .forecast-col{opacity:1;visibility:visible;display:none}.spot-layout.peeking .cam-frame iframe,.spot-layout.peek-releasing .cam-frame iframe{transition:none}.spot-layout.covers-cam .viewer-col{opacity:0;visibility:hidden;pointer-events:none;overflow:hidden}.spot-layout.peeking .viewer-col{opacity:1;visibility:visible;pointer-events:auto}.spot-layout.peeking,.spot-layout.peeking *{transition:none!important}.viewer-col,.forecast-col{min-width:0}.viewer-col{align-self:start;height:calc(100vh - 2.5rem);position:sticky;top:1rem}.forecast-col{z-index:1;flex-direction:column;align-self:start;height:calc(100vh - 2.5rem);display:flex;position:relative}.resize-handle{cursor:col-resize;z-index:-1;touch-action:none;width:32px;position:absolute;top:0;bottom:0;left:-26px}.resize-handle__presets{border:1px solid #ffffff12;border-right:none;border-radius:7px 0 0 7px;flex-direction:column;width:13px;display:flex;position:absolute;top:50%;left:auto;right:4px;overflow:hidden;transform:translateY(-50%);box-shadow:-2px 0 5px #00000052}.resize-handle__preset{color:#aab2bb;cursor:pointer;background:#3a4148;border:none;border-top:1px solid #ffffff14;justify-content:center;align-items:center;width:100%;height:34px;padding:0;transition:background .15s,color .15s;display:flex}.resize-handle__preset:first-child{border-top:none}.resize-handle:hover .resize-handle__preset,.resize-handle__preset:hover{color:var(--text-bright);background:#464e57}.resize-handle__preset.is-active{color:#14181d;background:linear-gradient(#6e767f 0%,#5f6770 100%)}.resize-handle:hover .resize-handle__preset.is-active,.resize-handle__preset.is-active:hover{color:#14181d;background:linear-gradient(#7a8189 0%,#6b737c 100%)}.resize-handle__full{color:#1a2730;cursor:pointer;opacity:.92;background:#fff;border:none;border-radius:4px;justify-content:center;align-items:center;width:14px;height:14px;padding:0;transition:opacity .15s,background .15s;display:flex;position:absolute;top:50%;right:4px;transform:translateY(calc(-50% - 35px));box-shadow:-2px 0 6px #00000059}.resize-handle:hover .resize-handle__full,.resize-handle__full:hover{opacity:1;background:#f0f3f6}.resize-handle__full svg{width:10px;height:10px;display:block}.cam-peek-tab{z-index:2;cursor:pointer;-webkit-backdrop-filter:blur(10px)saturate(115%);backdrop-filter:blur(10px)saturate(115%);touch-action:none;-webkit-user-select:none;user-select:none;background:#ffffff0f;border:none;border-radius:50%;width:32px;height:32px;transition:background .15s,transform .12s;position:absolute;top:50%;left:-60px;transform:translateY(-50%)}.cam-peek-tab:active{transform:translateY(-50%)translate(2px)}.spot-layout.dragging{-webkit-user-select:none;user-select:none;cursor:col-resize;transition:none}.spot-layout.resizable .forecast-card,.spot-layout.resizable .forecast-toolbar,.spot-layout.resizable .match-card{max-width:none}.chart-view{background:var(--bg-sidebar);border-radius:0 0 5px 5px;height:100%;display:flex;overflow:visible}.chart-view-empty{color:#5a7080;text-align:center;padding:2rem}.chart-values{background:var(--bg-sidebar);flex-direction:column;flex-shrink:0;gap:6px;width:100px;padding:18px 0 8px 12px;display:flex}.chart-value-row{flex-direction:column;justify-content:center;gap:2px;padding-left:6px;display:flex}.chart-value-row.is-hovered{filter:saturate(1.28)brightness(1.04)}.chart-values-spacer{flex-shrink:0;height:18px}.chart-values-axis-spacer{flex-shrink:0;height:14px;margin-top:2px}.chart-value-label{font-family:var(--font-display);color:#c8dde8;letter-spacing:.5px;font-size:16px;font-weight:400}.chart-value-line{font-family:var(--font-numeric);font-size:11px;font-weight:600}.chart-value-line-weather{align-items:center;gap:5px;display:inline-flex}.chart-value-sub{font-family:var(--font-ui);opacity:.85;font-size:9px;font-weight:500}.chart-stack{flex-direction:column;flex:1;gap:6px;min-width:0;padding:18px 8px 8px;transition:transform .2s;display:flex;position:relative}.chart-view.swiping{overflow:hidden}.chart-view.swiping .chart-stack{transition:none}.chart-row{background:#1a2530;border:1px solid #ffffff0f;border-left-width:3px;border-radius:6px;flex-shrink:0;position:relative;overflow:hidden}.chart-anim-line{clip-path:inset(0 100% 0 0);animation:.95s cubic-bezier(.25,.65,.3,1) both chartAnimWipeLine}@keyframes chartAnimWipeLine{to{clip-path:inset(0)}}.chart-anim-fill{clip-path:inset(0 0 100%);animation:.8s cubic-bezier(.2,.6,.3,1) .95s both chartAnimDropFill}@keyframes chartAnimDropFill{to{clip-path:inset(0)}}@media (prefers-reduced-motion:reduce){.chart-row{animation:none}}.chart-row:hover{filter:saturate(1.28)brightness(1.04)}.chart-row svg{display:block}.chart-row.has-grid{background-image:repeating-linear-gradient(90deg,#ffffff0d 0 1px,#0000 1px 12.5%)}.chart-row.has-hourly-grid{background-image:repeating-linear-gradient(90deg,#ffffff0f 0 1px,#0000 1px 12.5%)}.chart-view.detail-dense .chart-row.has-hourly-grid,.spot-layout.covers-cam .chart-row.has-hourly-grid{background-image:repeating-linear-gradient(90deg,#ffffff0f 0 1px,#0000 1px 4.16667%)}.chart-time-axis{flex:none;height:14px;margin-top:2px;position:relative}.chart-time-tick{font-family:var(--font-ui);letter-spacing:.5px;color:var(--text-dim);white-space:nowrap;font-size:9px;font-weight:500;position:absolute;top:0;transform:translate(-50%)}.chart-time-tick--minor{display:none}.chart-view.detail-dense .chart-time-tick--minor,.spot-layout.covers-cam .chart-time-tick--minor{color:#ffffff52;display:block}.chart-yaxis{pointer-events:none;z-index:1;position:absolute;inset:0}.chart-yaxis-line{border-top:1px dashed #ffffff12;height:0;position:absolute;left:0;right:0}.chart-yaxis-label{font-family:var(--font-ui);letter-spacing:.3px;color:var(--text-muted);text-shadow:0 0 3px #000c,0 0 2px #000c;white-space:nowrap;font-size:8px;font-weight:500;position:absolute;top:0;left:4px;transform:translateY(-50%)}.chart-cursor{background:var(--orange-deep);z-index:6;pointer-events:none;width:2px;position:absolute;top:18px;bottom:8px;transform:translate(-50%)}.chart-cursor.chart-cursor--ghost{background:var(--orange-deep);opacity:.28;z-index:5;width:1.5px}.tide-extreme-marker{cursor:pointer;z-index:2;border:0;border-radius:50%;width:8px;height:8px;transition:transform .12s;position:absolute;transform:translate(-50%,-50%)}.tide-extreme-marker.is-high{background:#8ccbea}.tide-extreme-marker.is-low{background:#4a6e9e}.tide-extreme-marker:hover{background:#fff;transition:transform .12s,background .12s;transform:translate(-50%,-50%)scale(1.25)}.chart-flag-layer{pointer-events:none;z-index:5;position:absolute;inset:0}.chart-flag{pointer-events:none;width:0;position:absolute;top:0;bottom:0}.chart-flag-stem{background:var(--teal);border-radius:1px;width:1.5px;position:absolute;left:-.75px;box-shadow:0 0 4px #ea003480}.chart-flag-pennant{background:var(--teal);color:var(--teal-on);white-space:nowrap;cursor:pointer;pointer-events:auto;text-align:left;border:0;border-radius:3px;padding:3px 6px 4px;font-family:inherit;font-size:10.5px;line-height:1.15;position:absolute;left:0;transform:translate(2px);box-shadow:0 1px 4px #0006}.chart-flag-pennant:hover{filter:brightness(1.1)}.chart-flag-time{opacity:.85;font-size:9px;font-weight:500}.chart-flag-value{font-weight:600}.swell-dir-layer,.wind-dir-layer,.tide-extremes-layer{pointer-events:none;z-index:1;position:absolute;inset:0}.tide-extremes-layer .tide-extreme-marker{pointer-events:auto}.swell-dir-arrow,.wind-dir-arrow{line-height:0;position:absolute}.chart-cursor-label{color:var(--orange-deep);font-family:var(--font-numeric);letter-spacing:.3px;white-space:nowrap;font-size:11px;font-weight:700;position:absolute;top:-16px;left:50%;transform:translate(-50%)}.chart-tooltip{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;pointer-events:none;z-index:8;text-align:right;background:#0d162080;border-radius:3px;flex-direction:column;align-items:flex-end;gap:1px;padding:3px 7px;display:flex;position:absolute;box-shadow:0 2px 8px #0009}.chart-tooltip-time{font-family:var(--font-numeric);letter-spacing:.3px;color:#8aa8b5;font-size:9px;font-weight:600}.chart-tooltip-value{font-family:var(--font-numeric);font-size:11px;font-weight:700}.chart-tooltip-value.sm{font-size:10px;font-weight:600}.night-overlay{pointer-events:none;z-index:2;position:absolute;inset:0}.multi-day-dividers{pointer-events:none;z-index:3;position:absolute;inset:0}.multi-day-divider{background:#ffffff80;width:2px;position:absolute;top:0;bottom:0;transform:translate(-50%)}.night-block{background:#000;position:absolute;top:0;bottom:0}.chart-stack--spotlight .night-overlay{display:none}.sun-strip{flex-shrink:0;height:22px;margin-top:2px;position:relative}.sun-strip-line{background:#ffffff2e;height:1px;position:absolute;top:50%;left:0;right:0}.sun-strip-mark{background:var(--bg-main);pointer-events:none;align-items:center;padding:0 4px;display:flex;position:absolute;top:50%;transform:translate(-50%,-50%)}.weather-strip{align-items:center;width:100%;height:100%;display:flex}.weather-cell{flex-direction:column;flex:1;align-items:center;gap:4px;display:flex}.weather-cell--minor{display:none}.chart-view.detail-dense .weather-cell--minor,.spot-layout.covers-cam .weather-cell--minor{opacity:.7;display:flex}.weather-cell-icon{font-size:14px;line-height:1}.weather-cell-temp{font-family:var(--font-numeric);color:#c8d8e8;font-size:9px;font-weight:500}.weather-cell-uv{font-family:var(--font-numeric);color:#e8a870d9;letter-spacing:.3px;font-size:8px;font-weight:600;line-height:1}.best-window-strip{background-image:radial-gradient(circle,#ffffff26 .9px,#0000 1.3px);background-size:3px 3px;border-radius:3px;flex-shrink:0;height:15px;margin-top:4px;position:relative}.best-window-run{border-radius:2px;position:absolute;top:0;bottom:0}.best-window-run-tolerance{background-color:var(--bg-main);background-image:radial-gradient(circle, var(--rating-fair) .9px, transparent 1.3px);opacity:.9;background-size:3px 3px}.best-block-dim{pointer-events:none;z-index:4;background:#080e148c;position:absolute;top:0;bottom:0}.best-window-label{font-family:var(--font-display);color:var(--rating-fair);letter-spacing:.3px;white-space:nowrap;text-align:left;pointer-events:none;opacity:0;font-size:11px;font-weight:400;transition:opacity .12s;position:absolute;top:50%;left:-90px;right:auto;transform:translateY(-50%)}.best-window-strip:has(.best-window-run-tolerance:hover) .best-window-label{opacity:1}.home-page{min-height:100vh;color:var(--text-bright);box-sizing:border-box;background-image:url(/05-1560x866.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;justify-content:center;align-items:center;padding:64px 48px;display:flex}.home-statement{text-align:center;max-width:620px;transform:translateY(calc(-4vh - 60px))}.home-title{font-family:var(--font-ui);color:var(--text-bright);letter-spacing:-1.8px;margin:0 0 36px;font-size:60px;font-weight:700;line-height:1.05}.home-title-logo{width:min(460px,78vw);height:auto;margin:0 auto;display:block}.home-mission{text-align:center;max-width:560px;margin:0 auto}.home-subtitle{font-family:var(--font-ui);color:#fff;text-shadow:0 1px 6px #00000073,0 0 2px #00000059;margin:0;font-size:15px;line-height:1.7}.home-subtitle+.home-subtitle{margin-top:18px}.home-spot-picker{text-align:center;max-width:560px;margin:32px auto 0}.home-spot-picker-wrap{display:inline-block;position:relative}.home-spot-picker-trigger{font-family:var(--font-ui);color:var(--orange);border:1px solid var(--border-subtle);cursor:pointer;background:#14181eeb;border-radius:5px;justify-content:space-between;align-items:center;gap:10px;min-width:240px;padding:9px 14px;font-size:14px;font-weight:500;transition:border-color .15s,background-color .15s,color .15s;display:inline-flex}.home-spot-picker-trigger:hover,.home-spot-picker-trigger.open{color:var(--orange);background-color:#2a2f38;border-color:#ea003466}.home-spot-picker-trigger:focus-visible{border-color:var(--teal);outline:none}.home-spot-picker-trigger-text{text-align:left;flex:1}.home-spot-picker-chevron{color:var(--orange);flex-shrink:0;transition:transform .15s,color .15s}.home-spot-picker-trigger:hover .home-spot-picker-chevron{color:var(--orange)}.home-spot-picker-trigger.open .home-spot-picker-chevron{color:var(--orange);transform:rotate(180deg)}.home-spot-picker-menu{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--border-subtle);z-index:50;text-align:left;scrollbar-width:thin;scrollbar-color:#ea003466 transparent;background:#14181ea6;border-radius:5px;min-width:240px;max-height:240px;padding:6px 0;position:absolute;top:calc(100% + 6px);bottom:auto;left:0;overflow-y:auto;box-shadow:0 8px 28px #00000073}.home-spot-picker-menu::-webkit-scrollbar{width:6px}.home-spot-picker-menu::-webkit-scrollbar-track{background:0 0}.home-spot-picker-menu::-webkit-scrollbar-thumb{background:#ea003466;border-radius:3px}.home-spot-picker-menu::-webkit-scrollbar-thumb:hover{background:#ea003499}.home-spot-picker-group+.home-spot-picker-group{border-top:1px solid var(--border-subtle);margin-top:4px;padding-top:6px}.home-spot-picker-region{font-family:var(--font-ui);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim);padding:6px 14px 4px;font-size:10px;font-weight:600}.home-spot-picker-option{text-align:left;width:100%;font-family:var(--font-ui);color:var(--text-bright);cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;padding:6px 14px;font-size:14px;font-weight:500;transition:background .12s,color .12s;display:flex}.home-spot-picker-option:hover,.home-spot-picker-option:focus-visible{color:var(--orange);outline:none}.home-spot-picker-option-name{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.home-spot-picker-option-cam{color:var(--text-dim);flex-shrink:0;transition:color .12s;display:inline-flex}.home-spot-picker-option:hover .home-spot-picker-option-cam,.home-spot-picker-option:focus-visible .home-spot-picker-option-cam{color:var(--orange)}.alerts-page{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.alerts-card{text-align:left;background:#1c2e38f2;border:0;border-radius:5px;max-width:460px;padding:28px 32px}.alerts-eyebrow{letter-spacing:1.5px;color:#ea0034;text-transform:uppercase;margin-bottom:8px;font-size:9px;font-weight:700;display:block}.alerts-headline{color:#e8eef5;letter-spacing:-.3px;margin:0 0 12px;font-size:22px;font-weight:700}.alerts-body{color:#a8b8c8;margin:0;font-size:13px;line-height:1.55}.sessions-panel{flex:1;justify-content:center;align-items:flex-start;margin-top:auto;padding:2rem 0;display:flex}.observed-panel{flex-direction:column;flex:1;gap:14px;min-height:0;padding-top:8px;display:flex}.observed-section{box-sizing:border-box;background:#1c2e38f2;border-radius:5px;padding:16px 18px}.observed-section-header{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.observed-section-title{font-family:var(--font-ui);color:var(--text-bright);letter-spacing:-.2px;margin:0;font-size:17px;font-weight:700;line-height:1.1}.observed-section-meta{font-family:var(--font-ui);letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);font-size:11px;font-weight:500}.observed-section-footer{font-family:var(--font-ui);color:var(--text-dim);margin:12px 0 0;font-size:11px;font-weight:400;line-height:1.5}.observed-stats-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;display:grid}.observed-stat{background:#ffffff08;border-radius:4px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.observed-stat-label{font-family:var(--font-ui);letter-spacing:1.2px;text-transform:uppercase;color:var(--text-dim);font-size:10px;font-weight:600}.observed-stat-value-row{align-items:baseline;gap:5px;display:inline-flex}.observed-stat-icon{color:var(--text-muted);align-self:center;align-items:center;display:inline-flex}.observed-stat-value{font-family:var(--font-numeric);color:var(--text-bright);font-variant-numeric:tabular-nums;font-size:22px;font-weight:600;line-height:1}.observed-stat-unit{font-family:var(--font-ui);letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);font-size:10px;font-weight:600}.observed-buoy-card{flex-direction:column;gap:0;display:flex}.observed-buoy-row{border-bottom:1px solid #ffffff0d;grid-template-columns:1fr auto auto;align-items:baseline;gap:10px;padding:10px 0;display:grid}.observed-buoy-row:last-child{border-bottom:none}.observed-buoy-label{font-family:var(--font-ui);color:var(--text-muted);font-size:12px;font-weight:500}.observed-buoy-value{font-family:var(--font-numeric);color:var(--text-bright);font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.observed-buoy-meta{font-family:var(--font-ui);color:var(--text-dim);letter-spacing:.2px;font-size:11px;font-weight:500}.observed-intro-body{font-family:var(--font-ui);color:var(--text-dim);margin:4px 2px 2px;font-size:12px;font-weight:400;line-height:1.5}.report-form{flex-direction:column;gap:10px;display:flex}.report-row{align-items:center;gap:10px;display:flex}.report-row-time{gap:10px}.report-inline-label{width:56px;font-family:var(--font-ui);letter-spacing:1.2px;text-transform:uppercase;color:var(--text-dim);flex-shrink:0;font-size:10px;font-weight:600}.report-time-input{appearance:none;border:1px solid var(--border-subtle);width:auto;font-family:var(--font-numeric);color:var(--text-bright);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#ffffff0a;border-radius:4px;padding:5px 8px;font-size:12px;font-weight:500}.report-time-input:focus{border-color:var(--orange);outline:none}.report-chip-wrap{flex-wrap:wrap;flex:1;gap:4px;display:flex}.report-chip-pill{appearance:none;border:1px solid var(--border-subtle);cursor:pointer;font-family:var(--font-ui);color:var(--text-bright);background:#ffffff0a;border-radius:999px;align-items:baseline;gap:4px;padding:3px 9px;font-size:11px;font-weight:500;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.report-chip-pill:hover{background:#ffffff0f;border-color:#ffffff26}.report-chip-pill.is-active{border-color:var(--orange);color:var(--orange);background:#fe90002e}.report-chip-pill .report-chip-sub{font-family:var(--font-numeric);color:var(--text-dim);letter-spacing:.2px;font-size:9px;font-weight:500}.report-chip-pill.is-active .report-chip-sub{color:var(--orange);opacity:.85}.report-notes-inline{appearance:none;border:1px solid var(--border-subtle);font-family:var(--font-ui);color:var(--text-bright);background:#ffffff0a;border-radius:4px;padding:7px 10px;font-size:12px;font-weight:400;line-height:1.4}.report-notes-inline::placeholder{color:var(--text-dim)}.report-notes-inline:focus{border-color:var(--orange);outline:none}.report-actions{justify-content:space-between;align-items:center;gap:10px;margin-top:2px;display:flex}.report-photo-btn{appearance:none;font-family:var(--font-ui);color:var(--text-dim);cursor:pointer;background:0 0;border:1px dashed #ffffff2e;border-radius:4px;padding:6px 11px;font-size:12px;font-weight:500;transition:border-color .12s,color .12s,background .12s}.report-photo-btn:hover{color:var(--text-bright);background:#ffffff0a;border-color:#ffffff4d}.report-file-input{display:none}.report-submit-btn{appearance:none;background:var(--orange);color:var(--orange-on);font-family:var(--font-ui);letter-spacing:.6px;text-transform:uppercase;cursor:pointer;border:0;border-radius:4px;padding:9px 14px;font-size:12px;font-weight:700;transition:background .12s,transform 80ms,opacity .12s}.report-submit-btn-full{width:100%;margin-top:4px}.report-submit-btn:hover:not(:disabled){background:#ff8c42}.report-submit-btn:active:not(:disabled){transform:translateY(1px)}.report-submit-btn:disabled{color:var(--text-dim);cursor:not-allowed;background:#ffffff14}.report-feed-list{flex-direction:column;gap:12px;display:flex}.report-card{background:#ffffff08;border:1px solid #ffffff0d;border-radius:6px;flex-direction:column;gap:10px;padding:14px;display:flex}.report-card-header{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.report-card-author{font-family:var(--font-ui);color:var(--text-bright);font-size:13px;font-weight:600}.report-card-time{font-family:var(--font-numeric);color:var(--text-dim);letter-spacing:.2px;font-size:11px;font-weight:500}.report-card-tags{flex-wrap:wrap;gap:6px;display:flex}.report-card-tag{font-family:var(--font-ui);color:var(--text-bright);background:#ffffff0f;border-radius:999px;align-items:baseline;gap:4px;padding:4px 9px;font-size:11px;font-weight:500;display:inline-flex}.report-card-tag-sub{font-family:var(--font-numeric);color:var(--text-dim);font-size:10px;font-weight:500}.report-card-tag-quality.is-pumping{color:#6fbe6f;background:#6fbe6f2e}.report-card-tag-quality.is-good{color:#c2c84a;background:#c2c84a2e}.report-card-tag-quality.is-fair{color:#deb23a;background:#deb23a2e}.report-card-tag-quality.is-poor{color:#c84f5f;background:#c84f5f2e}.report-card-notes{font-family:var(--font-ui);color:var(--text-bright);white-space:pre-wrap;margin:0;font-size:13px;font-weight:400;line-height:1.5}.report-card-media{background:#0000004d;border-radius:5px;max-height:280px;overflow:hidden}.report-card-media img{object-fit:cover;width:100%;height:auto;max-height:280px;display:block}.observed-empty-state{text-align:center;padding:20px 16px}.observed-empty-title{font-family:var(--font-ui);color:var(--text-bright);margin:0 0 6px;font-size:14px;font-weight:600}.observed-empty-body{font-family:var(--font-ui);color:var(--text-dim);max-width:360px;margin:0 auto;font-size:12px;font-weight:400;line-height:1.5}.sessions-card{text-align:left;background:#1c2e38f2;border:0;border-radius:5px;max-width:460px;padding:24px 28px}.sessions-eyebrow{letter-spacing:1.5px;color:#ea0034;text-transform:uppercase;margin-bottom:8px;font-size:9px;font-weight:700;display:block}.sessions-headline{color:#e8eef5;letter-spacing:-.3px;margin:0 0 12px;font-size:20px;font-weight:700}.sessions-body{color:#a8b8c8;margin:0;font-size:13px;line-height:1.55}.viewer-panel{background:#262b37;border-radius:5px;flex-direction:column;height:100%;min-height:360px;display:flex;overflow:hidden;box-shadow:0 8px 40px #0006}.viewer-tabs{background:#3a3a3a;border-bottom:1px solid #3a3a3a;flex-shrink:0;align-items:center;padding:8px 12px;display:flex}.viewer-tab{color:#8a8a8a;font-family:var(--font-ui);letter-spacing:1px;text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-bottom:2px solid #0000;padding:4px 10px;font-size:9px;font-weight:600;transition:color .15s}.viewer-tab:hover:not(.active){color:#c4c4c4}.viewer-tab.active{color:var(--text-bright);border-bottom-color:#fff}.viewer-body{flex:1;min-height:0;position:relative}.viewer-layer{position:absolute}.viewer-layer.main{z-index:1;border-radius:0;inset:0}.viewer-layer.pip{z-index:7;cursor:pointer;border-radius:8px;width:180px;height:124px;transition:width .22s,height .22s;inset:auto 14px 14px auto;overflow:hidden;box-shadow:0 6px 20px #0000008c,0 0 0 1px #ffffff24}.viewer-layer.pip:hover{transition:box-shadow .18s;box-shadow:0 10px 26px #000000bf,0 0 0 1px #ffffff47}.viewer-layer-map.pip:hover{box-shadow:0 6px 20px #0000008c,0 0 0 1px #ffffff24}.viewer-layer.pip:focus-visible{outline:2px solid var(--teal,#ea0034);outline-offset:2px}.viewer-layer.pip *{pointer-events:none}.viewer-layer-map.pip .viewer-placeholder{display:none}.viewer-layer-map.pip .spot-map-img{opacity:.55;filter:brightness(.7)saturate(.6)}.viewer-layer-map.pip .compass-container{justify-content:center;align-items:center;display:flex;overflow:hidden}.viewer-layer-map.pip .compass-svg{flex-shrink:0;width:320px;height:320px;transition:width .22s,height .22s,transform .22s;transform:translateY(28px)}.viewer-layer-map.pip.pip-expanded{width:360px;height:248px;transition:width .22s,height .22s}.viewer-layer-map.pip.pip-expanded .compass-svg{width:560px;height:560px;transform:translateY(40px)}.viewer-layer-cam.pip{width:360px;height:200px;left:16px}.viewer-layer-cam.pip .cam-frame iframe{bottom:-240px;transform:translate(-240px)}.viewer-layer-cam.pip .cam-rewind,.viewer-layer-cam.pip .cam-attribution,.viewer-layer-cam.pip .cam-overlay{display:none}.viewer-placeholder{color:#5a7080;letter-spacing:.4px;pointer-events:none;justify-content:center;align-items:center;font-size:.85rem;display:flex;position:absolute;inset:0}.compass-container{background-color:#07080a;position:absolute;inset:0;overflow:hidden}.compass-container .viewer-placeholder{align-items:flex-end;padding-bottom:18%}.spot-map-img{object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:absolute;inset:0}.compass-svg{z-index:1;pointer-events:auto;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:relative}.sidebar{-webkit-backdrop-filter:blur(24px)saturate(140%);backdrop-filter:blur(24px)saturate(140%);z-index:50;clip-path:inset(-40px 196px -40px 0);will-change:clip-path;background:#161616e0;flex-direction:column;width:260px;height:100vh;padding:28px 0;transition:clip-path .32s cubic-bezier(.4,0,.2,1),box-shadow .32s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;left:0;box-shadow:4px 0 24px #0000}.sidebar.expanded{clip-path:inset(-40px -40px -40px 0);box-shadow:4px 0 24px #00000080}body.is-resizing .sidebar{pointer-events:none}.sidebar-logo{height:30px;font-family:var(--font-display);color:var(--text-bright);white-space:nowrap;margin-bottom:36px;padding-top:24px;padding-left:25px;font-size:24px;font-weight:400;line-height:1;position:relative}.sidebar-logo-mark,.sidebar-logo-word{width:auto;height:28px;transition:opacity .18s;display:block;position:absolute;top:24px;left:20px}.sidebar-logo-word{opacity:0}.sidebar.expanded .sidebar-logo-word{opacity:1;transition-delay:.12s}.sidebar.expanded .sidebar-logo-mark{opacity:0}.sidebar-nav{flex-direction:column;flex:1;gap:4px;display:flex}.nav-item{cursor:pointer;color:#909090;white-space:nowrap;height:34px;font-size:14px;transition:color .15s,background .15s;position:relative}.nav-item:hover{color:var(--orange)}.nav-item.active{color:#fff}.nav-item.active:before{content:"";background:#fff;border-radius:0 2px 2px 0;width:2px;position:absolute;top:6px;bottom:6px;left:0}.nav-item-icon-wrap{justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;top:50%;left:21px;transform:translateY(-50%)}.nav-item-status-dot{border:1.5px solid #191818;border-radius:50%;width:7px;height:7px;position:absolute;bottom:-2px;right:-2px}.nav-item-label{opacity:0;padding-left:58px;font-weight:500;line-height:34px;transition:opacity .18s,transform .32s cubic-bezier(.4,0,.2,1);display:block;transform:translate(-12px)}.sidebar.expanded .nav-item-label{opacity:1;transition:opacity .18s .1s,transform .32s cubic-bezier(.4,0,.2,1) 50ms;transform:translate(0)}.spot-regions{opacity:0;pointer-events:none;scrollbar-width:thin;scrollbar-color:#2a2a2a transparent;flex-direction:column;max-height:calc(100vh - 280px);margin:4px 0 6px;transition:opacity .18s,transform .32s cubic-bezier(.4,0,.2,1);display:flex;overflow-y:auto;transform:translate(-12px)}.spot-regions.visible{opacity:1;pointer-events:auto;transition:opacity .18s .1s,transform .32s cubic-bezier(.4,0,.2,1) 50ms;transform:translate(0)}.spot-search{color:#8a8a8a;opacity:0;pointer-events:none;background:#ffffff0b;border:1px solid #ffffff14;border-radius:7px;align-items:center;gap:7px;margin:0 18px 0 22px;padding:6px 9px;transition:opacity .18s,border-color .15s,color .15s;display:flex}.sidebar.expanded .spot-search{opacity:1;pointer-events:auto}.spot-search:focus-within{color:#c4c4c4;border-color:#fff3}.spot-search-input{min-width:0;color:var(--text-bright);font-family:var(--font-ui);background:0 0;border:none;outline:none;flex:1;padding:0;font-size:13px}.spot-search-input::placeholder{color:#6b6b6b}.spot-search-empty{color:var(--text-dim);padding:4px 24px 4px 22px;font-size:12px}.spot-search.spot-search-solo{margin-top:6px}.floating-nav{z-index:50;align-items:center;gap:6px;padding:4px;display:flex;position:fixed;top:12px;left:44px}.floating-nav-orb{color:#fff;cursor:pointer;background:#000;border:none;border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;padding:0;transition:transform .18s,box-shadow .18s;display:grid;box-shadow:0 4px 14px #00000073,inset 0 0 0 1px #ffffff0f}.floating-nav-orb:hover,.floating-nav.expanded .floating-nav-orb{transform:scale(1.03);box-shadow:0 6px 18px #0000008c,inset 0 0 0 1px #ffffff24}.floating-nav-orb:focus-visible{outline:2px solid var(--teal,#ea0034);outline-offset:2px}.floating-nav-orb svg{display:block;transform:translateY(1px)}.floating-nav-orb{overflow:hidden}.floating-nav-orb-img{object-fit:cover;object-position:center;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.floating-nav-brand{cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;margin:0;padding:0;display:inline-flex}.floating-nav-brand:focus-visible{outline:2px solid var(--teal,#ea0034);outline-offset:4px;border-radius:4px}.floating-nav-panel{-webkit-backdrop-filter:blur(14px)saturate(140%);backdrop-filter:blur(14px)saturate(140%);background:#000000c7;border-radius:14px;align-items:center;width:0;height:28px;padding:0;transition:width .24s cubic-bezier(.4,0,.2,1),padding .24s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden;transform:translateY(2px);box-shadow:0 4px 14px #0006}.floating-nav.expanded .floating-nav-panel{width:180px;padding:0 12px}.floating-nav-input{width:100%;height:100%;color:var(--text-bright,#fff);font-family:var(--font-ui,system-ui);opacity:0;background:0 0;border:none;outline:none;font-size:12px;transition:opacity .18s}.floating-nav.expanded .floating-nav-input{opacity:1;transition-delay:80ms}.floating-nav-input::placeholder{color:#ffffff6b}.spot-region{margin-top:8px}.spot-region:first-child{margin-top:0}.spot-region-label{color:var(--text-dim);letter-spacing:1.5px;white-space:nowrap;padding:4px 24px 4px 58px;font-size:10px;font-weight:600}.spot-nav-item{color:#909090;cursor:pointer;white-space:nowrap;align-items:center;gap:8px;padding:5px 24px 5px 58px;font-size:13px;font-weight:500;transition:color .15s,background .15s;display:flex}.spot-nav-item:hover{color:var(--orange)}.spot-nav-item.active{color:#fff;font-weight:600}.spot-rating-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.spot-nav-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.spot-nav-cam-icon{color:var(--orange);opacity:.85;flex-shrink:0;transition:opacity .15s;display:inline-flex}.spot-nav-item:hover .spot-nav-cam-icon,.spot-nav-item.active .spot-nav-cam-icon{opacity:1}.sidebar-footer{padding:12px 0 8px;position:relative}.sidebar-footer:before{content:"";background:#2a2a2a;height:1px;position:absolute;top:0;left:21px;right:22px}.login-item{color:#555;font-size:13px}.nav-item.disabled,.nav-item.disabled:hover{cursor:not-allowed;color:#555}.conditions-table{scrollbar-width:none;scroll-snap-type:y mandatory;background:#252e37;border-radius:0 0 5px 5px;grid-template-rows:44px;grid-template-columns:80px repeat(4,minmax(0,auto));grid-auto-rows:1fr;column-gap:32px;height:100%;scroll-padding-top:44px;display:grid;position:relative;overflow:hidden auto}.conditions-table.cols-5{column-gap:var(--auto-col-gap,32px);grid-template-columns:repeat(6,minmax(0,max-content))}.conditions-table.cols-5 .conditions-header,.conditions-table.cols-5 .conditions-row{grid-template-columns:80px repeat(5,minmax(0,1fr))}.conditions-table.cols-6{column-gap:var(--auto-col-gap,32px);grid-template-columns:repeat(7,minmax(0,max-content))}.conditions-table.cols-6 .conditions-header,.conditions-table.cols-6 .conditions-row{grid-template-columns:80px repeat(6,minmax(0,1fr))}.conditions-table::-webkit-scrollbar{display:none}.conditions-header,.conditions-row{column-gap:inherit;grid-column:1/-1;grid-template-columns:80px repeat(4,minmax(0,1fr));align-items:center;display:grid}@supports (grid-template-columns:subgrid){.conditions-header,.conditions-row,.conditions-table.cols-5 .conditions-header,.conditions-table.cols-5 .conditions-row,.conditions-table.cols-6 .conditions-header,.conditions-table.cols-6 .conditions-row{grid-template-columns:subgrid}}.conditions-header{z-index:1;background:#252e37;align-items:center;height:44px;padding:0 14px;position:sticky;top:0}.conditions-header .col{font-family:var(--font-display);letter-spacing:1.4px;color:var(--text-bright);white-space:nowrap;align-items:baseline;padding:0;font-size:15px;font-weight:400;display:flex}.col-header-picker{align-items:baseline;width:100%;display:flex;position:relative}.col-header-trigger{appearance:none;font:inherit;color:inherit;letter-spacing:inherit;cursor:pointer;text-align:left;opacity:.92;background:0 0;border:0;flex:1;align-items:baseline;gap:4px;padding:0;transition:opacity .12s;display:flex}.col-header-trigger:hover{opacity:1}.col-header-static{align-items:baseline;gap:4px;display:flex}.col-header-picker.open .col-header-trigger{opacity:1}.col-header-menu-tide-pill{border:1px solid var(--border-subtle);background:#ffffff05;border-radius:0;align-items:stretch;margin-left:auto;line-height:1;display:inline-flex;overflow:hidden}.col-header-tide-pill-option{appearance:none;cursor:pointer;font-family:var(--font-ui);letter-spacing:.6px;text-transform:uppercase;color:var(--text-dim);background:0 0;border:0;padding:2px 6px;font-size:7px;font-weight:600;line-height:1.4;transition:color .12s,background .12s}.col-header-tide-pill-option:hover{color:var(--text-bright)}.col-header-tide-pill-option.is-active{color:#1a2530;background:#fff}.col-header-tide-pill-divider{background:var(--border-subtle);color:#0000;align-self:stretch;width:1px;font-size:0}.col-header-menu{background:var(--bg-card);border:1px solid var(--border-subtle);z-index:50;border-radius:5px;min-width:130px;padding:4px 0;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 6px 22px #00000073}.col-header-picker-end .col-header-menu{left:auto;right:0}.col-header-menu-item{text-align:left;cursor:pointer;width:100%;font-family:var(--font-ui);color:var(--text-bright);background:0 0;border:0;align-items:center;gap:6px;padding:6px 6px 6px 12px;font-size:12px;font-weight:500;transition:background .12s,color .12s,opacity .12s;display:flex;position:relative}.col-header-menu-item:hover{color:var(--teal);background:#ea00341f}.col-header-menu-item.is-current,.col-header-menu-item.is-elsewhere{background:#ffffff0d}.col-header-menu-item-label{display:inline-block}.col-header-menu-item-unit{letter-spacing:1.5px;text-transform:uppercase;color:var(--teal);opacity:.7;margin-left:auto;font-size:9px;font-weight:600}.conditions-table .conditions-row .col-weather{flex-direction:row;justify-content:flex-start;align-items:center;gap:8px;display:flex}.conditions-table .conditions-row .col-uv{flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.uv-value{font-family:var(--font-numeric);color:var(--text-bright);font-variant-numeric:tabular-nums;font-size:16px;font-weight:500;line-height:1}.weather-temp{font-family:var(--font-numeric);color:var(--text-bright);font-variant-numeric:tabular-nums;font-size:15px;font-weight:500;line-height:1}.weather-label{white-space:nowrap;font-family:var(--font-ui);color:var(--text-dim);letter-spacing:.2px;font-size:11px;font-weight:500}.weather-label--sunny{color:#c87f2e}.weather-glyph{align-items:center;line-height:1;display:inline-flex}.weather-glyph svg{width:20px;height:20px}.col-unit{font-family:var(--font-ui);letter-spacing:1.5px;text-transform:uppercase;color:var(--orange);white-space:nowrap;opacity:.6;margin-left:3px;font-size:11px;font-weight:600;transform:translateY(-.22em)}.forecast-toolbar{background:#252e37;border-radius:5px 5px 0 0;justify-content:space-between;align-items:center;gap:.5rem;max-width:700px;padding:8px 14px;display:flex}@keyframes conditions-row-stagger-in{0%{opacity:0}to{opacity:1}}.conditions-row.stagger-in{animation:.45s ease-out backwards conditions-row-stagger-in;animation-delay:calc(var(--row-index,0) * 55ms)}.conditions-marker-row{background:var(--bg-main);min-height:28px;font-family:var(--font-ui);letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);cursor:default;scroll-snap-align:none;border-bottom:1px solid #ffffff08;grid-column:1/-1;align-items:center;gap:10px;padding:0 14px;font-size:11px;font-weight:600;display:flex}.conditions-marker-row.is-past{opacity:.45}.conditions-marker-row .marker-icon{font-size:11px;line-height:1}.conditions-marker-row .marker-label{color:var(--text-bright);letter-spacing:1.2px}.conditions-marker-row .marker-value{font-family:var(--font-numeric);letter-spacing:0;text-transform:none;color:var(--text-bright);font-size:11px;font-weight:500}.conditions-marker-row .marker-time{font-family:var(--font-numeric);letter-spacing:0;text-transform:none;color:#c4c4c4;font-size:11px;font-weight:500}.conditions-marker-row .marker-countdown{font-family:var(--font-numeric);letter-spacing:.2px;text-transform:none;color:var(--orange-deep);margin-left:auto;font-size:11px;font-weight:600}.marker-tide.is-high .marker-icon{color:#8ccbea}.marker-tide.is-low .marker-icon{color:#4a6e9e}.marker-sun.is-sunrise .marker-icon{color:#b080c8}.marker-sun.is-sunset .marker-icon{color:#e07a8a}.conditions-marker-row.marker-flip{perspective:800px;padding:0;display:block;position:relative;overflow:hidden}.conditions-marker-row.marker-flip.is-flipped{opacity:1}.marker-flip-inner{transform-style:preserve-3d;transition:transform .45s;position:absolute;inset:0}.conditions-marker-row.marker-flip.is-flipped .marker-flip-inner{transform:rotateX(180deg)}.marker-flip-face{backface-visibility:hidden;align-items:center;gap:10px;padding:0 14px;display:flex;position:absolute;inset:0}.marker-flip-back{color:var(--teal);text-shadow:0 0 10px #ea003480;text-transform:none;justify-content:flex-end;transform:rotateX(180deg)}.marker-lastlight-label{letter-spacing:.2px}.marker-lastlight{font-family:var(--font-numeric);letter-spacing:.5px;text-transform:none;font-size:12px;font-weight:600}.conditions-row{background:var(--bg-main);cursor:pointer;scroll-snap-align:start;border-bottom:1px solid #ffffff0f;min-height:66px;padding:8px 14px;transition:background .12s}.conditions-row:hover{cursor:pointer;background:#fe900014}.conditions-row.selected{box-shadow:inset 3px 0 0 var(--orange);background:#fe900029}.conditions-row.selected:hover{background:#fe900038}.conditions-row.selected .time-label{color:var(--orange-deep);font-weight:700}.conditions-row:last-child{border-bottom:none}.conditions-row .col{padding:0;display:block}.conditions-row .col-time{text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;display:flex!important}.time-label{color:#c4c4c4;align-items:flex-start;gap:2px;line-height:1;display:inline-flex}.time-hour{font-family:var(--font-numeric);color:#c4c4c4;font-variant-numeric:tabular-nums;font-size:22px;font-weight:600;line-height:1}.time-suffix{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);margin-top:2px;font-size:9px;font-weight:700;line-height:1}.time-label-now{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:1.5px;color:var(--orange);font-size:12px;font-weight:700}.conditions-row.selected .time-label-now{color:var(--orange)}.weather-line{align-items:center;gap:4px;display:flex}.weather-icon{font-size:1rem;line-height:1}.conditions-row .col-wave{border-radius:3px;flex-direction:column;justify-content:center;justify-self:start;gap:2px;margin-left:-6px;padding:6px 8px 6px 6px;display:flex}.col-wave.rating-good{background:#7ba67d14}.col-wave.rating-fair-to-good{background:#a8a86214}.col-wave.rating-fair{background:#c8a84814}.col-wave.rating-poor-to-fair{background:#b8504014}.col-wave.rating-poor{background:#9a383814}.wave-main{align-items:center;gap:6px;display:flex}.wave-height{font-family:var(--font-numeric);letter-spacing:-.02em;color:var(--text-bright);white-space:nowrap;flex-shrink:0;font-size:24px;font-weight:900;line-height:1}.wave-detail{font-family:var(--font-numeric);color:var(--text-dim);letter-spacing:.02em;font-size:10px;display:block}.quality-badge{font-family:var(--font-ui);border:1px solid;border-color:color-mix(in srgb, currentColor 60%, transparent);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;opacity:.92;background:0 0;border-radius:3px;flex-shrink:0;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.quality-badge.good{color:var(--rating-good)}.quality-badge.fair-to-good{color:var(--rating-fair-to-good)}.quality-badge.fair{color:var(--rating-fair)}.quality-badge.poor-to-fair{color:var(--rating-poor-to-fair)}.quality-badge.poor{color:var(--rating-poor)}.conditions-row .col-tide{align-items:center;gap:6px;display:flex}.tide-height{font-family:var(--font-numeric);color:var(--text-bright);font-size:20px;font-weight:500;line-height:1}.tide-arrow{font-family:var(--font-ui);font-size:14px;line-height:1}.tide-arrow.rising{color:#8ccbea}.tide-arrow.falling{color:#4a6e9e}.tide-state-stack{flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;line-height:1;display:flex}.tide-state-tier{font-family:var(--font-ui);color:var(--text-bright);letter-spacing:-.1px;font-size:15px;font-weight:600;line-height:1}.tide-state-action{font-family:var(--font-ui);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim);font-size:9px;font-weight:600;line-height:1}.tide-state-action.is-rising{color:#8ccbea}.tide-state-action.is-falling{color:#4a6e9e}.wind-state-stack{flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;line-height:1;display:flex}.wind-state-tier{font-family:var(--font-ui);color:var(--text-bright);letter-spacing:-.1px;font-size:15px;font-weight:600;line-height:1}.wind-state-orientation{font-family:var(--font-ui);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim);font-size:9px;font-weight:600;line-height:1}.wind-state-orientation.is-onshore{color:#a04646}.wind-state-orientation.is-sideshore{color:#b28282}.wind-state-orientation.is-offshore{color:#bebebe}.wind-state-empty,.tide-state-empty{font-family:var(--font-numeric);color:var(--text-dim);font-size:20px;line-height:1}.conditions-row .col-wind{flex-direction:column;justify-content:center;gap:2px;display:flex}.wind-arrow{align-items:center;display:flex}.wind-arrow svg{display:block}.wind-line{align-items:baseline;gap:3px;display:flex}.wind-speed{font-family:var(--font-numeric);color:inherit;font-size:20px;font-weight:500;line-height:1}.wind-dir{font-family:var(--font-ui);color:inherit;letter-spacing:.04em;font-size:10px}.wind-gust{font-family:var(--font-ui);color:var(--text-dim);margin-left:4px;font-size:9px}.conditions-row .col-swell{flex-direction:column;justify-content:center;gap:4px;display:flex}.swell-primary,.swell-secondary{white-space:nowrap;flex-wrap:nowrap;align-items:baseline;gap:5px;padding-left:6px;display:flex}.swell-primary{border-left:2px solid var(--swell-primary);color:var(--swell-primary-text)}.swell-secondary{border-left:2px solid var(--swell-secondary);color:var(--swell-secondary-text);opacity:.85}.swell-primary .swell-height{font-family:var(--font-numeric);color:inherit;font-size:16px;font-weight:700;line-height:1}.swell-primary .swell-period,.swell-primary .swell-dir{font-family:var(--font-ui);color:inherit;font-size:10px}.swell-secondary span{font-family:var(--font-ui);color:inherit;font-size:9px}.swell-secondary span:first-child{font-family:var(--font-numeric);font-size:11px;font-weight:500;line-height:1}.date-tiles{overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;flex-shrink:0;gap:8px;margin-bottom:4px;padding-bottom:4px;display:flex;overflow:auto hidden}.date-tiles.dragging{-webkit-user-select:none;user-select:none}.date-tiles::-webkit-scrollbar{display:none}.date-tile{cursor:pointer;box-sizing:border-box;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1c2e38f2;border:none;border-radius:5px;flex-direction:row;flex:1 0 88px;align-items:stretch;min-height:100px;transition:flex-basis .3s,background .15s;display:flex;position:relative;overflow:hidden}.date-tile.expanded{flex-basis:318px}.date-tile:not(.expanded) .date-tile-report{opacity:0;pointer-events:none}.date-tile-main{box-sizing:border-box;text-align:left;flex-direction:column;flex-shrink:0;justify-content:flex-start;align-items:flex-start;gap:6px;width:88px;padding:10px 8px 10px 14px;display:flex}.date-tile-report{box-sizing:border-box;width:230px;font-family:var(--font-ui);color:var(--text-muted);text-align:left;flex-shrink:0;align-self:center;padding:10px 14px 10px 2px;font-size:11px;line-height:1.45;transition:opacity .22s}.date-tile-report-head{color:var(--text-muted);font-weight:400}.date-tile-stripe{background:var(--orange);opacity:0;border-radius:5px 5px 0 0;height:2px;transition:opacity .15s;position:absolute;top:0;left:0;right:0}.date-tile.selected .date-tile-stripe{opacity:1}.date-tile-pointer{opacity:0;pointer-events:none;border-top:7px solid #1c2e38f2;border-left:7px solid #0000;border-right:7px solid #0000;width:0;height:0;transition:opacity .15s;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.date-tile.selected .date-tile-pointer{opacity:1}.date-tile:hover:not(.selected){background:#263a46f2}.date-tile.selected{background:#1c2e38f2}.date-tile-label{font-family:var(--font-ui);letter-spacing:1px;text-transform:uppercase;white-space:nowrap;color:#ffffffb3;margin-top:auto;font-size:11px;font-weight:700}.date-tile.selected .date-tile-label{color:var(--text-bright)}.date-tile-range{align-items:baseline;gap:2px;display:flex}.date-tile-range-value{font-family:var(--font-numeric);letter-spacing:-.3px;color:var(--text-bright);font-size:21px;font-weight:700;line-height:1}.date-tile-range-unit{font-family:var(--font-ui);color:var(--text-dim);font-size:9px;font-weight:600}.rating-bars{gap:4px;width:85%;margin-top:auto;margin-bottom:14px;display:flex}.rating-bar{border-radius:2px;flex:1;height:4px;position:relative}.rating-bars.empty{height:3px}.rating-bar[data-tooltip]:after{content:attr(data-tooltip);font-family:var(--font-ui);color:var(--text-bright);white-space:nowrap;opacity:0;pointer-events:none;z-index:2;background:#000000c7;border-radius:3px;margin-bottom:2px;padding:3px 7px;font-size:10px;font-weight:600;transition:opacity .12s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.rating-bar:hover[data-tooltip]:after{opacity:1}.day-summary-card{flex-direction:column;flex:none;margin-bottom:14px;display:flex}.forecast-stack{flex-direction:column;flex:1;min-height:0;display:flex}.forecast-card{flex-direction:column;flex:1;max-width:700px;min-height:0;display:flex}.summary-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.summary-meta-line{font-family:var(--font-ui);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);align-items:baseline;gap:6px;font-size:11px;font-weight:700;display:flex}.summary-meta-sep{opacity:.5}.summary-meta-state{margin-left:6px}.summary-meta-weather{letter-spacing:.3px;text-transform:none;cursor:help;align-items:center;gap:4px;font-weight:500;display:inline-flex;position:relative}.summary-icons{font-family:var(--font-ui);color:var(--text-muted);align-items:center;gap:14px;margin-bottom:2px;font-size:11px;display:flex}.summary-meta-weather:hover{color:var(--text-bright)}.summary-meta-weather:after{content:attr(data-tooltip);font-family:var(--font-ui);letter-spacing:.3px;text-transform:none;color:var(--text-muted);white-space:nowrap;opacity:0;pointer-events:none;margin-top:4px;font-size:10px;font-weight:500;position:absolute;top:100%;left:50%;transform:translate(-50%)}.summary-meta-weather:hover:after{opacity:1}.summary-live-pill{font-family:var(--font-ui);letter-spacing:1px;text-transform:uppercase;color:var(--text-bright);border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-flex}.summary-live-pill-dot{background:var(--rating-good);border-radius:50%;width:6px;height:6px;animation:1.6s ease-in-out infinite summary-live-pulse}@keyframes summary-live-pulse{0%,to{opacity:1}50%{opacity:.4}}.day-summary-card{box-sizing:border-box;position:relative}.day-card-info{box-sizing:border-box;background:#1c2e38f2;border-radius:5px;flex-direction:column;flex:1;justify-content:flex-start;gap:10px;min-height:0;padding:16px 18px;display:flex}.day-card-bulletin{box-sizing:border-box;opacity:.82;flex-direction:column;width:150px;padding:16px 14px;display:flex;position:absolute;top:0;bottom:0;right:0}.tide-flip-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);position:relative}.summary-body-right.flipped .tide-flip-inner{transform:rotateY(180deg)}.tide-flip-face{background:var(--bg-sidebar);backface-visibility:hidden;box-sizing:border-box;border:1px solid #ffffff14;border-radius:4px;flex-direction:column;padding:6px 10px;display:flex}.tide-flip-front{height:100%;position:relative;overflow:hidden}.tide-flip-back{position:absolute;inset:0;transform:rotateY(180deg)}.tide-flip-face .summary-stat{border:0;gap:2px;padding:0}.tide-flip-face .summary-stat-label{letter-spacing:1px;font-size:8px}.tide-mini{flex-direction:column;gap:4px;height:100%;display:flex}.tide-mini-header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.tide-mini-live{font-family:var(--font-numeric,ui-monospace, SFMono-Regular, Menlo, monospace);font-variant-numeric:tabular-nums;color:#e8e0d0;align-items:baseline;gap:3px;font-size:12px;display:inline-flex}.tide-mini-live-value{font-weight:600}.tide-mini-live-trend{color:#c8c0b0;font-size:11px}.tide-mini-plot{flex:1;min-height:0;margin:0 -6px;position:relative}.tide-mini-svg{width:100%;height:100%;display:block;overflow:visible}.tide-mini-label{font-family:var(--font-ui);color:var(--text-muted);white-space:nowrap;pointer-events:none;text-align:center;font-size:9px;font-weight:600;line-height:1.1;position:absolute}.tide-mini-label-time{color:var(--text-bright);font-weight:700}.tide-mini-label-height{color:var(--text-muted);font-size:9px}.tide-mini-label--instrument{font-family:var(--font-numeric,ui-monospace, SFMono-Regular, Menlo, monospace);font-variant-numeric:tabular-nums;letter-spacing:.3px;color:#b0a998;font-size:9px}.tide-mini-label--instrument .tide-mini-label-time{color:#e8e0d0;font-weight:500}.tide-mini-label--instrument .tide-mini-label-height{color:#8a8270;font-weight:400}.tide-mini-axis{font-family:var(--font-numeric,ui-monospace, SFMono-Regular, Menlo, monospace);font-variant-numeric:tabular-nums;letter-spacing:.2px;fill:#e8e0d08c;font-size:8px}.tide-mini-axis-y,.tide-mini-axis-x{font-family:var(--font-numeric,ui-monospace, SFMono-Regular, Menlo, monospace);font-variant-numeric:tabular-nums;letter-spacing:.2px;color:#e8e0d099;pointer-events:none;white-space:nowrap;font-size:10px;position:absolute}.tide-mini-axis-y{padding-right:4px;transform:translate(-100%,-50%)}.tide-mini-axis-x{bottom:0;transform:translate(-50%)}.tide-mini-empty{font-family:var(--font-ui);color:var(--text-dim);text-align:center;padding:12px;font-size:10px}.sun-info{border-bottom:1px solid #ffffff0f;flex-direction:column;gap:1px;margin-bottom:5px;padding-bottom:5px;display:flex}.sun-times{font-family:var(--font-ui);color:var(--text-muted);white-space:nowrap;align-items:center;gap:5px;font-size:10px;font-weight:500;display:flex}.sun-times-sep{opacity:.5}.sun-last-light{font-family:var(--font-ui);color:var(--text-muted);font-size:10px;font-weight:500}.sun-last-light strong{color:var(--text-bright);font-weight:700}.summary-headline{font-family:var(--font-ui);color:var(--text-bright);letter-spacing:-.3px;margin:0;font-size:17px;font-weight:600;line-height:1.2}.summary-headline-row{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.summary-surface-word{font-family:var(--font-ui);color:var(--teal);letter-spacing:-.3px;font-size:17px;font-weight:600}.summary-headline-time{font-family:var(--font-ui);color:var(--text-dim);font-variant-numeric:tabular-nums;letter-spacing:.2px;margin-left:auto;font-size:11px;font-weight:500}.summary-headline-meta{flex-wrap:wrap;align-items:center;gap:12px;margin-left:auto;display:inline-flex}.summary-meta-chip{font-family:var(--font-ui);color:var(--text-muted);white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-flex;position:relative}.summary-top-strip{align-items:center;gap:0;margin-bottom:4px;display:flex}.live-conditions-bar{font-family:var(--font-ui);flex-wrap:nowrap;align-items:center;min-width:0;display:flex}.live-cond-divider{background:#ffffff14;flex-shrink:0;width:1px;height:10px;margin:0 12px}.live-conditions-bar>.live-cond-divider:first-child{display:none}.live-cond-item{white-space:nowrap;font-variant-numeric:tabular-nums;cursor:default;align-items:center;gap:6px;display:inline-flex;position:relative}.live-cond-item[data-tooltip]:after{content:attr(data-tooltip);font-family:var(--font-ui);color:var(--text-bright);white-space:nowrap;opacity:0;pointer-events:none;z-index:2;background:#000000c7;border-radius:3px;margin-bottom:6px;padding:3px 7px;font-size:10px;font-weight:600;transition:opacity .12s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.live-cond-item:hover[data-tooltip]:after{opacity:1}.live-cond-label{letter-spacing:1.2px;color:var(--text-dim);text-transform:uppercase;font-size:10px;font-weight:600}.live-cond-value{color:var(--text-bright);font-size:13px;font-weight:600}.live-cond-unit{color:var(--text-dim);margin-left:1px;font-size:10px;font-weight:500}.live-cond-arrow{margin-left:2px;font-size:10px;line-height:1}.live-cond-arrow.rising{color:var(--tide-rising)}.live-cond-arrow.falling{color:var(--tide-falling)}.live-cond-qualifier{color:var(--text-dim);margin-left:4px;font-size:10px;font-weight:500}.summary-live-time{font-family:var(--font-ui);color:var(--text-muted);font-variant-numeric:tabular-nums;letter-spacing:.3px;background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;align-items:center;padding:3px 10px;font-size:12px;font-weight:500;display:inline-flex}.summary-future-date{font-family:var(--font-ui);color:var(--text-muted);letter-spacing:.3px;font-size:14px;font-weight:400}.summary-meta-chip-glyph{font-size:12px;line-height:1}.summary-meta-chip--sunrise .summary-meta-chip-glyph{color:#e8a870}.summary-meta-chip--sunset .summary-meta-chip-glyph{color:#9aa8c8}.summary-meta-chip[data-tooltip]:after{content:attr(data-tooltip);font-family:var(--font-ui);color:var(--text-muted);white-space:nowrap;opacity:0;pointer-events:none;margin-top:4px;font-size:10px;font-weight:500;transition:opacity .12s;position:absolute;top:100%;left:50%;transform:translate(-50%)}.summary-meta-chip:hover[data-tooltip]:after{opacity:1}.summary-sub{font-family:var(--font-ui);color:var(--text-dim);align-items:baseline;gap:6px;font-size:12px;font-weight:500;display:flex}.summary-sub-sep{opacity:.55}.summary-description{font-family:var(--font-ui);color:var(--text-dim);white-space:pre-line;margin:0;font-size:12px;line-height:1.45}.summary-description-label{font:inherit;color:inherit}.summary-description-swell{color:var(--text-muted);font-weight:500}.summary-notes{flex-direction:column;gap:2px;display:flex}.summary-stats{border:1px solid #ffffff14;border-radius:4px;display:flex;overflow:hidden}.summary-stat{border-right:1px solid #ffffff14;flex-direction:column;flex:1;gap:1px;min-width:0;padding:6px 10px;display:flex}.summary-stat:last-child{border-right:0}.summary-stat-label{font-family:var(--font-ui);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim);font-size:9px;font-weight:600}.summary-stat-value{font-family:var(--font-ui);color:var(--text-bright);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;font-size:12px;font-weight:700;overflow:hidden}.summary-stat-row{align-items:center;gap:8px;min-width:0;display:flex}.summary-stat-sub{font-family:var(--font-ui);color:var(--text-dim);font-size:10px;font-weight:500}.summary-stat-next{font-family:var(--font-ui);color:var(--text-dim);white-space:nowrap;font-size:10px;font-weight:500}.tide-future-list{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.tide-future-row{font-family:var(--font-ui);color:var(--text-dim);white-space:nowrap;align-items:baseline;gap:6px;font-size:10px;font-weight:500;line-height:1.4;display:flex}.tide-future-type{color:var(--text-muted);min-width:26px;font-weight:700}.tide-future-height{color:var(--text-muted);font-weight:600}.tide-future-time{font-variant-numeric:tabular-nums;margin-left:auto}.tide-future-row-empty{visibility:hidden}.day-schedule{flex:1;grid-template-rows:auto minmax(0,1fr);width:100%;min-height:0;display:grid}.day-schedule-header{border-bottom:1px solid #ffffff0f;align-items:center;margin-bottom:4px;padding-bottom:4px;display:flex}.day-schedule-heading{font-family:var(--font-ui);letter-spacing:1px;color:var(--text-dim);text-transform:uppercase;font-size:9px;font-weight:500}.day-schedule-date{font-family:var(--font-ui);letter-spacing:.4px;color:var(--text-muted);text-transform:uppercase;font-size:10px;font-weight:500}.day-schedule-temps{align-items:center;gap:8px;display:inline-flex}.day-schedule-temp{font-family:var(--font-ui);color:var(--text-muted);align-items:center;gap:3px;font-size:11px;font-weight:500;display:inline-flex;position:relative}.day-schedule-temp[data-tooltip]:after{content:attr(data-tooltip);font-family:var(--font-ui);color:var(--text-muted);white-space:nowrap;opacity:0;pointer-events:none;margin-top:4px;font-size:10px;font-weight:500;transition:opacity .12s;position:absolute;top:100%;left:50%;transform:translate(-50%)}.day-schedule-temp:hover:after{opacity:1}.day-schedule-list{scrollbar-width:thin;flex-direction:column;gap:0;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.day-schedule-list::-webkit-scrollbar{background:0 0;width:2px}.day-schedule-list::-webkit-scrollbar-track{background:0 0}.day-schedule-list::-webkit-scrollbar-thumb{background:#fe900080;border-radius:0}.day-schedule-list::-webkit-scrollbar-thumb:hover{background:#fe9000d9}.day-schedule-list{scrollbar-color:#fe900080 transparent}.day-schedule-row{font-family:var(--font-ui);color:var(--text-dim);white-space:nowrap;justify-content:space-between;align-items:baseline;gap:8px;font-size:11px;font-weight:400;line-height:1.35;display:flex}.day-schedule-row-labelgroup{font-variant-numeric:tabular-nums;align-items:baseline;gap:4px;display:inline-flex}.day-schedule-row-label{color:var(--text-dim);font-weight:400}.day-schedule-row--past{opacity:.4}.day-schedule-row-value{color:var(--text-dim)}.day-schedule-row-time{color:var(--text-muted);font-variant-numeric:tabular-nums;letter-spacing:.1px;font-weight:500}.tide-future-empty{font-family:var(--font-ui);color:var(--text-muted);margin:8px 0 0;font-size:12px;line-height:1.4}.summary-stat-prose .summary-stat-value{white-space:pre-line;text-overflow:clip;color:var(--text-dim);font-size:10px;font-weight:500;line-height:1.3;overflow:visible}.live-strip{font-family:var(--font-ui);white-space:nowrap;align-items:center;gap:10px;font-size:11px;display:flex;overflow:hidden}.live-chip{flex-shrink:0;align-items:center;gap:5px;display:flex}.live-chip-icon{font-size:14px;line-height:1}.live-chip-label{font-family:var(--font-ui);color:#5a7080;letter-spacing:1.5px;text-transform:uppercase;font-size:9px;font-weight:700}.live-chip-value{font-family:var(--font-numeric);color:var(--text-bright);font-size:11px;font-weight:600}.live-chip-extra{color:var(--text-dim)}.live-chip-extra.rising{color:#c890b5}.live-chip-extra.falling{color:#9c8cb5}.live-chip+.live-chip:before{content:"";background:#ffffff1f;width:1px;height:10px;display:inline-block}.interval-toggle,.view-toggle{letter-spacing:.3px;text-transform:uppercase;border-radius:2px;font-size:9px;font-weight:600;display:flex;overflow:hidden}.interval-toggle button,.view-toggle button{cursor:pointer;font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:none;padding:2px 8px;transition:background .1s,color .1s}.view-toggle{border:1px solid var(--orange)}.view-toggle button{color:var(--orange)}.view-toggle button.active{background:var(--orange);color:var(--orange-on)}.interval-toggle{border:1px solid var(--orange-deep)}.interval-toggle button{color:var(--orange-deep)}.interval-toggle button.active{background:var(--orange-deep);color:var(--orange-on)}.forecast-toolbar-left,.forecast-toolbar-right{align-items:center;gap:10px;display:flex}.day-select-controls{align-items:center;gap:8px;display:flex}.day-select-hint{color:var(--text-dim);white-space:nowrap;font-size:10px}.select-days-btn{border:1px solid var(--teal);color:var(--teal);cursor:pointer;letter-spacing:.3px;text-transform:uppercase;white-space:nowrap;background:0 0;border-radius:2px;padding:2px 8px;font-family:inherit;font-size:9px;font-weight:600;transition:background .1s,color .1s}.select-days-btn.active{background:var(--teal);color:var(--teal-on)}.date-tile.in-range{background:#ea003429;box-shadow:inset 0 0 0 1px #ea003459}.date-tile.range-endpoint{box-shadow:inset 0 0 0 2px var(--teal)}.forecast-content{flex:1;min-height:0;transition:opacity .15s;position:relative}.conditions-table.cells-wide .conditions-row .col-swell{flex-direction:row;justify-content:flex-start;align-items:center;gap:16px}.conditions-table.cells-wide .conditions-row .col-swell .swell-height,.conditions-table.cells-wide .conditions-row .col-swell .swell-secondary span:first-child{font-size:20px;font-weight:500}.conditions-table.cells-wide .conditions-row .col-swell .swell-period,.conditions-table.cells-wide .conditions-row .col-swell .swell-dir,.conditions-table.cells-wide .conditions-row .col-swell .swell-secondary span{font-size:10px}.conditions-table.cells-wide .conditions-row .col-uv .uv-value{font-size:20px}.forecast-content.loading{opacity:.4;pointer-events:none}.forecast-spinner{z-index:1;border:3px solid #363c4a;border-top-color:#4c8492;border-radius:50%;width:28px;height:28px;animation:.6s linear infinite spin;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes spin{to{transform:translate(-50%,-50%)rotate(360deg)}}.spot-loading,.spot-error{color:#888;padding:2rem}.spot-cams{flex-direction:column;gap:0;height:100%;display:flex}.cam-frame{flex:1;min-height:0;position:relative;overflow:hidden}.cam-frame.draggable{cursor:grab}.cam-frame.dragging{cursor:grabbing}.cam-rewind{z-index:5;opacity:0;align-items:center;gap:6px;transition:opacity .2s;display:flex;position:absolute;bottom:34px;left:12px}.cam-attribution{z-index:5;white-space:nowrap;color:#f4ecd6;text-shadow:0 1px 2px #00000080;font-family:var(--font-ui);letter-spacing:.2px;pointer-events:auto;background:#000c;align-items:center;padding:5px 10px;font-size:11px;font-weight:500;display:inline-flex;position:absolute;bottom:0;left:0}.cam-attribution a{color:inherit;text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px}.cam-attribution a:hover{text-decoration-thickness:2px}.viewer-body:hover .cam-rewind{opacity:1}.cam-rewind-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-family:var(--font-ui);letter-spacing:1px;text-transform:uppercase;cursor:pointer;text-shadow:0 1px 2px #000000b3;background:#080e14c7;border:1px solid #ffffff2e;border-radius:3px;padding:5px 9px;font-size:9px;font-weight:700;transition:background .15s,color .15s,border-color .15s;box-shadow:0 2px 6px #00000059}.cam-rewind-btn:hover{background:#080e14eb;border-color:#ffffff52}.cam-rewind-btn.live{color:#fff;background:#4cc050a6;border-color:#4cc050f2}.cam-rewind-btn.live:hover{background:#4cc050c7;border-color:#4cc050}.cam-rewind-btn.live.active{background:#4cc050e6;border-color:#4cc050}.cam-rewind-indicator{font-family:var(--font-ui);letter-spacing:1px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-shadow:0 1px 2px #000000b3;background:#080e14c7;border:1px solid #ffffff2e;border-radius:3px;margin-left:4px;padding:4px 8px;font-size:9px;font-weight:700;box-shadow:0 2px 6px #00000059}.cam-rewind-indicator.is-live{color:#6fe57a}.cam-rewind-indicator.is-rewound{color:#ffb44a}.cam-time-jump{align-items:center;gap:4px;margin-left:6px;display:flex}.cam-time-jump-input{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-family:var(--font-ui);letter-spacing:.5px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#080e14c7;border:1px solid #ffffff2e;border-radius:3px;padding:4px 6px;font-size:10px;font-weight:600;line-height:1;box-shadow:0 2px 6px #00000059}.cam-time-jump-input:focus{border-color:#fff6;outline:none}.cam-time-jump-go{background:var(--orange);color:#fff;border-color:#fff6}.cam-time-jump-go:hover{background:#f3873d;border-color:#fff9}.cam-time-jump-error{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:var(--font-ui);letter-spacing:1px;text-transform:uppercase;color:#ff8a8a;white-space:nowrap;background:#0f1b228c;border:1px solid #ff8a8a59;border-radius:3px;padding:5px 9px;font-size:9px;font-weight:700}.cam-frame iframe{pointer-events:none;border:0;width:max(100vw,177.778vh);height:max(56.25vw,100vh);transition:left .25s;display:block;position:absolute;bottom:0;left:0}.cam-frame.dragging iframe{transition:none}.cam-binoculars{z-index:4;cursor:none;position:absolute;inset:0}.cam-binoculars svg{width:100%;height:100%;display:block}.gate-demo-dropdown-wrap{align-items:center;gap:8px;margin-left:auto;padding-right:4px;display:flex}.gate-demo-dropdown-label{font-family:var(--font-ui);letter-spacing:1.2px;text-transform:uppercase;color:#ffffff73;-webkit-user-select:none;user-select:none;font-size:9px;font-weight:700}.gate-demo-dropdown{appearance:none;color:var(--text-bright);font-family:var(--font-ui);letter-spacing:.4px;cursor:pointer;background:#00000059 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 8 5' fill='none'><path d='M1 1 L4 4 L7 1' stroke='%23ffffff' stroke-opacity='0.6' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'/></svg>") right 8px center no-repeat;border:1px solid #ffffff2e;border-radius:3px;outline:none;padding:4px 22px 4px 10px;font-size:10px;font-weight:600;transition:border-color .12s,background-color .12s}.gate-demo-dropdown:hover{background-color:#00000080;border-color:#ffffff52}.gate-demo-dropdown:focus-visible{border-color:#ffffff73}.gate-demo-dropdown option{color:var(--text-bright);background:#1a1a1a}.cam-hackysack{z-index:4;pointer-events:none;cursor:none;-webkit-user-select:none;user-select:none;background:0 0;transition:background .7s;position:absolute;inset:0;overflow:hidden}.cam-hackysack.phase-thumbnail,.cam-hackysack.phase-intro{pointer-events:auto;cursor:pointer;background:#000}.hackysack-thumbnail-text{font-family:var(--font-ui);letter-spacing:1.5px;text-transform:uppercase;color:#fff;pointer-events:none;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex;position:absolute;inset:0}.cam-hackysack.phase-locked{pointer-events:auto;cursor:auto;background:#000000f2}.hackysack-intro-text{text-align:center;font-family:var(--font-ui);letter-spacing:1.5px;text-transform:uppercase;color:#fff;justify-content:center;align-items:center;padding:0 48px;font-size:11px;font-weight:600;line-height:1.35;display:flex;position:absolute;inset:0}.hackysack-countdown-num{font-family:var(--font-numeric);letter-spacing:-4px;color:#fff;text-shadow:0 0 30px #e74c3cb3,0 4px 20px #0009;pointer-events:none;justify-content:center;align-items:center;font-size:160px;font-weight:900;line-height:1;animation:.25s ease-out hackysack-pop;display:flex;position:absolute;inset:0}@keyframes hackysack-pop{0%{opacity:0;transform:scale(1.4)}to{opacity:1;transform:scale(1)}}.cam-hackysack~.cam-toggles,.cam-hackysack~.cam-rewind{cursor:pointer}.cam-frame:has(.cam-hackysack){cursor:none}:is(.cam-frame:has(.cam-hackysack.phase-thumbnail),.cam-frame:has(.cam-hackysack.phase-intro)){cursor:pointer}.cam-frame:has(.cam-hackysack.phase-locked){cursor:auto}.hackysack-ball{filter:drop-shadow(0 3px 6px #0000008c);z-index:2;background-image:url(/hackysack.png);background-position:50%;background-repeat:no-repeat;background-size:contain;width:32px;height:32px;margin-top:-16px;margin-left:-16px;position:absolute}.hackysack-knee{-webkit-user-select:none;user-select:none;filter:drop-shadow(0 2px 4px #0009);margin-top:-28px;margin-left:-28px;font-size:56px;line-height:1;position:absolute}.hackysack-powerup{-webkit-user-select:none;user-select:none;pointer-events:none;filter:drop-shadow(0 0 8px #ffc83cb3)drop-shadow(0 2px 4px #0009);margin-top:-16px;margin-left:-16px;font-size:30px;line-height:1;animation:1.2s ease-in-out infinite hackysack-powerup-pulse;position:absolute}@keyframes hackysack-powerup-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.hackysack-counter{z-index:7;font-family:var(--font-numeric);color:#fff;letter-spacing:.5px;text-shadow:0 1px 3px #000c,0 0 8px #0006;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:17px;font-weight:400;position:absolute;top:14px;left:50%;transform:translate(-50%)}.hackysack-misses{font-family:var(--font-ui);letter-spacing:1.5px;text-transform:uppercase;color:#ffffffe6;text-shadow:0 1px 3px #000000b3;align-items:center;gap:8px;font-size:9px;font-weight:700;display:flex;position:absolute;top:12px;right:60px}.hackysack-life{background:#ffffff26;border:1px solid #ffffff40;border-radius:50%;width:10px;height:10px;display:inline-block}.hackysack-life.active{background:#e74c3c;border-color:#e74c3c;box-shadow:0 0 6px #e74c3c99}.hackysack-gameover{color:#fff;font-family:var(--font-ui);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:0 24px;display:flex;position:absolute;inset:0}.hackysack-gameover-title{letter-spacing:0;font-size:22px;font-weight:700}.hackysack-gameover-sub{color:var(--text-muted);letter-spacing:.3px;font-size:12px}.hackysack-gameover-cta{color:#fff;letter-spacing:.3px;margin-top:2px;font-size:14px;font-weight:600}.hackysack-gameover-or{color:var(--text-dim);letter-spacing:1.5px;text-transform:uppercase;margin-top:18px;font-size:11px;font-weight:500}.hackysack-countdown{font-family:var(--font-numeric);letter-spacing:0;color:var(--orange);margin-top:6px;font-size:20px;font-weight:500}.cam-birdhunt{z-index:4;pointer-events:none;cursor:none;background:0 0;transition:background .7s;position:absolute;inset:0;overflow:hidden}.cam-birdhunt.phase-thumbnail,.cam-birdhunt.phase-intro{pointer-events:auto;cursor:pointer;background:#000}.cam-birdhunt.phase-countdown,.cam-birdhunt.phase-playing{pointer-events:auto}.cam-birdhunt.phase-locked{pointer-events:auto;cursor:auto;background:#000000f2}.cam-frame:has(.cam-birdhunt){cursor:none}:is(.cam-frame:has(.cam-birdhunt.phase-thumbnail),.cam-frame:has(.cam-birdhunt.phase-intro)){cursor:pointer}.cam-frame:has(.cam-birdhunt.phase-locked){cursor:auto}.cam-frame:has(.cam-birdhunt.phase-won){cursor:auto}.birdhunt-thumbnail-text{font-family:var(--font-ui);letter-spacing:1.5px;text-transform:uppercase;color:#fff;pointer-events:none;justify-content:center;align-items:center;font-size:18px;font-weight:600;display:flex;position:absolute;inset:0}.birdhunt-intro-text{text-align:center;font-family:var(--font-ui);letter-spacing:.3px;color:#fff;pointer-events:none;justify-content:center;align-items:center;padding:0 48px;font-size:22px;font-weight:600;line-height:1.35;display:flex;position:absolute;inset:0}.birdhunt-countdown-num{font-family:var(--font-numeric);letter-spacing:-4px;color:#fff;text-shadow:0 0 30px #e74c3cb3,0 4px 20px #0009;pointer-events:none;justify-content:center;align-items:center;font-size:160px;font-weight:900;line-height:1;animation:.25s ease-out hackysack-pop;display:flex;position:absolute;inset:0}.birdhunt-bird{-webkit-user-select:none;user-select:none;pointer-events:none;filter:drop-shadow(0 2px 4px #0000008c);will-change:transform, left, top;font-size:30px;line-height:1;position:absolute}.birdhunt-scope{pointer-events:none;filter:drop-shadow(0 0 6px #e74c3c66);margin-top:-30px;margin-left:-30px;position:absolute}.birdhunt-hud{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:var(--font-ui);letter-spacing:1px;color:#fff;pointer-events:none;white-space:nowrap;background:#0009;border:1px solid #ffffff1a;border-radius:4px;align-items:center;gap:10px;padding:8px 16px;font-size:11px;font-weight:700;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.birdhunt-hud-label{color:var(--text-dim);text-transform:uppercase}.birdhunt-hud-emoji{font-size:18px}.birdhunt-hud-name{text-transform:uppercase;color:var(--text-bright)}.birdhunt-hud-sep{color:#ffffff40;font-weight:400}.birdhunt-hud-score{font-family:var(--font-numeric);color:var(--text-bright);font-size:13px}.birdhunt-hud-timer{font-family:var(--font-numeric);color:#e74c3c;text-shadow:0 0 6px #e74c3c99;font-size:13px}.cam-toggles{z-index:5;opacity:0;gap:6px;transition:opacity .2s;display:flex;position:absolute;top:8px;right:8px}.viewer-body:hover .cam-toggles{opacity:1}.cam-toggle{-webkit-backdrop-filter:blur(8px);color:var(--text-bright);cursor:pointer;background:#0f1b228c;border:1px solid #ffffff1a;border-radius:3px;justify-content:center;align-items:center;padding:6px;line-height:0;transition:background .2s,color .2s,border-color .2s;display:flex}.cam-toggle:hover{background:#0f1b22d9;border-color:#ffffff2e}.cam-toggle.active{background:var(--teal);color:var(--teal-on);border-color:var(--teal)}.cam-stats-overlay{z-index:3;pointer-events:none;flex-direction:row;align-items:baseline;gap:20px;display:flex;position:absolute;top:16px;left:auto;right:80px}.cam-stat{white-space:nowrap;flex-direction:row;align-items:baseline;gap:6px;display:flex}.cam-stat-label{font-family:var(--font-ui);color:#ffffffbf;letter-spacing:1.4px;text-transform:uppercase;text-shadow:0 1px 2px #000000bf,0 0 8px #00000073;font-size:11px;font-weight:600;line-height:1}.cam-stat-value-row{align-items:baseline;gap:3px;display:flex}.cam-stat-value{font-family:var(--font-numeric);color:#fff;letter-spacing:-.1px;font-variant-numeric:tabular-nums;text-shadow:0 1px 3px #000000bf,0 0 10px #0006;font-size:15px;font-weight:600;line-height:1}.cam-stat-unit{font-family:var(--font-ui);color:#ffffffd9;letter-spacing:.8px;text-transform:uppercase;text-shadow:0 1px 3px #000000bf;font-size:10px;font-weight:600}.cam-stat-trail{font-family:var(--font-ui);color:#ffffffb3;letter-spacing:1px;text-transform:uppercase;text-shadow:0 1px 2px #000000bf;margin-left:3px;font-size:10px;font-weight:600}.cam-tide-arrow{letter-spacing:0;font-size:10px}.cam-tide-arrow.rising{color:var(--tide-rising)}.cam-tide-arrow.falling{color:var(--tide-falling)}.cam-llantera{--tv-left:68%;--tv-top:3%;--tv-width:34%;--tv-height:34%;--tv-rotate-y:-16deg;--tv-rotate-z:-7deg;background:#1a1a1a}.cam-llantera-scene{z-index:2;pointer-events:none;background-image:url(/llantera3.png);background-position:50% 0;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.cam-frame.cam-llantera iframe.cam-llantera-tv{left:var(--tv-left);top:var(--tv-top);width:var(--tv-width);height:var(--tv-height);pointer-events:none;z-index:1;transform:perspective(900px) rotateY(var(--tv-rotate-y)) rotateZ(var(--tv-rotate-z));transform-origin:50%;border:0;display:block;position:absolute;bottom:auto}.cam-llantera-tv-button{left:calc(var(--tv-left) + var(--tv-width) * .22);top:calc(var(--tv-top) + var(--tv-height) * .15);width:calc(var(--tv-width) * .56);height:calc(var(--tv-height) * .7);z-index:3;cursor:pointer;transform:perspective(900px) rotateY(var(--tv-rotate-y)) rotateZ(var(--tv-rotate-z));transform-origin:50%;background:0 0;border:0;outline:0;padding:0;position:absolute}.cam-llantera-tv-button:hover,.cam-llantera-tv-button:focus,.cam-llantera-tv-button:focus-visible{outline:0}.cam-llantera-cta{z-index:6;cursor:pointer;font-family:var(--font-ui);color:#fff;letter-spacing:.2px;text-shadow:0 1px 2px #000000d9;background:0 0;border:0;padding:0;font-size:12px;font-weight:500;transition:opacity .15s;position:absolute;bottom:14px;left:16px}.cam-llantera-cta:hover{opacity:.8}.cam-llantera-cta:focus-visible{outline-offset:3px;border-radius:2px;outline:2px solid #fff9}.auth-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000c7;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.auth-modal{width:260px;max-width:100%;color:var(--text-bright);font-family:var(--font-ui);background:#0a0a0a;border:1px solid #ffffff14;border-radius:6px;padding:22px 20px 18px;position:relative}.auth-modal-close{width:22px;height:22px;color:var(--text-dim);cursor:pointer;background:0 0;border:0;font-size:18px;line-height:1;transition:color .15s;position:absolute;top:4px;right:8px}.auth-modal-close:hover{color:var(--text-bright)}.auth-modal-title{letter-spacing:.2px;margin:0 0 14px;font-size:14px;font-weight:600}.auth-form{flex-direction:column;gap:8px;display:flex}.auth-form input{color:var(--text-bright);background:#050505;border:1px solid #ffffff1a;border-radius:4px;outline:none;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color .15s}.auth-form input::placeholder{color:#ffffff4d}.auth-form input:focus{border-color:#fff6}.auth-submit{color:var(--text-bright);letter-spacing:.3px;cursor:pointer;background:#262626;border:1px solid #ffffff1f;border-radius:4px;margin-top:4px;padding:8px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:background .15s,border-color .15s}.auth-submit:hover{background:#333;border-color:#ffffff38}.auth-create-link{width:100%;color:var(--text-dim);letter-spacing:.2px;text-align:center;cursor:pointer;background:0 0;border:0;margin-top:12px;padding:4px 0;font-family:inherit;font-size:11px;transition:color .15s;display:block}.auth-create-link:hover{color:var(--text-bright)}.cam-seagull{z-index:4;cursor:pointer;pointer-events:auto;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.cam-seagull-svg{filter:drop-shadow(0 14px 32px #0000008c)drop-shadow(0 4px 8px #00000059);transform-origin:50% 70%;width:70%;height:100%;max-height:95%;animation:4.5s ease-in-out infinite cam-seagull-idle}@keyframes cam-seagull-idle{0%,to{transform:translateY(0)rotate(-1deg)}25%{transform:translateY(-5px)rotate(.5deg)}50%{transform:translateY(-7px)rotate(1deg)}75%{transform:translateY(-3px)rotate(-.5deg)}}.cam-seagull-eye{transform-origin:50%;animation:5.2s ease-in-out infinite cam-seagull-blink}.cam-seagull-eye:nth-of-type(2){animation-delay:40ms}@keyframes cam-seagull-blink{0%,92%,to{transform:scaleY(1)}95%,97%{transform:scaleY(.08)}}.cam-seagull.phase-startled .cam-seagull-svg{animation:.38s cubic-bezier(.4,0,.2,1) cam-seagull-startle}@keyframes cam-seagull-startle{0%{transform:translateY(0)rotate(0)scale(1)}18%{transform:translateY(-16px)rotate(-9deg)scale(1.05)}42%{transform:translateY(4px)rotate(5deg)scale(.99)}68%{transform:translateY(-4px)rotate(-3deg)scale(1.02)}to{transform:translateY(0)rotate(0)scale(1)}}.cam-seagull.phase-flying{pointer-events:none}.cam-seagull.phase-flying .cam-seagull-svg{animation:1.2s cubic-bezier(.5,0,.7,1) forwards cam-seagull-fly}@keyframes cam-seagull-fly{0%{opacity:1;transform:translate(0)rotate(0)scale(1)}20%{opacity:1;transform:translate(-30px,-50px)rotate(-12deg)scale(1.02)}to{opacity:0;transform:translate(-120%,-200%)rotate(-32deg)scale(.25)}}.cam-seagull-hint{color:#fff;font-family:var(--font-ui);letter-spacing:1.2px;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;text-shadow:0 1px 2px #00000080;background:#000000a6;border-radius:999px;padding:7px 13px;font-size:11px;font-weight:600;animation:2.4s ease-in-out infinite cam-seagull-hint-pulse;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}@keyframes cam-seagull-hint-pulse{0%,to{opacity:.85}50%{opacity:1}}.cam-seagull.phase-flying .cam-seagull-hint{opacity:0;transition:opacity .3s;animation:none}.match-card{background:var(--bg-card);max-width:700px;font-family:var(--font-ui);color:var(--text-bright);border-radius:14px;margin-top:14px;padding:0 0 24px}.match-card-header{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.match-card-title-row{align-items:baseline;gap:10px;display:flex}.match-card-title{font-family:var(--font-display);letter-spacing:1.5px;color:var(--text-bright);font-size:22px;font-weight:400;line-height:1}.match-card-sub{letter-spacing:.4px;color:var(--text-dim);font-size:11px;font-weight:500}.match-legend{letter-spacing:.2px;color:var(--text-dim);white-space:nowrap;flex-wrap:nowrap;gap:10px;font-size:10px;font-weight:500;display:flex}.match-legend-item{align-items:center;gap:5px;display:inline-flex}.match-legend-swatch{background:#ffffff04;border-radius:2px;width:14px;height:12px;display:inline-block;position:relative}.match-legend-swatch-ideal{background:var(--rating-good);opacity:.95}.match-legend-swatch-tolerance{background-image:radial-gradient(circle, var(--rating-good) .9px, transparent 1.3px);background-size:3px 3px}.match-legend-swatch-miss:before{content:"";background:var(--text-dim);opacity:.45;height:1px;position:absolute;top:50%;left:0;right:0}.match-rows{flex-direction:column;gap:22px;padding-right:8px;display:flex}.match-row{grid-template-columns:120px minmax(0,1fr);align-items:center;gap:8px;display:grid}.match-row-head{flex-direction:column;gap:2px;padding-left:12px;display:flex}.match-row-label{letter-spacing:.2px;color:var(--text-bright);font-size:13px;font-weight:700;line-height:1.1}.match-row-rule{letter-spacing:.2px;color:var(--text-dim);font-size:11px;font-weight:500;line-height:1.2}.match-row-bar{background:#ffffff04;border-radius:4px;align-items:center;gap:1px;height:32px;display:flex}.match-row-bar .match-cell:first-child:before{border-top-left-radius:4px;border-bottom-left-radius:4px}.match-row-bar .match-cell:last-child:before{border-top-right-radius:4px;border-bottom-right-radius:4px}.match-cell{flex:1 1 0;align-self:stretch;position:relative}.match-cell:after{content:attr(data-hour);background:var(--bg-sidebar);color:var(--text-bright);font-family:var(--font-ui);letter-spacing:.3px;white-space:nowrap;pointer-events:none;opacity:0;z-index:10;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:600;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.match-cell:hover{z-index:11}.match-cell:hover:after{opacity:1}.match-cell-ideal:before{content:"";background:var(--rating-good);opacity:.95;position:absolute;inset:0}.match-cell-tolerance:before{content:"";background-image:radial-gradient(circle, var(--rating-good) .9px, transparent 1.3px);opacity:.85;background-position:0 0;background-size:3px 3px;position:absolute;inset:0}.match-cell-miss:before{content:"";background:var(--text-dim);opacity:.22;height:1px;position:absolute;top:50%;left:0;right:0}.match-axis-ticks{letter-spacing:.4px;color:var(--text-dim);justify-content:space-between;padding:0 1px;font-size:10px;font-weight:500;display:flex}.match-best-row{grid-template-columns:120px minmax(0,1fr);align-items:center;gap:8px;margin-top:6px;display:grid}.match-best{flex-direction:column;align-items:flex-start;gap:1px;padding-left:12px;display:flex}.match-best-label{letter-spacing:1.2px;text-transform:uppercase;color:var(--text-muted);font-size:9.5px;font-weight:700;line-height:1.2}.match-best-label-miss{color:var(--rating-poor-to-fair)}.match-best-value{font-family:var(--font-ui);letter-spacing:.1px;color:var(--rating-good);font-size:13px;font-weight:700;line-height:1.1}.match-main-row{grid-template-columns:180px minmax(0,1fr);align-items:stretch;gap:18px;display:grid}.match-right-col{flex-direction:column;gap:14px;min-height:0;display:flex}.swell-angle-map{flex-direction:column;gap:10px;min-width:0;display:flex}.match-top-strip{justify-content:space-between;align-items:flex-end;gap:16px;padding:26px 22px 22px;display:flex}.match-swell-header{flex-direction:column;gap:1px;display:flex}.match-swell-label{letter-spacing:.2px;color:var(--text-bright);font-size:13px;font-weight:700}.match-swell-rule{letter-spacing:.2px;color:var(--text-dim);font-size:11px;font-weight:500}.swell-angle-map-label{letter-spacing:.2px;color:var(--text-bright);font-size:13px;font-weight:700}.swell-angle-map-rule{letter-spacing:.2px;color:var(--text-dim);font-size:11px;font-weight:500}.swell-angle-map-frame{aspect-ratio:130/200;background:#0c1822;border-radius:8px;width:100%;position:relative;overflow:hidden}.swell-angle-map-img{object-position:30% center;object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.swell-angle-map-placeholder{color:var(--text-dim);letter-spacing:1.5px;text-transform:uppercase;opacity:.55;background:radial-gradient(circle,#ea00340f,#0000 70%),linear-gradient(#0e1a23 0%,#08121a 100%);justify-content:center;align-items:center;font-size:10px;font-weight:600;display:flex;position:absolute;inset:0}.swell-angle-map-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.swell-angle-tooltip{font-family:var(--font-ui);letter-spacing:.3px;color:var(--text-bright);pointer-events:none;z-index:10;background:#08121aeb;border-left:3px solid #0000;border-radius:4px;align-items:baseline;gap:8px;padding:6px 10px;font-size:11px;font-weight:600;display:flex;position:absolute;bottom:10px;left:10px}.swell-angle-tooltip-exposure{border-left-color:#ffffff80}.swell-angle-tooltip-primary{border-left-color:var(--swell-primary)}.swell-angle-tooltip-secondary{border-left-color:var(--swell-secondary)}.swell-angle-tooltip-label{color:var(--text-bright)}.swell-angle-tooltip-range{font-family:var(--font-numeric);color:var(--text-muted);letter-spacing:.4px;font-weight:700}.swell-wedge{stroke:none;pointer-events:auto;cursor:default}.swell-wedge-exposure{fill:#fff;opacity:.22}.swell-wedge-primary{fill:var(--swell-primary);opacity:.72}.swell-wedge-secondary{fill:var(--swell-secondary);opacity:.72}.swell-compass-tick{font-family:var(--font-ui);letter-spacing:.6px;fill:var(--text-dim);font-size:9px;font-weight:700}.swell-deg-label{font-family:var(--font-numeric);fill:var(--text-bright);opacity:.85;font-size:8px;font-weight:700}.swell-spot-dot{fill:var(--text-bright);stroke:var(--bg-sidebar);stroke-width:1.2px}.swell-angle-spot-ring{pointer-events:none;background:0 0;border:1.5px solid #e8eef580;border-radius:50%;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%)}.swell-sp-plot{flex-direction:column;gap:10px;min-width:0;display:flex}.swell-sp-header{flex-direction:column;gap:2px;display:flex}.swell-sp-label{letter-spacing:1.4px;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.swell-sp-rule{letter-spacing:.2px;color:var(--text-dim);font-size:10.5px;font-weight:500}.swell-sp-frame{aspect-ratio:1;background:#0c1822;border-radius:8px;width:100%;position:relative;overflow:hidden}.swell-sp-svg{width:100%;height:100%;position:absolute;inset:0}.swell-sp-bg{fill:#ffffff04}.swell-sp-grid{stroke:#ffffff0d;stroke-width:.5px}.swell-sp-zone{stroke:none}.swell-sp-zone-tolerance{fill:var(--rating-good);opacity:.14}.swell-sp-zone-ideal{fill:var(--rating-good);opacity:.32}.swell-sp-point{fill:var(--rating-good);opacity:.78}.swell-sp-tick{font-family:var(--font-numeric);fill:var(--text-dim);font-size:8px;font-weight:600}
