/* Design tokens — single source of color/typography/spacing for the whole site */
:root {
  /* Brand */
  --color-primary: #1B3A6E;
  --color-primary-hover: #15305C;
  --color-accent: #3F7CD0;
  --color-gradient: linear-gradient(135deg, #1B3A6E 0%, #3F7CD0 100%);

  /* Neutrals */
  --color-bg: #FFFFFF;
  --color-bg-alt: #F7F9FC;
  --color-bg-soft: #EEF2F8;
  --color-text: #0F1F3A;
  --color-text-muted: #5B6B85;
  --color-text-subtle: #8A95A8;
  --color-border: #E3E8F0;
  --color-border-strong: #C7D0DE;

  /* Semantic */
  --color-success: #2A8C5F;
  --color-success-bg: #E5F4ED;
  --color-warning: #C68A1C;
  --color-warning-bg: #FBF1DC;
  --color-danger: #C44545;
  --color-danger-bg: #FBE8E8;

  /* Typography */
  --font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans",
    "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, system-ui, sans-serif;
  --font-family-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
  --font-size-base: 16px;
  --line-height-base: 1.7;

  /* Spacing scale */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;

  /* Sizing */
  --width-content: 1120px;
  --width-reading: 720px;

  /* Radius */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-pill: 999px;

  /* Shadows */
  --shadow-sm: 0 1px 2px rgba(15, 31, 58, 0.05);
  --shadow-md: 0 2px 8px rgba(15, 31, 58, 0.06);
  --shadow-lg: 0 8px 24px rgba(15, 31, 58, 0.08);
  --shadow-xl: 0 16px 48px rgba(15, 31, 58, 0.12);

  /* Transitions */
  --transition-fast: 150ms ease;
  --transition-base: 200ms ease;

  /* Z layers */
  --z-header: 100;
  --z-overlay: 200;
  --z-modal: 300;
}
