  @font-face {
    font-family: 'Geist';
    src: url('https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-sans/Geist-Regular.woff2') format('woff2');
    font-weight: 400;
  }
  @font-face {
    font-family: 'Geist';
    src: url('https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-sans/Geist-Medium.woff2') format('woff2');
    font-weight: 500;
  }

  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  html { scroll-behavior: smooth; }

  :root {
    --ink: #111;
    --ink-mid: #555;
    --ink-soft: #999;
    --line: #e5e5e5;
    --bg: #fff;
  }

  body {
    font-family: 'Geist', -apple-system, sans-serif;
    font-weight: 400;
    background: var(--bg);
    font-size: 1rem;
    color: var(--ink);
    line-height: 1.6;
    max-width: 440px;
    margin: 0 auto;
    padding: 0 1.5rem;
  }

  nav {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 100;
    padding: 1rem 1.5rem;
    display: flex;
    align-items: center;
    background: rgba(255,255,255,0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(0,0,0,0.06);
  }

  .page-wrap {
    padding-top: 100px;
    padding-bottom: 4rem;
  }

  h1 {
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: -0.02em;
    margin-bottom: 0.35rem;
  }

  .updated {
    font-size: 1rem;
    color: var(--ink-soft);
    margin-bottom: 2rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--line);
  }

  h2 {
    font-size: 1.25rem;
    font-weight: 500;
    margin-top: 2rem;
    margin-bottom: 0.4rem;
    color: var(--ink);
  }

  p {
    font-size: 1rem;
    color: var(--ink-mid);
    line-height: 1.6;
    margin-bottom: 0.75rem;
  }

  ul {
    padding-left: 1.25rem;
    margin-bottom: 0.75rem;
  }

  ul li {
    font-size: 0.9rem;
    color: var(--ink-mid);
    line-height: 1.7;
    margin-bottom: 0.2rem;
  }

  a { color: var(--ink); text-decoration: underline; text-underline-offset: 2px; }

  footer {
    padding: 1.5rem 0 2rem;
    border-top: 1px solid #2e2e2e;
    font-size: 13px;
    color: #555;
  }

  @media (max-width: 480px) { body { padding: 0 1rem; } }