:root{--navy:#061820;--deep:#0a222c;--panel:#0c2934;--line:#1b4350;--foam:#edf6f3;--muted:#90aeb5;--aqua:#41e0c4;--orange:#ff8a3d;--yellow:#f6c959}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 78% 0,#123c49 0,transparent 32%),var(--navy);color:var(--foam);font-family:Inter,sans-serif;min-height:100vh}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:42px 42px}.topbar{height:76px;padding:0 max(24px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(5,22,29,.86);backdrop-filter:blur(12px);position:sticky;top:0;z-index:5}.brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:2px solid var(--aqua);color:var(--aqua);font:800 22px/1 'Barlow Condensed';transform:rotate(-3deg)}.brand strong{font:800 20px/1 'Barlow Condensed';letter-spacing:1.4px;display:block}.brand small{color:var(--muted);font-size:10px;letter-spacing:2.4px}.top-actions{display:flex;align-items:center;gap:16px}.live{font-size:11px;font-weight:700;letter-spacing:1.4px;color:#b9d0d4}.live i{display:inline-block;width:7px;height:7px;background:var(--aqua);border-radius:50%;margin-right:6px;box-shadow:0 0 12px var(--aqua)}.icon-btn{border:1px solid var(--line);background:transparent;color:white;width:38px;height:38px;border-radius:50%;font-size:22px;cursor:pointer}.icon-btn:hover{border-color:var(--aqua);color:var(--aqua)}main{max-width:1240px;margin:auto;padding:50px 24px 70px}.status-band{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:30px}.eyebrow{color:var(--aqua);font-size:11px;font-weight:800;letter-spacing:2.4px;margin:0 0 7px}.status-band h1{font:800 clamp(46px,6vw,80px)/.9 'Barlow Condensed';text-transform:uppercase;letter-spacing:-1px;margin:0}.status-band h1 em{color:var(--orange);font-style:normal}.intro{max-width:600px;color:#aec4c9;font-size:16px;margin:18px 0 0;line-height:1.6}.score-card{display:flex;align-items:center;gap:18px;min-width:335px;padding:18px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(17,55,66,.9),rgba(7,26,34,.9))}.score-ring{width:86px;height:86px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:conic-gradient(var(--aqua) 0deg,#173a43 0);border:5px solid #14333c;font:800 33px/1 'Barlow Condensed'}.score-ring small{font-size:11px;color:var(--muted);align-self:flex-end;margin:0 0 21px 1px}.score-card>div:last-child{display:flex;flex-direction:column}.score-card small{font-size:10px;letter-spacing:1.8px;color:var(--muted)}.score-card strong{font:700 25px/1.1 'Barlow Condensed';text-transform:uppercase;margin:4px 0}.score-card span{font-size:12px;color:#9eb5ba}.data-status{font-size:12px;color:var(--muted);margin:0 0 10px}.metric-grid{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);margin-bottom:18px}.metric{padding:20px 18px;background:rgba(10,35,44,.72);border-right:1px solid var(--line);position:relative;min-width:0}.metric:last-child{border:0}.metric.primary{background:linear-gradient(150deg,#12424d,#0b2d37)}.metric-icon{position:absolute;right:16px;top:15px;color:var(--aqua);font-size:22px}.metric small{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:1.8px}.metric strong{display:block;font:700 34px/1 'Barlow Condensed';margin:14px 0 6px;white-space:nowrap}.metric p{font-size:12px;color:#a9c0c4;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:18px}.panel{background:linear-gradient(150deg,rgba(13,42,52,.94),rgba(7,28,36,.94));border:1px solid var(--line);padding:24px;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.panel h2,.quick-links h2{font:700 30px/1 'Barlow Condensed';text-transform:uppercase;margin:0}.badge,.units{border:1px solid #2c5863;color:var(--aqua);font-size:9px;font-weight:800;letter-spacing:1.4px;padding:7px 9px}.badge.amber{color:var(--yellow);border-color:#5c512d}.hook{font-size:34px;color:var(--orange)}canvas{width:100%;display:block}.tide-events{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:12px}.tide-events div{padding:15px 10px;border-right:1px solid var(--line)}.tide-events div:last-child{border:0}.tide-events small{font-size:9px;color:var(--muted);letter-spacing:1.2px}.tide-events b{display:block;font:700 18px 'Barlow Condensed';margin-top:4px}.bite-windows{display:grid;gap:10px}.bite-window{display:grid;grid-template-columns:66px 1fr 50px;gap:12px;align-items:center;padding:13px;background:#0a222b;border-left:3px solid var(--line)}.bite-window.best{border-color:var(--aqua)}.bite-window time{font:700 17px 'Barlow Condensed'}.bite-window b{font-size:12px;display:block}.bite-window small{font-size:10px;color:var(--muted)}.bite-window .rating{text-align:right;color:var(--aqua);font-size:11px;font-weight:800}.target-box{margin-top:14px;padding:14px;border:1px dashed #2b5660}.target-box small{font-size:9px;letter-spacing:1.8px;color:var(--orange);font-weight:800}.target-box p{font-size:12px;line-height:1.55;margin:6px 0 0;color:#bad0d4}.forecast-panel{grid-column:1/-1}.forecast-row{display:grid;grid-template-columns:repeat(5,1fr)}.day{padding:8px 18px;border-right:1px solid var(--line)}.day:last-child{border:0}.day>small{color:var(--muted);font-size:10px;letter-spacing:1.4px;font-weight:700}.day strong{display:block;font:700 26px 'Barlow Condensed';margin:8px 0}.day p{margin:4px 0;font-size:11px;color:#aac0c5}.day p b{color:var(--foam)}.safety-panel{grid-column:1/-1}.safety-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.safety-grid label{background:#0a232c;padding:14px;font-size:13px;cursor:pointer}.safety-grid input{accent-color:var(--aqua);margin-right:8px}.warning{margin-top:16px;padding:12px 14px;background:#332719;border-left:3px solid var(--yellow);color:#d4c7ad;font-size:11px}.warning b{color:var(--yellow)}.quick-links{margin-top:46px}.links-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.links-row a{position:relative;text-decoration:none;color:white;border:1px solid var(--line);padding:18px;background:#091f28;transition:.2s}.links-row a:hover{border-color:var(--aqua);transform:translateY(-2px)}.links-row span{display:block;font-size:9px;color:var(--aqua);font-weight:800;letter-spacing:1.6px}.links-row b{display:block;font:700 17px 'Barlow Condensed';margin-top:7px}.links-row i{position:absolute;right:14px;top:14px;color:var(--muted);font-style:normal}footer{border-top:1px solid var(--line);max-width:1192px;margin:auto;padding:30px 0 42px;display:flex;align-items:center;gap:20px;color:var(--muted);font-size:11px}footer span{font:800 16px 'Barlow Condensed';color:var(--foam)}footer p{flex:1}@media(max-width:850px){.status-band{align-items:flex-start;flex-direction:column}.score-card{width:100%}.metric-grid{grid-template-columns:repeat(2,1fr)}.metric{border-bottom:1px solid var(--line)}.metric:nth-child(2n){border-right:0}.metric:last-child{grid-column:1/-1}.dashboard-grid{grid-template-columns:1fr}.forecast-panel,.safety-panel{grid-column:auto}.forecast-row{overflow-x:auto;grid-template-columns:repeat(5,155px)}.safety-grid{grid-template-columns:1fr 1fr}.links-row{grid-template-columns:1fr 1fr}footer{margin:0 24px}}@media(max-width:520px){.topbar{height:65px;padding:0 16px}.brand strong{font-size:17px}.brand-mark{width:36px;height:36px}.live{display:none}main{padding:35px 14px 55px}.status-band h1{font-size:52px}.metric{padding:17px 14px}.metric strong{font-size:29px}.dashboard-grid{gap:12px}.panel{padding:18px}.tide-events{grid-template-columns:1fr 1fr}.tide-events div:nth-child(2){border-right:0}.bite-window{grid-template-columns:55px 1fr 43px}.safety-grid,.links-row{grid-template-columns:1fr}footer{margin:0 14px;align-items:flex-start;flex-direction:column;gap:4px}}
