/* Minted — color tokens. Two tiers: primitives hold raw values and are never
   referenced by a component; semantic tokens name a role and are the only thing
   components consume. Dark only: there is no light mode (print is a medium, see print.css).

   AMENDMENT 01 (2026-09-06) supersedes "green hairlines, never gray". Structure is
   carried by a NEUTRAL hairline; green is reserved for state. The reason is hue, not
   ratio: at these near-black luminances a green stroke and a neutral stroke measure
   the same (~1.4:1 against the fill), but the green one shares a hue family with the
   fill and so cannot be seen. See DEPTH-AMENDMENT.md section 0. */
:root{
  /* ---- primitives · screen ---- */
  --minted-green-100:#B9FFCC;   /* glow highlight, title halo, hover text */
  --minted-green-300:#24BF78;   /* bright accent, labels, borders, links, focus */
  --minted-green-400:#1A9961;   /* primary action hover */
  --minted-green-500:#16915C;   /* brand green, primary action */
  --minted-green-700:#0C6A46;   /* deep green fills, selection background */

  --minted-neutral-100:#FFFFFF; /* headline white */
  --minted-neutral-200:#E2F0D9; /* secondary text */
  --minted-neutral-400:#C4D9CC; /* muted text, nav links */
  --minted-neutral-500:#96A79E; /* faint text, legal (7.97:1 on dark-900) */

  --minted-dark-900:#050806;    /* page field */
  --minted-dark-850:#08110D;    /* surface, cards */
  --minted-dark-800:#0A1A14;    /* grid cell fill */
  --minted-dark-750:#0E1712;    /* raised ground: cards, tiles (amendment 01) */
  --minted-dark-700:#131E18;    /* raised ground, tinted variant */
  --minted-dark-950:#060B08;    /* recessed ground: matrix cells, inputs (amendment 01) */

  /* Neutral hairline primitives (amendment 01). Slightly green-tinted rather than
     pure white so they still belong to the ramp. Structure is neutral; green is state. */
  --minted-line-100:rgba(214,230,221,0.1);  /* faint: gridlines, matrix hairlines */
  --minted-line-200:rgba(214,230,221,0.14); /* structural: card edges, section rules */

  --minted-danger-500:#E5484D;  /* validation border */
  --minted-danger-200:#FF9B9E;  /* validation message text */

  /* ---- primitives · print (consumed only by the print semantic layer) ---- */
  --minted-paper-000:#FFFFFF;
  --minted-paper-050:#F5F8F6;
  --minted-paper-100:#E6F1EA;
  --minted-paper-200:#C9E3D4;
  --minted-ink-900:#050806;
  --minted-ink-600:#55645C;
  --minted-ink-line:#B4C3BB;

  /* ---- semantic · screen ---- */
  --minted-bg-page:var(--minted-dark-900);
  --minted-bg-surface:var(--minted-dark-850);
  --minted-bg-cell:var(--minted-dark-800);
  --minted-bg-cell-strong:color-mix(in srgb, var(--minted-green-700) 20%, var(--minted-dark-750)); /* tint OF the raised ground (amendment 01) */
  --minted-bg-hover-wash:rgba(36,191,120,0.1);        /* secondary button hover fill */
  --minted-surface-raised:var(--minted-dark-750);     /* things that sit above the field */
  --minted-surface-raised-hi:var(--minted-dark-700);  /* tinted raised variant */
  --minted-surface-recessed:var(--minted-dark-950);   /* things pressed into the panel */

  --minted-text-primary:var(--minted-neutral-100);    /* 20.12:1 on page */
  --minted-text-secondary:var(--minted-neutral-200);  /* 16.96:1 */
  --minted-text-muted:var(--minted-neutral-400);      /* 13.55:1 */
  --minted-text-faint:var(--minted-neutral-500);      /* 7.97:1 */
  --minted-text-accent:var(--minted-green-500);       /* LARGE TEXT ONLY on cell grounds (4.47:1 / 4.14:1) */
  --minted-text-label:var(--minted-green-300);        /* tracked mono labels, 8.43:1 */

  --minted-action-primary-bg:var(--minted-green-500);
  --minted-action-primary-bg-hover:var(--minted-green-400);
  --minted-action-primary-text:var(--minted-dark-900);
  --minted-action-secondary-border:var(--minted-green-300);
  --minted-action-secondary-text:var(--minted-green-300);
  --minted-action-secondary-bg-hover:rgba(36,191,120,0.1);

  --minted-stroke-grid:var(--minted-line-100);        /* background gridlines, matrix hairlines */
  --minted-stroke-divider:var(--minted-line-200);     /* card borders, section rules; separates by hue, not by ratio */
  --minted-stroke-active:var(--minted-green-300);     /* hover, selected, focus. The ONLY structural use of green */
  --minted-stroke-input:rgba(36,191,120,0.55);        /* form field boundary; 3.17:1 vs page, the tightest pass in the system */
  --minted-stroke-input-hover:rgba(36,191,120,0.7);   /* 4.51:1 */

  --minted-field-error:var(--minted-danger-500);
  --minted-field-error-text:var(--minted-danger-200);

  --minted-focus-ring-color:var(--minted-green-300);
  --minted-focus-ring:2px solid var(--minted-green-300); /* offset 2px, never animated, never removed */

  /* ---- gradients ---- */
  --minted-gradient-title:linear-gradient(180deg,#45A779 0%,#0F764D 100%); /* @kind color */ /* display treatments of the word MINTED only */
}
