/* ═══ theme-tokens.css — Psycholog-it (Pass 7.56 — B-090 / SPEC_THEMES_V1 §12.3) ═══
   A byte-identical copy of index.html's THEME TOKENS region (the :root base with
   the legacy aliases + every html[data-palette] light / dark block + the print
   color-scheme rule) for the PUBLIC pages: manual, about, terms, privacy,
   contact. index.html keeps its inline block and is the authority; this file is
   re-copied by hand on every palette pass and tools/test_themes.js pins the
   equality. Never edit here — edit index.html and copy. ═══════════════════ */
:root {
  /* surfaces */
  --bg: #F6F4EF;
  --card: #FFFFFF;
  --card-2: #F3F1EA;
  --hair: rgba(24,38,43,0.11);
  --hair-strong: #B9C6CA;
  --shadow-pop: 0 16px 48px rgba(24,38,43,0.16);
  /* text */
  --text: #18262B;
  --text-mid: #4B585D;
  --text-muted: #5E6D73;
  --text-on-accent: #FFFFFF;
  /* the one accent */
  --accent: #2A6B7C;
  --accent-ink: #1E5261;
  --accent-soft: #E8F1F3;
  --accent-line: #8FC3CF;
  /* semantic states: text · tint · solid fill */
  --ok: #37725A;          --ok-soft: #E7F0EA;          --ok-fill: #4F8F72;
  --warn: #865D14;        --warn-soft: #F6E6D2;        --warn-fill: #C98A3C;
  --danger: #A83A3A;      --danger-soft: #F7E6E6;      --danger-fill: #B84A4A;
  --info: #1E5261;        --info-soft: #E8F1F3;        --info-fill: #4E8FA6;
  /* rail (sidebar / drawer) */
  --rail: #FBFAF6;
  --rail-text: #4B585D;
  --rail-fg: #18262B;
  --rail-hair: rgba(0,0,0,0.09);
  --rail-hover: rgba(0,0,0,0.045);
  --rail-active-bg: #E8F1F3;
  --rail-active-fg: #1E5261;
  --rail-accent: #1E5261;
  /* toasts */
  --toast-bg: #18262B;
  --toast-fg: #F6F4EF;
  /* patient colours (PATIENT_COLORS ids → CSS variables; dark twins in the dark blocks) */
  --pc-red: #e74c3c;
  --pc-orange: #e67e22;
  --pc-yellow: #f1c40f;
  --pc-green: #27ae60;
  --pc-teal: #16a085;
  --pc-blue: #3498db;
  --pc-purple: #9b59b6;
  --pc-gray: #7f8c8d;
  /* ── legacy aliases (read-only names used by ~1,900 existing rules) ── */
  --teal-dark: var(--accent-ink);
  --teal: var(--accent);
  --teal-mid: var(--accent);
  --teal-light: var(--accent-line);
  --teal-pale: var(--accent-soft);
  --amber: var(--warn);
  --amber-light: var(--warn-soft);
  --sidebar: var(--rail);
  --sidebar-text: var(--rail-text);
  --sidebar-active: var(--rail-fg);
  --border: var(--hair);
  --success: var(--ok);
  --warning: var(--warn);
  --shadow: none;
  --shadow-lg: var(--shadow-pop);
}
/* "quiet" — the default, repeated in full so the block is self-contained */
html[data-palette="quiet"] {
  --bg: #F6F4EF; --card: #FFFFFF; --card-2: #F3F1EA; --hair: rgba(24,38,43,0.11); --hair-strong: #B9C6CA; --shadow-pop: 0 16px 48px rgba(24,38,43,0.16);
  --text: #18262B; --text-mid: #4B585D; --text-muted: #5E6D73; --text-on-accent: #FFFFFF;
  --accent: #2A6B7C; --accent-ink: #1E5261; --accent-soft: #E8F1F3; --accent-line: #8FC3CF;
  --ok: #37725A; --ok-soft: #E7F0EA; --ok-fill: #4F8F72;
  --warn: #865D14; --warn-soft: #F6E6D2; --warn-fill: #C98A3C;
  --danger: #A83A3A; --danger-soft: #F7E6E6; --danger-fill: #B84A4A;
  --info: #1E5261; --info-soft: #E8F1F3; --info-fill: #4E8FA6;
  --rail: #FBFAF6; --rail-text: #4B585D; --rail-fg: #18262B; --rail-hair: rgba(0,0,0,0.09); --rail-hover: rgba(0,0,0,0.045);
  --rail-active-bg: #E8F1F3; --rail-active-fg: #1E5261; --rail-accent: #1E5261;
  --toast-bg: #18262B; --toast-fg: #F6F4EF;
  --pc-red: #e74c3c; --pc-orange: #e67e22; --pc-yellow: #f1c40f; --pc-green: #27ae60; --pc-teal: #16a085; --pc-blue: #3498db; --pc-purple: #9b59b6; --pc-gray: #7f8c8d;
}
/* "classic" — today's colours (pre-7.46 :root), nudged only where a TEXT
   role failed AA (spec §3.4): links use --accent, success text #2F7559,
   warning text #9A5A1E; the amber stripe keeps #D4845A via --warn-fill. */
