/* Mavenvox design tokens — Ink & Signal · warm copper */
:root {
  /* Surface */
  --paper: #FAF7F0;
  --paper-2: #F4F0E6;
  --surface: #FFFFFF;
  --surface-sunk: #F8F4EA;
  --hairline: #ECE5D3;
  --hairline-strong: #DCD3BD;

  /* Ink */
  --ink: #15130E;
  --ink-2: #2C2823;
  --muted: #6E685B;
  --muted-2: #8E8778;
  --faint: #B6AE9C;

  /* Accent — Signal Copper — overridable via tweaks */
  --accent:      oklch(0.61 0.12 55);   /* #C97843 */
  --accent-ink:  oklch(0.36 0.08 55);
  --accent-soft: oklch(0.94 0.04 65);
  --accent-line: oklch(0.84 0.06 60);

  /* Status */
  --ok: oklch(0.55 0.10 150);
  --ok-soft: oklch(0.94 0.04 150);
  --warn: oklch(0.66 0.13 80);
  --warn-soft: oklch(0.95 0.06 85);
  --danger: oklch(0.54 0.17 27);
  --danger-soft: oklch(0.95 0.04 30);
  --info: oklch(0.55 0.10 240);
  --info-soft: oklch(0.95 0.03 240);
  --violet: oklch(0.50 0.13 295);
  --violet-soft: oklch(0.94 0.04 295);

  /* Type */
  --sans: 'Plus Jakarta Sans', ui-sans-serif, system-ui, -apple-system, 'Helvetica Neue', sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;
  --display: 'Plus Jakarta Sans', var(--sans);

  /* Geometry */
  --r-sm: 6px;
  --r: 10px;
  --r-lg: 14px;
  --r-xl: 20px;
  --shadow-card: 0 1px 0 rgba(20,18,12,0.04), 0 1px 2px rgba(20,18,12,0.04);
  --shadow-pop: 0 12px 36px -12px rgba(20,18,12,0.18), 0 4px 12px -4px rgba(20,18,12,0.08);
  --shadow-inset: inset 0 0 0 1px var(--hairline);
}

* { box-sizing: border-box; }
html, body, #root { height: 100%; }
body {
  margin: 0;
  font-family: var(--sans);
  font-feature-settings: 'cv11', 'ss01', 'tnum';
  background: var(--paper);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
button { font-family: inherit; }
input, textarea, select { font-family: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 4px; }

/* Scrollbar */
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-thumb { background: rgba(20,18,12,0.15); border-radius: 8px; border: 2px solid transparent; background-clip: padding-box; }
*::-webkit-scrollbar-thumb:hover { background: rgba(20,18,12,0.28); border: 2px solid transparent; background-clip: padding-box; }

/* Common helpers */
.mono { font-family: var(--mono); font-feature-settings: 'tnum'; }
.tabular { font-variant-numeric: tabular-nums; }
.kicker {
  font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--muted); font-weight: 600;
}
.hr { height: 1px; background: var(--hairline); margin: 0; border: 0; }
.hr-strong { height: 1px; background: var(--hairline-strong); margin: 0; border: 0; }

/* Reset on form els */
input, textarea, select, button { font-size: inherit; }
textarea { resize: vertical; }

/* Ambient bg — warm copper glow */
.app-shell {
  height: 100%;
  background:
    radial-gradient(1100px 600px at 90% -10%, rgba(201,120,67,0.06), transparent 60%),
    radial-gradient(900px 600px at -10% 100%, rgba(95,76,52,0.05), transparent 60%),
    var(--paper);
}
