/* PiCraft palette tokens: slate and indigo. Loaded first on every page; page-level :root blocks must not redefine these. */
:root{
  --bg:#F6F7F9; --surface:#FFFFFF; --soft:#EEF0F6; --line:#E3E6EC; --line2:#D3D8E2;
  --fg:#1B2233; --muted:#5A6478; --faint:#636C7F;
  --primary:#4B55A3; --primary-d:#3B4488;
  --on-primary:#FFFFFF; /* text and icons on --primary, --primary-d and --fg fills */
  --panel:#3B4488; --on-panel:#FFFFFF; /* large panels (hero banners, footer, landing cards): deep indigo in both themes */
  --ok:#146C34; --bad:#B91C1C; --warn:#8A5300; /* right / wrong / caution feedback only */
  --ok-s:#E6F4EA; --bad-s:#FBE9E9; --warn-s:#FAF0DC;
  --gold:#B8923A; /* decorative only: never use for text */
  --field-line:#7F889C; /* form field borders: 3:1 on --surface, --bg and --soft (WCAG 1.4.11) */
  --r-card:12px; --r-ctl:10px;
  --shadow:0 2px 8px rgba(27,34,51,.08);

  /* Legacy rainbow names kept so old var(--teal) etc. still resolve; they now read as quiet indigo or neutral. */
  --teal:var(--primary); --indigo:var(--primary); --orange:var(--primary); --pink:var(--primary);
  --violet:var(--primary); --green:var(--primary); --cyan:var(--primary); --gold2:var(--primary);
  --lime:var(--primary); --sun:var(--gold);
  --teal-s:var(--soft); --indigo-s:var(--soft); --orange-s:var(--soft); --pink-s:var(--soft);
  --violet-s:var(--soft); --green-s:var(--soft); --cyan-s:var(--soft); --gold2-s:var(--soft);
  --lime-s:var(--soft); --sun-s:var(--soft);
}
html.dk{
  --bg:#12151F; --surface:#1A1F2E; --soft:#20263A; --line:#2A3144; --line2:#353D54;
  --fg:#E6E9F2; --muted:#A3ABBF; --faint:#8A92A8;
  --primary:#8F9BE0; --primary-d:#A9B3EA;
  --on-primary:#12151F;
  --panel:#2B3270; --on-panel:#E6E9F2;
  --ok:#4ADE80; --bad:#F87171; --warn:#FBBF24;
  --ok-s:#173325; --bad-s:#3B1E24; --warn-s:#3A3018;
  --gold:#D2AE5C;
  --field-line:#6B7490;
  --shadow:0 2px 8px rgba(0,0,0,.4);
}
