/* ===== DESIGN TOKENS ===== */
/* Source-of-truth: linear-layout.html */

:root, [data-theme="dark"] {
  --bg: #0F0F11;
  --surface: #16161A;
  --surface-2: #1C1C22;
  --surface-3: #232329;
  --border: #26262C;
  --border-strong: #34343C;
  --text: #E8E8EA;
  --text-strong: #FFFFFF;
  --muted: #8B8B92;
  --dim: #5A5A62;
  --accent: #8B9CFF;
  --accent-soft: rgba(139, 156, 255, 0.12);
  --amber: #F2994A;
  --green: #4CB782;
  --red: #EB5757;
  --purple: #BB87FC;
  --gray: #7A7A82;
  --shadow: 0 1px 2px rgba(0,0,0,0.4);
  color-scheme: dark;
}

[data-theme="light"] {
  --bg: #FAFAFA;
  --surface: #FFFFFF;
  --surface-2: #F4F4F5;
  --surface-3: #E9E9EB;
  --border: #E5E5E7;
  --border-strong: #D4D4D8;
  --text: #18181B;
  --text-strong: #000000;
  --muted: #71717A;
  --dim: #A1A1AA;
  --accent: #5E6AD2;
  --accent-soft: rgba(94, 106, 210, 0.10);
  --amber: #D97706;
  --green: #16A34A;
  --red: #DC2626;
  --purple: #9333EA;
  --gray: #71717A;
  --shadow: 0 1px 2px rgba(0,0,0,0.04);
  color-scheme: light;
}

/* ===== GLOBAL (theme-independent) ===== */
:root {
  --font-sans: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'Geist Mono', ui-monospace, 'SF Mono', Menlo, monospace;
  --fs-xs: 11px;
  --fs-sm: 12.5px;
  --fs-base: 13px;
  --fs-md: 14px;
  --fs-lg: 22px;
  --fs-xl: 28px;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 10px;
  --gap-xs: 4px;
  --gap-sm: 8px;
  --gap-md: 12px;
  --gap-lg: 16px;
  --gap-xl: 24px;
}

/* ===== BASE RESET ===== */
*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: var(--font-sans);
  background: var(--bg);
  color: var(--text);
  font-size: var(--fs-md);
  letter-spacing: -0.005em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transition: background-color .25s ease, color .25s ease;
  margin: 0;
}

button { font: inherit; background: none; border: none; cursor: pointer; color: inherit; }
a { color: inherit; text-decoration: none; }
input { font: inherit; color: inherit; }
