/* mdk CASS 2.0: local, CSS-token-only palettes. No framework, CDN, or fonts.
   CASS Original (default), and the legacy dark/light/system values, retain their
   previous surfaces and colors from styles.css. Themes touch colors only. */
:root{
  --primary-bg:#146489;--primary-border:#338fba;--primary-ink:#ffffff;
  --toast-bg:#23435d;--toast-ink:#ffffff;
  --lichess-tos:#95c7ff;--lichess-closed:#d0b6ff;--site-chesscom:#bad8ea;
  --site-border:#496789;--search-error:#ff8891;
}
:root[data-theme="light"]{--lichess-tos:#255dad;--lichess-closed:#5f42a5;--site-chesscom:#166a99;--site-border:#a1b5cf;--search-error:#ae2d38;--toast-bg:#26394b}
@media(prefers-color-scheme:light){
  :root[data-theme="system"]{--lichess-tos:#255dad;--lichess-closed:#5f42a5;--site-chesscom:#166a99;--site-border:#a1b5cf;--search-error:#ae2d38;--toast-bg:#26394b}
}
/* Nord: polar night / snow storm / frost / aurora. */
:root[data-theme="nord-dark"]{
  color-scheme:dark;background:#2e3440;color:#eceff4;
  --paper:#3b4252;--edge:#71809b;--fill:#434c5e;--ink:#eceff4;
  --muted:#e5e9f0;--blue:#a1d5e3;--amber:#ebcb8b;--green:#b4d39a;--red:#ffabb0;
  --closure-purple:#c6bdff;--closure-pink:#f6accd;--glyph-cutout:#2e3440;
  --lichess-tos:#a1d5e3;--lichess-closed:#d6c5ff;--site-chesscom:#d8dee9;--site-border:#88c0d0;
  --primary-bg:#275e6b;--primary-border:#88c0d0;--toast-bg:#2e3440;
}
/* Catppuccin Mocha: official Base/Surface/Text and semantic palette. */
:root[data-theme="catppuccin-mocha"]{
  color-scheme:dark;background:#1e1e2e;color:#cdd6f4;
  --paper:#181825;--edge:#6c7086;--fill:#313244;--ink:#cdd6f4;
  --muted:#bac2de;--blue:#89b4fa;--amber:#f9e2af;--green:#a6e3a1;--red:#f38ba8;
  --closure-purple:#cba6f7;--closure-pink:#f5c2e7;--glyph-cutout:#1e1e2e;
  --lichess-tos:#89dceb;--lichess-closed:#cba6f7;--site-chesscom:#b4befe;--site-border:#7f849c;
  --primary-bg:#36456c;--primary-border:#89b4fa;--toast-bg:#313244;
}
/* Catppuccin Latte: official light Base/Mantle/Surface/Text plus higher-contrast status text. */
:root[data-theme="catppuccin-latte"]{
  color-scheme:light;background:#eff1f5;color:#4c4f69;
  --paper:#ffffff;--edge:#aeb4c5;--fill:#e6e9ef;--ink:#4c4f69;
  --muted:#555871;--blue:#1456cd;--amber:#795000;--green:#26711b;--red:#af1031;
  --closure-purple:#6336b3;--closure-pink:#923e7d;--glyph-cutout:#ffffff;
  --lichess-tos:#075d72;--lichess-closed:#613a9a;--site-chesscom:#1456cd;--site-border:#9ca0b0;
  --primary-bg:#1e66f5;--primary-border:#144ba8;--toast-bg:#4c4f69;
}
/* GitHub Primer-compatible canvas, border and semantic accent families. */
:root[data-theme="github-light"]{
  color-scheme:light;background:#f6f8fa;color:#1f2328;
  --paper:#ffffff;--edge:#d0d7de;--fill:#f6f8fa;--ink:#1f2328;
  --muted:#57606a;--blue:#0969da;--amber:#9a6700;--green:#1a7f37;--red:#cf222e;
  --closure-purple:#8250df;--closure-pink:#a40e5b;--glyph-cutout:#ffffff;
  --lichess-tos:#0550ae;--lichess-closed:#663db6;--site-chesscom:#0969da;--site-border:#afb8c1;
  --primary-bg:#0969da;--primary-border:#0550ae;--toast-bg:#24292f;
}
:root[data-theme="github-dark"]{
  color-scheme:dark;background:#0d1117;color:#e6edf3;
  --paper:#161b22;--edge:#485465;--fill:#21262d;--ink:#e6edf3;
  --muted:#b1bac4;--blue:#79c0ff;--amber:#e3b341;--green:#7ee787;--red:#ff7b72;
  --closure-purple:#d2a8ff;--closure-pink:#ffabe2;--glyph-cutout:#0d1117;
  --lichess-tos:#79c0ff;--lichess-closed:#d2a8ff;--site-chesscom:#c9d1d9;--site-border:#57606a;
  --primary-bg:#194a79;--primary-border:#58a6ff;--toast-bg:#21262d;
}
/* GitHub Primer Dimmed: palette-inspired colors, AA-adjusted for CASS text. */
:root[data-theme="github-dimmed"]{
  color-scheme:dark;background:#22272e;color:#adbac7;
  --paper:#2d333b;--edge:#647386;--fill:#373e47;--ink:#adbac7;
  --muted:#adbac7;--blue:#6cb6ff;--amber:#daaa3f;--green:#74b976;--red:#f68a82;--closure-purple:#bd97f2;--closure-pink:#e58dbc;--lichess-tos:#76e3ea;--lichess-closed:#bd97f2;--site-chesscom:#6cb6ff;
  --glyph-cutout:#22272e;--site-border:#647386;
  --primary-bg:#4778a8;--primary-border:#6cb6ff;--primary-ink:#ffffff;
  --toast-bg:#2d333b;--toast-ink:#ffffff;
}

/* GitHub Primer High Contrast: palette-inspired colors, AA-adjusted for CASS text. */
:root[data-theme="github-high-contrast"]{
  color-scheme:dark;background:#010409;color:#ffffff;
  --paper:#0d1117;--edge:#b1b8c0;--fill:#161b22;--ink:#ffffff;
  --muted:#ffffff;--blue:#a5d6ff;--amber:#ffd866;--green:#a9ffba;--red:#ffb8b4;--closure-purple:#e2c6ff;--closure-pink:#ffc9e3;--lichess-tos:#b7f0ff;--lichess-closed:#e2c6ff;--site-chesscom:#a5d6ff;
  --glyph-cutout:#010409;--site-border:#b1b8c0;
  --primary-bg:#5c788f;--primary-border:#a5d6ff;--primary-ink:#ffffff;
  --toast-bg:#0d1117;--toast-ink:#ffffff;
}

/* Catppuccin Frappé: palette-inspired colors, AA-adjusted for CASS text. */
:root[data-theme="catppuccin-frappe"]{
  color-scheme:dark;background:#303446;color:#c6d0f5;
  --paper:#292c3c;--edge:#737994;--fill:#414559;--ink:#c6d0f5;
  --muted:#b5bfe2;--blue:#9ab4f0;--amber:#e5c890;--green:#a6d189;--red:#eda0a2;--closure-purple:#cea5e8;--closure-pink:#f4b8e4;--lichess-tos:#81c8be;--lichess-closed:#cea5e8;--site-chesscom:#9ab4f0;
  --glyph-cutout:#303446;--site-border:#737994;
  --primary-bg:#6175a4;--primary-border:#9ab4f0;--primary-ink:#ffffff;
  --toast-bg:#292c3c;--toast-ink:#ffffff;
}

/* Catppuccin Macchiato: palette-inspired colors, AA-adjusted for CASS text. */
:root[data-theme="catppuccin-macchiato"]{
  color-scheme:dark;background:#24273a;color:#cad3f5;
  --paper:#1e2030;--edge:#6e738d;--fill:#363a4f;--ink:#cad3f5;
  --muted:#b8c0e0;--blue:#8aadf4;--amber:#eed49f;--green:#a6da95;--red:#ed8796;--closure-purple:#c6a0f6;--closure-pink:#f5bde6;--lichess-tos:#8bd5ca;--lichess-closed:#c6a0f6;--site-chesscom:#8aadf4;
  --glyph-cutout:#24273a;--site-border:#6e738d;
  --primary-bg:#5c74a3;--primary-border:#8aadf4;--primary-ink:#ffffff;
  --toast-bg:#1e2030;--toast-ink:#ffffff;
}

/* Nord Light: palette-inspired colors, AA-adjusted for CASS text. */
:root[data-theme="nord-light"]{
  color-scheme:light;background:#eceff4;color:#2e3440;
  --paper:#ffffff;--edge:#afb9c6;--fill:#e5e9f0;--ink:#2e3440;
  --muted:#4c566a;--blue:#4d6a8d;--amber:#856211;--green:#426c36;--red:#a43d49;--closure-purple:#665589;--closure-pink:#7b455e;--lichess-tos:#386f81;--lichess-closed:#665589;--site-chesscom:#4d6a8d;
  --glyph-cutout:#eceff4;--site-border:#afb9c6;
  --primary-bg:#5778a0;--primary-border:#4d6a8d;--primary-ink:#ffffff;
  --toast-bg:#26323d;--toast-ink:#ffffff;
}

/* Dracula Dark: palette-inspired colors, AA-adjusted for CASS text. */
:root[data-theme="dracula-dark"]{
  color-scheme:dark;background:#282a36;color:#f8f8f2;
  --paper:#21222c;--edge:#6272a4;--fill:#44475a;--ink:#f8f8f2;
  --muted:#e0e2f1;--blue:#8be9fd;--amber:#f1fa8c;--green:#50fa7b;--red:#ff9c9c;--closure-purple:#caa8fa;--closure-pink:#ff95d2;--lichess-tos:#8be9fd;--lichess-closed:#caa8fa;--site-chesscom:#8be9fd;
  --glyph-cutout:#282a36;--site-border:#6272a4;
  --primary-bg:#4a7b86;--primary-border:#8be9fd;--primary-ink:#ffffff;
  --toast-bg:#21222c;--toast-ink:#ffffff;
}

/* Dracula Alucard (Light): palette-inspired colors, AA-adjusted for CASS text. */
:root[data-theme="dracula-alucard"]{
  color-scheme:light;background:#fffbeb;color:#1f1f1f;
  --paper:#fffdf7;--edge:#c9bea7;--fill:#eee9d5;--ink:#1f1f1f;
  --muted:#5a554e;--blue:#1968a4;--amber:#896020;--green:#246d40;--red:#aa2b42;--closure-purple:#6043a1;--closure-pink:#8b2862;--lichess-tos:#156f77;--lichess-closed:#6043a1;--site-chesscom:#1968a4;
  --glyph-cutout:#fffbeb;--site-border:#c9bea7;
  --primary-bg:#1968a4;--primary-border:#1968a4;--primary-ink:#ffffff;
  --toast-bg:#26323d;--toast-ink:#ffffff;
}

/* Rosé Pine: palette-inspired colors, AA-adjusted for CASS text. */
:root[data-theme="rose-pine"]{
  color-scheme:dark;background:#191724;color:#e0def4;
  --paper:#1f1d2e;--edge:#555169;--fill:#26233a;--ink:#e0def4;
  --muted:#c7c5dc;--blue:#9ccfd8;--amber:#f6c177;--green:#9bc5af;--red:#eb6f92;--closure-purple:#c4a7e7;--closure-pink:#ebbcba;--lichess-tos:#9ccfd8;--lichess-closed:#c4a7e7;--site-chesscom:#9ccfd8;
  --glyph-cutout:#191724;--site-border:#555169;
  --primary-bg:#5c7a7f;--primary-border:#9ccfd8;--primary-ink:#ffffff;
  --toast-bg:#1f1d2e;--toast-ink:#ffffff;
}

/* Rosé Pine Moon: palette-inspired colors, AA-adjusted for CASS text. */
:root[data-theme="rose-pine-moon"]{
  color-scheme:dark;background:#232136;color:#e0def4;
  --paper:#2a273f;--edge:#696580;--fill:#393552;--ink:#e0def4;
  --muted:#c5c3df;--blue:#9ccfd8;--amber:#f6c177;--green:#9bc5af;--red:#ee82a0;--closure-purple:#c4a7e7;--closure-pink:#ebbcba;--lichess-tos:#9ccfd8;--lichess-closed:#c4a7e7;--site-chesscom:#9ccfd8;
  --glyph-cutout:#232136;--site-border:#696580;
  --primary-bg:#5c7a7f;--primary-border:#9ccfd8;--primary-ink:#ffffff;
  --toast-bg:#2a273f;--toast-ink:#ffffff;
}

/* Rosé Pine Dawn: palette-inspired colors, AA-adjusted for CASS text. */
:root[data-theme="rose-pine-dawn"]{
  color-scheme:light;background:#faf4ed;color:#575279;
  --paper:#fffaf3;--edge:#c5b9bb;--fill:#f2e9e1;--ink:#575279;
  --muted:#665c7e;--blue:#286983;--amber:#915e12;--green:#286c47;--red:#b63c59;--closure-purple:#7b468a;--closure-pink:#a3496e;--lichess-tos:#22747a;--lichess-closed:#7b468a;--site-chesscom:#286983;
  --glyph-cutout:#faf4ed;--site-border:#c5b9bb;
  --primary-bg:#286983;--primary-border:#286983;--primary-ink:#ffffff;
  --toast-bg:#26323d;--toast-ink:#ffffff;
}

/* Tokyo Night: palette-inspired colors, AA-adjusted for CASS text. */
:root[data-theme="tokyo-night"]{
  color-scheme:dark;background:#1a1b26;color:#c0caf5;
  --paper:#16161e;--edge:#565f89;--fill:#24283b;--ink:#c0caf5;
  --muted:#a9b1d6;--blue:#7aa2f7;--amber:#e0af68;--green:#9ece6a;--red:#f7768e;--closure-purple:#bb9af7;--closure-pink:#ff9eaf;--lichess-tos:#7dcfff;--lichess-closed:#bb9af7;--site-chesscom:#7aa2f7;
  --glyph-cutout:#1a1b26;--site-border:#565f89;
  --primary-bg:#5875b2;--primary-border:#7aa2f7;--primary-ink:#ffffff;
  --toast-bg:#16161e;--toast-ink:#ffffff;
}

/* Tokyo Night Storm: palette-inspired colors, AA-adjusted for CASS text. */
:root[data-theme="tokyo-storm"]{
  color-scheme:dark;background:#24283b;color:#c0caf5;
  --paper:#1f2335;--edge:#616987;--fill:#292e42;--ink:#c0caf5;
  --muted:#a9b1d6;--blue:#7aa2f7;--amber:#e0af68;--green:#9ece6a;--red:#f7768e;--closure-purple:#bb9af7;--closure-pink:#ff9eaf;--lichess-tos:#7dcfff;--lichess-closed:#bb9af7;--site-chesscom:#7aa2f7;
  --glyph-cutout:#24283b;--site-border:#616987;
  --primary-bg:#5875b2;--primary-border:#7aa2f7;--primary-ink:#ffffff;
  --toast-bg:#1f2335;--toast-ink:#ffffff;
}

/* Tokyo Night Light: palette-inspired colors, AA-adjusted for CASS text. */
:root[data-theme="tokyo-light"]{
  color-scheme:light;background:#e1e2e7;color:#343b58;
  --paper:#f1f1f3;--edge:#b2b9c9;--fill:#d6dbe5;--ink:#343b58;
  --muted:#46506d;--blue:#345bb5;--amber:#84560a;--green:#396921;--red:#ad2f4a;--closure-purple:#734aa3;--closure-pink:#9a3e73;--lichess-tos:#236682;--lichess-closed:#734aa3;--site-chesscom:#345bb5;
  --glyph-cutout:#e1e2e7;--site-border:#b2b9c9;
  --primary-bg:#3760bf;--primary-border:#345bb5;--primary-ink:#ffffff;
  --toast-bg:#26323d;--toast-ink:#ffffff;
}

/* Solarized Dark: palette-inspired colors, AA-adjusted for CASS text. */
:root[data-theme="solarized-dark"]{
  color-scheme:dark;background:#002b36;color:#eee8d5;
  --paper:#073642;--edge:#5d8190;--fill:#16424b;--ink:#eee8d5;
  --muted:#d0c9b8;--blue:#69afe0;--amber:#c6a43b;--green:#a1b03b;--red:#ec8e8d;--closure-purple:#9fa3d9;--closure-pink:#e68cb8;--lichess-tos:#59b6af;--lichess-closed:#9fa3d9;--site-chesscom:#69afe0;
  --glyph-cutout:#002b36;--site-border:#5d8190;
  --primary-bg:#217ab9;--primary-border:#69afe0;--primary-ink:#ffffff;
  --toast-bg:#073642;--toast-ink:#ffffff;
}

/* Solarized Light: palette-inspired colors, AA-adjusted for CASS text. */
:root[data-theme="solarized-light"]{
  color-scheme:light;background:#fdf6e3;color:#556b71;
  --paper:#fffbef;--edge:#a9afb0;--fill:#eee8d5;--ink:#556b71;
  --muted:#556b71;--blue:#156e9d;--amber:#855b00;--green:#426900;--red:#b03027;--closure-purple:#6953a5;--closure-pink:#a62364;--lichess-tos:#156d68;--lichess-closed:#6953a5;--site-chesscom:#156e9d;
  --glyph-cutout:#fdf6e3;--site-border:#a9afb0;
  --primary-bg:#156f9f;--primary-border:#156e9d;--primary-ink:#ffffff;
  --toast-bg:#26323d;--toast-ink:#ffffff;
}

/* Gruvbox Dark: palette-inspired colors, AA-adjusted for CASS text. */
:root[data-theme="gruvbox-dark"]{
  color-scheme:dark;background:#282828;color:#ebdbb2;
  --paper:#1d2021;--edge:#665c54;--fill:#3c3836;--ink:#ebdbb2;
  --muted:#d5c4a1;--blue:#89aa9d;--amber:#fabd2f;--green:#b8bb26;--red:#fc7c6d;--closure-purple:#d68ea2;--closure-pink:#fe8019;--lichess-tos:#8ec07c;--lichess-closed:#d68ea2;--site-chesscom:#89aa9d;
  --glyph-cutout:#282828;--site-border:#665c54;
  --primary-bg:#617a70;--primary-border:#89aa9d;--primary-ink:#ffffff;
  --toast-bg:#1d2021;--toast-ink:#ffffff;
}

/* Gruvbox Light: palette-inspired colors, AA-adjusted for CASS text. */
:root[data-theme="gruvbox-light"]{
  color-scheme:light;background:#fbf1c7;color:#3c3836;
  --paper:#f9f5d7;--edge:#bdae93;--fill:#ebdbb2;--ink:#3c3836;
  --muted:#504945;--blue:#076678;--amber:#7e5900;--green:#3a6c13;--red:#9d0006;--closure-purple:#8f3f71;--closure-pink:#ad3903;--lichess-tos:#396a4c;--lichess-closed:#8f3f71;--site-chesscom:#076678;
  --glyph-cutout:#fbf1c7;--site-border:#bdae93;
  --primary-bg:#076678;--primary-border:#076678;--primary-ink:#ffffff;
  --toast-bg:#26323d;--toast-ink:#ffffff;
}

/* Everforest Dark (Medium): palette-inspired colors, AA-adjusted for CASS text. */
:root[data-theme="everforest-dark"]{
  color-scheme:dark;background:#2d353b;color:#d3c6aa;
  --paper:#343f44;--edge:#67737b;--fill:#475258;--ink:#d3c6aa;
  --muted:#c6c4b8;--blue:#9fccc6;--amber:#ddc087;--green:#b6cb96;--red:#f1b5b7;--closure-purple:#e2b8cc;--closure-pink:#eeb79e;--lichess-tos:#a0ceab;--lichess-closed:#e2b8cc;--site-chesscom:#9fccc6;
  --glyph-cutout:#2d353b;--site-border:#67737b;
  --primary-bg:#557d78;--primary-border:#9fccc6;--primary-ink:#ffffff;
  --toast-bg:#343f44;--toast-ink:#ffffff;
}

/* Everforest Dark Soft: palette-inspired colors, AA-adjusted for CASS text. */
:root[data-theme="everforest-dark-soft"]{
  color-scheme:dark;background:#333c43;color:#dad0b8;
  --paper:#3d484d;--edge:#748087;--fill:#505b60;--ink:#dad0b8;
  --muted:#d6d1c4;--blue:#b5d8d3;--amber:#e5cea2;--green:#c7d7ae;--red:#f4c6c7;--closure-purple:#e9c8d8;--closure-pink:#f2c8b6;--lichess-tos:#b6dabf;--lichess-closed:#e9c8d8;--site-chesscom:#b5d8d3;
  --glyph-cutout:#333c43;--site-border:#748087;
  --primary-bg:#557d78;--primary-border:#b5d8d3;--primary-ink:#ffffff;
  --toast-bg:#3d484d;--toast-ink:#ffffff;
}

/* Everforest Dark Hard: palette-inspired colors, AA-adjusted for CASS text. */
:root[data-theme="everforest-dark-hard"]{
  color-scheme:dark;background:#272e33;color:#d3c6aa;
  --paper:#2f383e;--edge:#657078;--fill:#3d484d;--ink:#d3c6aa;
  --muted:#c5bdab;--blue:#87bfb8;--amber:#dbbc7f;--green:#a7c080;--red:#eda1a2;--closure-purple:#dba6bf;--closure-pink:#e9a587;--lichess-tos:#87c295;--lichess-closed:#dba6bf;--site-chesscom:#87bfb8;
  --glyph-cutout:#272e33;--site-border:#657078;
  --primary-bg:#557d78;--primary-border:#87bfb8;--primary-ink:#ffffff;
  --toast-bg:#2f383e;--toast-ink:#ffffff;
}

/* Everforest Light (Medium): palette-inspired colors, AA-adjusted for CASS text. */
:root[data-theme="everforest-light"]{
  color-scheme:light;background:#fdf6e3;color:#5c6a72;
  --paper:#fff9ea;--edge:#b7b8a6;--fill:#f0ead8;--ink:#5c6a72;
  --muted:#606c67;--blue:#2d727f;--amber:#826518;--green:#487345;--red:#ac4950;--closure-purple:#7d5e82;--closure-pink:#995563;--lichess-tos:#30736c;--lichess-closed:#7d5e82;--site-chesscom:#2d727f;
  --glyph-cutout:#fdf6e3;--site-border:#b7b8a6;
  --primary-bg:#327f8e;--primary-border:#2d727f;--primary-ink:#ffffff;
  --toast-bg:#26323d;--toast-ink:#ffffff;
}

/* Everforest Light Soft: palette-inspired colors, AA-adjusted for CASS text. */
:root[data-theme="everforest-light-soft"]{
  color-scheme:light;background:#f8f5e4;color:#59655d;
  --paper:#fdf9eb;--edge:#b3b7a5;--fill:#efebd4;--ink:#59655d;
  --muted:#58675c;--blue:#307182;--amber:#87631c;--green:#4a7341;--red:#ab4a4e;--closure-purple:#7d5c87;--closure-pink:#9c5466;--lichess-tos:#33736a;--lichess-closed:#7d5c87;--site-chesscom:#307182;
  --glyph-cutout:#f8f5e4;--site-border:#b3b7a5;
  --primary-bg:#367f93;--primary-border:#307182;--primary-ink:#ffffff;
  --toast-bg:#26323d;--toast-ink:#ffffff;
}

/* Everforest Light Hard: palette-inspired colors, AA-adjusted for CASS text. */
:root[data-theme="everforest-light-hard"]{
  color-scheme:light;background:#fff9e0;color:#576269;
  --paper:#fffbeb;--edge:#b4b6a5;--fill:#f2efda;--ink:#576269;
  --muted:#59655c;--blue:#2c7488;--amber:#896719;--green:#4a7544;--red:#ad484f;--closure-purple:#805b89;--closure-pink:#9e5666;--lichess-tos:#347670;--lichess-closed:#805b89;--site-chesscom:#2c7488;
  --glyph-cutout:#fff9e0;--site-border:#b4b6a5;
  --primary-bg:#307f94;--primary-border:#2c7488;--primary-ink:#ffffff;
  --toast-bg:#26323d;--toast-ink:#ffffff;
}

/* Ayu Dark: palette-inspired colors, AA-adjusted for CASS text. */
:root[data-theme="ayu-dark"]{
  color-scheme:dark;background:#0a0e14;color:#b3b1ad;
  --paper:#0f1419;--edge:#545c70;--fill:#1f2430;--ink:#b3b1ad;
  --muted:#b3b1ad;--blue:#59c2ff;--amber:#e6b450;--green:#7fd962;--red:#f07178;--closure-purple:#d2a6ff;--closure-pink:#f29cc5;--lichess-tos:#95e6cb;--lichess-closed:#d2a6ff;--site-chesscom:#59c2ff;
  --glyph-cutout:#0a0e14;--site-border:#545c70;
  --primary-bg:#397ca3;--primary-border:#59c2ff;--primary-ink:#ffffff;
  --toast-bg:#0f1419;--toast-ink:#ffffff;
}

/* Ayu Mirage: palette-inspired colors, AA-adjusted for CASS text. */
:root[data-theme="ayu-mirage"]{
  color-scheme:dark;background:#1f2430;color:#cccac2;
  --paper:#242936;--edge:#5e697b;--fill:#343c4b;--ink:#cccac2;
  --muted:#cccac2;--blue:#73d0ff;--amber:#ffd173;--green:#a6cc70;--red:#ff8f99;--closure-purple:#d4bfff;--closure-pink:#f3a2c3;--lichess-tos:#95e6cb;--lichess-closed:#d4bfff;--site-chesscom:#73d0ff;
  --glyph-cutout:#1f2430;--site-border:#5e697b;
  --primary-bg:#447b96;--primary-border:#73d0ff;--primary-ink:#ffffff;
  --toast-bg:#242936;--toast-ink:#ffffff;
}

/* Ayu Light: palette-inspired colors, AA-adjusted for CASS text. */
:root[data-theme="ayu-light"]{
  color-scheme:light;background:#fafafa;color:#575f66;
  --paper:#ffffff;--edge:#c4c9ce;--fill:#f3f4f5;--ink:#575f66;
  --muted:#575f66;--blue:#1474aa;--amber:#8d5d00;--green:#44741d;--red:#ad3450;--closure-purple:#7d50a1;--closure-pink:#9b4079;--lichess-tos:#28796c;--lichess-closed:#7d50a1;--site-chesscom:#1474aa;
  --glyph-cutout:#fafafa;--site-border:#c4c9ce;
  --primary-bg:#167db7;--primary-border:#1474aa;--primary-ink:#ffffff;
  --toast-bg:#26323d;--toast-ink:#ffffff;
}
/* High Contrast is purposefully stronger than the named aesthetic palettes. */
:root[data-theme="high-contrast"]{
  color-scheme:dark;background:#000000;color:#ffffff;
  --paper:#000000;--edge:#ffffff;--fill:#101010;--ink:#ffffff;
  --muted:#f0f0f0;--blue:#82e8ff;--amber:#ffe87a;--green:#a5ffa8;--red:#ffb3bd;
  --closure-purple:#d9b8ff;--closure-pink:#ffa9df;--glyph-cutout:#000000;
  --lichess-tos:#82e8ff;--lichess-closed:#d9b8ff;--site-chesscom:#ffffff;--site-border:#ffffff;
  --primary-bg:#005c74;--primary-border:#82e8ff;--toast-bg:#000000;
}
/* Apply semantic tokens to the few pre-2.0 fixed-color controls. */
button.primary{background:var(--primary-bg);border-color:var(--primary-border);color:var(--primary-ink);}
input[type=checkbox],input[type=radio],#export-progress{accent-color:var(--blue)}
#toast{background:var(--toast-bg);color:var(--toast-ink);border:1px solid var(--edge)}
#table-search-error{color:var(--red)}
.closure-summary-grid .stat-lichess-tos{--stat-hue:var(--lichess-tos)}
:root[data-theme=light] .closure-summary-grid .stat-lichess-tos{--stat-hue:var(--lichess-tos)}
.status-label.LichessTosOpen,.status-label.LichessTosClosed,.status-label.LichessTosUnknown,
.results-table td a.profile-link.kind-LichessTosOpen,.results-table td a.profile-link.kind-LichessTosClosed,.results-table td a.profile-link.kind-LichessTosUnknown,
.simple-results-list .profile-link.kind-LichessTosOpen,.simple-results-list .profile-link.kind-LichessTosClosed,
.profile-identity.has-icons:has(.kind-LichessTosClosed),.profile-identity.has-icons:has(.kind-LichessTosOpen),.profile-identity.has-icons:has(.kind-LichessTosUnknown){color:var(--lichess-tos)}
.status-label.LichessClosed,.results-table td a.profile-link.kind-LichessClosed,.simple-results-list .profile-link.kind-LichessClosed,.profile-identity.has-icons:has(.kind-LichessClosed){color:var(--lichess-closed)}
.site-pill.lichess{color:var(--lichess-tos);border-color:var(--site-border)}
.site-pill.chesscom{color:var(--site-chesscom)}
.dialog a,.baseline-entry a{color:var(--blue)}
:root[data-theme="high-contrast"] button:focus-visible,
:root[data-theme="high-contrast"] input:focus-visible,
:root[data-theme="high-contrast"] select:focus-visible,
:root[data-theme="high-contrast"] textarea:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
:root[data-theme="high-contrast"] button:disabled{opacity:.65}
/* Scannable baseline records, no layout redesign. */
.baseline-collection{max-height:min(61vh,660px);overflow:auto}
.baseline-entry{border:1px solid var(--edge);border-radius:8px;padding:12px;margin:9px 0;background:var(--fill)}
.baseline-heading{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.baseline-heading .site-pill{margin:0;flex:none}
.baseline-heading .micro{flex:1}
.baseline-entry details{margin-top:10px;padding-top:8px;border-top:1px solid var(--edge)}
.baseline-entry details summary{font-size:12px;font-weight:650}
.baseline-preview-table{border-collapse:collapse;width:100%;font-size:12px;margin-top:10px}
.baseline-preview-table th,.baseline-preview-table td{padding:7px;overflow-wrap:anywhere}
@media(max-width:560px){.baseline-heading button{width:100%}}

/* Saved-user website markers and keyboard-visible high-contrast checkboxes. */
#saved-list .checkbox{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
#saved-list .site-pill{display:inline-flex;margin:0}
:root[data-theme="high-contrast"] input[type=checkbox]{outline:1px solid #ffffff;outline-offset:1px}

/* RC58: consistent, larger, clearly outlined checkbox states across every view.
   Use the theme's glyph-cutout for a readable checkmark on the accent fill.
   Preserve native input semantics, labels, keyboard navigation, and forced colors. */
:root input[type="checkbox"] {
  -webkit-appearance:none;
  appearance:none;
  display:inline-grid;
  place-content:center;
  box-sizing:border-box;
  width:22px;
  height:22px;
  min-width:22px;
  max-width:22px;
  flex:0 0 22px;
  padding:0;
  margin:0;
  border:2px solid var(--muted);
  border-radius:5px;
  background:var(--paper);
  color:var(--ink);
  vertical-align:middle;
  cursor:pointer;
  transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease;
}
:root input[type="checkbox"]::before {
  content:"";
  box-sizing:border-box;
  width:7px;
  height:12px;
  border:solid var(--glyph-cutout, #111a26);
  border-width:0 3px 3px 0;
  transform:translateY(-1px) rotate(45deg) scale(0);
  transform-origin:center;
}
:root input[type="checkbox"]:checked,
:root input[type="checkbox"]:indeterminate {
  border-color:var(--blue);
  background:var(--blue);
}
:root input[type="checkbox"]:checked::before {
  transform:translateY(-1px) rotate(45deg) scale(1);
}
:root input[type="checkbox"]:indeterminate::before {
  width:12px;
  height:0;
  border:0;
  border-top:3px solid var(--glyph-cutout, #111a26);
  transform:none;
}
:root input[type="checkbox"]:hover:not(:disabled) {
  border-color:var(--blue);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 22%,transparent);
}
:root input[type="checkbox"]:focus-visible {
  outline:3px solid var(--amber);
  outline-offset:3px;
}
:root input[type="checkbox"]:disabled {
  opacity:.62;
  cursor:not-allowed;
}
/* Keep compact settings rows, DataTable selection columns, and inline filters from
   stretching or shrinking checkbox dimensions. */
:root .ai-config label.checkbox input[type="checkbox"],
:root .sql-workspace-options .sql-rebuild-option input[type="checkbox"],
:root .settings-grid input[type="checkbox"] {
  width:22px;
  height:22px;
  min-width:22px;
  max-width:22px;
  flex:0 0 22px;
  padding:0;
}
:root .checkbox {
  align-items:center;
  gap:9px;
}
:root label.checkbox:has(input[type="checkbox"]:not(:disabled)) {
  cursor:pointer;
}
/* In Windows High Contrast and similar modes, let the OS paint the tick/border. */
@media (forced-colors:active) {
  :root input[type="checkbox"] {
    -webkit-appearance:auto;
    appearance:auto;
    background:Canvas;
    border-color:CanvasText;
    box-shadow:none;
    accent-color:Highlight;
    forced-color-adjust:auto;
  }
  :root input[type="checkbox"]::before { content:none; }
}
@media (prefers-reduced-motion:reduce) {
  :root input[type="checkbox"] { transition:none; }
}
