@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{--bg:#061821;--panel:#0b2733;--panel2:#103543;--text:#eef9fc;--muted:#9cb8c2;--line:#244b59;--accent:#61d9e7;--good:#41d17f;--yellow:#f0cf4a;--red:#ef5a62;--purple:#b98bf4;--orange:#ffb16a;--shadow:0 18px 50px rgba(0,0,0,.2)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#04131a,#08222d 45%,#061821);color:var(--text);font-family:Inter,system-ui,sans-serif}.shell{max-width:1180px;margin:auto;padding:0 20px}.hero{padding:38px 0 22px}.brand{display:flex;gap:12px;align-items:center}.brandmark{width:42px;height:42px;border-radius:12px;background:#0c3441;display:grid;place-items:center;border:1px solid var(--line)}.eyebrow{font-size:.76rem;text-transform:uppercase;letter-spacing:.13em;color:var(--accent);font-weight:800}.hero h1{font-size:clamp(2.2rem,6vw,5rem);line-height:.95;letter-spacing:-.05em;margin:.55rem 0 1rem;max-width:900px}.lede{max-width:900px;color:var(--muted);line-height:1.65;font-size:1.05rem}.safety{border:1px solid #83563b;background:#382719;color:#ffe5cc;padding:13px 15px;border-radius:14px;margin:18px 0}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 22px;align-items:flex-start}.tab,.btn,.menu-toggle{border:1px solid var(--line);border-radius:999px;background:#08232d;color:var(--text);padding:10px 14px;font:inherit;font-weight:700;cursor:pointer}.tab.active,.btn.primary{background:var(--accent);color:#05202a;border-color:var(--accent)}.more-nav{position:relative}.menu-toggle{display:inline-flex;align-items:center;gap:6px}.menu-toggle[aria-expanded="true"]{border-color:var(--accent)}.more-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:50;min-width:210px;padding:8px;background:#08232d;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.more-menu[hidden]{display:none}.more-menu .menu-item{display:block;width:100%;text-align:left;border-radius:10px;margin:0 0 6px}.more-menu .menu-item:last-child{margin-bottom:0}.more-menu .menu-item.active{background:var(--accent);color:#05202a}.view{display:none}.view.active{display:block}.grid{display:grid;gap:15px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.two{grid-template-columns:1fr 1fr}.three{grid-template-columns:repeat(3,1fr)}.metric,.card{background:rgba(11,39,51,.92);border:1px solid var(--line);border-radius:18px;padding:17px;box-shadow:var(--shadow)}.metric .label{color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.06em}.metric .value{font-size:clamp(1.25rem,3vw,2rem);font-weight:800;margin-top:6px}.metric .sub{font-size:.8rem;color:var(--muted);margin-top:5px;line-height:1.35}.card{margin:15px 0}.card h2,.card h3{margin-top:0}.card p{line-height:1.6;color:var(--muted)}.today-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:15px}.flag-card{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow)}.flagline{display:flex;gap:17px;align-items:center;margin:14px 0}.flagpole{width:84px;height:70px;position:relative;border-left:5px solid #dcecf1}.flagshape{position:absolute;left:0;top:5px;width:68px;height:37px;background:var(--yellow);clip-path:polygon(0 0,100% 15%,82% 50%,100% 85%,0 100%)}.flagpole.double .flagshape:nth-child(2){top:36px}.flagpole.red .flagshape,.flagpole.double .flagshape{background:var(--red)}.flagpole.green .flagshape{background:var(--good)}.flagpole.purple .flagshape{background:var(--purple)}.flagname{font-size:clamp(2rem,5vw,3.6rem);font-weight:800;letter-spacing:-.04em}.muted{color:var(--muted)}.small{font-size:.82rem}.status{border:1px solid var(--line);background:#08232d;padding:11px 13px;border-radius:12px;color:var(--muted)}.status.stale{border-color:#8d653a;background:#342617;color:#ffd8ab}.pillrow{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.pill{font-size:.77rem;padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:#0c303d}.controls{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.control{min-width:170px;flex:1}.control label{display:block;color:var(--muted);font-size:.8rem;margin-bottom:6px}.control input,.control select{width:100%;background:#071f29;color:var(--text);border:1px solid var(--line);border-radius:11px;padding:10px 12px;font:inherit}.btn{border-radius:11px}.chart{position:relative;height:320px}.chart.tall{height:410px}.legend{display:flex;gap:13px;flex-wrap:wrap;font-size:.82rem;color:var(--muted)}.swatch{width:10px;height:10px;display:inline-block;border-radius:3px;margin-right:5px}.insight{padding:11px 14px;border-left:4px solid var(--accent);background:#0b2d39;border-radius:0 12px 12px 0;margin:9px 0;line-height:1.5}.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:13px}table{width:100%;border-collapse:collapse;min-width:720px}th,td{text-align:left;padding:10px 11px;border-bottom:1px solid var(--line);font-size:.88rem}th{background:#0a2c39;color:#c8e5ec;position:sticky;top:0}.riskbar{height:10px;border-radius:999px;background:#163b48;overflow:hidden}.riskbar span{display:block;height:100%;background:var(--red)}.calendar{display:grid;grid-template-columns:90px repeat(12,minmax(45px,1fr));gap:4px;overflow:auto}.calcell{min-height:40px;border:1px solid var(--line);border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:.75rem;background:#0a2935}.calcell.head{border:0;background:transparent;color:var(--muted);min-height:26px}.calcell.low{background:#174332}.calcell.med{background:#50472a}.calcell.high{background:#5c2e31}.calcell.closed{background:#8d3439}.footer{padding:35px 0 55px;color:#829faa;font-size:.82rem;line-height:1.65}a{color:#8de7f1}.download-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.download{display:block;text-decoration:none;color:var(--text);border:1px solid var(--line);background:#0a2935;padding:13px;border-radius:13px}.download strong{display:block}.download span{display:block;color:var(--muted);font-size:.8rem;margin-top:4px}.callout{border:1px solid #315d6d;background:#0c3441;border-radius:16px;padding:15px}.warning{color:#ffd58e}.bad{color:#ff9c9f}.good{color:#8ce4aa}@media(max-width:900px){.metrics{grid-template-columns:repeat(2,1fr)}.today-grid,.two,.three{grid-template-columns:1fr}.download-grid{grid-template-columns:1fr}.calendar{grid-template-columns:70px repeat(12,50px)}}@media(max-width:520px){.shell{padding:0 13px}.metrics{grid-template-columns:1fr 1fr}.metric{padding:13px}.hero{padding-top:26px}.flagpole{width:70px}.chart{height:280px}.more-nav{width:100%}.menu-toggle{width:100%;justify-content:center}.more-menu{position:static;margin-top:8px;width:100%}}

/* 2026 homepage refresh */
.brand{gap:16px}.brandmark{width:72px;height:72px;border-radius:20px;background:linear-gradient(145deg,#0d3b49,#092732);box-shadow:0 12px 34px rgba(0,0,0,.22)}.brandmark img{width:58px;height:58px}.brand-title{font-size:clamp(1.55rem,3vw,2.15rem);font-weight:800;letter-spacing:-.045em;color:var(--text)}.brand-title span{color:var(--accent)}.brand-subtitle{margin-top:3px;color:var(--muted);font-size:.92rem;font-weight:600}.hero{padding:40px 0 24px}.hero-copy{padding-top:24px}.hero-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:#0b2c38;color:#ccecf2;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.hero h1{font-size:clamp(2.65rem,7vw,5.8rem);max-width:1040px;margin:.72rem 0 1rem;line-height:.94}.hero-accent{color:var(--accent)}.lede{max-width:1000px;font-size:clamp(1.03rem,2vw,1.2rem);line-height:1.7;color:#b5d0d8}.hero-highlights{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.hero-highlights span{padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:rgba(11,39,51,.76);color:#d7edf2;font-size:.82rem;font-weight:700}.tabs{margin-top:8px}.flag-card-wide{width:100%;padding:30px 28px;text-align:center;background:radial-gradient(circle at 50% 0%,rgba(97,217,231,.10),transparent 42%),var(--panel)}.flag-eyebrow{text-align:center;font-size:.82rem}.flag-official-link{display:block;color:inherit;text-decoration:none;border-radius:18px;padding:8px;outline-offset:5px}.flag-official-link:hover .flagname,.flag-official-link:focus-visible .flagname{color:var(--accent)}.flag-official-link:hover .official-hint,.flag-official-link:focus-visible .official-hint{text-decoration:underline}.flagline{justify-content:center;margin:16px auto 8px}.flagname{font-size:clamp(2.65rem,7vw,5rem)}.official-hint{color:#8de7f1;font-size:.82rem;font-weight:700;margin:4px 0 16px}.flag-status{max-width:760px;margin:0 auto;text-align:center}.flag-pills{justify-content:center}.conditions-head{text-align:center;max-width:800px;margin:32px auto 16px}.conditions-head h2{font-size:clamp(1.55rem,3vw,2.25rem);letter-spacing:-.035em;margin:.4rem 0 .5rem}.conditions-head p{margin:0;color:var(--muted);line-height:1.6}.beach-metrics .metric{text-align:center}.safety-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:34px 0 0;padding:16px 18px}.safety-bottom div{line-height:1.55}.safety-bottom a{flex:0 0 auto;color:#ffe5cc;font-weight:800;text-decoration:none;border-bottom:1px solid currentColor}.safety-bottom a:hover{text-decoration:none;color:#fff}.footer{padding-top:24px}
@media(max-width:700px){.brandmark{width:62px;height:62px;border-radius:17px}.brandmark img{width:50px;height:50px}.brand-title{font-size:1.55rem}.brand-subtitle{font-size:.8rem}.hero-copy{padding-top:20px}.flag-card-wide{padding:24px 16px}.flagline{flex-direction:column;gap:12px}.flagpole{margin-left:18px}.safety-bottom{flex-direction:column;align-items:flex-start}.safety-bottom a{flex:auto}.hero-highlights span{font-size:.76rem}}
@media(max-width:520px){.hero h1{font-size:clamp(2.45rem,13vw,4rem)}.metrics{grid-template-columns:1fr 1fr}.flagname{font-size:clamp(2.3rem,13vw,3.5rem)}}