/* Design tokens. All component styles must reference these variables. */
:root {
  /* Color */
  --color-bg: #f6f7f9;
  --color-surface: #ffffff;
  --color-surface-muted: #eef0f4;
  --color-border: #d9dde5;
  --color-text: #1b1f27;
  --color-text-muted: #5b6474;
  --color-primary: #2f5bd3;
  --color-primary-hover: #244ab3;
  --color-on-primary: #ffffff;
  --color-success: #1f8a4c;
  --color-success-bg: #e3f4ea;
  --color-danger: #c2412d;
  --color-danger-bg: #fbe7e3;
  --color-info: #244ab3;
  --color-info-bg: #e5ecfc;
  --color-neutral: #7a8394;
  --color-neutral-bg: #eceef2;
  --color-focus: #8aa8ff;

  /* Typography */
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Noto Sans JP", sans-serif;
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-md: 1rem;
  --text-lg: 1.25rem;
  --text-xl: 1.5rem;
  --text-2xl: 2.25rem;
  --weight-regular: 400;
  --weight-medium: 600;
  --weight-bold: 700;
  --leading-tight: 1.25;
  --leading-normal: 1.6;

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

  /* Shape */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-pill: 999px;
  --shadow-card: 0 1px 2px rgba(20, 24, 33, 0.06), 0 2px 8px rgba(20, 24, 33, 0.05);

  /* Layout */
  --layout-max: 1080px;
  --sidebar-width: 300px;
}

@media (prefers-color-scheme: dark) {
  :root {
    --color-bg: #12151b;
    --color-surface: #1b2029;
    --color-surface-muted: #242a35;
    --color-border: #333a47;
    --color-text: #e8ebf1;
    --color-text-muted: #9aa3b4;
    --color-primary: #6c8ff0;
    --color-primary-hover: #87a3f4;
    --color-on-primary: #0d1220;
    --color-success: #5cc98a;
    --color-success-bg: #183324;
    --color-danger: #ee8a77;
    --color-danger-bg: #3a1f1a;
    --color-info: #9db5f6;
    --color-info-bg: #1c2742;
    --color-neutral: #9aa3b4;
    --color-neutral-bg: #2a303b;
    --shadow-card: none;
  }
}
