/* FR-9 theme tokens. Colours are consumed only through these variables (see app.css). */
:root {
  --sl-color-bg: #f6f3ee;          /* warm off-white */
  --sl-color-surface: #fffbf2;     /* cream card */
  --sl-color-text: #1e2a2b;
  --sl-color-text-muted: #556163;
  --sl-color-accent: #0e5e5a;      /* dark teal */
  --sl-color-on-accent: #ffffff;
  --sl-color-border: #e4ddd0;
  --sl-color-danger: #a1261b;
  /* Item status (FR-3); every pair is checked for WCAG 2.2 AA by StatusThemeTests. */
  --sl-status-progress-fg: #1f56b3;
  --sl-status-passed-fg: #1d6b34;
  --sl-status-passed-bg: #e3f1e6;   /* light green (complete section pill) */
  --sl-status-na-fg: #556163;
  --sl-status-failed-bg: #fbe4e1;   /* light red */
  --sl-status-failed-fg: #8f1d14;
  --sl-status-blocked-bg: #fcefcf;  /* amber */
  --sl-status-blocked-fg: #6b4700;
  --sl-status-skipped-bg: #f4ecda;  /* beige */
  --sl-status-skipped-fg: #5b4f38;
  /* Presence (FR-8): personal colours by index (PersonalColor), same hue in both themes; initials use --sl-presence-on. */
  --sl-presence-0: #b3261e;
  --sl-presence-1: #a14d00;
  --sl-presence-2: #7a5c00;
  --sl-presence-3: #3b6e00;
  --sl-presence-4: #00703c;
  --sl-presence-5: #006b6b;
  --sl-presence-6: #00639a;
  --sl-presence-7: #2a4fb8;
  --sl-presence-8: #5b3fb5;
  --sl-presence-9: #8a2f9e;
  --sl-presence-10: #a8235f;
  --sl-presence-11: #7b4a2a;
  --sl-presence-guest: #556163;
  --sl-presence-on: #ffffff;
  /* Time travel (FR-7): the entity changed by the current step, and the history banner. Checked by TimeTravelThemeTests. */
  --sl-tt-highlight: #6a3fb5;
  --sl-tt-highlight-bg: #f1eafb;
  /* Revert (admin-revert): the confirm dialog's conflict and blocker warnings. Checked by RevertThemeTests. */
  --sl-revert-warn: #8a5a00;
  --sl-revert-warn-bg: #fdf1d6;
  /* Lock (checklist-lock): the "Results locked" banner. Checked by LockThemeTests. */
  --sl-color-locked-fg: #2f3d52;
  --sl-color-locked-bg: #e6ebf2;
  --sl-font-sans: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  --sl-radius-pill: 999px;
  --sl-radius-card: 12px;
  --sl-space: 1rem;
  --sl-pillbar-offset: 4rem;        /* clearance below the sticky section pill bar (FR-4) */
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  :root {
    --sl-color-bg: #121716;
    --sl-color-surface: #1b2221;
    --sl-color-text: #e9e6df;
    --sl-color-text-muted: #a9b3b1;
    --sl-color-accent: #46b8ab;
    --sl-color-on-accent: #0b1514;
    --sl-color-border: #2d3735;
    --sl-color-danger: #f08a7e;
    --sl-status-progress-fg: #8db6ff;
    --sl-status-passed-fg: #74d08f;
    --sl-status-passed-bg: #1c3324;
    --sl-status-na-fg: #a9b3b1;
    --sl-status-failed-bg: #3b1f1c;
    --sl-status-failed-fg: #f6b4ab;
    --sl-status-blocked-bg: #3a2f14;
    --sl-status-blocked-fg: #f1d07e;
    --sl-status-skipped-bg: #2f2b22;
    --sl-status-skipped-fg: #d8ccb2;
    --sl-presence-0: #ff8a80;
    --sl-presence-1: #ffab5e;
    --sl-presence-2: #e6c449;
    --sl-presence-3: #9fd760;
    --sl-presence-4: #5fd39a;
    --sl-presence-5: #4fd1d1;
    --sl-presence-6: #6cbcf5;
    --sl-presence-7: #96aaff;
    --sl-presence-8: #b9a2ff;
    --sl-presence-9: #e09af0;
    --sl-presence-10: #ff8fbd;
    --sl-presence-11: #d9a77f;
    --sl-presence-guest: #a9b3b1;
    --sl-presence-on: #0b1514;
    --sl-tt-highlight: #c3a6ff;
    --sl-tt-highlight-bg: #261f36;
    --sl-revert-warn: #f1c26a;
    --sl-revert-warn-bg: #33290f;
    --sl-color-locked-fg: #c9d6ea;
    --sl-color-locked-bg: #1f2733;
  }
}
