:root {
  --font-family-sans: "IBM Plex Sans", "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-family-mono: "JetBrains Mono", "Consolas", monospace;

  --color-canvas: #f4f1ea;
  --color-layout: #e9e3d5;
  --color-surface: #ffffff;
  --color-surface-muted: #f8f5ef;
  --color-surface-strong: #ddd5c6;

  --color-text-strong: #17212b;
  --color-text-base: #314150;
  --color-text-muted: #677380;
  --color-text-inverse: #f8fafc;

  --color-border-soft: #d6d0c3;
  --color-border-strong: #bfb6a6;

  --color-primary: #0e5a6a;
  --color-primary-hover: #0a4b59;
  --color-accent: #c26d3a;
  --color-success: #217a5b;
  --color-warning: #b7791f;
  --color-danger: #b33a3a;
  --color-info: #2d6a9f;

  --gradient-shell:
    linear-gradient(180deg, rgba(14, 90, 106, 0.08) 0%, rgba(14, 90, 106, 0) 28%),
    linear-gradient(135deg, #f7f4ee 0%, #ebe5d7 100%);

  --sidebar-width: 248px;
  --sidebar-width-collapsed: 84px;
  --topbar-height: 64px;
  --page-max-width: 1440px;

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

  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 20px;

  --shadow-card: 0 10px 30px rgba(23, 33, 43, 0.06);
  --shadow-float: 0 20px 60px rgba(23, 33, 43, 0.12);

  --motion-fast: 140ms;
  --motion-base: 220ms;
  --motion-slow: 320ms;
  --motion-ease: cubic-bezier(0.2, 0, 0, 1);
}
