/* ============================================
   デザイントークン（Design Tokens）
   サイト全体のカラー・フォント・間隔を一元管理
   ============================================ */

:root {
  /* === カラーパレット === */
  /* プライマリ：和風ダーク — 黒と金で武道の格調を表現 */
  --color-bg-primary: #0a0a0a;        /* メイン背景：深黒 */
  --color-bg-secondary: #111111;      /* セカンダリ背景：やや明るい黒 */
  --color-bg-tertiary: #161616;       /* カード・セクション背景 */
  --color-bg-elevated: #1e1e1e;       /* ホバー時など浮き上がる要素 */

  /* テキストカラー */
  --color-text-primary: #f0ece4;      /* メインテキスト：温かみのあるオフホワイト */
  --color-text-secondary: #b0a898;    /* サブテキスト：薄い金茶 */
  --color-text-muted: #666666;        /* 控えめなテキスト */

  /* アクセント：金 — 伝統と品格を象徴 */
  --color-accent: #c9a84c;            /* メインアクセント（金） */
  --color-accent-light: #e0c070;      /* アクセント明るめ（ホバー用） */
  --color-accent-dark: #9a7a30;       /* アクセント暗め */

  /* ゴールド：サブアクセントとしても利用 */
  --color-gold: #c9a84c;              /* ゴールド */
  --color-gold-light: #e0c070;        /* ゴールド明るめ */

  /* ボーダー・区切り線 */
  --color-border: #2a2a2a;            /* 通常のボーダー：ダーク */
  --color-border-light: #333333;      /* やや明るいボーダー */

  /* === タイポグラフィ === */
  /* Noto Sans JP: 本文用ゴシック体 */
  --font-body: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'メイリオ', sans-serif;
  /* Noto Serif JP: 見出し用明朝体（和の品格） */
  --font-heading: 'Noto Serif JP', 'Hiragino Mincho ProN', '游明朝', serif;

  /* フォントサイズ（rem基準、1rem = 16px） */
  --text-xs: 0.75rem;    /* 12px：キャプション */
  --text-sm: 0.875rem;   /* 14px：小さいテキスト */
  --text-base: 1rem;     /* 16px：本文 */
  --text-lg: 1.125rem;   /* 18px：やや大きめ */
  --text-xl: 1.25rem;    /* 20px：小見出し */
  --text-2xl: 1.5rem;    /* 24px：見出し */
  --text-3xl: 2rem;      /* 32px：セクションタイトル */
  --text-4xl: 2.5rem;    /* 40px：ヒーロー小 */
  --text-5xl: 3.5rem;    /* 56px：ヒーロー大 */

  /* 行間 */
  --leading-tight: 1.3;
  --leading-normal: 1.8;
  --leading-relaxed: 2.0;

  /* 字間 */
  --tracking-tight: 0.02em;
  --tracking-normal: 0.05em;
  --tracking-wide: 0.1em;
  --tracking-wider: 0.2em;

  /* === スペーシング === */
  --space-xs: 0.5rem;    /* 8px */
  --space-sm: 1rem;      /* 16px */
  --space-md: 1.5rem;    /* 24px */
  --space-lg: 2rem;      /* 32px */
  --space-xl: 3rem;      /* 48px */
  --space-2xl: 4rem;     /* 64px */
  --space-3xl: 6rem;     /* 96px */
  --space-4xl: 8rem;     /* 128px */

  /* === ページレイアウト === */
  --content-width: 1200px;          /* コンテンツ最大幅 */
  --content-narrow: 800px;          /* 狭いコンテンツ幅（文章中心のページ） */
  --page-padding: 5vw;              /* ページ左右の余白 */

  /* === トランジション・アニメーション === */
  --transition-fast: 0.2s ease;
  --transition-base: 0.3s ease;
  --transition-slow: 0.5s ease;
  --transition-smooth: 0.6s cubic-bezier(0.16, 1, 0.3, 1);

  /* === ボーダー === */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;

  /* === シャドウ === */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.6);
}
