:root{font-family:'Helvetica Neue','Open Sans',Arial,Helvetica,sans-serif;color:#554f4a;background:#efeeea;font-synthesis:none;--paper:#fff;--ink:#002d55;--muted:#68635f;--line:#dedbd7;--red:#e60005;--tint:#ebf5ff;--alert:#fff5df;--alert-ink:#72520e}*{box-sizing:border-box}body{margin:0}header{border-top:5px solid var(--red);background:var(--paper);padding:24px max(5vw,24px);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:20px;color:var(--ink);font-weight:700;line-height:1.3}.brand-name{color:var(--red);font-size:40px;letter-spacing:-2px;border-right:1px solid var(--line);padding-right:20px}.brand small{font-size:14px;color:var(--muted);font-weight:400}main{max-width:1360px;margin:auto;padding:42px max(3vw,24px) 20px}button,select{font:inherit;background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:12px 16px;border-radius:5px;cursor:pointer;min-height:44px}button:hover{border-color:var(--ink)}button:disabled{opacity:.6;cursor:wait}.primary{background:var(--red);color:#fff;border-color:var(--red);font-weight:600}.primary:hover{background:#a51e0f;border-color:#a51e0f}h1{font-size:clamp(30px,4vw,44px);letter-spacing:-1.2px;margin:8px 0 10px;color:var(--ink)}h2{font-size:20px;color:var(--ink);margin:0}.heading,.section-label,.chart-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.8px;color:var(--red);margin:0 0 10px}.muted{color:var(--muted);margin:0}.notice{margin:28px 0;background:var(--tint);border-left:4px solid var(--ink);padding:16px 20px;font-size:15px;line-height:1.5}.notice.warn{background:var(--alert);border-color:#a67500;color:var(--alert-ink)}.section-label{margin:26px 0 18px}.section-label span{font-size:14px;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:var(--paper);padding:24px;border:1px solid var(--line);border-radius:7px;position:relative;overflow:hidden}.card:first-child{border-top:3px solid var(--red);padding-top:22px}.card-head{display:flex;justify-content:space-between;align-items:center;font-size:15px;color:var(--muted)}.metric-symbol{color:var(--red);font-size:20px}.value{font-variant-numeric:tabular-nums;font-size:46px;letter-spacing:-1.5px;color:var(--ink);margin:20px 0 14px;font-weight:500}.value small{font-size:20px;letter-spacing:0;font-weight:400;color:var(--muted)}.bounds{font-size:14px;padding-top:14px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:8px}.sensor-time{font-size:12px;color:var(--muted);margin:12px 0 0}.stale{color:var(--alert-ink);background:var(--alert);padding:3px 6px;border-radius:3px}.chart-panel{margin-top:24px;background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:28px}.controls{display:flex;gap:12px}.controls label{font-size:12px;color:var(--muted);display:grid;gap:5px}.controls select{font-size:14px}.chart{height:290px;margin-top:24px;display:flex;align-items:center;justify-content:center;color:var(--muted)}.chart svg{width:100%;height:100%;overflow:visible}.chart text{fill:var(--muted);font:12px Arial}.chart .grid{stroke:var(--line)}.chart .trace{stroke:var(--red);fill:none;stroke-width:2.5;vector-effect:non-scaling-stroke}.chart-bottom{display:flex;justify-content:space-between;gap:18px;color:var(--muted);font-size:13px;line-height:1.5;margin:14px 0}details{border-top:1px solid var(--line);padding-top:16px;font-size:14px}summary{cursor:pointer;color:var(--ink);padding:5px 0}.table-wrap{max-height:260px;overflow:auto}table{border-collapse:collapse;width:100%;text-align:left}th,td{padding:10px;border-bottom:1px solid var(--line)}.info{display:flex;gap:26px;background:var(--tint);margin-top:24px;padding:22px 26px;font-size:14px;color:var(--ink);line-height:1.6}.info strong{white-space:nowrap}.info p{margin:0}footer{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);padding:25px 0;gap:16px}.skip{position:absolute;top:-100px}.skip:focus{top:12px;left:12px;background:white;padding:15px;z-index:5}:focus-visible{outline:3px solid #008ccd;outline-offset:3px}[data-theme=dark]{color:#e7e4e1;background:#121a23;--paper:#1b2632;--ink:#e8f3ff;--muted:#b8c0c8;--line:#3b4653;--red:#ff7377;--tint:#203549;--alert:#493b1e;--alert-ink:#ffda8a}[data-theme=dark] .primary{background:#e60005;border-color:#e60005;color:white}@media(max-width:850px){.metrics{grid-template-columns:repeat(2,1fr)}.chart-heading{align-items:flex-start;flex-direction:column}.section-label{align-items:flex-start;flex-direction:column;gap:8px}}@media(max-width:520px){header{padding:18px}.brand{gap:12px}.brand-name{font-size:30px;padding-right:12px}#theme span{display:none}main{padding:28px 16px 10px}.heading{align-items:flex-start;flex-wrap:wrap}.metrics{gap:12px}.card{padding:16px}.card:first-child{padding-top:14px}.card-head{font-size:14px}.value{font-size:34px}.value small{font-size:16px}.bounds{flex-direction:column;gap:6px;font-size:12px}.chart-panel{padding:18px 12px}.controls{width:100%}.controls label{min-width:0;flex:1}select{width:100%;padding:10px 7px}.chart-bottom,.info,footer{flex-direction:column}.info{gap:8px}.chart{height:240px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s}}

.wind-direction{display:flex;flex-direction:column;gap:5px;font-size:14px;color:var(--ink);margin:-4px 0 16px}.wind-direction .sensor-time{margin:0}
