/* Semantic colour aliases. One canvas: off-white #FAF9F6, with white cards on top.
   There are no black planes in the system — the former ink surfaces are paper too.
   Base values are the exact Figma variable values (see tokens/fig-tokens.css). */
:root{
  /* surfaces */
  --surface-page:rgb(250,249,246);
  --surface-sunken:rgb(242,242,242);
  --surface-card:rgb(255,255,255);
  --surface-raised:rgb(255,255,255);
  --surface-glass:rgba(255,255,255,0.8);
  --surface-ink:rgb(250,249,246);
  --surface-ink-soft:rgb(250,249,246);
  --surface-ink-lift:rgb(242,242,242);
  --surface-sidebar:rgb(255,255,255);
  --surface-popover:rgb(255,255,255);
  --surface-scrim:rgba(0,0,0,0.7);
  --surface-tooltip:rgb(250,249,246);
  --surface-veil:rgba(255,255,255,0.8);

  /* the off-white family, addressable directly */
  --surface-paper:rgb(250,249,246);
  --surface-paper-deep:rgb(242,242,242);
  --surface-light-page:rgb(250,249,246);
  --surface-light-card:rgb(255,255,255);
  --surface-light-card-veil:rgba(255,255,255,0.8);
  --surface-light-muted:rgb(242,242,242);

  /* text */
  --text-primary:rgb(22,22,22);
  --text-secondary:rgb(112,125,134);
  --text-tertiary:rgb(107,114,128);
  --text-on-accent:rgb(22,22,22);
  --text-inverse:rgb(248,248,248);
  --text-inverse-muted:rgb(139,139,139);
  --text-inverse-soft:rgb(139,139,139);
  --text-white:rgb(255,255,255);
  /* type that sits over photography, where the protection gradient is still black */
  --text-on-media:rgb(255,255,255);

  /* accent — the acid-green signature (#17FC70) */
  --accent:rgb(23,252,112);
  --accent-soft:rgb(94,255,153);
  --accent-bright:rgb(126,255,175);
  --accent-mid:rgb(14,190,83);
  --accent-deep:rgb(6,60,29);
  --accent-forest:rgb(18,41,28);
  --accent-ring:rgba(23,252,112,0.25);
  --accent-glow:rgba(94,255,153,0.2);
  /* readable green for type and rules on paper — the bright accent fails contrast as text */
  --accent-text:rgb(11,133,60);

  /* borders */
  --border-accent:rgb(23,252,112);
  --border-accent-strong:rgb(14,190,83);
  --border-subtle:rgba(0,0,0,0.07);
  --border-hairline:rgb(197,210,220);
  --border-input:rgb(209,213,219);

  /* semantic states */
  --state-success:rgb(34,197,94);
  --state-danger:rgb(220,76,100);
  --state-link:rgb(93,93,255);

  /* charts — the darker half of the ramp, so bars read on paper */
  --chart-1:rgb(14,190,83);
  --chart-2:rgb(68,201,120);
  --chart-3:rgb(0,158,74);
  --chart-4:rgb(94,255,153);
  --chart-5:rgb(0,126,58);
}

html,body{background:var(--surface-page);color:var(--text-primary)}
a{color:var(--accent-text);text-decoration:none}
a:hover{color:var(--accent-mid)}
