/* ===== Venzyme.LIFE design tokens =====
   Aesthetic: "bench meets boardroom"
   - Editorial typography (Fraunces display + Inter workhorse)
   - A biotech-inspired palette: verdigris, ink, bone, signal amber
   - Instrument-panel details: grid lines, numeric mono, small caps
   - Light + dark parity; dark is the default (investor-grade, low glare)
*/

:root {
  /* --- Type scale (fluid-ish, desktop-tuned) --- */
  --text-3xs: 10px;
  --text-2xs: 11px;
  --text-xs:  12px;
  --text-sm:  13px;
  --text-md:  15px;
  --text-lg:  17px;
  --text-xl:  20px;
  --text-2xl: 26px;
  --text-3xl: 34px;
  --text-4xl: 46px;
  --text-5xl: 64px;
  --text-6xl: 88px;

  /* --- Families --- */
  --ff-display: "Fraunces", "Instrument Serif", ui-serif, Georgia, serif;
  --ff-sans: "Inter", "Söhne", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ff-mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, monospace;

  /* --- Radii (intentionally small — instrument feel) --- */
  --r-xs: 2px;
  --r-sm: 4px;
  --r-md: 6px;
  --r-lg: 10px;
  --r-xl: 14px;
  --r-pill: 999px;

  /* --- Spacing (4px base) --- */
  --s-0: 0;
  --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;
  --s-11: 96px;

  /* Transitions */
  --tr-fast: 120ms cubic-bezier(.2,.8,.2,1);
  --tr-med:  220ms cubic-bezier(.2,.8,.2,1);
  --tr-slow: 420ms cubic-bezier(.2,.8,.2,1);
}

/* ============ Palettes ============
   Each palette defines semantic colors for both light & dark. */

/* ---- Verdigris (default) — oxidized copper + ink ----
   Accent is a deep muted teal-green, reminiscent of patinaed bronze. */
[data-palette="verdigris"] {
  --accent:        #4A8F7C;
  --accent-hi:     #62B39A;
  --accent-ink:    #0D2620;
  --accent-soft:   rgba(74,143,124,.14);
  --signal:        #D58A3B;   /* amber accent for highlights/metrics */
  --signal-soft:   rgba(213,138,59,.16);
  --good:          #6FA37A;
  --warn:          #D58A3B;
  --bad:           #BD5A4E;
}

/* ---- Indigo — homage to Venzyme Venture Catalyst parent brand ----
   Deep royal blue + periwinkle accent. Sister-brand signal. */
[data-palette="indigo"] {
  --accent:        #3B3B9E;
  --accent-hi:     #7B7BD4;
  --accent-ink:    #0F0F3A;
  --accent-soft:   rgba(123,123,212,.14);
  --signal:        #C89A3E;
  --signal-soft:   rgba(200,154,62,.16);
  --good:          #6F9A84;
  --warn:          #C89A3E;
  --bad:           #B55A4E;
}

/* ---- Ultramarine — deep editorial blue + warm paper ---- */
[data-palette="ultramarine"] {
  --accent:        #3D5AA8;
  --accent-hi:     #5A78C8;
  --accent-ink:    #0E1734;
  --accent-soft:   rgba(61,90,168,.14);
  --signal:        #D27B4C;
  --signal-soft:   rgba(210,123,76,.16);
  --good:          #6A9A84;
  --warn:          #D27B4C;
  --bad:           #B95A4F;
}

/* ---- Cinnabar — scientific red on bone ---- */
[data-palette="cinnabar"] {
  --accent:        #B44A34;
  --accent-hi:     #D36449;
  --accent-ink:    #340F06;
  --accent-soft:   rgba(180,74,52,.14);
  --signal:        #C89A3E;
  --signal-soft:   rgba(200,154,62,.16);
  --good:          #709A74;
  --warn:          #C89A3E;
  --bad:           #B44A34;
}

