/* Tellectra AI — design tokens. Light is the default; dark follows the system
   unless the user picks one (data-theme on <html>). */

@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("../fonts/plus-jakarta-sans-latin-wght-normal.woff2") format("woff2");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("../fonts/plus-jakarta-sans-latin-ext-wght-normal.woff2") format("woff2");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  color-scheme: light;

  /* Brand: emerald on pure white. One action colour, one link colour. */
  --accent: #047857;
  --accent-600: #065f46;
  --accent-soft: rgba(4, 120, 87, 0.1);
  --brand: #047857;           /* buttons and key actions (white text: 5.5:1) */
  --brand-hover: #059669;
  --on-brand: #ffffff;
  --brand-soft: rgba(5, 150, 105, 0.12);

  /* Surfaces */
  --bg: #ffffff;
  --bg-ambient-1: rgba(16, 185, 129, 0.11);
  --bg-ambient-2: rgba(52, 211, 153, 0.07);
  --bg-ambient-3: rgba(5, 150, 105, 0.05);
  --glass: rgba(255, 255, 255, 0.78);
  --glass-strong: rgba(255, 255, 255, 0.94);
  --glass-edge: rgba(255, 255, 255, 0.9);
  --glass-line: rgba(6, 78, 59, 0.09);
  --solid: #ffffff;
  --sunken: rgba(6, 78, 59, 0.04);
  --sunken-strong: rgba(6, 78, 59, 0.075);

  /* Ink */
  --ink: #06231c;
  --ink-2: #2b4a40;
  --ink-3: #4d675e;
  --ink-4: #7f958d;
  --line: rgba(6, 78, 59, 0.12);

  /* Status */
  --ok: #047857;      --ok-soft: rgba(4, 120, 87, 0.12);
  --warn: #a16207;    --warn-soft: rgba(202, 138, 4, 0.16);
  --bad: #b91c1c;     --bad-soft: rgba(220, 38, 38, 0.11);
  --info: #0e7490;    --info-soft: rgba(14, 116, 144, 0.11);
  --neutral-soft: rgba(71, 85, 105, 0.12);

  /* Charts */
  --chart-1: #059669;
  --chart-2: #a7f3d0;
  --chart-grid: rgba(6, 78, 59, 0.08);

  /* Shape */
  --r-xs: 8px;
  --r-sm: 12px;
  --r-md: 14px;
  --r-lg: 20px;
  --r-xl: 28px;
  --r-pill: 999px;

  /* Depth */
  --shadow-1: 0 1px 2px rgba(6, 78, 59, 0.05), 0 4px 14px rgba(6, 78, 59, 0.05);
  --shadow-2: 0 2px 4px rgba(6, 78, 59, 0.05), 0 12px 32px rgba(6, 78, 59, 0.09);
  --shadow-3: 0 4px 8px rgba(6, 78, 59, 0.06), 0 28px 60px rgba(6, 78, 59, 0.16);
  --shadow-brand: 0 8px 22px rgba(4, 120, 87, 0.3);
  --blur: blur(18px) saturate(1.5);

  /* Type */
  --font: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --fs-xs: 0.6875rem;
  --fs-sm: 0.75rem;
  --fs-base: 0.8125rem;
  --fs-md: 0.9375rem;
  --fs-lg: 1.0625rem;
  --fs-xl: 1.375rem;
  --fs-2xl: 1.625rem;

  /* Watermark colour: roofs and houses drawn in the page background */
  --wm: rgba(5, 150, 105, 0.09);

  /* Motion */
  --ease: cubic-bezier(0.22, 0.8, 0.3, 1);
  --t-fast: 140ms;
  --t-med: 260ms;

  /* Layout */
  --rail-w: 76px;            /* space the collapsed sidebar takes */
  --sidebar-open: 236px;     /* width of the sidebar while hovered or focused */
  --topbar-h: 56px;
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --accent: #34d399;
  --accent-600: #6ee7b7;
  --accent-soft: rgba(52, 211, 153, 0.14);
  --brand: #10b981;
  --brand-hover: #34d399;
  --on-brand: #022c22;
  --brand-soft: rgba(16, 185, 129, 0.16);

  --bg: #04110d;
  --bg-ambient-1: rgba(16, 185, 129, 0.2);
  --bg-ambient-2: rgba(52, 211, 153, 0.1);
  --bg-ambient-3: rgba(6, 95, 70, 0.18);
  --glass: rgba(10, 32, 25, 0.66);
  --glass-strong: rgba(12, 38, 30, 0.9);
  --glass-edge: rgba(255, 255, 255, 0.09);
  --glass-line: rgba(255, 255, 255, 0.08);
  --solid: #0b1f19;
  --sunken: rgba(255, 255, 255, 0.045);
  --sunken-strong: rgba(255, 255, 255, 0.085);

  --ink: #e8f6f0;
  --ink-2: #bfd8cf;
  --ink-3: #8fb0a4;
  --ink-4: #648178;
  --line: rgba(255, 255, 255, 0.1);

  --ok: #34d399;    --ok-soft: rgba(52, 211, 153, 0.14);
  --warn: #facc15;  --warn-soft: rgba(250, 204, 21, 0.14);
  --bad: #f87171;   --bad-soft: rgba(248, 113, 113, 0.15);
  --info: #5eead4;  --info-soft: rgba(94, 234, 212, 0.14);
  --neutral-soft: rgba(148, 163, 184, 0.16);

  --chart-1: #34d399;
  --chart-2: #0f5a45;
  --chart-grid: rgba(255, 255, 255, 0.09);

  --shadow-1: 0 1px 2px rgba(0, 0, 0, 0.3), 0 4px 14px rgba(0, 0, 0, 0.22);
  --shadow-2: 0 2px 4px rgba(0, 0, 0, 0.3), 0 12px 32px rgba(0, 0, 0, 0.34);
  --shadow-3: 0 4px 8px rgba(0, 0, 0, 0.34), 0 28px 60px rgba(0, 0, 0, 0.5);
  --shadow-brand: 0 8px 22px rgba(16, 185, 129, 0.28);
  --wm: rgba(52, 211, 153, 0.09);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --accent: #34d399;
    --accent-600: #6ee7b7;
    --accent-soft: rgba(52, 211, 153, 0.14);
    --brand: #10b981;
    --brand-hover: #34d399;
    --on-brand: #022c22;
    --brand-soft: rgba(16, 185, 129, 0.16);

    --bg: #04110d;
    --bg-ambient-1: rgba(16, 185, 129, 0.2);
    --bg-ambient-2: rgba(52, 211, 153, 0.1);
    --bg-ambient-3: rgba(6, 95, 70, 0.18);
    --glass: rgba(10, 32, 25, 0.66);
    --glass-strong: rgba(12, 38, 30, 0.9);
    --glass-edge: rgba(255, 255, 255, 0.09);
    --glass-line: rgba(255, 255, 255, 0.08);
    --solid: #0b1f19;
    --sunken: rgba(255, 255, 255, 0.045);
    --sunken-strong: rgba(255, 255, 255, 0.085);

    --ink: #e8f6f0;
    --ink-2: #bfd8cf;
    --ink-3: #8fb0a4;
    --ink-4: #648178;
    --line: rgba(255, 255, 255, 0.1);

    --ok: #34d399;    --ok-soft: rgba(52, 211, 153, 0.14);
    --warn: #facc15;  --warn-soft: rgba(250, 204, 21, 0.14);
    --bad: #f87171;   --bad-soft: rgba(248, 113, 113, 0.15);
    --info: #5eead4;  --info-soft: rgba(94, 234, 212, 0.14);
    --neutral-soft: rgba(148, 163, 184, 0.16);

    --chart-1: #34d399;
    --chart-2: #0f5a45;
    --chart-grid: rgba(255, 255, 255, 0.09);

    --shadow-1: 0 1px 2px rgba(0, 0, 0, 0.3), 0 4px 14px rgba(0, 0, 0, 0.22);
    --shadow-2: 0 2px 4px rgba(0, 0, 0, 0.3), 0 12px 32px rgba(0, 0, 0, 0.34);
    --shadow-3: 0 4px 8px rgba(0, 0, 0, 0.34), 0 28px 60px rgba(0, 0, 0, 0.5);
    --shadow-brand: 0 8px 22px rgba(16, 185, 129, 0.28);
    --wm: rgba(52, 211, 153, 0.09);
  }
}
