:root{--primary:#16284f;--accent:#afc3e9;--surface:#eaeaeb;--ink:#16284f;--muted:#5b6578;--line:#d5d8de;--card:#fff;--good:#1f8a4c;--warn:#c77700;--crit:#c0392b;--font-heading:"Marcellus SC",Georgia,serif;--font-body:"Barlow",system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--surface);color:var(--ink);font-family:var(--font-body);margin:0;font-size:16px}h1,h2,h3{font-family:var(--font-heading);margin:0;font-weight:400}button,select,input,textarea{font:inherit}.hdr{background:var(--primary);color:#fff;flex-wrap:wrap;align-items:center;gap:16px;padding:10px 16px;display:flex}.brand img{height:34px;display:block}.wordmark{font-family:var(--font-heading);letter-spacing:.04em;font-size:20px}.hdr nav{flex-wrap:wrap;flex:1;gap:4px;display:flex}.hdr nav a{color:#d7e0f3;border-radius:8px;padding:6px 10px;font-size:14px;font-weight:600;text-decoration:none}.hdr nav a.active{color:#fff;background:#ffffff24}.who{align-items:center;gap:10px;font-size:14px;display:flex}.net{background:#777;border-radius:50%;width:9px;height:9px}.net.on{background:#4cd08a}.net.off{background:#f0a02e}.link{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.demo-bar{color:#6a4a00;text-align:center;background:#fff4d6;padding:6px 12px;font-size:14px}.page{gap:14px;max-width:1100px;margin:0 auto;padding:16px;display:grid}.panel{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px}.ph{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.ph h2{font-size:20px}.small{color:var(--muted);font-size:13px}.err{color:var(--crit)}.banner{border:1px solid;border-radius:10px;padding:10px 14px;font-size:14px}.banner.green{background:#e8f5ee;border-color:#bfe2cd}.banner.amber{background:#fff4d6;border-color:#f0d58a}.banner.red{background:#fdecea;border-color:#f3b8b1}.chart{width:100%;height:auto}.chart .grid{stroke:var(--line)}.chart .axis{fill:var(--muted);font-size:11px}.chart .wind{stroke:var(--primary);stroke-width:2px}.chart .gust{stroke:var(--primary);opacity:.35;stroke-width:1.5px}.chart .now{stroke:var(--ink);stroke-width:1.5px}.chart .limit{stroke-dasharray:5 4;stroke-width:1.5px}.chart .limit.amber{stroke:var(--warn)}.chart .limit.red{stroke:var(--crit)}.swell{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:8px;display:grid}.cell{border:1px solid var(--line);text-align:center;border-radius:8px;gap:2px;padding:8px;display:grid}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 6px}th{color:var(--muted);font-weight:600}.pill{border-radius:999px;padding:2px 10px;font-size:13px;font-weight:600;display:inline-block}.pill.green{color:var(--good);background:#e8f5ee}.pill.amber{color:var(--warn);background:#fff4d6}.pill.red{color:var(--crit);background:#fdecea}.pill.check{color:var(--muted);background:#e9ecf2}.vcards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.vcard{border:1px solid var(--line);border-radius:10px;gap:6px;padding:10px;display:grid}.vcard .row{justify-content:space-between;align-items:center;gap:10px;display:flex}.outlook{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.oday{border:1px solid var(--line);text-align:center;border-radius:8px;gap:6px;padding:8px 4px;display:grid}.dots{justify-content:center;gap:4px;display:flex}.dot{border-radius:50%;width:12px;height:12px}.dot.green{background:var(--good)}.dot.amber{background:var(--warn)}.dot.red{background:var(--crit)}.dot.check{background:#9aa3b5}.small-btn{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;margin-top:6px;padding:3px 10px}.small-btn.primary,.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.callform{gap:6px;min-width:200px;margin-top:6px;display:grid}.callform textarea{width:100%}.auth{place-items:center;min-height:100vh;padding:16px;display:grid}.card{border:1px solid var(--line);background:#fff;border-radius:14px;gap:12px;width:100%;max-width:380px;padding:22px;display:grid}.card label,.form label{gap:4px;font-size:14px;font-weight:600;display:grid}.card input,.form input{border:1px solid var(--line);border-radius:8px;padding:9px 10px;font-weight:400}.card .primary,.form .primary{cursor:pointer;border:0;border-radius:8px;padding:10px}.card .primary:disabled,.form .primary:disabled{opacity:.5}.demo{background:#fff4d6;border-radius:8px;margin:0;padding:8px 10px;font-size:14px}.roles{gap:6px;display:grid}.roles button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;padding:9px}.qr{justify-self:center;width:180px;height:180px}.form{gap:12px;max-width:480px;display:grid}.colour{gap:8px;display:flex}.colour input[type=color]{width:44px;padding:2px}@media (width<=720px){.outlook{grid-template-columns:repeat(4,minmax(0,1fr))}.hdr nav{flex-basis:100%;order:3}}:root{--land:#f3f0e8;--coast:#7f8fa0;--water:#cfe0ec;--accent-ink:#16284f;--muted:#5b6578}.wxmap{gap:8px;display:grid}.chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600}.chip[aria-pressed=true]{background:var(--primary);color:#fff;border-color:var(--primary)}.chip:disabled{opacity:.45;cursor:default}.chip.solid{box-shadow:0 1px 3px #0000002e}.mapbox{border:1px solid var(--line);background:var(--water);border-radius:10px;position:relative;overflow:hidden}.mapcv{touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;width:100%;display:block}.mapbtns{gap:6px;display:grid;position:absolute}.mapbtns.left{top:8px;left:8px}.mapbtns.zoom{bottom:8px;left:8px}.maphint{color:#fff;pointer-events:none;background:#16284fe6;border-radius:8px;padding:6px 12px;font-size:13px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.maptip{color:#fff;pointer-events:none;background:#16284ff0;border-radius:8px;max-width:190px;padding:8px 10px;font-size:12.5px;line-height:1.4;position:absolute}.maplegend{background:#ffffffe0;border-radius:8px;width:min(260px,52%);padding:6px 8px;position:absolute;bottom:26px;right:8px}.rampbar{border-radius:4px;height:9px}.ramplbl{color:var(--muted);justify-content:space-between;margin-top:2px;font-size:10.5px;display:flex}.mapctl{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;display:grid}.mono{font-variant-numeric:tabular-nums;text-align:right;min-width:110px;font-size:13px}.tl{padding-bottom:16px;position:relative}.tltrack{border-radius:4px;height:8px;position:absolute;top:11px;left:0;right:0}.tl input[type=range]{background:0 0;width:100%;height:30px;margin:0;position:relative}.tlticks{pointer-events:none;height:14px;position:absolute;top:34px;left:0;right:0}.tlticks span{color:var(--muted);font-size:11px;position:absolute;transform:translate(-50%)}.tlticks .now{background:var(--ink);width:2px;height:22px;position:absolute;top:-26px}.tl input[type=range]{appearance:none;cursor:pointer;background:0 0}.tl input[type=range]::-webkit-slider-runnable-track{background:0 0;height:8px}.tl input[type=range]::-moz-range-track{background:0 0;height:8px}.tl input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:2px solid var(--primary);background:#fff;border-radius:50%;width:18px;height:18px;margin-top:-5px;box-shadow:0 1px 3px #0000004d}.tl input[type=range]::-moz-range-thumb{border:2px solid var(--primary);background:#fff;border-radius:50%;width:14px;height:14px}.age.ageing{color:#a15c00;font-weight:600}.age.stale{color:#b3261e;font-weight:600}
