:root{--bg:#fafafa;--fg:#1b1b1b;--muted:#666;--card:#fff;--line:#ddd;--ok:#1b7f3b;--okbg:#e6f4ea;--bad:#b3261e;--badbg:#fdecea;--warn:#8a5a00;--warnbg:#fff4d6;--link:#0b57d0}
@media(prefers-color-scheme:dark){:root{--bg:#131313;--fg:#ececec;--muted:#a0a0a0;--card:#1e1e1e;--line:#333;--ok:#7fd99a;--okbg:#17301f;--bad:#ff9d94;--badbg:#3a1815;--warn:#ffd27a;--warnbg:#3a2e12;--link:#8ab4f8}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.5 system-ui,sans-serif}
header,main{max-width:860px;margin:0 auto;padding:0 16px}
header{padding-top:20px}
h1{margin:0;font-size:1.6rem}.sub{margin:.25rem 0 1rem;color:var(--muted)}
a{color:var(--link)}
.banner{padding:16px;border-radius:10px;font-size:1.2rem;font-weight:600;margin-bottom:12px}
.banner.ok{background:var(--okbg);color:var(--ok)}
.banner.bad{background:var(--badbg);color:var(--bad)}
.banner.loading,.banner.err{background:var(--warnbg);color:var(--warn)}
#alerts .alert{background:var(--warnbg);color:var(--warn);padding:10px 14px;border-radius:8px;margin-bottom:8px}
#alerts .alert a{color:inherit}
#map{height:340px;border-radius:10px;border:1px solid var(--line);margin:12px 0}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin-bottom:10px}
.card h3{margin:0 0 4px;font-size:1.1rem}
.card dl{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;margin:0;font-size:.95rem}
.card dt{color:var(--muted)}.card dd{margin:0}
.tag{font-size:.75rem;padding:1px 8px;border-radius:99px;background:var(--line);margin-left:6px;vertical-align:middle}
.meta{color:var(--muted);font-size:.9rem}
button{font:inherit;padding:2px 12px;margin-left:8px}
.sources{border-top:1px solid var(--line);margin-top:24px;padding-bottom:40px}
.sources li{margin:4px 0}.disclaimer{color:var(--muted)}
