/* Molecule color. Source: uploads/tokens.css + brand board "Color". */
:root{
  /* Base palette */
  --mol-ink:#17191C;       /* text, logo */
  --mol-vellum:#F2EEE5;    /* page ground, warm like drafting film */
  --mol-paper:#FAF8F3;     /* raised surfaces: cards, inputs, panels */
  --mol-green:#2E4A3F;     /* Machine Green: brand, primary actions, app icon */
  --mol-graphite:#5E5B55;  /* secondary text, captions */
  --mol-rule:#D6D0C3;      /* hairlines, borders. Never text. */
  --mol-blue:#23349E;      /* Layout Blue: links, focus */
  --mol-oxide:#A33A2A;     /* errors, destructive */

  /* Derived states (not in source; mixed from the base palette) */
  --mol-green-press:color-mix(in oklab,var(--mol-green) 82%,var(--mol-ink));
  --mol-green-hover:color-mix(in oklab,var(--mol-green) 90%,var(--mol-ink));
  --mol-paper-hover:color-mix(in oklab,var(--mol-paper) 55%,var(--mol-vellum));
  --mol-vellum-deep:color-mix(in oklab,var(--mol-vellum) 88%,var(--mol-rule)); /* sunken wells, hover rows on vellum */
  --mol-green-tint:color-mix(in oklab,var(--mol-green) 10%,var(--mol-paper));   /* selected row */
  --mol-oxide-tint:color-mix(in oklab,var(--mol-oxide) 8%,var(--mol-paper));
  --mol-blue-tint:color-mix(in oklab,var(--mol-blue) 8%,var(--mol-paper));
  --mol-ink-2:#23262A;     /* raised surface on Ink grounds */

  /* Semantic aliases */
  --surface-page:var(--mol-vellum);
  --surface-raised:var(--mol-paper);
  --surface-card:var(--mol-paper);
  --surface-input:var(--mol-paper);
  --surface-sunken:var(--mol-vellum-deep);
  --surface-inverse:var(--mol-ink);
  --surface-brand:var(--mol-green);
  --surface-selected:var(--mol-green-tint);

  --text-body:var(--mol-ink);
  --text-heading:var(--mol-ink);
  --text-secondary:var(--mol-graphite);
  --text-on-brand:var(--mol-vellum);
  --text-on-inverse:var(--mol-vellum);
  --text-link:var(--mol-blue);
  --text-link-hover:var(--mol-ink);
  --text-error:var(--mol-oxide);

  --border-default:var(--mol-rule);
  --border-strong:var(--mol-ink);
  --border-focus:var(--mol-blue);
  --border-error:var(--mol-oxide);

  --action-primary:var(--mol-green);
  --action-primary-hover:var(--mol-green-hover);
  --action-primary-press:var(--mol-green-press);
  --action-danger:var(--mol-oxide);
}
