/**
 * tokens.css
 * Single source of truth for the Disha Academic Workspace design language.
 * Every color, spacing, radius, shadow and motion value used anywhere in the
 * app should trace back to a variable defined here. themes.css only ever
 * *overrides* the --color-* values for light/dark; it never invents new ones.
 */

:root {
  /* ---------- Brand palette (indigo / violet, academic-AI identity) ---------- */
  --brand-ink:        #12101c;   /* near-black, violet-tinted — dark bg / darkest text */
  --brand-paper:       #f7f6fb;  /* warm-cool white, violet-tinted — light bg */
  --brand-indigo-700: #3730a5;
  --brand-indigo-600: #4338ca;   /* primary */
  --brand-indigo-500: #4f46e5;
  --brand-violet-500: #7c3aed;   /* secondary accent, used in gradients */
  --brand-violet-400: #9061f9;
  --brand-emerald-500: #10b981;  /* success / highlight */
  --brand-amber-500:   #f59e0b;  /* warning */
  --brand-rose-500:    #f43f5e;  /* danger */

  --brand-slate-950: #0b0a12;
  --brand-slate-900: #14121f;
  --brand-slate-800: #1e1b2e;
  --brand-slate-700: #2c2842;
  --brand-slate-600: #453f63;
  --brand-slate-500: #635c85;
  --brand-slate-400: #756e97;
  --brand-slate-300: #b6b0d1;
  --brand-slate-200: #dcd8ec;
  --brand-slate-100: #edebf5;
  --brand-slate-50:  #f7f6fb;

  /* Signature gradient — used sparingly: prompt dock focus ring, primary CTA, active nav rail */
  --brand-gradient: linear-gradient(135deg, var(--brand-indigo-600) 0%, var(--brand-violet-500) 100%);

  /* ---------- Typography ----------
     Display: Fraunces (serif, academic authority) — headings & the wordmark only.
     Body/UI: Inter (clean geometric sans) — everything else.
     Utility: JetBrains Mono — numbers, calculators, code-like output (tabular figures).
     Font files are self-hosted under assets/fonts/ (see base.css @font-face);
     system stacks below are the fallback and dev-time placeholder. */
  --font-display: "Fraunces", ui-serif, "Iowan Old Style", Georgia, serif;
  --font-body:    "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --font-mono:    "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

  --fs-2xs: 0.6875rem;  /* 11px */
  --fs-xs:  0.75rem;    /* 12px */
  --fs-sm:  0.8125rem;  /* 13px */
  --fs-base: 0.9375rem; /* 15px */
  --fs-md:  1.0625rem;  /* 17px */
  --fs-lg:  1.25rem;    /* 20px */
  --fs-xl:  1.625rem;   /* 26px */
  --fs-2xl: 2.125rem;   /* 34px */
  --fs-3xl: 2.75rem;    /* 44px */

  --lh-tight: 1.2;
  --lh-normal: 1.5;
  --lh-relaxed: 1.7;

  /* ---------- Spacing scale (4px base) ---------- */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;

  /* ---------- Radii ---------- */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 20px;
  --radius-full: 999px;

  /* ---------- Shadows (soft, layered — kept subtle, not glossy) ---------- */
  --shadow-xs: 0 1px 2px rgba(18, 16, 28, 0.06);
  --shadow-sm: 0 2px 8px rgba(18, 16, 28, 0.08);
  --shadow-md: 0 8px 24px rgba(18, 16, 28, 0.10);
  --shadow-lg: 0 16px 40px rgba(18, 16, 28, 0.14);
  --shadow-focus: 0 0 0 3px rgba(79, 70, 229, 0.35);

  /* ---------- Glass panels (sidebar, modals, prompt dock) ---------- */
  --glass-blur: 18px;
  --glass-saturate: 140%;

  /* ---------- Motion ---------- */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --duration-fast: 120ms;
  --duration-base: 200ms;
  --duration-slow: 360ms;

  /* ---------- Layout ---------- */
  --sidebar-w: 272px;
  --sidebar-w-collapsed: 76px;
  --topbar-h: 64px;
  --dock-h: 96px;
  --z-sidebar: 40;
  --z-topbar: 30;
  --z-dock: 35;
  --z-modal: 100;
  --z-toast: 110;
}
