/* Colors — every hex here is transcribed verbatim from "AP Design System.fig".
   Primary: AP Yellow, AP Black, AP White. Secondary/spec: AP Green. Detail: AP Dark Blue.
   The two neutral ramps are the file's own "Fliq Black" and "Fliq White" scales (9 steps each). */
:root{
  /* ── Brand ──────────────────────────────────────────── */
  --ap-yellow:#FFE539;      /* Name: AP Yellow  — primary */
  --ap-black:#222222;       /* Name: AP Black   — primary, RGB 34 34 34, HSB 0 0 13 */
  --ap-white:#FDFDFD;       /* Name: AP White   — primary, RGB 253 253 253, HSB 0 0 99 */
  --ap-green:#29AA6D;       /* Name: Fliq Green — RGB 41 170 109, HSB 152 76 67 */
  --ap-dark-blue:#2C3D55;   /* Name: AP Dark blue — detail color */
  --ap-true-black:#000000;  /* stroke only (dashed swatch outlines on the scale pages) */
  --ap-pure-white:#FFFFFF;  /* display type on AP Black */

  /* ── AP Black scale (approved shades of the black) ──── */
  --black-100:#D2D2D2;
  --black-200:#A6A6A6;
  --black-300:#7A7A7A;
  --black-400:#4E4E4E;
  --black-500:#222222;      /* = AP Black */
  --black-600:#1B1B1B;
  --black-700:#141414;
  --black-800:#0D0D0D;
  --black-900:#060606;

  /* ── AP White scale (approved shades of the white) ──── */
  --white-100:#FDFDFD;      /* = AP White */
  --white-200:#E3E3E3;
  --white-300:#CACACA;
  --white-400:#B1B1B1;
  --white-500:#979797;
  --white-600:#7E7E7E;
  --white-700:#656565;
  --white-800:#4B4B4B;
  --white-900:#323232;

  /* ── Semantic aliases (light / default theme) ───────── */
  --surface-page:var(--ap-white);
  --surface-raised:var(--ap-pure-white);
  --surface-sunken:var(--white-200);
  --surface-card:var(--ap-white);
  --surface-inverse:var(--ap-black);
  --surface-accent:var(--ap-yellow);
  --surface-detail:var(--ap-dark-blue);
  --surface-disabled:var(--white-200);

  --text-primary:var(--ap-black);
  --text-secondary:var(--white-700);
  --text-muted:var(--white-800);
  --text-inverse:var(--ap-white);
  --text-on-accent:var(--ap-black);   /* AP Black on AP Yellow — the file's own pairing */
  --text-on-detail:var(--ap-white);
  --text-disabled:var(--white-500);
  --text-link:var(--ap-black);
  --text-link-hover:var(--ap-green);

  --border-strong:var(--ap-black);
  --border-default:var(--white-300);
  --border-subtle:var(--white-200);
  --border-dashed:var(--ap-black);    /* the guideline pages' 1px dashed rule */
  --border-focus:var(--ap-green);

  /* Status. The source file defines no red/error color; destructive intent is carried by
     AP Black + copy, never by an invented red. See readme.md > CAVEATS. */
  --status-success:var(--ap-green);
  --status-success-surface:#E9F6EF;
  --status-attention:var(--ap-yellow);
  --status-attention-surface:#FFF8D6;
  --status-info:var(--ap-dark-blue);
  --status-info-surface:#E7EAEF;
  --status-neutral:var(--white-700);
  --status-neutral-surface:var(--white-200);
}

/* Inverse theme — the file's own dark ground (AP Black page, AP White type). */
[data-theme="inverse"]{
  --surface-page:var(--ap-black);
  --surface-raised:var(--black-600);
  --surface-sunken:var(--black-800);
  --surface-card:var(--black-600);
  --surface-inverse:var(--ap-white);
  --surface-disabled:var(--black-400);

  --text-primary:var(--ap-white);
  --text-secondary:var(--black-100);
  --text-muted:var(--black-200);
  --text-inverse:var(--ap-black);
  --text-disabled:var(--black-300);
  --text-link:var(--ap-white);
  --text-link-hover:var(--ap-yellow);

  --border-strong:var(--ap-white);
  --border-default:var(--black-400);
  --border-subtle:var(--black-600);
  --border-dashed:var(--ap-white);
}
