/* MOAI — tokens.json から生成（手で直さない。直すときは tokens.json を直して作り直す） */
:root{
  --color-cta: #c14f28;
  --color-cta-text: #b44822;
  --color-cta-top: #d2663a;
  --color-cta-border: #b44822;
  --color-cta-hover-top: #db7346;
  --color-cta-hover: #cb5730;
  --color-cta-hover-border: #a94420;
  --color-cta-soft: #f6e2d2;
  --color-cta-ink: #8a3f1d;
  --color-primary: #1a6d72;
  --color-primary-soft: #eef8f4;
  --color-outline: #8bb5ab;
  --color-outline-hover: #4f9488;
  --color-deep: #073f42;
  --color-deep-elevated: #155356;
  --color-tech-cyan: #6cb1b4;
  --color-marker: #fff066;
  --color-marker-strong: #ffd84d;
  --color-ink: #1f3532;
  --color-heading: #243d39;
  --color-label: #334d44;
  --color-muted: #4a5f5a;
  --color-meta: #6a786f;
  --color-disabled: #b3b8be;
  --color-on-dark: #ffffff;
  --color-on-dark-mute: rgba(255, 255, 255, 0.78);
  --color-canvas: #f5f9f8;
  --color-paper: #ffffff;
  --color-white: #ffffff;
  --color-surface-mist: #e8f2ef;
  --color-surface-warm: #fff8f0;
  --color-surface-green: #f3faf6;
  --color-border: #d2e3de;
  --color-hairline: #e8efe9;
  --color-border-warm: #ead3b8;
  --color-border-green: #b8dcc8;
  --color-hairline-on-dark: rgba(255, 255, 255, 0.16);
  --color-input-bg: #f7faf7;
  --color-input-border: #c5d2c8;
  --color-focus: #3f8f82;
  --color-note-bg: #f6f8f4;
  --color-note-border: #d7e0d4;
  --color-required: #795446;
  --color-error: #a53725;
  --color-success: #1f5f45;
  --color-success-soft: #d9f0e4;
  --color-warning: #8a4d1f;
  --color-badge-bg: #ffe7b5;
  --color-badge-bg-end: #ffe0c4;
  --color-line: #06c755;
  --color-line-dark: #05a648;
  --font-body: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", Meiryo, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  --font-heading-en: Inter, "Noto Sans JP", sans-serif;
  --font-serif: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
  --font-mono: "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;
  --spacing-xxs: 4px;
  --spacing-xs: 8px;
  --spacing-sm: 12px;
  --spacing-md: 16px;
  --spacing-lg: 24px;
  --spacing-xl: 32px;
  --spacing-2xl: 48px;
  --spacing-3xl: 64px;
  --spacing-4xl: 96px;
  --spacing-5xl: 128px;
  --spacing-section: 128px;
  --radius-none: 0;
  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-pill: 9999px;
  --card-radius: 16px;
  --panel-radius: 22px;
  --shadow-sm: 0 2px 8px rgba(7, 63, 66, 0.06);
  --shadow-md: 0 8px 24px rgba(7, 63, 66, 0.10);
  --shadow-lg: 0 20px 48px rgba(7, 63, 66, 0.14);
  --shadow-whisper: 0 0 0.5px rgba(7, 63, 66, 0.14), 0 1px 2px rgba(7, 63, 66, 0.08);
  --shadow-whisper-lift: 0 0 0.5px rgba(7, 63, 66, 0.14), 0 4px 12px rgba(7, 63, 66, 0.12);
  --shadow-paper: 0 4px 0 #d2e3de;
  --shadow-paper-lift: 0 6px 0 #d2e3de;
  --shadow-cta: 0 8px 18px rgba(193, 79, 40, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.4);
  --shadow-cta-hover: 0 10px 22px rgba(193, 79, 40, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.53);
  --shadow-outline: 0 4px 14px rgba(31, 107, 99, 0.06);
  --shadow-panel: 0 22px 48px rgba(7, 63, 66, 0.08), inset 0 1px 0 #ffffff;
  --shadow-focus: 0 0 0 4px rgba(63, 143, 130, 0.13);
  --container-max: 1080px;
  --container-narrow: 720px;
  --header-height: 88px;
  --text-display-size: 56px; --text-display-line: 1.45; --text-display-weight: 700;
  --text-section-size: 38px; --text-section-line: 1.55; --text-section-weight: 700;
  --text-heading-3-size: 22px; --text-heading-3-line: 1.55; --text-heading-3-weight: 700;
  --text-lead-size: 18px; --text-lead-line: 1.85; --text-lead-weight: 400;
  --text-body-size: 16px; --text-body-line: 1.85; --text-body-weight: 400;
  --text-small-size: 14px; --text-small-line: 1.85; --text-small-weight: 400;
  --text-caption-size: 12px; --text-caption-line: 1.7; --text-caption-weight: 400;
  --text-button-size: 15px; --text-button-line: 1.6; --text-button-weight: 700;
  --text-label-size: 14px; --text-label-line: 1.4; --text-label-weight: 700;
  --text-stat-size: 64px; --text-stat-line: 1; --text-stat-weight: 900;
}
