:root{
  --bg:#faf8f4; --ink:#1c1a17; --muted:#6b6459; --line:#e3ddd2; --card:#ffffff;
  --accent:#0d6e5f; --gold:#9a6b1f; --code:#f2eee6; --red:#9c2b1f; --amber:#8a5a12;
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#141311; --ink:#ece7de; --muted:#9a9184; --line:#2c2924; --card:#1d1b18;
         --accent:#2fa08c; --gold:#d0a04a; --code:#232019; --red:#e0705f; --amber:#d0a04a; }
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 Georgia,"Times New Roman",serif}
.wrap{max-width:720px;margin:0 auto;padding:0 20px}
.wrap.wide{max-width:880px}
a{color:var(--accent)}
code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
code{background:var(--code);padding:1px 4px;border-radius:4px;font-size:.86em}
pre{background:var(--code);border:1px solid var(--line);border-radius:8px;padding:12px 14px;
    overflow-x:auto;font-size:.82rem;line-height:1.5}
pre code{background:none;padding:0;font-size:1em}
.topnav{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:baseline;justify-content:space-between;
        padding:18px 0;border-bottom:1px solid var(--line);font-size:.9rem}
.topnav .brand{font-weight:bold;text-decoration:none}
.navlinks a{margin-left:14px;color:var(--muted)}
header.hero{padding:48px 0 32px;border-bottom:1px solid var(--line)}
h1{font-size:2.1rem;margin:0 0 8px;letter-spacing:-.5px;line-height:1.2}
h2{font-size:1.35rem;margin:0 0 14px}
h3{font-size:1.08rem;margin:26px 0 6px}
.tag{color:var(--muted);margin:0;font-style:italic;font-size:1.05rem}
.notice{margin-top:22px;padding:12px 16px;border:1px solid var(--line);border-radius:8px;
        background:var(--card);font-size:.92rem;color:var(--muted)}
.notice strong{color:var(--ink)}
section{padding:36px 0;border-bottom:1px solid var(--line)}
.scroll{overflow-x:auto;margin:16px 0}
table{width:100%;border-collapse:collapse;font-size:.92rem}
td,th{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:normal}
blockquote{margin:16px 0;padding:2px 0 2px 16px;border-left:3px solid var(--line);color:var(--muted)}
.fine{font-size:.85rem;color:var(--muted)}
.big{font-size:1.5rem;font-weight:bold}
.sev{display:inline-block;white-space:nowrap;font-family:ui-monospace,Menlo,Consolas,monospace;
     font-size:.72rem;padding:2px 7px;border-radius:99px;border:1px solid var(--line);background:var(--card)}
.sev-l{margin-left:6px;color:var(--muted)}
.sev-S1{color:var(--red);border-color:var(--red)}
.sev-S2{color:var(--amber);border-color:var(--amber)}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin:18px 0}
.finding{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin:22px 0}
.finding h3{margin:0 0 8px;font-size:1.1rem}
.finding .meta{font-size:.85rem;color:var(--muted);margin:0 0 12px}
.kv > div{margin:12px 0}
.kv .k{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:4px}
.wrong{border-left:3px solid var(--red);padding-left:12px}
.right{border-left:3px solid var(--accent);padding-left:12px}
.pillrow{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.pillrow a{display:inline-block;padding:6px 12px;border:1px solid var(--line);border-radius:99px;
           background:var(--card);text-decoration:none;font-size:.85rem}
ul,ol{padding-left:22px}
li{margin:6px 0}
footer{padding:32px 0 56px;color:var(--muted);font-size:.9rem}
.super{font-size:.85rem;color:var(--muted);border:1px dashed var(--line);border-radius:8px;padding:10px 14px;margin:14px 0}