/* ---- Graphite — near-monochrome, editorial ---- */
[data-palette="graphite"] {
  --accent:        #2A2F36;
  --accent-hi:     #484F58;
  --accent-ink:    #0B0C0E;
  --accent-soft:   rgba(80,90,100,.14);
  --signal:        #B88A3A;
  --signal-soft:   rgba(184,138,58,.16);
  --good:          #5E8069;
  --warn:          #B88A3A;
  --bad:           #A65040;
}

/* ============ Theme (dark / light) ============
   Neutrals + surfaces, independent of accent palette. */

[data-theme="dark"] {
  --bg:            #0C100F;        /* deep ink-green */
  --bg-2:          #11161514;      /* transparent overlays */
  --surface:       #13191A;
  --surface-2:     #171E1F;
  --surface-3:     #1C2425;
  --line:          rgba(255,255,255,.07);
  --line-strong:   rgba(255,255,255,.14);
  --line-accent:   rgba(255,255,255,.20);
  --text:          #E8E6DF;        /* warm bone */
  --text-mute:     #A8A89F;
  --text-dim:      #6C6C63;
  --text-invert:   #0C100F;
  --shadow-sm: 0 1px 0 rgba(0,0,0,.4), 0 1px 2px rgba(0,0,0,.3);
  --shadow-md: 0 10px 30px rgba(0,0,0,.35), 0 2px 6px rgba(0,0,0,.25);
  --shadow-lg: 0 24px 60px rgba(0,0,0,.55), 0 4px 10px rgba(0,0,0,.3);
  --grid-dot: rgba(255,255,255,.035);
}

[data-theme="light"] {
  --bg:            #F4F1EA;        /* warm bone paper */
  --bg-2:          #EEE9DE;
  --surface:       #FBF8F1;
  --surface-2:     #F7F3E9;
  --surface-3:     #EDE7D8;
  --line:          rgba(14,22,20,.10);
  --line-strong:   rgba(14,22,20,.18);
  --line-accent:   rgba(14,22,20,.28);
  --text:          #121716;
  --text-mute:     #5B5F5A;
  --text-dim:      #8D918A;
  --text-invert:   #FBF8F1;
  --shadow-sm: 0 1px 0 rgba(20,30,25,.06), 0 1px 2px rgba(20,30,25,.04);
  --shadow-md: 0 6px 20px rgba(20,30,25,.06), 0 2px 6px rgba(20,30,25,.04);
  --shadow-lg: 0 20px 50px rgba(20,30,25,.12), 0 4px 10px rgba(20,30,25,.05);
  --grid-dot: rgba(14,22,20,.05);
}

/* ============ Density ============ */
[data-density="compact"] {
  --pad-card: 14px 16px;
  --pad-row: 8px 12px;
  --pad-btn: 6px 12px;
  --row-h: 36px;
  --gap-stack: 10px;
}
[data-density="regular"] {
  --pad-card: 20px 22px;
  --pad-row: 12px 16px;
  --pad-btn: 9px 16px;
  --row-h: 44px;
  --gap-stack: 16px;
}
[data-density="roomy"] {
  --pad-card: 28px 30px;
  --pad-row: 16px 20px;
  --pad-btn: 12px 20px;
  --row-h: 52px;
  --gap-stack: 22px;
}

/* ============ Type personality ============
   Controls the display/body pairing used for marketing & headers. */
[data-type="editorial"] {   /* Fraunces display, Inter body — default */
  --ff-h: var(--ff-display);
  --ff-body: var(--ff-sans);
  --h-weight: 400;
  --h-opsz: "opsz" 120;
  --h-italic: italic;   /* used sparingly on hero words */
}
[data-type="modern"] {      /* Inter everywhere, tight, sans */
  --ff-h: var(--ff-sans);
  --ff-body: var(--ff-sans);
  --h-weight: 600;
  --h-opsz: normal;
  --h-italic: normal;
}
[data-type="technical"] {   /* mono-inflected — feels like instruments */
  --ff-h: var(--ff-mono);
  --ff-body: var(--ff-sans);
  --h-weight: 500;
  --h-opsz: normal;
  --h-italic: normal;
}
