:root{--bg:#0a0f16;--surface:#111a25;--surface-2:#0b121a;--line:#263345;--text:#e7edf4;--muted:#8c9aaa;--gold:#d6a44a;--ok:#79c69a;--warn:#e0b15e;--danger:#de8f7d;--blue:#8eb7e8;--sans:"Aptos","Segoe UI",Arial,sans-serif;--mono:"SFMono-Regular",Consolas,monospace}
*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.45 var(--sans);-webkit-font-smoothing:antialiased}button,a,summary{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.skip-link{position:fixed;z-index:50;left:12px;top:12px;transform:translateY(-180%);padding:8px 10px;background:white;color:#111}.skip-link:focus{transform:none}.demo-header{height:58px;display:flex;align-items:center;gap:28px;padding:0 max(18px,calc((100vw - 1120px)/2));border-bottom:1px solid var(--line);background:#090e14}.demo-brand{display:flex;align-items:center;gap:8px;color:var(--text);text-decoration:none;font-weight:750}.demo-header nav{display:flex;align-items:center;gap:20px;height:100%}.demo-header nav a{display:grid;place-items:center;height:100%;color:var(--muted);text-decoration:none;font-size:13px;border-bottom:2px solid transparent}.demo-header nav a.active{color:var(--text);border-color:var(--gold)}.fixture-label{margin-left:auto;color:#8192a4;font:9px var(--mono);text-transform:uppercase;letter-spacing:.11em}.scenario-bar{position:sticky;top:0;z-index:12;display:flex;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:7px 14px;border-bottom:1px solid var(--line);background:rgba(10,15,22,.95);backdrop-filter:blur(10px)}.scenario-bar>span{margin-right:5px;color:var(--muted);font:10px var(--mono);text-transform:uppercase;letter-spacing:.1em}.scenario-bar button{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:999px;padding:5px 9px;cursor:pointer;font-size:11px}.scenario-bar button.active{border-color:#50627a;background:#141e2b;color:var(--text)}main{width:min(calc(100% - 30px),1120px);margin:0 auto;padding:44px 0 70px}.eyebrow{margin:0 0 5px;color:var(--gold);font:10px var(--mono);letter-spacing:.13em;text-transform:uppercase}.muted{color:var(--muted)}.today-hero{display:grid;grid-template-columns:1fr auto;align-items:end;gap:24px;margin-bottom:15px}.today-hero h1{font-size:clamp(32px,5vw,52px);line-height:1;margin:0 0 8px;letter-spacing:-.04em}.today-hero p:last-child{margin:0}.horizon-status{display:flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid #2f674d;border-radius:999px;color:var(--ok);background:#0b1b17;white-space:nowrap;font-size:12px}.horizon-status span{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 11px currentColor}.horizon-status.degraded{border-color:#6b5429;color:var(--warn);background:#1b160b}.source-row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:15px}.source-chip{padding:4px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:11px}.source-chip strong{color:var(--text)}.source-chip.source-error{color:var(--danger);border-color:#6b3c36}.attention-strip{border:1px solid #584621;background:#17140c;border-radius:14px;padding:13px 15px;margin-bottom:14px}.attention-strip h2{margin:0 0 8px;color:var(--warn);font:10px var(--mono);letter-spacing:.14em;text-transform:uppercase}.attention-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.attention-items article{padding-left:10px;border-left:2px solid var(--warn)}.attention-items article.error{border-color:var(--danger)}.attention-items strong{display:block;font-size:13px}.attention-items p{margin:1px 0 0;color:#aab4c0;font-size:12px}.today-glance{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.focus-card{min-width:0;padding:17px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 14px 34px rgba(0,0,0,.18)}.card-head{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:13px}.card-head h2{margin:0;color:var(--muted);font:10px var(--mono);text-transform:uppercase;letter-spacing:.12em}.trust-label{padding:2px 7px;border:1px solid #2f674d;border-radius:999px;color:var(--ok);font-size:9px}.trust-label.derived{border-color:#365776;color:var(--blue)}.trust-label.source-error{border-color:#6b3c36;color:var(--danger)}.next-event{padding:14px;border:1px solid #304158;border-radius:12px;background:var(--surface-2);margin-bottom:10px}.event-kicker{margin:0;color:var(--gold);font:9px var(--mono);text-transform:uppercase;letter-spacing:.12em}.next-event h3{margin:5px 0 4px;font-size:23px;line-height:1.2}.next-event p:last-child{margin:0}.next-event time{font-weight:700}.next-event span{color:var(--muted);margin-left:7px}.timeline>div{display:grid;grid-template-columns:105px 1fr auto;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:12px}.timeline time,.timeline span{color:var(--muted)}.card-footer{margin-top:13px;padding-top:10px;border-top:1px solid var(--line)}.card-footer button{border:0;padding:0;background:transparent;color:#a8c8e6;cursor:pointer;font-size:11px;text-decoration:underline;text-underline-offset:3px}.weather-now{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.weather-now>div>strong{display:block;font-size:52px;line-height:.9;letter-spacing:-.06em}.weather-now>div>span{display:block;margin-top:7px}.weather-now>p{margin:0;text-align:right;color:var(--muted);font-size:11px}.weather-now>p b{display:block;color:var(--text);font-size:13px}.weather-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:13px 0}.weather-metrics>div{display:flex;flex-direction:column-reverse;padding:8px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2)}.weather-metrics dt{color:var(--muted);font-size:9px}.weather-metrics dd{margin:0;font-weight:750}.guidance{padding:9px 10px;border-radius:0 9px 9px 0;border-left:3px solid var(--warn);background:#17150f}.guidance p{margin:2px 0;font-size:11px}.unsafe-message{min-height:208px;display:grid;align-content:center;justify-items:start;padding:20px}.unsafe-message[hidden]{display:none}.unsafe-message>span{display:grid;place-items:center;width:30px;height:30px;border:1px solid #6b3c36;border-radius:50%;color:var(--danger);font-weight:800}.unsafe-message h3{font-size:19px;margin:13px 0 5px}.unsafe-message p{color:var(--muted);font-size:12px;margin:0;max-width:350px}.forecast-section{margin-top:24px}.forecast-section>header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:9px}.forecast-section h2{margin:0;font-size:20px}.forecast-section>header>p{margin:0;color:var(--muted);font-size:11px}.forecast-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin:0;padding:0;list-style:none}.forecast-grid li{min-width:0;padding:10px 9px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.forecast-grid time,.forecast-grid span,.forecast-grid small{display:block}.forecast-grid time{color:var(--muted);font-size:10px}.forecast-grid strong{display:block;margin:3px 0;font-size:17px}.forecast-grid span{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.forecast-grid small{color:#87a9c8;font-size:9px}.forecast-unavailable{padding:18px;border:1px dashed #5a3b38;color:var(--muted);background:#120f10}.forecast-unavailable[hidden]{display:none}.forecast-unavailable strong{color:var(--danger)}.forecast-unavailable p{margin:4px 0 0;font-size:11px}.trust-panel{margin-top:13px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.trust-panel summary{display:flex;justify-content:space-between;gap:15px;padding:13px 15px;cursor:pointer;color:#c7d0da;font-size:12px}.trust-panel summary span{color:var(--muted)}.trust-panel[open] summary{border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:12px}.trust-grid article{padding:11px;border:1px solid var(--line);border-radius:9px}.trust-grid h3{margin:0 0 7px;font-size:12px}.trust-grid p{margin:3px 0;color:var(--muted);font:9px var(--mono)}.trust-grid b{color:var(--text);font-weight:600}.trust-grid a,.source-list a{color:#a8c8e6;text-underline-offset:3px}dialog{width:min(calc(100% - 28px),460px);border:1px solid var(--line);border-radius:14px;background:#111820;color:var(--text);padding:0;box-shadow:0 20px 90px rgba(0,0,0,.7)}dialog::backdrop{background:rgba(2,5,7,.74);backdrop-filter:blur(5px)}dialog form{position:relative;padding:26px}.dialog-close{position:absolute;right:14px;top:11px;border:0;background:transparent;color:var(--muted);font-size:24px;cursor:pointer}.dialog-done{margin-top:15px;border:1px solid var(--line);background:#182333;padding:7px 12px;cursor:pointer}.source-list{display:grid;gap:8px;margin-top:16px}.source-list div{display:grid;grid-template-columns:100px 1fr;gap:10px;padding:8px 0;border-top:1px solid var(--line);font:11px var(--mono)}.source-list dt{color:var(--muted)}.source-list dd{margin:0;text-align:right;overflow-wrap:anywhere}.embed .demo-header{display:none}.embed .scenario-bar{position:static}.embed main{width:calc(100% - 20px);padding:24px 0 40px}.embed .today-hero h1{font-size:35px}.embed .fixture-label{display:none}
@media(max-width:820px){.today-glance{grid-template-columns:1fr}.forecast-grid{grid-template-columns:repeat(3,1fr)}.demo-header{padding:0 15px}.fixture-label{display:none}.embed .weather-card{display:none}.embed .today-glance{grid-template-columns:1fr}.embed .forecast-section{display:none}}
@media(max-width:560px){.demo-header nav a:not(.active){display:none}.scenario-bar{justify-content:flex-start;overflow-x:auto}.today-hero{grid-template-columns:1fr}.horizon-status{justify-self:start}.today-glance{grid-template-columns:1fr}.timeline>div{grid-template-columns:85px 1fr}.timeline span{display:none}.forecast-grid{display:flex;overflow-x:auto;padding-bottom:6px}.forecast-grid li{flex:0 0 105px}.forecast-section>header{display:block}.forecast-section>header>p{margin-top:3px}.trust-grid{grid-template-columns:1fr}.trust-panel summary span{display:none}.embed main{padding-top:17px}.embed .today-hero h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
