:root {
    --ink:#12162A; --paper:#F3F2EE; --rouge:#D92B1F; --graphite:#5A5F6E;
    --bg:var(--paper); --fg:var(--ink); --muted:var(--graphite);
    --rule:rgba(0,0,0,.09); --surface:#fff;
  }
  @media (prefers-color-scheme: dark) {
    :root { --bg:var(--ink); --fg:#F5F5F7; --muted:#AEB2BE; --rule:rgba(255,255,255,.10); --surface:#1B2038; }
  }
  * { box-sizing:border-box; }
  body {
    margin:0; padding:48px 20px 80px; background:var(--bg); color:var(--fg);
    font:17px/1.7 ui-serif, "New York", Georgia, serif;
  }
  main { max-width:720px; margin:0 auto; }
  .masthead { display:flex; align-items:center; gap:6px; margin-bottom:34px; }
  .masthead i { display:block; width:4px; height:20px; background:var(--rouge); }
  .masthead b, .masthead span {
    font:800 22px/1 -apple-system,"SF Pro Display",system-ui,sans-serif;
    font-stretch:condensed; letter-spacing:.01em;
  }
  .masthead span { color:var(--rouge); }
  h1 { font:800 34px/1.15 -apple-system,"SF Pro Display",system-ui,sans-serif; font-stretch:condensed; margin:0 0 8px; }
  .updated { font:12px ui-monospace,SFMono-Regular,monospace; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; margin-bottom:28px; }
  h2 {
    font:700 13px ui-monospace,SFMono-Regular,monospace; text-transform:uppercase; letter-spacing:.08em;
    margin:38px 0 10px; padding-top:18px; border-top:1px solid var(--rule); color:var(--muted);
  }
  p, li { margin:0 0 14px; }
  ul { padding-left:20px; }
  a { color:var(--rouge); }
  .todo {
    display:inline-block; background:#FFF3CD; color:#7A5B00; border:1px solid #E5C76B;
    padding:1px 6px; border-radius:4px; font:600 13px ui-monospace,SFMono-Regular,monospace;
  }
  @media (prefers-color-scheme: dark) { .todo { background:#3A2F00; color:#F2C14E; border-color:#6B5A1E; } }
  table { width:100%; border-collapse:collapse; margin:0 0 16px; font-size:15px; }
  th, td { text-align:left; padding:9px 10px; border-bottom:1px solid var(--rule); vertical-align:top; }
  th { font:700 12px ui-monospace,SFMono-Regular,monospace; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); }
  footer { margin-top:44px; padding-top:18px; border-top:1px solid var(--rule); font-size:14px; color:var(--muted); }

  .langbar { display:flex; gap:10px; margin-bottom:26px; font:600 12px ui-monospace,SFMono-Regular,monospace; }
  .langbar a, .langbar span { padding:4px 9px; border-radius:5px; text-decoration:none; letter-spacing:.05em; }
  .langbar span { background:var(--rouge); color:#fff; }
  .langbar a { color:var(--muted); border:1px solid var(--rule); }
