/*
 * Палитры. Атрибут data-palette ставится на <html> (см. js/app.js и скрипт в <head>),
 * а также на образцы в меню тем — поэтому селекторы без :root.
 * Производные токены (--sel, --*-soft, --guide…) считаются в style.css.
 */

/* Default */
:root,
[data-palette="default-light"] {
  --bg: #f7f7f5;
  --panel: #ffffff;
  --panel-2: #f1f1ee;
  --border: #e2e2dd;
  --text: #1f2328;
  --muted: #6b6f76;
  --accent: #2563eb;
  --c-key: #7c3aed;
  --c-str: #15803d;
  --c-num: #c2410c;
  --c-bool: #0369a1;
  --c-null: #8b8f96;
  --c-punct: #9a9ea5;
  --err: #dc2626;
  --warn: #b45309;
  --mark: #fde68a;
  --mark-cur: #f59e0b;
  color-scheme: light;
}

/* Solarized Light */
[data-palette="solarized-light"] {
  --bg: #eee8d5;
  --panel: #fdf6e3;
  --panel-2: #f5efdc;
  --border: #e2dbc5;
  --text: #586e75;
  --muted: #839496;
  --accent: #268bd2;
  --c-key: #268bd2;
  --c-str: #2aa198;
  --c-num: #d33682;
  --c-bool: #cb4b16;
  --c-null: #6c71c4;
  --c-punct: #93a1a1;
  --err: #dc322f;
  --warn: #b58900;
  --mark: #f3e2a2;
  --mark-cur: #b58900;
  color-scheme: light;
}

/* GitHub Light */
[data-palette="github-light"] {
  --bg: #f6f8fa;
  --panel: #ffffff;
  --panel-2: #f6f8fa;
  --border: #d0d7de;
  --text: #1f2328;
  --muted: #656d76;
  --accent: #0969da;
  --c-key: #8250df;
  --c-str: #0a3069;
  --c-num: #0550ae;
  --c-bool: #cf222e;
  --c-null: #6e7781;
  --c-punct: #8c959f;
  --err: #cf222e;
  --warn: #9a6700;
  --mark: #fff1a8;
  --mark-cur: #d4a72c;
  color-scheme: light;
}

/* One Light */
[data-palette="one-light"] {
  --bg: #eaeaeb;
  --panel: #fafafa;
  --panel-2: #f0f0f1;
  --border: #dbdbdc;
  --text: #383a42;
  --muted: #8e9099;
  --accent: #4078f2;
  --c-key: #e45649;
  --c-str: #50a14f;
  --c-num: #986801;
  --c-bool: #0184bc;
  --c-null: #a626a4;
  --c-punct: #a0a1a7;
  --err: #e45649;
  --warn: #c18401;
  --mark: #f4e4b0;
  --mark-cur: #c18401;
  color-scheme: light;
}

/* Gruvbox Light */
[data-palette="gruvbox-light"] {
  --bg: #f2e5bc;
  --panel: #fbf1c7;
  --panel-2: #f2e5bc;
  --border: #e0d0a6;
  --text: #3c3836;
  --muted: #7c6f64;
  --accent: #076678;
  --c-key: #076678;
  --c-str: #79740e;
  --c-num: #8f3f71;
  --c-bool: #af3a03;
  --c-null: #928374;
  --c-punct: #a89984;
  --err: #9d0006;
  --warn: #b57614;
  --mark: #f6d77e;
  --mark-cur: #d79921;
  color-scheme: light;
}

/* Catppuccin Latte */
[data-palette="latte-light"] {
  --bg: #e6e9ef;
  --panel: #eff1f5;
  --panel-2: #e6e9ef;
  --border: #ccd0da;
  --text: #4c4f69;
  --muted: #6c6f85;
  --accent: #1e66f5;
  --c-key: #8839ef;
  --c-str: #40a02b;
  --c-num: #fe640b;
  --c-bool: #04a5e5;
  --c-null: #7c7f93;
  --c-punct: #9ca0b0;
  --err: #d20f39;
  --warn: #df8e1d;
  --mark: #f5dfb0;
  --mark-cur: #df8e1d;
  color-scheme: light;
}

/* Monochrome */
[data-palette="mono-light"] {
  --bg: #f4f4f4;
  --panel: #ffffff;
  --panel-2: #efefef;
  --border: #dcdcdc;
  --text: #111111;
  --muted: #6f6f6f;
  --accent: #111111;
  --c-key: #000000;
  --c-str: #3d3d3d;
  --c-num: #000000;
  --c-bool: #000000;
  --c-null: #8a8a8a;
  --c-punct: #a0a0a0;
  --err: #b00020;
  --warn: #6b5a00;
  --mark: #e2e2e2;
  --mark-cur: #111111;
  --w-key: 600;
  color-scheme: light;
}

