:root{color-scheme:dark;--navy:#071b27;--navy-2:#0b2634;--panel:#0f2b39;--panel-2:#123442;--line:rgba(201,231,230,.12);--muted:#91a8ad;--text:#f2f7f4;--mint:#70e0c0;--lime:#d8ee7c;--sand:#efd08c;--coral:#f28c66;--danger:#f17a72;--shadow:0 22px 60px rgba(0,0,0,.35);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(ellipse at 72% -20%,rgba(56,131,125,.2),transparent 45%),var(--navy);color:var(--text)}button,input,select{font:inherit}button{cursor:pointer}.topbar{height:72px;padding:0 clamp(18px,4vw,64px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(5,22,32,.86);position:relative;z-index:500}.brand{display:flex;align-items:center;gap:13px;color:var(--text);text-decoration:none}.brand-mark{font-size:20px;font-weight:850;letter-spacing:-2px;color:var(--mint);border:1px solid rgba(112,224,192,.42);height:36px;min-width:43px;border-radius:11px;display:grid;place-items:center}.brand-mark span{color:var(--lime)}.brand-name{font-size:11px;letter-spacing:1.55px;color:#bbcdce}.brand-name b{font-weight:850;color:#fff}.topbar-center{display:flex;align-items:center;gap:8px;color:#a9bdbd;font-size:12px}.live-dot,.map-live i{width:7px;height:7px;background:#7ee1b5;border-radius:50%;display:inline-block;box-shadow:0 0 12px rgba(126,225,181,.75)}.topbar-separator{color:#526a70}.button{border:0;border-radius:11px;padding:11px 15px;font-weight:720;font-size:13px;transition:transform .16s ease,background .16s ease,color .16s ease}.button:hover{transform:translateY(-1px)}.button-light{background:rgba(112,224,192,.12);color:#c5f5e4;border:1px solid rgba(112,224,192,.26)}.button-light:hover{background:rgba(112,224,192,.2)}.button-primary{background:var(--mint);color:#08212c}.button-primary:hover{background:#9cebd1}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.hero-strip{min-height:162px;padding:29px clamp(18px,4vw,64px) 27px;display:flex;align-items:center;justify-content:space-between;gap:25px}.eyebrow{font-size:9px;font-weight:800;letter-spacing:1.8px;color:var(--mint);margin:0 0 8px}.hero-strip h1{font-size:clamp(27px,3.1vw,40px);letter-spacing:-1.8px;margin:0;line-height:1.06}.hero-copy{font-size:13px;color:#9fb3b5;margin:8px 0 0}.hero-stats{display:flex;gap:clamp(22px,4vw,58px);align-items:center}.stat{display:flex;flex-direction:column;gap:8px;min-width:96px}.stat-label{font-size:9px;letter-spacing:1.1px;font-weight:760;color:#81999d}.stat strong{font-size:22px;letter-spacing:-.6px;font-weight:720}.dashboard{margin:0 clamp(12px,2.8vw,42px);display:grid;grid-template-columns:minmax(280px,350px) 1fr;min-height:660px;max-height:calc(100vh - 260px);border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--panel);box-shadow:var(--shadow)}.sidebar{display:flex;flex-direction:column;border-right:1px solid var(--line);min-height:0;background:linear-gradient(155deg,rgba(13,46,59,.99),rgba(9,31,43,.99))}.sidebar-heading{padding:22px 21px 16px;display:flex;justify-content:space-between;align-items:flex-end}.sidebar-heading h2{font-size:19px;margin:0;letter-spacing:-.5px}.freshness{font-size:10px;font-weight:750;letter-spacing:.4px;padding:5px 8px;border-radius:20px;color:#c6d4d2;background:rgba(142,169,169,.12)}.freshness.is-fresh{color:#8ce2bd;background:rgba(112,224,192,.12)}.freshness.is-delayed{color:#f0d083;background:rgba(239,208,140,.12)}.freshness.is-stale{color:#f19b89;background:rgba(242,140,102,.12)}.filter-label{font-size:9px;font-weight:800;letter-spacing:1.3px;color:#91a8ad;margin:0 21px 7px}.select-control,.form-stack select,.form-stack input{background:#0b2230;border:1px solid rgba(191,220,218,.14);color:var(--text);border-radius:9px;outline:0}.select-control{height:38px;margin:0 21px 15px;padding:0 11px;font-size:12px}.select-control:focus,.form-stack select:focus,.form-stack input:focus{border-color:rgba(112,224,192,.65);box-shadow:0 0 0 3px rgba(112,224,192,.1)}.list-header{display:flex;justify-content:space-between;padding:10px 21px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#718b91;font-size:8px;font-weight:800;letter-spacing:1.2px}.station-list{overflow:auto;min-height:80px;flex:1}.loading-card{padding:22px;color:#9db0b3;font-size:12px;text-align:center}.error-card{color:#f6a196}.station-row{width:100%;display:grid;grid-template-columns:8px 1fr auto;gap:10px;align-items:center;text-align:left;padding:12px 21px;background:transparent;border:0;border-bottom:1px solid rgba(201,231,230,.06);color:var(--text);transition:background .15s ease}.station-row:hover,.station-row:focus-visible{outline:none;background:rgba(112,224,192,.075)}.station-status{height:7px;width:7px;border-radius:50%;background:#74878a}.station-status.fresh{background:#76d4aa;box-shadow:0 0 8px rgba(118,212,170,.4)}.station-status.delayed{background:#e7c675}.station-status.stale{background:#e78772}.station-info,.station-reading{display:flex;flex-direction:column;gap:4px;min-width:0}.station-info strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:670}.station-info small,.station-reading small{font-size:9px;color:#789196}.station-reading{text-align:right;min-width:49px}.station-reading b{font-size:12px;font-weight:750}.legend{padding:14px 21px 17px;border-top:1px solid var(--line)}.legend-title{font-size:8px;color:#8ba1a5;letter-spacing:1.1px;font-weight:800}.legend-scale{display:flex;gap:3px;margin:10px 0 5px}.legend-scale i{height:5px;flex:1;border-radius:3px}.legend-scale .calm{background:#4ac7bb}.legend-scale .small{background:#a1d66b}.legend-scale .medium{background:#f1c45c}.legend-scale .large{background:#f19059}.legend-scale .rough{background:#ef706b}.legend-labels{display:flex;justify-content:space-between;color:#718b91;font-size:8px}.map-column{min-width:0;display:flex;flex-direction:column;background:#d5e1dc}.map-toolbar{height:47px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 15px;background:#0c2936;border-bottom:1px solid var(--line)}.map-live{font-size:9px;font-weight:850;letter-spacing:1.1px;color:#bbefda}.map-live i{margin-right:7px;width:6px;height:6px}.map-count{font-size:10px;color:#829ba0;margin-left:12px}.icon-button{height:30px;width:30px;border:1px solid rgba(191,220,218,.15);border-radius:8px;background:rgba(255,255,255,.04);color:#b6cdca;font-size:20px;line-height:1}.icon-button:hover{background:rgba(112,224,192,.16);color:#fff}.map-column #map{flex:1;min-height:490px;background:#c9d8d7;z-index:1}.map-footer{height:31px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:#0c2936;color:#829ba0;font-size:9px}.map-footer a{color:#9cb5b5}.data-note{margin:14px clamp(17px,3vw,44px) 28px;display:flex;gap:9px;align-items:flex-start;color:#80999d;font-size:10px;line-height:1.55}.data-note p{margin:0;max-width:950px}.note-icon{height:16px;min-width:16px;border:1px solid #56757b;color:#8fa8aa;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:800}.leaflet-container{font-family:inherit}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#0e2c39;color:#edf5f1;box-shadow:0 9px 30px rgba(3,18,26,.35)}.leaflet-popup-content-wrapper{border:1px solid rgba(168,217,207,.17);border-radius:14px}.leaflet-popup-content{margin:0!important;width:300px!important}.leaflet-popup-close-button{color:#afc7c6!important;top:11px!important;right:10px!important}.leaflet-tooltip{background:#0b2734;color:#f2f8f5;border:1px solid rgba(112,224,192,.3);border-radius:8px;padding:8px 10px;box-shadow:0 6px 20px rgba(0,0,0,.24);font-size:10px;line-height:1.5}.leaflet-tooltip:before{border-top-color:#0b2734}.buoy-popup{padding:15px}.popup-head{display:flex;justify-content:space-between;gap:10px;padding-right:10px}.popup-region{display:block;color:#7bd9bd;text-transform:uppercase;font-size:8px;letter-spacing:1.2px;font-weight:800;margin-bottom:4px}.popup-head h3{font-size:15px;line-height:1.2;margin:0 0 3px;letter-spacing:-.3px}.popup-id{font-size:9px;color:#829da1}.popup-badge{height:fit-content;white-space:nowrap;font-size:8px;font-weight:750;color:#8ce0ba;background:rgba(112,224,192,.12);border-radius:20px;padding:5px 7px}.popup-badge.stale{color:#f4a38f;background:rgba(242,140,102,.12)}.popup-wave{margin:14px 0 11px;padding:11px 12px;background:rgba(255,255,255,.04);border:1px solid rgba(189,223,216,.1);border-radius:10px;display:grid;grid-template-columns:auto 1fr;align-items:end;column-gap:9px}.popup-wave>strong{font-size:26px;letter-spacing:-1px;line-height:1}.popup-wave>span{font-size:9px;color:#9aafb0;padding-bottom:3px}.popup-period{grid-column:1/3;margin-top:8px;color:#75dfbd;font-weight:750;font-size:15px}.popup-period small{font-size:9px;color:#91a8ad;font-weight:500;margin-left:4px}.popup-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 8px}.popup-grid div{display:flex;flex-direction:column;gap:3px}.popup-grid span{font-size:8px;letter-spacing:1px;color:#79959a;font-weight:800}.popup-grid b{font-size:10px;font-weight:650;color:#e0ece8}.popup-time{border-top:1px solid var(--line);margin-top:11px;padding-top:8px;color:#90a8aa;font-size:8px}.forecast-box{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.forecast-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.forecast-title strong{font-size:10px}.forecast-title span{font-size:8px;color:#7ad6b8;background:rgba(112,224,192,.09);padding:3px 6px;border-radius:20px}.forecast-row{display:grid;grid-template-columns:1fr .8fr .7fr .9fr;gap:5px;align-items:center;padding:6px 0;border-top:1px solid rgba(201,231,230,.06);font-size:8px;color:#b8cbc8}.forecast-row b{font-size:9px;color:#f1f6f3}.forecast-columns{border-top:0;color:#708c91;font-size:7px;letter-spacing:.7px;font-weight:800}.forecast-source{display:block;color:#768f93;font-size:7px;margin-top:6px}.alert-dialog{width:min(480px,calc(100vw - 28px));max-height:min(88vh,780px);padding:0;border:1px solid rgba(177,218,211,.18);border-radius:18px;color:var(--text);background:linear-gradient(155deg,#103140,#091e2a);box-shadow:0 30px 100px rgba(0,0,0,.55)}.alert-dialog::backdrop{background:rgba(2,12,18,.7);backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;padding:21px 23px 15px;border-bottom:1px solid var(--line)}.dialog-head h2{font-size:22px;letter-spacing:-.6px;margin:0}.close-button{border:0;background:transparent;color:#9ab1b2;font-size:27px;line-height:1;padding:0 0 0 12px}.close-button:hover{color:#fff}.dialog-content{padding:18px 23px 22px}.dialog-intro{font-size:12px;color:#9db3b4;line-height:1.6;margin:0 0 17px}.auth-tabs{display:flex;border-bottom:1px solid var(--line);gap:18px;margin-bottom:16px}.auth-tab{border:0;border-bottom:2px solid transparent;background:transparent;color:#879fa3;padding:0 0 9px;font-size:11px;font-weight:700}.auth-tab.active{color:#c7f2df;border-color:var(--mint)}.form-stack{display:flex;flex-direction:column;gap:12px}.form-stack label{display:flex;flex-direction:column;gap:6px;color:#a9bdbc;font-size:10px;font-weight:700}.form-stack input,.form-stack select{height:39px;padding:0 11px;font-size:12px;font-weight:500}.form-stack input[type=number]{appearance:textfield}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field-hint{font-size:10px;line-height:1.5;color:#81999d}.hidden{display:none!important}.form-stack .button{margin-top:2px;height:41px}.dialog-message{min-height:16px;font-size:10px;line-height:1.5;color:#a5e4c7;margin:13px 0 0}.account-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.account-row>div{display:flex;flex-direction:column;gap:4px;min-width:0}.account-row strong{font-size:12px;word-break:break-word}.text-button{color:#8bdcc0;background:transparent;border:0;font-size:10px;font-weight:700;padding:7px}.notice{font-size:10px;line-height:1.5;border-radius:9px;padding:9px 10px;margin:10px 0}.notice-warning{background:rgba(241,196,92,.09);border:1px solid rgba(241,196,92,.18);color:#e8cf92}.notice-info{background:rgba(112,224,192,.08);border:1px solid rgba(112,224,192,.17);color:#a8ddca}.alert-form{padding:14px 0 18px;border-bottom:1px solid var(--line)}.saved-alerts h3{font-size:12px;margin:16px 0 7px}.rules-list{display:flex;flex-direction:column}.rule-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-top:1px solid rgba(201,231,230,.07)}.rule-row>div{display:flex;flex-direction:column;gap:4px}.rule-row strong{font-size:10px}.rule-row small{font-size:9px;color:#829b9d}.rule-remove{height:24px;width:25px;border:0;border-radius:7px;color:#df9384;background:rgba(242,140,102,.09);font-size:18px;line-height:1}.toast{position:fixed;z-index:1000;left:50%;bottom:25px;transform:translate(-50%,20px);opacity:0;pointer-events:none;padding:11px 15px;background:#d5f5e6;color:#103526;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.3);font-size:11px;font-weight:750;transition:.2s ease}.toast.visible{opacity:1;transform:translate(-50%,0)}.toast.error{background:#f6d0c9;color:#4c211e}
@media(max-width:900px){.hero-strip{align-items:flex-start;flex-direction:column;padding-top:22px;padding-bottom:20px}.hero-stats{width:100%;justify-content:space-between;gap:10px}.dashboard{grid-template-columns:minmax(250px,310px) 1fr;min-height:600px;max-height:calc(100vh - 300px)}.map-column #map{min-height:400px}}
@media(max-width:640px){.topbar{height:61px;padding:0 14px}.brand{gap:8px}.brand-mark{height:32px;min-width:38px;font-size:17px}.brand-name{font-size:9px;letter-spacing:1px}.topbar-center{display:none}.button-light{padding:9px 11px;font-size:11px}.hero-strip{padding:21px 17px 19px;gap:18px}.hero-strip h1{font-size:30px}.hero-copy{font-size:11px}.hero-stats{gap:6px}.stat{min-width:0;gap:5px}.stat-label{font-size:7px;letter-spacing:.55px}.stat strong{font-size:16px}.dashboard{margin:0 9px;display:flex;flex-direction:column;max-height:none;min-height:0;border-radius:14px}.map-column{order:0}.map-toolbar{height:41px}.map-column #map{height:49vh;min-height:340px;max-height:470px;flex:none}.map-footer{font-size:8px;height:27px}.sidebar{order:1;border-right:0;border-top:1px solid var(--line);max-height:390px}.sidebar-heading{padding:15px 15px 10px}.sidebar-heading h2{font-size:16px}.select-control{margin:0 15px 12px}.filter-label{margin-left:15px}.list-header{padding:9px 15px}.station-row{padding:10px 15px}.legend{padding:12px 15px 15px}.data-note{margin:11px 15px 22px;font-size:9px}.leaflet-popup-content{width:280px!important}.buoy-popup{padding:13px}.hero-strip .stat:nth-child(3){display:none}.hero-stats{justify-content:flex-start;gap:26px}.dialog-content{padding:16px 18px 20px}.dialog-head{padding:18px 18px 13px}}

.filter-hint{margin:-8px 21px 13px;color:#778f94;font-size:9px;line-height:1.4}.station-reading.no-wave{min-width:66px}.station-reading.no-wave b{font-size:9px;color:#9fb1b4;font-weight:650}@media(max-width:640px){.filter-hint{margin:-7px 15px 10px}}
.map-actions{display:flex;align-items:center;gap:7px}.map-pan-toggle{display:none;align-items:center;justify-content:center;height:30px;padding:0 9px;border:1px solid rgba(191,220,218,.18);border-radius:8px;background:rgba(255,255,255,.04);color:#b6cdca;font-size:9px;font-weight:700}.map-pan-toggle[aria-pressed="true"]{border-color:rgba(112,224,192,.5);background:rgba(112,224,192,.16);color:#c5f5e4}@media(pointer:coarse){.map-pan-toggle{display:inline-flex}}@media(max-width:640px){.sidebar{max-height:none}.station-list{overflow:visible;flex:0 0 auto}.map-column #map{touch-action:pan-y pinch-zoom}}

/* East Coast Surfing homepage refresh */
:root{--navy:#061923;--navy-2:#0a2532;--panel:#0d2a38;--mint:#6fe5c1;--lime:#d9ef85}
html{scroll-behavior:smooth;scroll-padding-top:86px}
.topbar{position:sticky;top:0;z-index:700;height:74px;padding:0 clamp(18px,4vw,64px);background:rgba(4,19,27,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(190,229,219,.12)}
.primary-nav,.account-actions{display:flex;align-items:center}
.primary-nav{gap:clamp(16px,2.6vw,34px);margin-left:auto;margin-right:clamp(20px,3vw,42px)}
.primary-nav a,.nav-alerts{border:0;background:transparent;color:#bfd0ce;text-decoration:none;font-size:12px;font-weight:650;transition:color .16s ease}
.primary-nav a:hover,.nav-alerts:hover{color:#fff}
.account-actions{gap:9px}
.button-quiet{padding:10px 13px;background:transparent;border:1px solid rgba(209,236,229,.2);color:#eaf3ef}
.button-quiet:hover{background:rgba(255,255,255,.07)}
.account-actions .button-primary{padding:11px 16px}
.home-hero{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;min-height:clamp(600px,calc(100svh - 74px),790px);overflow:hidden;background:#09232e url('/assets/surf-barrel-hero.webp') center 48%/cover no-repeat}
.home-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,17,26,.94) 0%,rgba(3,19,27,.77) 30%,rgba(4,21,29,.27) 64%,rgba(4,21,29,.02) 100%),linear-gradient(0deg,rgba(2,17,24,.9) 0%,rgba(2,17,24,.27) 27%,transparent 60%)}
.home-hero:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 71% 39%,rgba(115,229,202,.12),transparent 37%)}
.hero-main{width:min(100%,850px);padding:clamp(78px,9vw,130px) clamp(22px,7.2vw,112px) 76px}
.hero-status{display:inline-flex;align-items:center;gap:9px;padding:9px 13px;border:1px solid rgba(198,236,226,.18);border-radius:999px;background:rgba(3,23,31,.5);color:#def2e9;font-size:11px;font-weight:650;letter-spacing:.15px;backdrop-filter:blur(8px)}
.hero-status .live-dot{width:8px;height:8px}
.hero-kicker{margin:27px 0 14px;color:#87e6c7;font-size:10px;font-weight:850;letter-spacing:2.1px;text-transform:uppercase}
.home-hero h1{margin:0;color:#f7fbf9;font-size:clamp(53px,7vw,91px);line-height:.99;letter-spacing:-5px;font-weight:820;text-wrap:balance}
.home-hero h1 span{color:#84e6c4}
.hero-lead{max-width:570px;margin:21px 0 28px;color:#d3e1dd;font-size:clamp(15px,1.5vw,18px);line-height:1.65}
.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.hero-actions .button{min-height:49px;padding:0 19px;display:inline-flex;align-items:center;justify-content:center;gap:14px;text-decoration:none;font-size:12px}
.hero-map-button span{font-size:18px;line-height:0}
.button-hero-ghost{background:rgba(7,29,39,.42);border:1px solid rgba(225,242,236,.37);color:#f0f7f3;backdrop-filter:blur(8px)}
.button-hero-ghost:hover{background:rgba(255,255,255,.12)}
.hero-footnote{margin:23px 0 0;color:rgba(224,239,233,.72);font-size:9px;font-weight:750;letter-spacing:1.15px}
.hero-footnote span{color:#8ae4c4;padding:0 6px}
.hero-tidebar{display:grid;grid-template-columns:1.3fr repeat(3,minmax(140px,.75fr));align-items:center;gap:25px;padding:19px clamp(22px,7.2vw,112px) 22px;background:linear-gradient(90deg,rgba(2,17,24,.76),rgba(3,21,29,.34));border-top:1px solid rgba(214,241,232,.18);backdrop-filter:blur(11px)}
.network-total,.hero-metric{display:flex;flex-direction:column;gap:6px;min-width:0}
.tidebar-label{color:#a6bfba;font-size:8px;font-weight:850;letter-spacing:1.2px}
.network-total strong,.hero-metric strong{color:#f5faf7;font-size:25px;line-height:1;letter-spacing:-.6px;font-weight:760}
.network-total strong small{font-size:12px;letter-spacing:0;color:#d4e2dd;font-weight:650}
.tidebar-sub{color:#9bb3ae;font-size:9px}
.conditions-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;width:calc(100% - clamp(28px,8vw,120px));max-width:1360px;margin:58px auto 21px}
.conditions-intro .eyebrow{margin-bottom:10px}
.conditions-intro h2{margin:0;color:#f3f8f5;font-size:clamp(26px,3.4vw,40px);letter-spacing:-1.6px;line-height:1.08}
.conditions-intro p:not(.eyebrow){margin:10px 0 0;color:#91a9ab;font-size:13px;line-height:1.5}
.conditions-chip{display:flex;align-items:center;gap:9px;flex:none;margin-bottom:4px;padding:10px 13px;border:1px solid rgba(175,220,207,.13);border-radius:999px;color:#b5cbc5;background:rgba(255,255,255,.035);font-size:10px;font-weight:650}
.conditions-chip .live-dot{width:6px;height:6px}
#live-conditions{scroll-margin-top:92px}
.alerts-cta{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;width:calc(100% - clamp(28px,8vw,120px));max-width:1360px;margin:28px auto 52px;padding:clamp(22px,4vw,42px);border:1px solid rgba(143,225,201,.18);border-radius:20px;background:radial-gradient(ellipse at 88% 0%,rgba(83,199,168,.14),transparent 42%),linear-gradient(115deg,#0d2a38,#0a222e);box-shadow:0 20px 55px rgba(0,0,0,.18)}
.alerts-cta .eyebrow{margin:0 0 10px}
.alerts-cta h2{margin:0;color:#f2f8f5;font-size:clamp(24px,3vw,34px);letter-spacing:-1.1px}
.alerts-cta p:not(.eyebrow){max-width:590px;margin:9px 0 0;color:#9eb6b4;font-size:12px;line-height:1.55}
.alerts-cta .button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:0 17px;flex:none}
:focus-visible{outline:3px solid #d9ef85;outline-offset:3px}
@media(max-width:900px){.primary-nav{gap:17px;margin-right:18px}.primary-nav a,.nav-alerts{font-size:11px}.home-hero{min-height:680px}.hero-main{padding-top:92px}.hero-tidebar{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.network-total strong,.hero-metric strong{font-size:22px}}
@media(max-width:760px){.topbar{height:64px;padding:0 15px}.primary-nav{display:none}.account-actions{margin-left:auto;gap:7px}.account-actions .button{font-size:11px;padding:9px 11px}.home-hero{min-height:700px;background-position:55% center}.home-hero:before{background:linear-gradient(90deg,rgba(3,17,26,.82) 0%,rgba(3,19,27,.52) 55%,rgba(4,21,29,.14) 100%),linear-gradient(0deg,rgba(2,17,24,.92) 0%,rgba(2,17,24,.16) 40%,transparent 72%)}.hero-main{width:100%;padding:86px 22px 44px}.hero-kicker{margin-top:24px}.home-hero h1{font-size:clamp(49px,10vw,68px);letter-spacing:-3.2px}.hero-lead{max-width:480px;font-size:15px}.hero-tidebar{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 20px;padding:17px 22px 20px}.network-total,.hero-metric{gap:5px}.network-total strong,.hero-metric strong{font-size:22px}.tidebar-label{font-size:7px}.conditions-intro{align-items:flex-start;flex-direction:column;width:calc(100% - 32px);margin:42px auto 17px;gap:14px}.conditions-chip{margin:0}.alerts-cta{align-items:flex-start;flex-direction:column;width:calc(100% - 32px);margin:23px auto 34px;padding:22px;border-radius:16px}.alerts-cta .button{width:100%}}
@media(max-width:460px){.topbar{padding:0 11px}.brand{gap:7px}.brand-mark{height:31px;min-width:35px;font-size:16px}.brand-name{font-size:8px;letter-spacing:.8px}.account-actions{gap:5px}.account-actions .button{padding:8px 9px;font-size:10px}.home-hero{min-height:690px;background-position:53% center}.hero-main{padding:77px 18px 38px}.hero-status{font-size:10px;padding:8px 11px}.hero-kicker{font-size:8px;letter-spacing:1.6px}.home-hero h1{font-size:49px}.hero-lead{font-size:14px;line-height:1.55;margin:17px 0 22px}.hero-actions{align-items:stretch;flex-direction:column;max-width:360px}.hero-actions .button{width:100%;min-height:46px}.hero-footnote{max-width:335px;font-size:7px;line-height:1.8;letter-spacing:.8px}.hero-tidebar{padding:15px 18px 18px;gap:14px 11px}.network-total strong,.hero-metric strong{font-size:20px}.tidebar-sub{font-size:8px}.conditions-intro h2{font-size:27px}.conditions-intro p:not(.eyebrow){font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.primary-nav a,.nav-alerts{transition:none}}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px clamp(16px,4vw,60px);border-top:1px solid rgba(201,231,230,.1);color:#718b91;font-size:9px}.footer-brand{color:#a8bfbb;text-decoration:none;font-size:9px;font-weight:700;letter-spacing:1.1px}.footer-brand b{color:#f0f6f2}.site-footer>a:last-child{color:#9ecabd;text-decoration:none;font-weight:700}.site-footer>a:last-child span{margin-left:5px}
@media(max-width:760px){.site-footer{align-items:flex-start;flex-direction:column;gap:9px;padding:18px 17px 22px}}
@media(max-width:640px){.leaflet-popup-content{overflow-y:auto!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:rgba(112,224,192,.45) transparent}}
@media(max-width:640px){.map-column #map.map-pan-active{touch-action:none}}

/* Live camera directory */
.camera-section{width:calc(100% - clamp(28px,8vw,120px));max-width:1360px;margin:58px auto 52px;scroll-margin-top:94px}
.camera-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}
.camera-section-head .eyebrow{margin:0 0 10px}
.camera-section-head h2{margin:0;color:#f3f8f5;font-size:clamp(27px,3.4vw,40px);letter-spacing:-1.6px;line-height:1.08}
.camera-section-head p:not(.eyebrow){max-width:720px;margin:10px 0 0;color:#91a9ab;font-size:13px;line-height:1.55}
.camera-count-pill{display:flex;align-items:center;gap:9px;flex:none;margin-bottom:4px;padding:10px 13px;border:1px solid rgba(175,220,207,.13);border-radius:999px;color:#b5cbc5;background:rgba(255,255,255,.035);font-size:10px;font-weight:650}
.camera-count-pill .live-dot{width:6px;height:6px}
.camera-controls{display:grid;grid-template-columns:minmax(180px,.32fr) minmax(220px,1fr);gap:12px;margin-bottom:14px;padding:13px;border:1px solid rgba(175,220,207,.11);border-radius:14px;background:rgba(255,255,255,.025)}
.camera-controls label{display:flex;align-items:center;gap:12px;min-width:0;color:#8fa8aa;font-size:9px;font-weight:750;letter-spacing:.7px;text-transform:uppercase}
.camera-controls select,.camera-controls input{height:40px;min-width:0;flex:1;padding:0 12px;border:1px solid rgba(190,225,217,.15);border-radius:9px;background:#0b2633;color:#e8f1ed;font-size:11px;letter-spacing:0;text-transform:none}
.camera-controls input::placeholder{color:#6f898e}
.camera-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.camera-card{overflow:hidden;min-width:0;border:1px solid rgba(175,220,207,.11);border-radius:14px;background:linear-gradient(150deg,rgba(16,49,62,.9),rgba(8,31,42,.94));box-shadow:0 8px 22px rgba(0,0,0,.1);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.camera-card:hover{transform:translateY(-2px);border-color:rgba(112,224,192,.3);box-shadow:0 14px 28px rgba(0,0,0,.19)}
.camera-visual{position:relative;display:flex;align-items:center;justify-content:center;height:96px;overflow:hidden;background:radial-gradient(ellipse at 82% 16%,rgba(123,217,194,.25),transparent 28%),linear-gradient(163deg,transparent 0 52%,rgba(98,189,180,.24) 53% 55%,transparent 56%),linear-gradient(175deg,transparent 0 63%,rgba(80,157,160,.22) 64% 67%,transparent 68%),linear-gradient(130deg,#123442,#0b2938 62%,#10414a)}
.camera-visual:after{position:absolute;content:"";inset:0;background:linear-gradient(180deg,rgba(5,20,28,.05),rgba(5,20,28,.54))}
.camera-visual-mark{z-index:1;display:grid;place-items:center;width:37px;height:37px;border:1px solid rgba(223,247,238,.5);border-radius:50%;background:rgba(5,24,31,.48);color:#dff6eb;font-size:13px;box-shadow:0 4px 18px rgba(0,0,0,.22)}
.camera-visual-tag{position:absolute;z-index:2;left:10px;top:10px;display:flex;align-items:center;gap:6px;padding:5px 7px;border:1px solid rgba(205,235,225,.16);border-radius:999px;background:rgba(4,20,27,.68);color:#d8ebe2;font-size:7px;font-weight:850;letter-spacing:.75px}
.camera-visual-tag .live-dot{width:5px;height:5px}
.camera-card-body{padding:12px 12px 11px}
.camera-location{display:block;margin-bottom:5px;color:#7eddbd;font-size:8px;font-weight:850;letter-spacing:.85px;text-transform:uppercase}
.camera-card h3{margin:0;color:#f0f6f3;font-size:12px;line-height:1.35;letter-spacing:-.15px}
.camera-provider{display:block;min-height:26px;margin-top:5px;color:#819a9e;font-size:9px;line-height:1.4}
.camera-action{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;margin-top:9px;padding:9px 10px;border:1px solid rgba(112,224,192,.16);border-radius:8px;background:rgba(112,224,192,.06);color:#bcebd8;text-decoration:none;font-size:9px;font-weight:750;transition:background .15s ease,border-color .15s ease}
.camera-action:hover{border-color:rgba(112,224,192,.42);background:rgba(112,224,192,.13);color:#edfff5}
.camera-action span:last-child{font-size:13px;line-height:.8}
.camera-empty{padding:26px 16px;border:1px dashed rgba(175,220,207,.2);border-radius:12px;color:#9ab0b0;text-align:center;font-size:11px}
.camera-note{margin:13px 2px 0;color:#789195;font-size:9px;line-height:1.5}
.camera-dialog{width:min(980px,calc(100vw - 24px));max-width:980px;max-height:calc(100dvh - 24px);padding:0;overflow:auto;border:1px solid rgba(177,218,211,.2);border-radius:17px;color:var(--text);background:#071c27;box-shadow:0 30px 100px rgba(0,0,0,.6)}
.camera-dialog::backdrop{background:rgba(2,12,18,.78);backdrop-filter:blur(4px)}
.camera-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:17px 19px 14px;border-bottom:1px solid var(--line)}
.camera-dialog-head .eyebrow{margin:0 0 5px}
.camera-dialog-head h2{margin:0;color:#f2f8f5;font-size:20px;letter-spacing:-.6px}
.camera-dialog-location{display:block;margin-top:4px;color:#89a4a6;font-size:10px}
.camera-player-wrap{position:relative;width:100%;aspect-ratio:16/9;background:radial-gradient(ellipse at 50% 20%,#123d4a,#071923 72%)}
.camera-player-wrap iframe{display:block;width:100%;height:100%;border:0}
.camera-dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 17px;color:#8aa2a4;font-size:9px}
.camera-dialog-foot .button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 12px;text-decoration:none;font-size:9px;white-space:nowrap}
@media(max-width:1080px){.camera-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.camera-section{width:calc(100% - 32px);margin:42px auto 35px}.camera-section-head{align-items:flex-start;flex-direction:column;gap:13px}.camera-count-pill{margin:0}.camera-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.camera-controls{grid-template-columns:1fr;padding:10px;gap:9px}.camera-controls label{justify-content:space-between}.camera-controls label>span{min-width:110px}.camera-card-body{padding:10px}.camera-visual{height:80px}.camera-dialog-head{padding:15px}.camera-dialog-foot{align-items:flex-start;flex-direction:column;padding:11px 14px}.camera-dialog-foot .button{width:100%}}
@media(max-width:420px){.camera-grid{grid-template-columns:1fr}.camera-visual{height:100px}.camera-card-body{padding:12px}.camera-provider{min-height:0}.camera-section-head h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){.camera-card,.camera-action{transition:none}}

/* Camera page controls and branded page header */
.camera-controls{grid-template-columns:minmax(155px,.24fr) minmax(155px,.24fr) minmax(220px,1fr)}
.camera-section-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:12px}
.camera-section-cta .camera-note{margin:0;max-width:760px}
.camera-section-cta .button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:42px;padding:0 14px;flex:none}
.camera-section-cta .button span{font-size:15px}
.camera-host-note{color:#789195}
.camera-page-hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(48px,7vw,82px) clamp(20px,7vw,100px) clamp(38px,5vw,62px);border-bottom:1px solid rgba(190,229,219,.12);background:radial-gradient(ellipse at 78% 0%,rgba(91,215,184,.19),transparent 34%),linear-gradient(120deg,#09232f,#071a25 68%,#0b2c36)}
.camera-page-hero:after{position:absolute;z-index:-1;inset:0;content:"";opacity:.42;background:linear-gradient(155deg,transparent 0 65%,rgba(108,211,193,.1) 65.2% 65.7%,transparent 66%),linear-gradient(170deg,transparent 0 78%,rgba(108,211,193,.09) 78.2% 78.7%,transparent 79%)}
.camera-page-hero-inner{width:100%;max-width:1360px;margin:0 auto}
.camera-page-hero .eyebrow{margin:0 0 12px}
.camera-page-hero h1{max-width:850px;margin:0;color:#f5faf7;font-size:clamp(40px,6vw,72px);line-height:1;letter-spacing:-3.5px}
.camera-page-hero h1 span{color:#81e5c2}
.camera-page-hero-copy{max-width:700px;margin:16px 0 0;color:#b2c8c3;font-size:clamp(14px,1.5vw,17px);line-height:1.65}
.camera-page-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:24px}
.camera-page-meta span{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid rgba(204,233,225,.15);border-radius:999px;background:rgba(3,20,28,.46);color:#c1d6d0;font-size:9px;font-weight:750;letter-spacing:.55px}
.camera-page-meta .live-dot{width:6px;height:6px}
.camera-page{padding-bottom:15px}
.camera-page .camera-section{margin-top:34px}
.camera-page .camera-section-head{margin-bottom:17px}
.camera-page .camera-directory-footnote{width:calc(100% - clamp(28px,8vw,120px));max-width:1360px;margin:0 auto 46px;padding:14px 16px;border:1px solid rgba(175,220,207,.1);border-radius:12px;background:rgba(255,255,255,.025);color:#829a9d;font-size:10px;line-height:1.55}
.camera-page .camera-directory-footnote strong{color:#b4cbc5}
.camera-page .camera-section-cta{display:none}
.nav-current{color:#80e1c0!important}
.camera-page .account-actions .button{display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.camera-page .camera-action{appearance:none;cursor:pointer;font:inherit;text-align:left}
.camera-count-icon,.camera-meta-icon{display:inline-grid;place-items:center;color:#80dfbd;font-style:normal;font-size:10px;line-height:1}
@media(max-width:760px){.camera-controls{grid-template-columns:1fr}.camera-section-cta{align-items:stretch;flex-direction:column}.camera-section-cta .button{width:100%}.camera-page-hero{padding:43px 20px 34px}.camera-page-hero h1{font-size:clamp(38px,10vw,56px);letter-spacing:-2.4px}.camera-page-hero-copy{font-size:14px}.camera-page .camera-directory-footnote{width:calc(100% - 32px);margin-bottom:32px}.camera-page .camera-section{margin-top:27px}}
@media(prefers-reduced-motion:reduce){.camera-page-hero *{scroll-behavior:auto}}
