:root {
  --tm-background: #f8fafc;
  --tm-foreground: #0f172a;
  --tm-card: #ffffff;
  --tm-card-foreground: #0f172a;
  --tm-popover: #ffffff;
  --tm-popover-foreground: #0f172a;
  --tm-primary: #3b82f6;
  --tm-primary-foreground: #ffffff;
  --tm-secondary: #f1f5f9;
  --tm-secondary-foreground: #334155;
  --tm-muted: #f1f5f9;
  --tm-muted-foreground: #64748b;
  --tm-accent: #06b6d4;
  --tm-accent-foreground: #ffffff;
  --tm-border: #e2e8f0;
  --tm-input: #ffffff;
  --tm-ring: #3b82f6;
  --tm-radius-small: 4px;
  --tm-radius-medium: 8px;
  --tm-radius-large: 12px;

  --tm-primary-50: #eff6ff;
  --tm-primary-100: #dbeafe;
  --tm-primary-200: #bfdbfe;
  --tm-primary-300: #93c5fd;
  --tm-primary-400: #60a5fa;
  --tm-primary-500: #3b82f6;
  --tm-primary-600: #2563eb;
  --tm-primary-700: #1d4ed8;
  --tm-primary-800: #1e40af;
  --tm-primary-900: #1e3a8a;

  --tm-neutral-50: #f8fafc;
  --tm-neutral-100: #f1f5f9;
  --tm-neutral-200: #e2e8f0;
  --tm-neutral-300: #cbd5e1;
  --tm-neutral-400: #94a3b8;
  --tm-neutral-500: #64748b;
  --tm-neutral-600: #475569;
  --tm-neutral-700: #334155;
  --tm-neutral-800: #1e293b;
  --tm-neutral-900: #0f172a;

  --state-success: #22c55e;
  --state-warning: #f59e0b;
  --state-error: #ef4444;
  --state-info: #3b82f6;

  --tm-font-sans: "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", "Noto Sans SC", system-ui, -apple-system, sans-serif;
  --tm-font-mono: "SF Mono", "JetBrains Mono", Consolas, monospace;

  --tm-shadow-static: 0 1px 2px rgba(15, 23, 42, 0.06);
  --tm-shadow-float: 0 8px 30px rgba(15, 23, 42, 0.08);
}

@theme inline {
  --color-background: var(--tm-background);
  --color-foreground: var(--tm-foreground);
  --color-card: var(--tm-card);
  --color-card-foreground: var(--tm-card-foreground);
  --color-popover: var(--tm-popover);
  --color-popover-foreground: var(--tm-popover-foreground);
  --color-primary: var(--tm-primary);
  --color-primary-foreground: var(--tm-primary-foreground);
  --color-secondary: var(--tm-secondary);
  --color-secondary-foreground: var(--tm-secondary-foreground);
  --color-muted: var(--tm-muted);
  --color-muted-foreground: var(--tm-muted-foreground);
  --color-accent: var(--tm-accent);
  --color-accent-foreground: var(--tm-accent-foreground);
  --color-border: var(--tm-border);
  --color-input: var(--tm-input);
  --color-ring: var(--tm-ring);
  --radius-sm: var(--tm-radius-small);
  --radius-md: var(--tm-radius-medium);
  --radius-lg: var(--tm-radius-large);
}

.tm-heading-xl {
  font-family: var(--tm-font-sans);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.02em;
}

.tm-heading-lg {
  font-family: var(--tm-font-sans);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3;
}

.tm-heading-md {
  font-family: var(--tm-font-sans);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
}

.tm-body {
  font-family: var(--tm-font-sans);
  font-size: 14px;
  line-height: 1.5;
}

.tm-body-sm {
  font-family: var(--tm-font-sans);
  font-size: 13px;
  line-height: 1.5;
}

.tm-label {
  font-family: var(--tm-font-sans);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
}

.tm-mono {
  font-family: var(--tm-font-mono);
}
