:root,
[data-theme="dark"] {
  --bg0: #1a1d23;
  --bg1: #21252b;
  --bg2: #282c34;
  --bg3: #2c313a;
  --border: #333842;
  --text: #c8ccd4;
  --text2: #9da4b0;
  --text3: #6b7280;
  --accent: #61afef;
  --accent2: #98c379;
  --warn: #e5c07b;
  --err: #e06c75;
  --shadow: 0 2px 8px rgba(0,0,0,0.30);
  --sidebar-bg: #1e2127;
  --card-bg: #252931;
  --reader-bg: #20252d;
  --reader-bg-soft: #252b34;
  --html-scrollbar-track: #20252d;
  --html-scrollbar-thumb: #5d6572;
  --hover: rgba(255,255,255,0.04);
  --active: rgba(97,175,239,0.12);
  --scrollbar: #3a3f4b;
  --code-bg: #282c34;
  --table-border: #333842;
  --table-stripe: rgba(255,255,255,0.02);
  --blockquote-border: #61afef;
  --blockquote-bg: rgba(97,175,239,0.06);
  --input-bg: #1e2127;
  --input-border: #333842;
  --btn-bg: #2c313a;
  --btn-hover: #3a3f4b;
  --tag-bg: rgba(97,175,239,0.15);
}

[data-theme="light"] {
  --bg0: #ffffff;
  --bg1: #f8f9fa;
  --bg2: #f0f1f3;
  --bg3: #e9ecef;
  --border: #dee2e6;
  --text: #212529;
  --text2: #495057;
  --text3: #868e96;
  --accent: #228be6;
  --accent2: #2b8a3e;
  --warn: #e67700;
  --err: #c92a2a;
  --shadow: 0 2px 8px rgba(0,0,0,0.08);
  --sidebar-bg: #f8f9fa;
  --card-bg: #ffffff;
  --reader-bg: #ffffff;
  --reader-bg-soft: #f6f8fb;
  --html-scrollbar-track: #f2f4f7;
  --html-scrollbar-thumb: #c2cad5;
  --hover: rgba(0,0,0,0.04);
  --active: rgba(34,139,230,0.10);
  --scrollbar: #ced4da;
  --code-bg: #f1f3f5;
  --table-border: #dee2e6;
  --table-stripe: rgba(0,0,0,0.02);
  --blockquote-border: #228be6;
  --blockquote-bg: rgba(34,139,230,0.04);
  --input-bg: #ffffff;
  --input-border: #ced4da;
  --btn-bg: #e9ecef;
  --btn-hover: #dee2e6;
  --tag-bg: rgba(34,139,230,0.10);
}

[data-theme="sepia"] {
  --bg0: #fdf6e3;
  --bg1: #f5ecd0;
  --bg2: #eee8d5;
  --bg3: #e6dcc0;
  --border: #d5c8a8;
  --text: #5c4b2e;
  --text2: #7a6640;
  --text3: #a09070;
  --accent: #b58900;
  --accent2: #859900;
  --warn: #cb4b16;
  --err: #dc322f;
  --shadow: 0 2px 8px rgba(80,60,30,0.10);
  --sidebar-bg: #f5ecd0;
  --card-bg: #fdf6e3;
  --reader-bg: #fbf1d8;
  --reader-bg-soft: #f7edcf;
  --html-scrollbar-track: #fbf1d8;
  --html-scrollbar-thumb: #bfae83;
  --hover: rgba(0,0,0,0.04);
  --active: rgba(181,137,0,0.12);
  --scrollbar: #d5c8a8;
  --code-bg: #eee8d5;
  --table-border: #d5c8a8;
  --table-stripe: rgba(0,0,0,0.015);
  --blockquote-border: #b58900;
  --blockquote-bg: rgba(181,137,0,0.06);
  --input-bg: #fdf6e3;
  --input-border: #d5c8a8;
  --btn-bg: #eee8d5;
  --btn-hover: #e6dcc0;
  --tag-bg: rgba(181,137,0,0.12);
}

[data-theme="warm"] {
  --bg0: #2b1f1a;
  --bg1: #33261f;
  --bg2: #3d2d24;
  --bg3: #463429;
  --border: #4a382b;
  --text: #e8d5c4;
  --text2: #c4a88c;
  --text3: #8c6e5a;
  --accent: #d4a574;
  --accent2: #8fb573;
  --warn: #e8b44f;
  --err: #d4746a;
  --shadow: 0 2px 8px rgba(0,0,0,0.35);
  --sidebar-bg: #2b1f1a;
  --card-bg: #33261f;
  --reader-bg: #352820;
  --reader-bg-soft: #403027;
  --html-scrollbar-track: #352820;
  --html-scrollbar-thumb: #725744;
  --hover: rgba(255,255,255,0.03);
  --active: rgba(212,165,116,0.12);
  --scrollbar: #463429;
  --code-bg: #3d2d24;
  --table-border: #4a382b;
  --table-stripe: rgba(255,255,255,0.015);
  --blockquote-border: #d4a574;
  --blockquote-bg: rgba(212,165,116,0.06);
  --input-bg: #2b1f1a;
  --input-border: #4a382b;
  --btn-bg: #3d2d24;
  --btn-hover: #463429;
  --tag-bg: rgba(212,165,116,0.15);
}
