/* Layan.ai — design tokens */
:root {
  /* palette */
  --abyss: #02091F;
  --ink: #071433;
  --ink-2: #0B1C48;
  --navy: #091A58;
  --cobalt: #254EC1;
  --signal: #609DFC;
  --frost: #AACEFD;
  --paper: #E4F1FF;
  --paper-2: #C9DCF7;
  --muted: #7F94BD;
  --line: rgba(170, 206, 253, 0.12);
  --line-strong: rgba(170, 206, 253, 0.24);
  --glass: rgba(9, 26, 88, 0.28);
  --glass-2: rgba(7, 20, 51, 0.72);

  /* evidence states */
  --ev-observed: #3DDC97;
  --ev-user: #60C8FC;
  --ev-researched: #8FB3FF;
  --ev-inferred: #F2B84B;
  --ev-estimated: #F28B6B;
  --ev-assumed: #B08CFF;
  --ev-unknown: #8593AD;

  /* status */
  --ok: #3DDC97;
  --warn: #F2B84B;
  --bad: #FF6B7A;
  --live: #FF9133;
  --on-live: #02091F; /* badge text stays dark in both themes */

  /* type */
  --font-ui: "Onest", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --fs-xs: 0.75rem;
  --fs-sm: 0.875rem;
  --fs-md: 1rem;
  --fs-lg: 1.125rem;
  --fs-xl: 1.375rem;
  --fs-2xl: clamp(1.75rem, 1.2rem + 1.6vw, 2.5rem);
  --fs-3xl: clamp(2.25rem, 1.5rem + 2.6vw, 3.75rem);
  --fs-hero: clamp(2.5rem, 1.4rem + 4vw, 4.6rem);

  /* spacing */
  --s-1: 0.25rem;
  --s-2: 0.5rem;
  --s-3: 0.75rem;
  --s-4: 1rem;
  --s-5: 1.5rem;
  --s-6: 2rem;
  --s-7: 3rem;
  --s-8: 4rem;
  --s-9: 6rem;
  --s-10: 8rem;

  /* radii */
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 16px;
  --r-xl: 24px;
  --r-pill: 999px;

  /* motion */
  --ease-out: cubic-bezier(0.2, 0, 0, 1);
  --ease-in: cubic-bezier(0.4, 0, 1, 1);
  --ease-io: cubic-bezier(0.65, 0, 0.35, 1);
  --t-fast: 120ms;
  --t-ui: 240ms;
  --t-slow: 520ms;

  /* layout */
  --container: 1200px;
  --gutter: clamp(16px, 4vw, 40px);

  /* glow */
  --glow-signal: 0 0 0 1px rgba(96, 157, 252, 0.35), 0 8px 40px -8px rgba(96, 157, 252, 0.55);
  --shadow-panel: 0 30px 80px -30px rgba(0, 0, 0, 0.8), 0 0 0 1px var(--line);
}

/* Light theme: the default on pages that load js/theme.js. Colours follow the light logo mock (og/logo-sheet.png);
   every text colour here clears 4.5:1 on --abyss. The tokens keep their roles: --abyss is the page, --paper the text. */
:root[data-theme="light"] {
  color-scheme: light;
  --abyss: #F3F7FF;
  --ink: #FFFFFF;
  --ink-2: #E9F0FD;
  --navy: #D6E3FA;
  --signal: #2F66DA;
  --frost: #2A4E9E;
  --paper: #0B1B3F;
  --paper-2: #33476F;
  --muted: #5A6B8F;
  --line: rgba(11, 27, 63, 0.1);
  --line-strong: rgba(11, 27, 63, 0.18);
  --glass: rgba(255, 255, 255, 0.7);
  --glass-2: rgba(255, 255, 255, 0.88);

  --ev-observed: #0B7F55;
  --ev-user: #07729F;
  --ev-researched: #3A63D6;
  --ev-inferred: #93600A;
  --ev-estimated: #B8472A;
  --ev-assumed: #7650D6;
  --ev-unknown: #5F6C86;
  --ok: #0B7F55;
  --warn: #9A5C00;
  --bad: #D2384C;

  --glow-signal: 0 0 0 1px rgba(37, 78, 193, 0.22), 0 8px 28px -10px rgba(37, 78, 193, 0.45);
  --shadow-panel: 0 28px 60px -32px rgba(11, 27, 63, 0.28), 0 0 0 1px var(--line);
}