html[data-palette="classic"] {
  --bg: #EEF3F5; --card: #FFFFFF; --card-2: #EEF3F5; --hair: #D0E4EA; --hair-strong: #A9C8D2; --shadow-pop: 0 8px 40px rgba(30,77,92,0.18);
  --text: #1A2E36; --text-mid: #4A6470; --text-muted: #51737F; --text-on-accent: #FFFFFF;
  --accent: #2C6E7F; --accent-ink: #1E4D5C; --accent-soft: #E3F4F8; --accent-line: #6DB8CC;
  --ok: #2F7559; --ok-soft: #E8F5EE; --ok-fill: #3A8C6E;
  --warn: #9A5A1E; --warn-soft: #FBEFE3; --warn-fill: #D4845A;
  --danger: #B84040; --danger-soft: #FDF0F0; --danger-fill: #B84040;
  --info: #1E4D5C; --info-soft: #E3F4F8; --info-fill: #3A8FA3;
  --rail: #162F38; --rail-text: #A8C8D4; --rail-fg: #FFFFFF; --rail-hair: rgba(255,255,255,0.08); --rail-hover: rgba(255,255,255,0.05);
  --rail-active-bg: rgba(255,255,255,0.10); --rail-active-fg: #FFFFFF; --rail-accent: #6DB8CC;
  --toast-bg: #1E4D5C; --toast-fg: #FFFFFF;
  --pc-red: #e74c3c; --pc-orange: #e67e22; --pc-yellow: #f1c40f; --pc-green: #27ae60; --pc-teal: #16a085; --pc-blue: #3498db; --pc-purple: #9b59b6; --pc-gray: #7f8c8d;
}
/* "eucalyptus" — palette B: sand canvas, deep eucalyptus accent, dark green rail (Pass 7.55 — B-089) */
html[data-palette="eucalyptus"] {
  --bg: #F3EEE4; --card: #FFFDF9; --card-2: #ECE5D8; --hair: rgba(30,42,38,0.11); --hair-strong: #BCC6C0; --shadow-pop: 0 16px 48px rgba(30,42,38,0.16);
  --text: #1E2A26; --text-mid: #45534E; --text-muted: #5C6B66; --text-on-accent: #FFFFFF;
  --accent: #2E6B5A; --accent-ink: #1F4F42; --accent-soft: #E3EFEA; --accent-line: #8EC0AF;
  --ok: #456F37; --ok-soft: #E6F0E0; --ok-fill: #5E8F4E;
  --warn: #90541C; --warn-soft: #F7E6D3; --warn-fill: #C9843E;
  --danger: #A6403A; --danger-soft: #F7E6E4; --danger-fill: #B84A44;
  --info: #1F4F42; --info-soft: #E3EFEA; --info-fill: #4E8F7A;
  --rail: #1F3B33; --rail-text: #B8CFC6; --rail-fg: #FFFFFF; --rail-hair: rgba(255,255,255,0.10); --rail-hover: rgba(255,255,255,0.06);
  --rail-active-bg: #33524A; --rail-active-fg: #FFFFFF; --rail-accent: #8EC0AF;
  --toast-bg: #1E2A26; --toast-fg: #F3EEE4;
  --pc-red: #e74c3c; --pc-orange: #e67e22; --pc-yellow: #f1c40f; --pc-green: #27ae60; --pc-teal: #16a085; --pc-blue: #3498db; --pc-purple: #9b59b6; --pc-gray: #7f8c8d;
}
/* "plum" — palette C: cool lavender-grey canvas, indigo accent, dark plum rail (Pass 7.55 — B-089) */
html[data-palette="plum"] {
  --bg: #F3F2F6; --card: #FFFFFF; --card-2: #ECEAF2; --hair: rgba(30,27,46,0.11); --hair-strong: #C2BFD1; --shadow-pop: 0 16px 48px rgba(30,27,46,0.16);
  --text: #1E1B2E; --text-mid: #433F58; --text-muted: #5F5B74; --text-on-accent: #FFFFFF;
  --accent: #4F3F8F; --accent-ink: #3B2E6E; --accent-soft: #ECE8F7; --accent-line: #A99CD6;
  --ok: #2C7258; --ok-soft: #E3F1EA; --ok-fill: #4A8F72;
  --warn: #8A5A12; --warn-soft: #F6E8CF; --warn-fill: #C9913C;
  --danger: #A33A4E; --danger-soft: #F8E6EA; --danger-fill: #B8505F;
  --info: #3B2E6E; --info-soft: #ECE8F7; --info-fill: #7A6BB8;
  --rail: #262040; --rail-text: #B9B3D6; --rail-fg: #FFFFFF; --rail-hair: rgba(255,255,255,0.10); --rail-hover: rgba(255,255,255,0.06);
  --rail-active-bg: #3B3460; --rail-active-fg: #FFFFFF; --rail-accent: #A99CD6;
  --toast-bg: #1E1B2E; --toast-fg: #F3F2F6;
  --pc-red: #e74c3c; --pc-orange: #e67e22; --pc-yellow: #f1c40f; --pc-green: #27ae60; --pc-teal: #16a085; --pc-blue: #3498db; --pc-purple: #9b59b6; --pc-gray: #7f8c8d;
}
/* "clay" — palette D (Clay & Olive): linen canvas, olive accent, warm charcoal rail, clay for warnings (Pass 7.55 — B-089) */
html[data-palette="clay"] {
  --bg: #F5F1E9; --card: #FFFEFB; --card-2: #EEE8DC; --hair: rgba(38,34,28,0.11); --hair-strong: #C6BFB2; --shadow-pop: 0 16px 48px rgba(38,34,28,0.16);
  --text: #26221C; --text-mid: #4C463D; --text-muted: #6A6358; --text-on-accent: #FFFFFF;
  --accent: #5E6B36; --accent-ink: #434D26; --accent-soft: #EBEDDD; --accent-line: #A9B37A;
  --ok: #477246; --ok-soft: #E4EFE0; --ok-fill: #6A9160;
  --warn: #92541F; --warn-soft: #F5E3D2; --warn-fill: #C47A3A;
  --danger: #A33A3A; --danger-soft: #F7E6E4; --danger-fill: #B84A4A;
  --info: #434D26; --info-soft: #EBEDDD; --info-fill: #8A9560;
  --rail: #2B2824; --rail-text: #C9C2B5; --rail-fg: #FFF9EF; --rail-hair: rgba(255,255,255,0.10); --rail-hover: rgba(255,255,255,0.06);
  --rail-active-bg: #3F3B35; --rail-active-fg: #FFF9EF; --rail-accent: #A9B37A;
  --toast-bg: #26221C; --toast-fg: #F5F1E9;
  --pc-red: #e74c3c; --pc-orange: #e67e22; --pc-yellow: #f1c40f; --pc-green: #27ae60; --pc-teal: #16a085; --pc-blue: #3498db; --pc-purple: #9b59b6; --pc-gray: #7f8c8d;
}
/* "signal" — palette E: near-greyscale, one cobalt signal colour, light rail (Pass 7.55 — B-089) */
html[data-palette="signal"] {
  --bg: #F5F5F4; --card: #FFFFFF; --card-2: #EFEFED; --hair: rgba(20,20,20,0.11); --hair-strong: #C4C4C1; --shadow-pop: 0 16px 48px rgba(20,20,20,0.16);
  --text: #141414; --text-mid: #3C3C3A; --text-muted: #5F5F5C; --text-on-accent: #FFFFFF;
  --accent: #2456D6; --accent-ink: #1B3FA3; --accent-soft: #E6ECFB; --accent-line: #93AEEB;
  --ok: #2B754A; --ok-soft: #E3F1E8; --ok-fill: #4A9268;
  --warn: #8A5A00; --warn-soft: #F6EBD0; --warn-fill: #C9913C;
  --danger: #B3261E; --danger-soft: #FAE5E3; --danger-fill: #C9453C;
  --info: #1B3FA3; --info-soft: #E6ECFB; --info-fill: #5B82E0;
  --rail: #FAFAF9; --rail-text: #4A4A47; --rail-fg: #121212; --rail-hair: rgba(0,0,0,0.09); --rail-hover: rgba(0,0,0,0.045);
  --rail-active-bg: #ECECEA; --rail-active-fg: #121212; --rail-accent: #1B3FA3;
  --toast-bg: #141414; --toast-fg: #F5F5F4;
  --pc-red: #e74c3c; --pc-orange: #e67e22; --pc-yellow: #f1c40f; --pc-green: #27ae60; --pc-teal: #16a085; --pc-blue: #3498db; --pc-purple: #9b59b6; --pc-gray: #7f8c8d;
}
/* "rose" — palette F (Rose & Sage): blush canvas, wine accent, sage for success, light rail (Pass 7.55 — B-089) */
html[data-palette="rose"] {
  --bg: #F8F3F1; --card: #FFFFFF; --card-2: #F1EAE7; --hair: rgba(42,30,34,0.11); --hair-strong: #CDBFC3; --shadow-pop: 0 16px 48px rgba(42,30,34,0.16);
  --text: #2A1E22; --text-mid: #4E4044; --text-muted: #6B5B60; --text-on-accent: #FFFFFF;
  --accent: #7A3B52; --accent-ink: #5E2B3E; --accent-soft: #F3E4E8; --accent-line: #C99AAB;
  --ok: #497258; --ok-soft: #E5EFE8; --ok-fill: #6A9478;
  --warn: #8B5A17; --warn-soft: #F7E7D0; --warn-fill: #C9913C;
  --danger: #A83A3A; --danger-soft: #F7E6E6; --danger-fill: #B84A4A;
  --info: #5E2B3E; --info-soft: #F3E4E8; --info-fill: #A66B82;
  --rail: #FCF7F5; --rail-text: #5A4B4F; --rail-fg: #2A1E22; --rail-hair: rgba(0,0,0,0.09); --rail-hover: rgba(0,0,0,0.045);
  --rail-active-bg: #F3E4E6; --rail-active-fg: #6E2F44; --rail-accent: #5E2B3E;
  --toast-bg: #2A1E22; --toast-fg: #F8F3F1;
  --pc-red: #e74c3c; --pc-orange: #e67e22; --pc-yellow: #f1c40f; --pc-green: #27ae60; --pc-teal: #16a085; --pc-blue: #3498db; --pc-purple: #9b59b6; --pc-gray: #7f8c8d;
}
/* ── dark variants (Pass 7.47 — spec §3.10): warm charcoal for quiet, desaturated navy for classic; never #000 ── */
html[data-palette="quiet"][data-mode="dark"] {
  color-scheme: dark;
  --bg: #262624; --card: #30302E; --card-2: #3A3A37; --hair: rgba(255,255,255,0.10); --hair-strong: #5C5F5B; --shadow-pop: 0 16px 48px rgba(0,0,0,0.5);
  --text: #F5F3EC; --text-mid: #D2CEC4; --text-muted: #ABA79D; --text-on-accent: #16262B;
  --accent: #7FB8C6; --accent-ink: #BFE0E8; --accent-soft: rgba(127,184,198,0.16); --accent-line: #5E9FAE;
  --ok: #8FC4A8; --ok-soft: rgba(143,196,168,0.16); --ok-fill: #4F8F72;
  --warn: #F0BC72; --warn-soft: rgba(224,168,96,0.18); --warn-fill: #C98A3C;
  --danger: #E08A8A; --danger-soft: rgba(224,138,138,0.16); --danger-fill: #B84A4A;
  --info: #BFE0E8; --info-soft: rgba(127,184,198,0.16); --info-fill: #4E8FA6;
  --rail: #2A2A28; --rail-text: #CFCBC1; --rail-fg: #F5F3EC; --rail-hair: rgba(255,255,255,0.10); --rail-hover: rgba(255,255,255,0.06);
  --rail-active-bg: rgba(127,184,198,0.16); --rail-active-fg: #BFE0E8; --rail-accent: #BFE0E8;
  --toast-bg: #F5F3EC; --toast-fg: #262624;
  --pc-red: #F07B6E; --pc-orange: #F2A25A; --pc-yellow: #F5D35A; --pc-green: #5BC98A; --pc-teal: #4FC2A8; --pc-blue: #6FB6E8; --pc-purple: #B98ACB; --pc-gray: #A3AEB0;
}
html[data-palette="classic"][data-mode="dark"] {
  color-scheme: dark;
  --bg: #152026; --card: #1C2A31; --card-2: #22333B; --hair: rgba(255,255,255,0.10); --hair-strong: #4B6670; --shadow-pop: 0 8px 40px rgba(0,0,0,0.5);
  --text: #E8F0F3; --text-mid: #C3D1D7; --text-muted: #9FB2BA; --text-on-accent: #0F1C22;
  --accent: #6DB8CC; --accent-ink: #BFE4EE; --accent-soft: rgba(109,184,204,0.16); --accent-line: #3A8FA3;
  --ok: #8FC4A8; --ok-soft: rgba(143,196,168,0.16); --ok-fill: #3A8C6E;
  --warn: #F0BC72; --warn-soft: rgba(224,168,96,0.18); --warn-fill: #D4845A;
  --danger: #E08A8A; --danger-soft: rgba(224,138,138,0.16); --danger-fill: #B84040;
  --info: #BFE4EE; --info-soft: rgba(109,184,204,0.16); --info-fill: #3A8FA3;
  --rail: #0F1C22; --rail-text: #A8C8D4; --rail-fg: #FFFFFF; --rail-hair: rgba(255,255,255,0.08); --rail-hover: rgba(255,255,255,0.05);
  --rail-active-bg: rgba(255,255,255,0.10); --rail-active-fg: #FFFFFF; --rail-accent: #6DB8CC;
  --toast-bg: #E8F0F3; --toast-fg: #152026;
  --pc-red: #F07B6E; --pc-orange: #F2A25A; --pc-yellow: #F5D35A; --pc-green: #5BC98A; --pc-teal: #4FC2A8; --pc-blue: #6FB6E8; --pc-purple: #B98ACB; --pc-gray: #A3AEB0;
}
/* ── Pass 7.55 (B-089) dark twins: charcoal tinted toward each palette's hue; dark-rail palettes keep the rail darker than the canvas (classic pattern), light-rail ones lift it a step (quiet pattern) ── */
html[data-palette="eucalyptus"][data-mode="dark"] {
  color-scheme: dark;
  --bg: #1E2622; --card: #283129; --card-2: #323C34; --hair: rgba(255,255,255,0.10); --hair-strong: #556159; --shadow-pop: 0 16px 48px rgba(0,0,0,0.5);
  --text: #EEF3EF; --text-mid: #C9D4CD; --text-muted: #A3B0A8; --text-on-accent: #10201A;
  --accent: #7FC2AC; --accent-ink: #BFE4D6; --accent-soft: rgba(127,194,172,0.16); --accent-line: #5A9E88;
  --ok: #9CCB8C; --ok-soft: rgba(156,203,140,0.16); --ok-fill: #5E8F4E;
  --warn: #F0BC72; --warn-soft: rgba(224,168,96,0.18); --warn-fill: #C9843E;
  --danger: #E08A8A; --danger-soft: rgba(224,138,138,0.16); --danger-fill: #B84A44;
  --info: #BFE4D6; --info-soft: rgba(127,194,172,0.16); --info-fill: #4E8F7A;
  --rail: #15201B; --rail-text: #B8CFC6; --rail-fg: #FFFFFF; --rail-hair: rgba(255,255,255,0.10); --rail-hover: rgba(255,255,255,0.06);
  --rail-active-bg: rgba(255,255,255,0.10); --rail-active-fg: #FFFFFF; --rail-accent: #7FC2AC;
  --toast-bg: #EEF3EF; --toast-fg: #1E2622;
  --pc-red: #F07B6E; --pc-orange: #F2A25A; --pc-yellow: #F5D35A; --pc-green: #5BC98A; --pc-teal: #4FC2A8; --pc-blue: #6FB6E8; --pc-purple: #B98ACB; --pc-gray: #A3AEB0;
}
html[data-palette="plum"][data-mode="dark"] {
  color-scheme: dark;
  --bg: #211D30; --card: #2B2640; --card-2: #35304C; --hair: rgba(255,255,255,0.10); --hair-strong: #5A5473; --shadow-pop: 0 16px 48px rgba(0,0,0,0.5);
  --text: #F0EEF6; --text-mid: #CFCADF; --text-muted: #A9A3BF; --text-on-accent: #17122A;
  --accent: #A99CE0; --accent-ink: #D3CBF2; --accent-soft: rgba(169,156,224,0.16); --accent-line: #7F70BD;
  --ok: #8FC4A8; --ok-soft: rgba(143,196,168,0.16); --ok-fill: #4A8F72;
  --warn: #F0BC72; --warn-soft: rgba(224,168,96,0.18); --warn-fill: #C9913C;
  --danger: #E08A8A; --danger-soft: rgba(224,138,138,0.16); --danger-fill: #B8505F;
  --info: #D3CBF2; --info-soft: rgba(169,156,224,0.16); --info-fill: #7A6BB8;
  --rail: #171329; --rail-text: #B9B3D6; --rail-fg: #FFFFFF; --rail-hair: rgba(255,255,255,0.10); --rail-hover: rgba(255,255,255,0.06);
  --rail-active-bg: rgba(255,255,255,0.10); --rail-active-fg: #FFFFFF; --rail-accent: #A99CE0;
  --toast-bg: #F0EEF6; --toast-fg: #211D30;
  --pc-red: #F07B6E; --pc-orange: #F2A25A; --pc-yellow: #F5D35A; --pc-green: #5BC98A; --pc-teal: #4FC2A8; --pc-blue: #6FB6E8; --pc-purple: #B98ACB; --pc-gray: #A3AEB0;
}
html[data-palette="clay"][data-mode="dark"] {
  color-scheme: dark;
  --bg: #26231F; --card: #302C27; --card-2: #3A3630; --hair: rgba(255,255,255,0.10); --hair-strong: #5E5850; --shadow-pop: 0 16px 48px rgba(0,0,0,0.5);
  --text: #F4F0E8; --text-mid: #D3CDC2; --text-muted: #ADA69A; --text-on-accent: #1C1F10;
  --accent: #B5BF7A; --accent-ink: #D8DFA8; --accent-soft: rgba(181,191,122,0.16); --accent-line: #8A9560;
  --ok: #9CCB8C; --ok-soft: rgba(156,203,140,0.16); --ok-fill: #6A9160;
  --warn: #F0BC72; --warn-soft: rgba(224,168,96,0.18); --warn-fill: #C47A3A;
  --danger: #E08A8A; --danger-soft: rgba(224,138,138,0.16); --danger-fill: #B84A4A;
  --info: #D8DFA8; --info-soft: rgba(181,191,122,0.16); --info-fill: #8A9560;
  --rail: #1B1916; --rail-text: #C9C2B5; --rail-fg: #FFF9EF; --rail-hair: rgba(255,255,255,0.10); --rail-hover: rgba(255,255,255,0.06);
  --rail-active-bg: rgba(255,255,255,0.10); --rail-active-fg: #FFF9EF; --rail-accent: #B5BF7A;
  --toast-bg: #F4F0E8; --toast-fg: #26231F;
  --pc-red: #F07B6E; --pc-orange: #F2A25A; --pc-yellow: #F5D35A; --pc-green: #5BC98A; --pc-teal: #4FC2A8; --pc-blue: #6FB6E8; --pc-purple: #B98ACB; --pc-gray: #A3AEB0;
}
html[data-palette="signal"][data-mode="dark"] {
  color-scheme: dark;
  --bg: #1C1C1B; --card: #262626; --card-2: #303030; --hair: rgba(255,255,255,0.10); --hair-strong: #585857; --shadow-pop: 0 16px 48px rgba(0,0,0,0.5);
  --text: #F3F3F1; --text-mid: #CFCFCC; --text-muted: #A8A8A5; --text-on-accent: #0D1A3A;
  --accent: #8FB0F5; --accent-ink: #C3D5FA; --accent-soft: rgba(143,176,245,0.16); --accent-line: #5B82E0;
  --ok: #8FC4A8; --ok-soft: rgba(143,196,168,0.16); --ok-fill: #4A9268;
  --warn: #F0BC72; --warn-soft: rgba(224,168,96,0.18); --warn-fill: #C9913C;
  --danger: #E08A8A; --danger-soft: rgba(224,138,138,0.16); --danger-fill: #C9453C;
  --info: #C3D5FA; --info-soft: rgba(143,176,245,0.16); --info-fill: #5B82E0;
  --rail: #212120; --rail-text: #CFCFCC; --rail-fg: #F3F3F1; --rail-hair: rgba(255,255,255,0.10); --rail-hover: rgba(255,255,255,0.06);
  --rail-active-bg: rgba(143,176,245,0.16); --rail-active-fg: #C3D5FA; --rail-accent: #C3D5FA;
  --toast-bg: #F3F3F1; --toast-fg: #1C1C1B;
  --pc-red: #F07B6E; --pc-orange: #F2A25A; --pc-yellow: #F5D35A; --pc-green: #5BC98A; --pc-teal: #4FC2A8; --pc-blue: #6FB6E8; --pc-purple: #B98ACB; --pc-gray: #A3AEB0;
}
html[data-palette="rose"][data-mode="dark"] {
  color-scheme: dark;
  --bg: #272022; --card: #31292C; --card-2: #3B3336; --hair: rgba(255,255,255,0.10); --hair-strong: #5F5457; --shadow-pop: 0 16px 48px rgba(0,0,0,0.5);
  --text: #F6F0F1; --text-mid: #D6CBCE; --text-muted: #AFA3A7; --text-on-accent: #2A1018;
  --accent: #D99AB2; --accent-ink: #EFC7D5; --accent-soft: rgba(217,154,178,0.16); --accent-line: #A66B82;
  --ok: #9CC9AD; --ok-soft: rgba(156,201,173,0.16); --ok-fill: #6A9478;
  --warn: #F0BC72; --warn-soft: rgba(224,168,96,0.18); --warn-fill: #C9913C;
  --danger: #E08A8A; --danger-soft: rgba(224,138,138,0.16); --danger-fill: #B84A4A;
  --info: #EFC7D5; --info-soft: rgba(217,154,178,0.16); --info-fill: #A66B82;
  --rail: #2C2426; --rail-text: #D6CBCE; --rail-fg: #F6F0F1; --rail-hair: rgba(255,255,255,0.10); --rail-hover: rgba(255,255,255,0.06);
  --rail-active-bg: rgba(217,154,178,0.16); --rail-active-fg: #EFC7D5; --rail-accent: #EFC7D5;
  --toast-bg: #F6F0F1; --toast-fg: #272022;
  --pc-red: #F07B6E; --pc-orange: #F2A25A; --pc-yellow: #F5D35A; --pc-green: #5BC98A; --pc-teal: #4FC2A8; --pc-blue: #6FB6E8; --pc-purple: #B98ACB; --pc-gray: #A3AEB0;
}
/* documents print light whatever the screen mode (the THEMES print guard flips data-mode; this covers native controls) */
@media print { html, html[data-mode="dark"] { color-scheme: light; } }
