/* 自動生成 — 直接編集しない。scripts/gen-tokens.mjs で再生成する。
   source: .claude/design/foundation/tokens.json v1.0.0
   ダークモードは非対応（foundation §3.5）。 */
:root {
  --color-primary-50: #f8fafc;
  --color-primary-100: #f1f5f9;
  --color-primary-200: #e2e8f0;
  --color-primary-300: #cbd5e1;
  --color-primary-400: #94a3b8;
  --color-primary-500: #64748b;
  --color-primary-600: #475569;
  --color-primary-700: #334155;
  --color-primary-800: #1e293b;
  --color-primary-900: #0f172a;
  --color-primary-950: #020617;
  --color-accent: #3b82f6;
  --color-accent-light: #dbeafe;
  --color-accent-dark: #1d4ed8;
  --color-bg-page: #f9fafb;
  --color-bg-surface: #ffffff;
  --color-bg-surface-alt: #f3f4f6;
  --color-bg-muted: #f1f5f9;
  --color-text-heading: #0f172a;
  --color-text-default: #374151;
  --color-text-muted: #6b7280;
  --color-text-on-accent: #ffffff;
  --color-border-default: #e5e7eb;
  --color-border-strong: #d1d5db;
  --color-input-bg: #ffffff;
  --color-input-border: #d1d5db;
  --color-success: #059669;
  --color-success-light: #ecfdf5;
  --color-success-text: #047857;
  --color-warning: #d97706;
  --color-warning-light: #fffbeb;
  --color-warning-text: #b45309;
  --color-danger: #ef4444;
  --color-danger-light: #fef2f2;
  --color-danger-text: #dc2626;
  --font-family-sans: Inter,Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif;
  --font-family-mono: JetBrains Mono,SF Mono,Courier New,monospace;
  --font-size-xs: 0.8125rem;
  --font-size-sm: 0.9375rem;
  --font-size-base: 1.125rem;
  --font-size-lg: 1.25rem;
  --font-size-xl: 1.375rem;
  --font-size-2xl: 1.625rem;
  --font-size-3xl: 2rem;
  --font-size-display: 3rem;
  --font-size-hero: 4.5rem;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-black: 900;
  --letter-spacing-tight: -0.02em;
  --letter-spacing-normal: 0em;
  --letter-spacing-wide: 0.02em;
  --line-height-tight: 1.2;
  --line-height-heading: 1.4;
  --line-height-normal: 1.6;
  --line-height-loose: 2.0;
  --ja-body-line-height: 2.0;
  --ja-body-letter-spacing: normal;
  --ja-heading-line-height: 1.4;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --shadow-none: none;
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
  --shadow-md: 0 4px 6px -1px rgba(0,0,0,0.1);
  --shadow-overlay: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1);
  --radius-none: 0px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-full: 9999px;
  --duration-fast: 150ms;
  --duration-normal: 200ms;
  --duration-slow: 300ms;
  --duration-expressive: 400ms;
  --duration-exit-fast: 100ms;
  --duration-exit-normal: 130ms;
  --duration-exit-slow: 180ms;
  --easing-default: cubic-bezier(0.4, 0, 0.2, 1);
  --easing-in: cubic-bezier(0.4, 0, 1, 1);
  --easing-out: cubic-bezier(0, 0, 0.2, 1);
  --easing-out-cubic: cubic-bezier(0.215, 0.61, 0.355, 1);
  --easing-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
  --easing-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --easing-in-out-quart: cubic-bezier(0.76, 0, 0.24, 1);
}
