  :root {
    --bg: #ffffff;
    --fg: #1c1c1e;
    --muted: #6b6b70;
    --rule: #e0e0e4;
    --link: #0a58c2;
    --code-bg: #f2f2f5;
  }

  @media (prefers-color-scheme: dark) {
    :root {
      --bg: #16161a;
      --fg: #e9e9ec;
      --muted: #a0a0a8;
      --rule: #34343a;
      --link: #7fb2ff;
      --code-bg: #26262c;
    }
  }

  * { box-sizing: border-box; }

  html { -webkit-text-size-adjust: 100%; }

  body {
    background: var(--bg);
    color: var(--fg);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 1.0625rem;
    line-height: 1.65;
    margin: 0;
    padding: 2.5rem 1.25rem 5rem;
  }

  main {
    max-width: 38rem;
    margin: 0 auto;
  }

  .lang {
    font-size: 0.875rem;
    color: var(--muted);
    margin: 0 0 2.5rem;
  }

  .lang a {
    color: var(--muted);
    text-decoration: none;
    border-bottom: 1px solid var(--rule);
  }

  .lang a:hover { color: var(--link); border-bottom-color: var(--link); }

  h1 {
    font-size: 1.75rem;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: -0.015em;
    margin: 0 0 1.5rem;
  }

  h2 {
    font-size: 1.1875rem;
    line-height: 1.3;
    font-weight: 650;
    letter-spacing: -0.01em;
    margin: 2.75rem 0 0.85rem;
    padding-top: 0.35rem;
  }

  p { margin: 0 0 1.15rem; }

  ul {
    margin: 0 0 1.15rem;
    padding-left: 1.35rem;
  }

  li { margin-bottom: 0.6rem; }

  strong { font-weight: 650; }

  em { font-style: italic; }

  .dates {
    color: var(--muted);
    font-size: 0.9375rem;
    line-height: 1.5;
    margin: 0 0 2.25rem;
    padding-bottom: 1.75rem;
    border-bottom: 1px solid var(--rule);
  }

  code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.875em;
    background: var(--code-bg);
    padding: 0.1em 0.35em;
    border-radius: 4px;
  }

  a { color: var(--link); }

  @media (max-width: 30rem) {
    body { padding: 2rem 1.1rem 4rem; }
    h1 { font-size: 1.5rem; }
    h2 { font-size: 1.125rem; }
  }

  .tag { color: var(--muted); font-size: 1.0625rem; margin: -0.75rem 0 2rem; }
  .links { list-style: none; padding: 0; margin: 0 0 1.15rem; }
  .links li { margin-bottom: 0.45rem; }
  footer { margin-top: 3.5rem; padding-top: 1.5rem; border-top: 1px solid var(--rule);
           color: var(--muted); font-size: 0.875rem; line-height: 1.55; }
  footer a { color: var(--muted); }
