:root { --line: rgba(255,255,255,.09); --muted:#8b8f9a; --ink:#e9ecf1; }
* { box-sizing:border-box; }
html { background:#05060a; scroll-behavior:smooth; }
body { margin:0; color:var(--ink); line-height:1.65;
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto,
    Helvetica, Arial, sans-serif;
  -webkit-font-smoothing:antialiased; background:
    radial-gradient(60rem 50rem at 8% -14%, rgba(52,211,153,.16), transparent 60%),
    radial-gradient(54rem 46rem at 104% -6%, rgba(167,139,250,.18), transparent 58%),
    #05060a; }
a { color:#7dd3fc; }
.wrap { max-width:860px; margin:0 auto; padding:0 24px; }
header.top { border-bottom:1px solid var(--line); position:sticky; top:0; z-index:10;
  backdrop-filter:blur(16px); background:rgba(8,10,16,.72); }
.top .wrap { display:flex; align-items:center; gap:14px; min-height:64px; }
.brand { display:flex; align-items:center; gap:10px; font-weight:700;
  color:#fff; text-decoration:none; }
.brand img { width:26px; height:26px; }
.brand .b { font-size:15px; }
.brand .s { font-size:12px; color:var(--muted); font-weight:500; }
.top nav { margin-inline-start:auto; display:flex; gap:16px; }
.top nav a { color:#b7bcc7; text-decoration:none; font-size:14px; }
.top nav a:hover { color:#fff; }
main { padding:44px 0 72px; }
h1 { font-size:clamp(1.7rem,4vw,2.3rem); line-height:1.15; letter-spacing:-.02em; margin:0 0 10px; }
.lede { color:var(--muted); font-size:1.02rem; margin:0 0 30px; }
.post { border-top:1px solid var(--line); padding:24px 0; }
.post h2 { font-size:1.22rem; margin:0 0 6px; letter-spacing:-.01em; }
.post h2 a { color:#fff; text-decoration:none; }
.post h2 a:hover { text-decoration:underline; }
.meta { color:#6b7280; font-size:12.5px; margin:0 0 8px; display:flex; flex-wrap:wrap; gap:10px; }
.post p.sum { color:#b9bec9; margin:0 0 8px; }
.tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.tag { border:1px solid var(--line); background:rgba(255,255,255,.04); border-radius:999px;
  padding:2px 10px; font-size:11px; color:#9aa0ac; text-decoration:none; }
.sev { font-weight:700; }
.sev-critical { color:#f87171; } .sev-high { color:#fb923c; }
.sev-medium { color:#facc15; } .sev-low { color:#60a5fa; }
article h2 { font-size:1.2rem; margin:26px 0 8px; }
article p, article li { color:#c3c8d2; }
article ul { padding-inline-start:1.3em; }
article code { background:rgba(255,255,255,.07); padding:1px 5px;
  border-radius:5px; font-size:.9em; }
.refs { margin-top:26px; border-top:1px solid var(--line); padding-top:16px; }
.refs h2 { font-size:1rem; margin:0 0 8px; }
.cta { margin:30px 0 0; border:1px solid var(--line); border-radius:14px; padding:18px 20px;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)); }
.cta b { color:#fff; }
.cta a { font-weight:600; }
footer { border-top:1px solid var(--line); padding:26px 0; color:var(--muted); font-size:.83rem; }
footer a { color:var(--muted); }
.empty { border:1px solid var(--line); border-radius:14px; padding:24px; color:var(--muted); }