/* === Baichen design system — tokens === */
:root {
  /* Warm sepia brand scale */
  --bc-brand-50:  #fbf4ed;
  --bc-brand-100: #f3e3d2;
  --bc-brand-200: #e5c5a5;
  --bc-brand-300: #d1a075;
  --bc-brand-400: #b87f52;
  --bc-brand-500: #9a6339;
  --bc-brand-600: #7e4f2c;
  --bc-brand-700: #5f3a20;
  --bc-brand-800: #422918;
  --bc-brand-900: #291a0f;
  --bc-accent: var(--bc-brand-500);
  --bc-accent-hover: var(--bc-brand-600);
  --bc-accent-soft: var(--bc-brand-50);
  --bc-accent-ring: color-mix(in oklch, var(--bc-brand-500) 35%, transparent);

  /* Neutrals — warm tinted */
  --bc-canvas:   #f7f6f3;
  --bc-panel:    #ffffff;
  --bc-fill:     #f1efea;
  --bc-fill-2:   #e8e5de;
  --bc-line:     #e7e3d9;
  --bc-line-2:   #d8d2c4;
  --bc-ink:      #1c1a16;
  --bc-ink-2:    #3a362d;
  --bc-ink-3:    #6d665a;
  --bc-ink-4:    #9a9387;
  --bc-ink-5:    #bab3a4;

  /* Status */
  --bc-success: #3d9a63;
  --bc-success-soft: #e9f3ec;
  --bc-warning: #c58a2f;
  --bc-warning-soft: #faf1df;
  --bc-danger:  #c25a4c;
  --bc-danger-soft:  #faeae5;
  --bc-info:    #4373a6;
  --bc-info-soft:    #e7eff8;

  /* Typography */
  --bc-font-sans: "SF Pro Text", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;
  --bc-font-mono: "SF Mono", ui-monospace, "JetBrains Mono", Menlo, monospace;
  --bc-font-serif: "Noto Serif TC", "Songti TC", "PingFang TC", serif;

  /* Radii */
  --bc-r-xs: 4px;
  --bc-r-sm: 6px;
  --bc-r-md: 8px;
  --bc-r-lg: 10px;
  --bc-r-xl: 14px;
  --bc-r-2xl: 18px;

  /* Shadows (Apple-like, subtle, layered) */
  --bc-shadow-1: 0 1px 2px rgba(28,26,22,0.04), 0 0 0 0.5px rgba(28,26,22,0.06);
  --bc-shadow-2: 0 2px 6px rgba(28,26,22,0.06), 0 1px 2px rgba(28,26,22,0.04), 0 0 0 0.5px rgba(28,26,22,0.05);
  --bc-shadow-3: 0 8px 24px rgba(28,26,22,0.1), 0 2px 6px rgba(28,26,22,0.06), 0 0 0 0.5px rgba(28,26,22,0.06);
  --bc-shadow-4: 0 20px 50px rgba(28,26,22,0.18), 0 6px 16px rgba(28,26,22,0.08), 0 0 0 0.5px rgba(28,26,22,0.08);

  /* Motion */
  --bc-ease: cubic-bezier(0.4, 0, 0.2, 1);
  --bc-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --bc-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);

  --bc-topbar-h: 52px;
  --bc-sidebar-w: 248px;
  --bc-density: 1;
}

[data-theme="dark"] {
  --bc-canvas:   #15130f;
  --bc-panel:    #1e1b16;
  --bc-fill:     #252218;
  --bc-fill-2:   #2e2a20;
  --bc-line:     #33302a;
  --bc-line-2:   #44403a;
  --bc-ink:      #f5f1e8;
  --bc-ink-2:    #d8d3c6;
  --bc-ink-3:    #a8a295;
  --bc-ink-4:    #7e7a6f;
  --bc-ink-5:    #55524a;
  --bc-accent-soft: #2a2118;
  --bc-success-soft: #1e2f22;
  --bc-warning-soft: #2f281a;
  --bc-danger-soft: #2f1f1c;
  --bc-info-soft: #1d2630;
  --bc-shadow-1: 0 1px 2px rgba(0,0,0,0.3), 0 0 0 0.5px rgba(255,255,255,0.05);
  --bc-shadow-2: 0 2px 6px rgba(0,0,0,0.3), 0 1px 2px rgba(0,0,0,0.2), 0 0 0 0.5px rgba(255,255,255,0.05);
  --bc-shadow-3: 0 8px 24px rgba(0,0,0,0.5), 0 2px 6px rgba(0,0,0,0.3), 0 0 0 0.5px rgba(255,255,255,0.06);
  --bc-shadow-4: 0 20px 50px rgba(0,0,0,0.6), 0 6px 16px rgba(0,0,0,0.4), 0 0 0 0.5px rgba(255,255,255,0.08);
}

* { box-sizing: border-box; }
html, body {
  margin: 0; padding: 0;
  font-family: var(--bc-font-sans);
  font-size: 14px;
  color: var(--bc-ink);
  background: var(--bc-canvas);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: 'ss01', 'cv11';
}

::selection { background: color-mix(in oklch, var(--bc-brand-500) 25%, transparent); }

/* Tabular numbers everywhere they make sense */
.bc-countup, .bc-cell--num, .bc-kbd { font-variant-numeric: tabular-nums; }
