/* ef-tokens.css — Everflow design tokens (v1)
 *
 * Decisions locked in DECISIONS.md (2026-08-07). Components use the SEMANTIC
 * layer only (--ef-bg, --ef-action, …), never raw palette hexes.
 */

:root {
  /* ---- Palette: classic (default for all internal tools) ---- */
  --ef-purple: #4007ad;
  --ef-purple-dark: #260a72;
  --ef-yellow: #ffdf6b;
  --ef-lavender: #f2ebfe;
  --ef-white: #ffffff;
  --ef-ink: #1a1a1a;
  --ef-cream: #fefaf1;

  --ef-grey-100: #e8eaee;
  --ef-grey-200: #c7ccd5;
  --ef-grey-300: #b1b9c4;

  /* Status — official for data UI; not for marketing landings (see DECISIONS.md) */
  --ef-success: #1d9d6b;
  --ef-success-soft: #e8f9f1;
  --ef-warning: #e5920b;
  --ef-warning-soft: #fff8eb;
  --ef-danger: #c8453d;
  --ef-danger-soft: #fff0ef;

  /* Approved gradient only */
  --ef-gradient-dark-violet: linear-gradient(135deg, #25095b, #8a3aff, #c41294);
  --ef-tint-problem: rgba(255, 80, 80, 0.06);

  /* ---- Semantic layer ---- */
  --ef-bg: var(--ef-cream);
  --ef-surface: var(--ef-lavender);
  --ef-surface-inverse: var(--ef-purple-dark);
  --ef-text: var(--ef-ink);
  --ef-text-inverse: var(--ef-white);
  --ef-text-brand: var(--ef-purple);
  --ef-text-muted: #6b6577;
  --ef-accent: var(--ef-yellow);
  --ef-action: var(--ef-purple);
  --ef-border: #e6dfef;
  --ef-card: var(--ef-white);
  --ef-shadow-card: 0 1px 3px rgba(38, 10, 114, 0.06);
  --ef-shadow-hover: 0 8px 24px rgba(38, 10, 114, 0.1);
  --ef-input-bg: var(--ef-white);

  /* ---- Typography ---- */
  --ef-font-body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --ef-font-heading: var(--ef-font-body);
  --ef-weight-regular: 400;
  --ef-weight-medium: 500;
  --ef-weight-semibold: 600;
  --ef-weight-bold: 700;
  --ef-tracking-heading-sm: -0.5px;
  --ef-tracking-heading-lg: -1.5px;

  /* ---- Radius / motion ---- */
  --ef-radius-sm: 10px;
  --ef-radius-md: 14px;
  --ef-radius-lg: 24px;
  --ef-ease: cubic-bezier(0.4, 0, 0.2, 1);
  --ef-duration: 180ms;
}

/* EF26 opt-in — mid purple + warmer accents. Use for AI-warmth / human pages. */
[data-ef-theme="ef26"] {
  --ef-purple-mid: #4600b4;
  --ef-purple-deep: #270973;
  --ef-lavender-soft: #e8dffb;
  --ef-yellow-warm: #f5d77a;
  --ef-ink-deep: #0f0828;

  --ef-bg: var(--ef-cream);
  --ef-surface: var(--ef-lavender-soft);
  --ef-surface-inverse: var(--ef-purple-deep);
  --ef-text: var(--ef-ink-deep);
  --ef-text-brand: var(--ef-purple-mid);
  --ef-action: var(--ef-purple-mid);
  --ef-accent: var(--ef-yellow-warm);
  --ef-radius-bento: 48px;
  --ef-bento-gap: 30px;
}

/* Dark — opt-in for dense internal tools. Pair with classic or after ef26. */
[data-ef-theme="dark"],
[data-ef-theme="ef26"][data-ef-dark] {
  --ef-bg: #10081f;
  --ef-surface: #1a1030;
  --ef-surface-inverse: #070412;
  --ef-text: #f4f0fc;
  --ef-text-inverse: #ffffff;
  --ef-text-brand: #d4c2ff;
  --ef-text-muted: #b5a9c9;
  --ef-action: #6e3fd4;
  --ef-accent: #ffdf6b;
  --ef-border: #3d2f5c;
  --ef-card: #1c1432;
  --ef-input-bg: #140c28;
  --ef-shadow-card: 0 1px 3px rgba(0, 0, 0, 0.35);
  --ef-shadow-hover: 0 12px 28px rgba(0, 0, 0, 0.45);
  --ef-success-soft: #143528;
  --ef-warning-soft: #3a2a12;
  --ef-danger-soft: #3a1816;
  color-scheme: dark;
}

[data-ef-theme="ef26"][data-ef-dark] {
  --ef-action: #5a2fc0;
  --ef-text-brand: #d4c2ff;
}

/* ============================================================================
 * MIGRATION ALIASES — names measured in ≥4 of 30 repos. Delete once a project
 * is fully on --ef-* names. Do NOT alias #4006AD (typo).
 * ============================================================================ */
:root {
  --purple: var(--ef-purple);
  --yellow: var(--ef-yellow);
  --cream: var(--ef-cream);
  --primary: var(--ef-action);
  --accent: var(--ef-accent);

  --purple-deep: var(--ef-purple-dark);
  --purple-dark: var(--ef-purple-dark);
  --ef-purple-deep: var(--ef-purple-dark);
  --ef-dark-purple: var(--ef-purple-dark);
  --deep: var(--ef-purple-dark);
  --purple-mid: var(--ef-purple);
  --ef-purple-mid: var(--ef-purple);
  --mid: var(--ef-purple);
  --ef-purple-light: var(--ef-lavender);
  --ef-purple-soft: var(--ef-lavender);
  --ef-purple-bg: var(--ef-lavender);

  --bg: var(--ef-bg);
  --paper: var(--ef-bg);
  --card: var(--ef-card);
  --text: var(--ef-text);
  --ink: var(--ef-text);
  --ef-ink: var(--ef-text);
  --dark: var(--ef-text);
  --muted: var(--ef-text-muted);
  --mute: var(--ef-text-muted);

  --border: var(--ef-border);
  --line: var(--ef-border);

  --ef-grey-1: var(--ef-grey-100);
  --ef-grey-2: var(--ef-grey-200);
  --ef-grey-3: var(--ef-grey-300);

  --green: var(--ef-success);
  --ef-green: var(--ef-success);
  --red: var(--ef-danger);
  --amber: var(--ef-warning);

  --radius: var(--ef-radius-md);
  --card-shadow: var(--ef-shadow-card);
}