/* Default */
[data-palette="default-dark"] {
  --bg: #111317;
  --panel: #171a1f;
  --panel-2: #1d2128;
  --border: #2a2f37;
  --text: #e3e6ea;
  --muted: #8a919c;
  --accent: #60a5fa;
  --c-key: #c4a5ff;
  --c-str: #86d993;
  --c-num: #f5a46b;
  --c-bool: #6cc4f5;
  --c-null: #8a919c;
  --c-punct: #6b727d;
  --err: #f87171;
  --warn: #fbbf24;
  --mark: #6b5a1c;
  --mark-cur: #d97706;
  --on-accent: #0b1220;
  color-scheme: dark;
}

/* Solarized Dark */
[data-palette="solarized-dark"] {
  --bg: #00212b;
  --panel: #002b36;
  --panel-2: #073642;
  --border: #0e4552;
  --text: #93a1a1;
  --muted: #657b83;
  --accent: #268bd2;
  --c-key: #268bd2;
  --c-str: #2aa198;
  --c-num: #d33682;
  --c-bool: #cb4b16;
  --c-null: #6c71c4;
  --c-punct: #586e75;
  --err: #dc322f;
  --warn: #b58900;
  --mark: #4d4310;
  --mark-cur: #b58900;
  color-scheme: dark;
}

/* Dracula */
[data-palette="dracula"] {
  --bg: #21222c;
  --panel: #282a36;
  --panel-2: #343746;
  --border: #44475a;
  --text: #f8f8f2;
  --muted: #6272a4;
  --accent: #bd93f9;
  --c-key: #8be9fd;
  --c-str: #f1fa8c;
  --c-num: #bd93f9;
  --c-bool: #ff79c6;
  --c-null: #6272a4;
  --c-punct: #6272a4;
  --err: #ff5555;
  --warn: #ffb86c;
  --mark: #5b5e3c;
  --mark-cur: #ffb86c;
  --on-accent: #282a36;
  --on-mark-cur: #282a36;
  color-scheme: dark;
}

/* Monokai */
[data-palette="monokai"] {
  --bg: #1e1f1c;
  --panel: #272822;
  --panel-2: #31322c;
  --border: #3e3d32;
  --text: #f8f8f2;
  --muted: #75715e;
  --accent: #a6e22e;
  --c-key: #66d9ef;
  --c-str: #e6db74;
  --c-num: #ae81ff;
  --c-bool: #f92672;
  --c-null: #75715e;
  --c-punct: #75715e;
  --err: #f92672;
  --warn: #fd971f;
  --mark: #5a5532;
  --mark-cur: #fd971f;
  --on-accent: #272822;
  --on-mark-cur: #272822;
  color-scheme: dark;
}

/* Nord */
[data-palette="nord"] {
  --bg: #242933;
  --panel: #2e3440;
  --panel-2: #3b4252;
  --border: #434c5e;
  --text: #d8dee9;
  --muted: #7b88a1;
  --accent: #88c0d0;
  --c-key: #81a1c1;
  --c-str: #a3be8c;
  --c-num: #b48ead;
  --c-bool: #d08770;
  --c-null: #7b88a1;
  --c-punct: #616e88;
  --err: #bf616a;
  --warn: #ebcb8b;
  --mark: #5c5643;
  --mark-cur: #d08770;
  --on-accent: #2e3440;
  --on-mark-cur: #2e3440;
  color-scheme: dark;
}

/* One Dark */
[data-palette="one-dark"] {
  --bg: #21252b;
  --panel: #282c34;
  --panel-2: #2c313a;
  --border: #3e4451;
  --text: #abb2bf;
  --muted: #7f848e;
  --accent: #61afef;
  --c-key: #e06c75;
  --c-str: #98c379;
  --c-num: #d19a66;
  --c-bool: #56b6c2;
  --c-null: #c678dd;
  --c-punct: #5c6370;
  --err: #e06c75;
  --warn: #e5c07b;
  --mark: #5a4f37;
  --mark-cur: #d19a66;
  --on-accent: #282c34;
  --on-mark-cur: #282c34;
  color-scheme: dark;
}

/* Monochrome */
[data-palette="mono-dark"] {
  --bg: #0d0d0d;
  --panel: #141414;
  --panel-2: #1c1c1c;
  --border: #2c2c2c;
  --text: #e8e8e8;
  --muted: #8a8a8a;
  --accent: #e8e8e8;
  --c-key: #ffffff;
  --c-str: #c4c4c4;
  --c-num: #ffffff;
  --c-bool: #ffffff;
  --c-null: #808080;
  --c-punct: #666666;
  --err: #ff6b6b;
  --warn: #d9b26a;
  --mark: #3a3a3a;
  --mark-cur: #e8e8e8;
  --w-key: 600;
  --on-accent: #111111;
  --on-mark-cur: #111111;
  color-scheme: dark;
}
