/* GR Intelligence — design tokens
   Linear x Stripe, refined blue, light + dark, spacious */

:root {
  /* === Brand === */
  --blue-50:  #f1f6ff;
  --blue-100: #e3edff;
  --blue-200: #c7dbff;
  --blue-300: #9dbeff;
  --blue-400: #6e98ff;
  --blue-500: #3d6fff;
  --blue-600: #2554e6;
  --blue-700: #1c42c2;
  --blue-800: #17369c;
  --blue-900: #132c7a;

  /* Accent can be rotated via tweak */
  --accent: #2554e6;
  --accent-hover: #1c42c2;
  --accent-soft: #eef3ff;
  --accent-ring: rgba(37, 84, 230, 0.18);

  /* === Neutrals (warm-paper) === */
  --ink-0:  #ffffff;
  --ink-25: #fbfbfc;
  --ink-50: #f6f7f9;
  --ink-75: #f1f2f5;
  --ink-100:#e9ebef;
  --ink-150:#dde0e6;
  --ink-200:#c9cdd5;
  --ink-300:#a8adb8;
  --ink-400:#80858f;
  --ink-500:#5b6170;
  --ink-600:#3f4452;
  --ink-700:#2a2f3a;
  --ink-800:#1a1e27;
  --ink-900:#0e1118;

  /* Semantic (light) */
  --bg-app: var(--ink-50);
  --bg-surface: var(--ink-0);
  --bg-sunk: var(--ink-75);
  --bg-raised: var(--ink-0);
  --bg-muted: var(--ink-75);

  --text-1: var(--ink-900);
  --text-2: var(--ink-600);
  --text-3: var(--ink-500);
  --text-4: var(--ink-400);

  --border-1: var(--ink-100);
  --border-2: var(--ink-150);
  --border-3: var(--ink-200);

  --shadow-xs: 0 1px 2px rgba(15, 23, 42, 0.04);
  --shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.06), 0 1px 2px rgba(15, 23, 42, 0.04);
  --shadow-md: 0 4px 16px rgba(15, 23, 42, 0.06), 0 2px 6px rgba(15, 23, 42, 0.04);
  --shadow-lg: 0 24px 56px rgba(15, 23, 42, 0.12), 0 8px 16px rgba(15, 23, 42, 0.06);
  --shadow-panel: 0 0 0 1px rgba(15, 23, 42, 0.05), 0 32px 80px rgba(15, 23, 42, 0.16);

  /* Status */
  --pos: #0a8a5a;  --pos-bg: #eafaf2;  --pos-bd: #bcebd2;
  --warn: #a85a00; --warn-bg: #fdf3e4; --warn-bd: #f2d7a8;
  --neg:  #c0362c; --neg-bg:  #fdecea; --neg-bd:  #f3b9b3;

  /* Party */
  --alp: #c0362c; --alp-bg: #fdecea;
  --lib: #1c42c2; --lib-bg: #e3edff;
  --nat: #0a8a5a; --nat-bg: #eafaf2;
  --grn: #0a8a5a; --grn-bg: #e6f6ec;
  --xb:  #6c3ad0; --xb-bg:  #f1ecfa;

  /* Radii */
  --r-xs: 4px;
  --r-sm: 6px;
  --r-md: 8px;
  --r-lg: 12px;
  --r-xl: 16px;
  --r-2xl: 20px;

  /* Type */
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

  /* Spacing (spacious) */
  --s-1: 4px;
  --s-2: 8px;
  --s-3: 12px;
  --s-4: 16px;
  --s-5: 20px;
  --s-6: 24px;
  --s-7: 32px;
  --s-8: 40px;
  --s-9: 56px;
  --s-10: 72px;

  /* Sidebar / topbar */
  --sb-width: 248px;
  --sb-width-collapsed: 60px;
  --topbar-h: 56px;
}

/* Dark mode */
[data-theme="dark"] {
  --accent-soft: rgba(61, 111, 255, 0.12);
  --accent-ring: rgba(61, 111, 255, 0.28);

  --bg-app: #0a0c12;
  --bg-surface: #10131b;
  --bg-sunk: #0e1118;
  --bg-raised: #151925;
  --bg-muted: #1a1e2a;

  --text-1: #eef0f5;
  --text-2: #b3b8c5;
  --text-3: #858a99;
  --text-4: #5b6170;

  --border-1: rgba(255, 255, 255, 0.06);
  --border-2: rgba(255, 255, 255, 0.09);
  --border-3: rgba(255, 255, 255, 0.14);

  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.4), 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.4), 0 2px 6px rgba(0, 0, 0, 0.3);
  --shadow-lg: 0 24px 56px rgba(0, 0, 0, 0.5), 0 8px 16px rgba(0, 0, 0, 0.3);
  --shadow-panel: 0 0 0 1px rgba(255, 255, 255, 0.06), 0 32px 80px rgba(0, 0, 0, 0.7);

  --pos-bg: rgba(10, 138, 90, 0.15);  --pos-bd: rgba(10, 138, 90, 0.35);
  --warn-bg: rgba(168, 90, 0, 0.18);  --warn-bd: rgba(168, 90, 0, 0.4);
  --neg-bg:  rgba(192, 54, 44, 0.18); --neg-bd:  rgba(192, 54, 44, 0.4);

  --alp-bg: rgba(192, 54, 44, 0.18);
  --lib-bg: rgba(61, 111, 255, 0.18);
  --nat-bg: rgba(10, 138, 90, 0.18);
  --grn-bg: rgba(10, 138, 90, 0.18);
  --xb-bg:  rgba(108, 58, 208, 0.18);
}

/* Direction B — Editorial (v2) */
[data-direction="editorial"] {
  --font-sans: 'Inter', -apple-system, sans-serif;
  --font-display: 'Fraunces', 'Georgia', serif;
  --accent: #1c42c2;
  --accent-hover: #17369c;
}

/* Direction C — Terminal (v3, dense pro tool) */
[data-direction="terminal"] {
  --accent: #3d6fff;
  --s-4: 12px;
  --s-5: 16px;
  --s-6: 20px;
  --r-md: 4px;
  --r-lg: 6px;
  --r-xl: 8px;
}

/* Direction D — Soft (v4, warm premium) */
[data-direction="soft"] {
  --bg-app: #f6f3ec;
  --bg-sunk: #ede8dd;
  --accent: #2554e6;
}
[data-theme="dark"][data-direction="soft"] {
  --bg-app: #131210;
  --bg-sunk: #0e0d0b;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { height: 100%; }
body {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.55;
  color: var(--text-1);
  background: var(--bg-app);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: 'cv02', 'cv03', 'cv04', 'cv11';
}
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; background: none; border: none; color: inherit; }
input, textarea, select { font: inherit; color: inherit; }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--border-2); border: 3px solid transparent; background-clip: padding-box; border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: var(--border-3); background-clip: padding-box; border: 3px solid transparent; }

.mono { font-family: var(--font-mono); font-feature-settings: 'tnum'; }
.tnum { font-variant-numeric: tabular-nums; }
