
:root { --bg:#fbfbfa; --fg:#1a1a1a; --muted:#666; --card:#fff; --line:#e5e5e3; --accent:#3b5bdb; }
@media (prefers-color-scheme: dark) {
  :root { --bg:#15161a; --fg:#e8e8ea; --muted:#9a9aa2; --card:#1e1f25; --line:#2c2d34; --accent:#8aa0ff; }
}
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }
a { color:var(--accent); text-decoration:none; } a:hover { text-decoration:underline; }
main { max-width:820px; margin:0 auto; padding:0 20px 64px; }
.site-head { max-width:820px; margin:0 auto; padding:20px; display:flex; gap:12px; align-items:baseline; flex-wrap:wrap; }
.brand { font-weight:700; font-size:18px; color:var(--fg); }
.tagline { color:var(--muted); font-size:14px; }
.site-foot { max-width:820px; margin:0 auto; padding:24px 20px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
h1 { font-size:28px; line-height:1.25; margin:8px 0 12px; }
h2 { font-size:15px; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); margin:28px 0 8px; }
.intro p { color:var(--fg); }
.filters { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin:20px 0; position:sticky; top:0; background:var(--bg); padding:10px 0; }
.filters input, .filters select { padding:7px 9px; border:1px solid var(--line); border-radius:8px; background:var(--card); color:var(--fg); font-size:14px; }
.filters #q { flex:1; min-width:160px; }
.count { color:var(--muted); font-size:13px; margin-left:auto; }
.cards { display:flex; flex-direction:column; gap:10px; }
.card { display:block; padding:14px 16px; border:1px solid var(--line); border-radius:12px; background:var(--card); color:var(--fg); }
.card:hover { border-color:var(--accent); text-decoration:none; }
.card-head { display:flex; gap:8px; align-items:center; margin-bottom:6px; }
.card-date { color:var(--muted); font-size:13px; font-variant-numeric:tabular-nums; }
.card-title { font-weight:600; }
.card-chain { color:var(--muted); font-size:13px; margin-top:4px; }
.badges { display:flex; gap:6px; flex-wrap:wrap; margin:4px 0 8px; }
.badge { font-size:12px; font-weight:600; padding:2px 8px; border-radius:999px; border:1px solid var(--line); white-space:nowrap; }
.badge-sev-critical { background:#fdecec; color:#b42318; border-color:#f6c9c4; }
.badge-sev-high { background:#fdf1e7; color:#b54708; border-color:#f6d5b3; }
.badge-sev-moderate { background:#fffaeb; color:#93700a; border-color:#f5e3a1; }
.badge-sev-low { background:#ecfdf3; color:#137a3e; border-color:#bbe9cc; }
.badge-sev-informational { background:#f2f4f7; color:#475467; border-color:#e0e4ea; }
.badge-type-incident { background:#eef2ff; color:#3538cd; border-color:#cfd6ff; }
.badge-type-hazard { background:#f2f4f7; color:#475467; border-color:#e0e4ea; }
.badge-neutral { color:var(--muted); }
@media (prefers-color-scheme: dark) { .badge { background:transparent !important; } }
.crumb { margin:0 0 12px; font-size:14px; }
.sub { color:var(--muted); margin:0 0 16px; }
.sub code { background:var(--card); padding:2px 6px; border-radius:6px; border:1px solid var(--line); }
.summary { font-size:18px; line-height:1.5; }
.prose p { margin:0 0 8px; }
.kvs { margin:0; } .kv { display:flex; gap:12px; padding:5px 0; border-bottom:1px solid var(--line); }
.kv dt { flex:0 0 130px; color:var(--muted); font-size:14px; } .kv dd { margin:0; flex:1; }
.tag { display:inline-block; font-size:12px; padding:1px 7px; border-radius:6px; background:var(--card); border:1px solid var(--line); color:var(--muted); margin:1px 2px; }
.sources { margin:0; padding-left:18px; } .sources li { margin:6px 0; }
.src-meta { color:var(--muted); font-size:13px; margin-left:6px; }
.timeline { list-style:none; padding:0; } .timeline li { padding:4px 0; border-bottom:1px solid var(--line); }
.tl-at { color:var(--muted); font-variant-numeric:tabular-nums; margin-right:8px; }
.cite { margin-top:36px; padding:16px; border:1px solid var(--line); border-radius:12px; background:var(--card); }
.cite pre { overflow-x:auto; background:var(--bg); padding:12px; border-radius:8px; border:1px solid var(--line); font-size:13px; }
.cite button { padding:7px 12px; border:1px solid var(--line); border-radius:8px; background:var(--bg); color:var(--fg); cursor:pointer; }
