/* Kanji Creature Cards (KANJI RUN) — kanjirun.dorayasweets.com
   privacy / terms / support の見た目は assets/release/legal/*.html の
   インライン style と同一。ここはそれを共有ファイルに出したもの。 */
  :root { color-scheme: light dark; }
  * { box-sizing: border-box; }
  body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; max-width: 760px; margin: 0 auto; padding: 24px 20px 80px; line-height: 1.65; color: #1a1a1a; background: #ffffff; -webkit-text-size-adjust: 100%; }
  h1 { font-size: 1.7rem; margin: 0 0 0.5rem; border-bottom: 2px solid currentColor; padding-bottom: 0.35rem; }
  h2 { font-size: 1.3rem; margin: 2.25rem 0 0.75rem; border-bottom: 1px solid #cccccc; padding-bottom: 0.2rem; }
  h3 { font-size: 1.05rem; margin: 1.5rem 0 0.5rem; }
  p { margin: 0.75rem 0; }
  ul, ol { margin: 0.75rem 0; padding-left: 1.5rem; }
  li { margin: 0.25rem 0; }
  .metadata { margin: 1rem 0 1.5rem; padding: 0.75rem 1rem; background: #f5f5f5; border-radius: 4px; font-size: 0.95rem; }
  .metadata p { margin: 0.25rem 0; }
  blockquote { background: #f7f7f5; border-left: 4px solid #888; margin: 1rem 0; padding: 0.75rem 1rem; font-size: 0.97rem; }
  blockquote p { margin: 0.4rem 0; }
  code { background: #f0f0f0; padding: 0.1rem 0.35rem; border-radius: 3px; font-size: 0.92em; font-family: "SFMono-Regular", Menlo, Consolas, monospace; }
  table { border-collapse: collapse; margin: 1rem 0; width: 100%; font-size: 0.95rem; }
  th, td { border: 1px solid #cccccc; padding: 0.45rem 0.65rem; text-align: left; vertical-align: top; }
  th { background: #f5f5f5; font-weight: 600; }
  hr { border: none; border-top: 1px solid #cccccc; margin: 2rem 0; }
  a { color: #0a58ca; text-decoration: underline; }
  a:hover { text-decoration: none; }
  strong { font-weight: 600; }
  @media (prefers-color-scheme: dark) {
    body { background: #1a1a1a; color: #e6e6e6; }
    h2 { border-bottom-color: #3a3a3a; }
    .metadata, th { background: #262626; }
    blockquote { background: #232323; border-left-color: #777; }
    code { background: #2a2a2a; }
    th, td { border-color: #3a3a3a; }
    hr { border-top-color: #3a3a3a; }
    a { color: #6ea8fe; }
  }

  /* --- サイト共通のヘッダーとフッター（Rapovia と同じ構成） --- */
  header.site { display: flex; flex-wrap: wrap; gap: 0.5rem 1.25rem; align-items: baseline; margin: 0 0 1.5rem; padding-bottom: 0.75rem; border-bottom: 1px solid #cccccc; }
  header.site .brand { font-weight: 700; font-size: 1.05rem; letter-spacing: 0.02em; }
  header.site nav { display: flex; flex-wrap: wrap; gap: 0.25rem 1rem; font-size: 0.95rem; }
  footer.site { margin-top: 3rem; padding-top: 1rem; border-top: 1px solid #cccccc; font-size: 0.9rem; color: #555555; }
  footer.site p { margin: 0.35rem 0; }
  .hero { font-size: 1.15rem; }
  .cta { display: inline-block; margin: 0.5rem 0; padding: 0.6rem 1.1rem; border-radius: 8px; background: #0a58ca; color: #ffffff; text-decoration: none; font-weight: 600; }
  .cta:hover { text-decoration: underline; }
  .note { font-size: 0.9rem; color: #555555; }
  @media (prefers-color-scheme: dark) {
    header.site { border-bottom-color: #3a3a3a; }
    footer.site { border-top-color: #3a3a3a; color: #a8a8a8; }
    .note { color: #a8a8a8; }
    .cta { background: #6ea8fe; color: #10243e; }
  }
