/* =============================================================================
   MacroInsight v4 — Geist foundations (light)
   -----------------------------------------------------------------------------
   Public Geist color / type / material tokens. @vercel/geistcn is internal;
   this sheet is the foundation we can ship. --v2-* call sites pick these up.
   Interactive accent stays #3D9AFF (mapped into the Geist blue slot).
   Bull / bear stay data-only.
   ========================================================================== */

html[data-ui='v4'][data-v2] {
  color-scheme: light;

  --ds-background-100: #ffffff;
  --ds-background-200: #fafafa;

  --ds-gray-100: #f2f2f2;
  --ds-gray-200: #ebebeb;
  --ds-gray-300: #e8e8e8;
  --ds-gray-400: #e5e5e5;
  --ds-gray-500: #d6d6d6;
  --ds-gray-600: #b8b8b8;
  --ds-gray-700: #8f8f8f;
  --ds-gray-800: #737373;
  --ds-gray-900: #666666;
  --ds-gray-1000: #171717;

  --ds-gray-alpha-400: rgb(0 0 0 / 8%);
  --ds-gray-alpha-500: rgb(0 0 0 / 10%);
  --ds-gray-alpha-600: rgb(0 0 0 / 16%);

  --ds-blue-700: #3d9aff;
  --ds-blue-800: #5cacff;
  --ds-blue-900: #1f6fd6;
  --ds-blue-1000: #0b1420;

  --ds-green-100: #eaf6ee;
  --ds-green-700: #1a7f37;
  --ds-green-900: #0f6d31;
  --ds-red-100: #fdebec;
  --ds-red-700: #e5484d;
  --ds-red-900: #c93b40;
  --ds-amber-100: #fff4e5;
  --ds-amber-700: #ab570a;
  --ds-amber-900: #8a4508;

  --ds-radius-small: 6px;
  --ds-radius-medium: 12px;
  --ds-radius-large: 16px;

  --v2-page:    var(--ds-background-200);
  --v2-canvas:  var(--ds-background-200);
  --v2-surface: var(--ds-background-100);
  --v2-sunk:    var(--ds-gray-100);
  --v2-sunk-2:  var(--ds-gray-200);
  --v2-hover:   var(--ds-gray-100);
  --v2-hover-2: var(--ds-gray-200);

  --v2-line:    var(--ds-gray-400);
  --v2-line-2:  var(--ds-gray-500);

  --v2-ink:   var(--ds-gray-1000);
  --v2-ink-2: var(--ds-gray-900);
  --v2-ink-3: var(--ds-gray-800);
  --v2-ink-4: var(--ds-gray-700);

  --v2-accent:       var(--ds-blue-700);
  --v2-accent-hover: var(--ds-blue-800);
  --v2-accent-ink:   #ffffff;
  --v2-accent-text:  var(--ds-blue-900);
  --v2-accent-soft:  #3d9aff1f;
  --v2-accent-line:  #3d9aff40;

  --v2-bull:       var(--ds-green-700);
  --v2-bull-soft:  var(--ds-green-100);
  --v2-bear:       var(--ds-red-700);
  --v2-bear-soft:  var(--ds-red-100);
  --v2-chop:       var(--ds-gray-800);
  --v2-chop-soft:  var(--ds-gray-100);
  --v2-warn:       var(--ds-amber-700);
  --v2-warn-soft:  var(--ds-amber-100);

  --v2-hairline: 0 0 0 1px var(--ds-gray-400);
  --v2-e1: 0 0 0 1px var(--ds-gray-400);
  --v2-e2: 0 0 0 1px var(--ds-gray-400), 0 4px 12px rgb(0 0 0 / 6%);
  --v2-e3: 0 0 0 1px var(--ds-gray-400), 0 8px 30px rgb(0 0 0 / 8%);
  --v2-e-btn: 0 0 0 1px var(--ds-gray-400);
  --v2-e-field: inset 0 0 0 1px var(--ds-gray-400);
  --v2-ring: 0 0 0 3px #3d9aff33;

  --v2-stripe:    var(--ds-gray-100);
  --v2-stripe-bg: var(--ds-background-200);

  --v2-r-sm: var(--ds-radius-small);
  --v2-r-md: var(--ds-radius-small);
  --v2-r-lg: var(--ds-radius-small);
  --v2-r-xl: var(--ds-radius-medium);

  --v2-sans: 'Geist Variable', Geist, ui-sans-serif, system-ui, sans-serif;
  --v2-mono: 'Geist Mono Variable', 'Geist Mono', ui-monospace, SFMono-Regular, monospace;

  --bg:       var(--v2-canvas);
  --bg-2:     var(--v2-surface);
  --panel:    var(--v2-surface);
  --panel-2:  var(--v2-sunk);
  --panel-3:  var(--v2-sunk-2);
  --border:        var(--v2-line);
  --border-strong: var(--v2-line-2);
  --text:       var(--v2-ink);
  --text-dim:   var(--v2-ink-2);
  --text-faint: var(--v2-ink-3);
  --text-primary:   var(--v2-ink);
  --text-secondary: var(--v2-ink-2);
  --text-muted:     var(--v2-ink-2);
  --bull:      var(--v2-bull);
  --bear:      var(--v2-bear);
  --chop:      var(--v2-chop);
  --accent:    var(--v2-accent);
}

html[data-ui='v4'][data-v2] body.app,
html[data-ui='v4'][data-v2] body {
  background: var(--ds-background-200);
  color: var(--ds-gray-1000);
  font-family: var(--v2-sans);
  -webkit-font-smoothing: auto;
}
