:root{--bg:#0a0e1a;--bg2:#10162a;--card:#141b30;--line:#262f4a;--fg:#e8ebf4;--muted:#a3adc4;--amber:#f0b64a;--blue:#8db8ff;--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--mono:ui-monospace,SFMono-Regular,Consolas,Menlo,monospace}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.62 var(--sans)}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.16;margin:0}h1{font-size:clamp(2.3rem,5.2vw,4.2rem);letter-spacing:-.01em}h2{font-size:clamp(1.5rem,2.8vw,2.15rem)}h3{font-size:1.2rem}
p{margin:0}a{color:var(--blue)}a:hover{color:#b9d3ff}img,svg{max-width:100%;display:block}code,pre{font-family:var(--mono)}
.wrap{max-width:1180px;margin:0 auto;padding-left:24px;padding-right:24px}
.skip{position:absolute;left:-999px;top:8px;background:var(--amber);color:#111;padding:8px 14px;z-index:30}.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
.eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin-bottom:12px}.eyebrow a{color:inherit}
.lead{font-size:1.15rem;color:var(--muted);max-width:60ch;margin-top:18px}
.top{border-bottom:1px solid var(--line);background:var(--bg)}.top-in{display:flex;align-items:center;justify-content:space-between;gap:10px 28px;min-height:68px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:500 1.35rem var(--serif);color:var(--amber)}.brand span{color:var(--fg)}
.top nav{display:flex;gap:6px 22px;flex-wrap:wrap}.top nav a{color:var(--muted);text-decoration:none;font-size:.95rem;padding:4px 0;border-bottom:2px solid transparent}.top nav a:hover{color:var(--fg)}.top nav a[aria-current]{color:var(--fg);border-color:var(--amber)}
.hero{position:relative;overflow:hidden;background:#05070d}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 60%}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,13,.86) 0,rgba(5,7,13,.5) 52%,rgba(5,7,13,.05) 100%)}
.hero-in{position:relative;z-index:1;padding-top:96px;padding-bottom:110px}.hero h1{max-width:13em}
.city{display:inline-flex;align-items:center;gap:12px;margin-top:28px}.city span{color:var(--muted);font-size:.94rem}.city select{font:600 1rem var(--sans);background:var(--card);color:var(--fg);border:1px solid #3a4568;border-radius:4px;padding:9px 12px;min-width:210px}
.live{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:-54px;position:relative;z-index:2}
.card{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:24px}.card h2{font-size:.82rem;font-family:var(--sans);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.big{font:500 1.5rem/1.25 var(--serif)}.moon-row{display:flex;align-items:center;gap:16px}#moon-svg{flex:none}
.card dl{margin:18px 0 0;display:grid;gap:8px}.card dl div{display:flex;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding-top:8px}.card dt{color:var(--muted);font-size:.93rem}.card dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
.rows{list-style:none;margin:0;padding:0}.rows li{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}.rows li:first-child{border-top:0}.rows .off{color:var(--muted)}.rows b{font-weight:600}
.block{padding-top:72px;padding-bottom:40px}.block0{padding-bottom:48px}.head{display:flex;justify-content:space-between;align-items:baseline;gap:18px;margin-bottom:24px;flex-wrap:wrap}.more{font-weight:600}
.ev-list{list-style:none;margin:0;padding:0}.ev-list li{display:grid;grid-template-columns:170px 1fr auto;gap:22px;padding:18px 0;border-top:1px solid var(--line);align-items:baseline}.ev-list li[hidden]{display:none}.ev-list time{color:var(--amber);font-weight:600;font-variant-numeric:tabular-nums}.ev-list p{color:var(--muted);margin-top:3px;font-size:.97rem}.kind{font-size:.76rem;font-weight:600;color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:2px 10px;white-space:nowrap}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding-top:44px;padding-bottom:44px}.split p{color:var(--muted);margin-top:14px}.ph{width:100%;height:auto;border-radius:6px}
.page-head{padding-top:60px;padding-bottom:36px}
.map-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:44px;padding-bottom:80px;align-items:start}.map-box{margin:0}#skymap{width:100%;height:auto}figcaption{color:var(--muted);font-size:.92rem;text-align:center;margin-top:10px}.map-grid h2{margin-bottom:14px}
.tscroll{overflow-x:auto}.tbl{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.tbl th,.tbl td{text-align:left;padding:8px 10px 8px 0;border-bottom:1px solid var(--line);font-weight:400}.tbl thead th{color:var(--muted);font-size:.84rem}.tbl td+td{white-space:nowrap}.tbl .pl td:first-child{color:var(--amber);font-weight:600}.split .tbl{margin-top:16px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.chips button{font:600 .88rem var(--sans);color:var(--fg);background:none;border:1px solid #3a4568;border-radius:99px;padding:7px 15px;cursor:pointer}.chips button:hover{border-color:var(--fg)}.chips button[aria-pressed=true]{background:var(--amber);border-color:var(--amber);color:#14100a}
.g-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding-bottom:80px}.g-card .meta{margin-top:14px}.g-card h2{font-size:1.32rem;margin-top:4px}.g-card h2 a{color:var(--fg);text-decoration:none}.g-card h2 a:hover{color:var(--amber)}.g-card>p:last-child{color:var(--muted);margin-top:8px;font-size:.97rem}.meta{color:var(--muted);font-size:.9rem}
.art{max-width:808px;padding-top:56px;padding-bottom:84px}.art h1{font-size:clamp(2rem,4.4vw,3.1rem)}.art .meta{margin-top:12px}.art figure{margin:28px 0}.prose h2{margin:38px 0 10px;font-size:1.55rem}.prose p{margin-top:14px;color:#cdd3e2}.prose ul{color:#cdd3e2;padding-left:22px}.prose li{margin-top:6px}
.api-doc{padding-bottom:80px;display:grid;gap:18px}.api-note,.ep{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:22px;min-width:0}.api-note h2{font-size:1.25rem;margin-bottom:6px}.api-note p,.ep p{color:var(--muted)}
.ep-head{display:flex;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap}.verb{font:700 .72rem var(--mono);color:#10240f;background:#8fd694;border-radius:3px;padding:2px 7px}.ep-head code{font-size:1.02rem;font-weight:600}.params{font-size:.92rem;margin-top:6px}.params code{color:var(--fg);background:var(--bg2);padding:1px 5px;border-radius:3px;font-size:.86rem}
.try{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:14px;flex-wrap:wrap}.ex{font-size:.88rem;color:var(--blue);overflow-wrap:anywhere;min-width:0}.btn-s{font:600 .86rem var(--sans);background:none;color:var(--fg);border:1px solid #3a4568;border-radius:4px;padding:6px 14px;cursor:pointer}.btn-s:hover{border-color:var(--amber);color:var(--amber)}
.out{background:#080b15;border:1px solid var(--line);border-radius:4px;padding:14px;margin:12px 0 0;font-size:.82rem;line-height:1.5;overflow:auto;max-height:380px;color:#cfe0ff;white-space:pre-wrap;overflow-wrap:anywhere}
.nf{padding-top:96px;padding-bottom:130px}.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-block;background:var(--amber);color:#14100a;font-weight:700;text-decoration:none;border:2px solid var(--amber);border-radius:4px;padding:11px 24px}.btn:hover{background:#ffcb66;border-color:#ffcb66;color:#14100a}.btn.ghost{background:none;color:var(--fg);border-color:#3a4568}.btn.ghost:hover{background:none;color:var(--fg);border-color:var(--fg)}
.foot{border-top:1px solid var(--line);margin-top:40px;color:var(--muted);font-size:.93rem}.foot-in{display:grid;grid-template-columns:2fr 1fr 1fr;gap:36px;padding-top:44px;padding-bottom:28px}.foot-name{font:500 1.25rem var(--serif);color:var(--fg);margin-bottom:8px}.foot-h{font-size:.76rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin-bottom:10px}.foot-in a{color:var(--muted)}.foot-in a:hover{color:var(--fg)}.foot-in p+p{margin-top:5px}.foot-end{padding-top:14px;padding-bottom:26px;font-size:.84rem;border-top:1px solid var(--line)}
@media (max-width:980px){.live,.g-grid{grid-template-columns:1fr}.split,.map-grid{grid-template-columns:1fr;gap:26px}.split.rev>div:first-child{order:2}.hero-in{padding-top:60px;padding-bottom:84px}.ev-list li{grid-template-columns:1fr auto;gap:4px 14px}.ev-list li>div{grid-column:1/3;grid-row:2}.foot-in{grid-template-columns:1fr 1fr}.foot-in>div:first-child{grid-column:1/3}}
@media (max-width:640px){body{font-size:16px}.wrap{padding-left:16px;padding-right:16px}.hero::after{background:linear-gradient(180deg,rgba(5,7,13,.72),rgba(5,7,13,.6))}.city{display:flex;width:100%}.city select{flex:1;min-width:0}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
