    :root {
      /* DESIGN.md 和色トークン */
      --primary: #162b4d;        /* 勝色 */
      --primary-foreground: #faf6ec;
      --accent: #3a8fa8;         /* 浅葱 */
      --accent-hover: #2a6e85;
      --text: #1d1d1f;           /* 墨色 */
      --text-secondary: rgba(0, 0, 0, 0.8);
      --text-tertiary: rgba(0, 0, 0, 0.48);
      --bg: #faf6ec;             /* 象牙色 */
      --bg-alt: #f3ede0;         /* 白茶 */
      --border: rgba(0, 0, 0, 0.08);
      --table-row: #f3ede0;
    }
    * { box-sizing: border-box; margin: 0; padding: 0; }
    html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
    body {
      font-family: Inter, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 17px;
      font-weight: 400;
      line-height: 1.58;
      letter-spacing: -0.374px;
      color: var(--text);
      background: var(--bg);
    }
    a { color: var(--accent); text-decoration: none; }
    a:hover { color: var(--accent-hover); text-decoration: underline; }
    /* DESIGN.md §6: backdrop-blur 不使用。不透明背景 + 下罫線で奥行きを出す */
    nav {
      position: sticky;
      top: 0;
      height: 48px;
      background: var(--bg);
      border-bottom: 1px solid var(--border);
      z-index: 10;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    nav .inner {
      max-width: 980px;
      width: 100%;
      padding: 0 22px;
      display: flex;
      align-items: center;
    }
    nav a.logo {
      font-size: 17px;
      font-weight: 600;
      color: var(--text);
      letter-spacing: -0.374px;
    }
    nav a.logo:hover { text-decoration: none; color: var(--accent); }
    main {
      max-width: 720px; /* legal ページ標準幅 */
      margin: 0 auto;
      padding: 64px 22px 96px;
    }
    main.wide {
      max-width: 820px; /* download ページ (手順 + table) は広め */
    }
    h1 {
      font-size: 40px;
      font-weight: 600;
      line-height: 1.10;
      letter-spacing: -0.4px;
      margin-bottom: 8px;
    }
    .updated {
      font-size: 14px;
      color: var(--text-tertiary);
      letter-spacing: -0.224px;
      margin-bottom: 48px;
    }
    .lead {
      font-size: 19px;
      line-height: 1.5;
      color: var(--text);
      margin-bottom: 32px;
    }
    .latest-box {
      background: var(--bg-alt);
      border-radius: 12px;
      padding: 24px 24px 28px;
      margin: 24px 0 48px;
    }
    .latest-box h2 {
      font-size: 21px;
      font-weight: 600;
      margin: 0 0 8px;
      letter-spacing: -0.25px;
    }
    .latest-box p {
      font-size: 14px;
      color: var(--text-secondary);
      margin-bottom: 16px;
    }
    /* DESIGN.md §4 Primary CTA: 10px 矩形角丸 / 勝色背景 / 象牙色テキスト / weight 600 */
    .btn-primary {
      display: inline-block;
      background: var(--primary);
      color: var(--primary-foreground);
      padding: 10px 22px;
      border-radius: 10px;
      font-size: 17px;
      font-weight: 600;
      letter-spacing: -0.374px;
    }
    .btn-primary:hover { background: #1f3a66; text-decoration: none; }
    h2 {
      font-size: 24px;
      font-weight: 600;
      line-height: 1.20;
      letter-spacing: -0.3px;
      margin: 40px 0 12px;
    }
    p {
      margin-bottom: 16px;
      color: var(--text-secondary);
    }
    /* legal ページ (privacy / terms / licenses) のリスト。
       terms は順序付きリスト (ol) も使う。download では未使用だが無害。 */
    ul, ol {
      margin: 0 0 16px 20px;
      color: var(--text-secondary);
    }
    li { margin-bottom: 6px; }
    table {
      width: 100%;
      border-collapse: collapse;
      margin: 16px 0 24px;
      font-size: 15px;
    }
    th, td {
      text-align: left;
      padding: 12px;
      border-bottom: 1px solid var(--border);
      letter-spacing: -0.2px;
      vertical-align: top;
    }
    th {
      font-weight: 600;
      color: var(--text);
      background: var(--table-row);
    }
    td {
      color: var(--text-secondary);
    }
    td code {
      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
      font-size: 12px;
      color: var(--text);
      word-break: break-all;
    }
    .note {
      font-size: 14px;
      color: var(--text-tertiary);
      letter-spacing: -0.224px;
      padding: 16px 18px;
      background: var(--bg-alt);
      border-radius: 8px;
      margin: 24px 0;
    }
    .verify {
      font-size: 14px;
      background: var(--bg-alt);
      border: 1px solid var(--border);
      border-radius: 8px;
      padding: 16px 18px;
      margin: 16px 0 24px;
      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
      overflow-x: auto;
    }
    footer {
      border-top: 1px solid var(--border);
      padding: 32px 22px;
      text-align: center;
      font-size: 12px;
      color: var(--text-tertiary);
      letter-spacing: -0.12px;
    }
    footer a { color: var(--text-tertiary); margin: 0 8px; }
    .footer-version { margin-top: 16px; }
    @media (max-width: 640px) {
      main { padding: 40px 22px 64px; }
      h1 { font-size: 32px; }
      h2 { font-size: 20px; }
      .lead { font-size: 17px; }
      table { font-size: 14px; }
      th, td { padding: 8px 10px; }
    }
