:root {
  --ink: #27322e;
  --muted: #606e66;
  --line: #d9e1dc;
  --line-strong: #c6d1ca;
  --paper: #fff;
  --canvas: #f4f7f5;
  --soft: #edf3ef;
  --surface-subtle: #f7faf8;
  --accent: #4f7564;
  --accent-soft: #e4eee8;
  --danger: #9b554f;
  --danger-soft: #f8ebe9;
  --amber: #806a3e;
  --amber-soft: #f5f0e2;
  --blue: #5c738c;
  --blue-soft: #e9eef3;
  --rail: #edf3ef;
  --rail-text: #27352f;
  --rail-muted: #5e6e65;
  --rail-border: #d4ded8;
  --rail-hover: #e5ede8;
  --rail-active: #dbe7df;
  --hero: #e5eee8;
  --hero-ink: #24342d;
  --hero-muted: #606e66;
  --hero-border: #c8d8cf;
  --topbar: rgba(255, 255, 255, .96);
  --toast-bg: #45564f;
  --shadow: 0 8px 24px rgba(37, 54, 47, .07);
  --radius-sm: 4px;
  --radius-md: 7px;
  --radius-lg: 10px;
  --focus-ring: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);
}

html[data-theme="mist"] {
  --ink: #29343c; --muted: #616e78; --line: #d8dfe4; --line-strong: #c5ced5;
  --canvas: #f3f6f8; --soft: #edf1f4; --surface-subtle: #f7f9fa;
  --accent: #607789; --accent-soft: #e5ebef; --danger: #9b5b57; --danger-soft: #f7eceb;
  --amber: #7f6d49; --amber-soft: #f4f0e7; --blue: #60768b; --blue-soft: #e8edf2;
  --rail: #edf1f4; --rail-text: #2c3942; --rail-muted: #62717c; --rail-border: #d6dee4;
  --rail-hover: #e5eaee; --rail-active: #dce5eb; --hero: #e7edf1; --hero-ink: #293943;
  --hero-muted: #596975; --hero-border: #cbd6dd; --topbar: rgba(252,253,254,.96); --toast-bg: #485862;
}

html[data-theme="paper"] {
  --ink: #32362f; --muted: #676e61; --line: #dfdfd5; --line-strong: #cccdc0;
  --paper: #fffefa; --canvas: #f5f5f0; --soft: #eeefe7; --surface-subtle: #f8f8f3;
  --accent: #6a765e; --accent-soft: #e9ede3; --danger: #995b52; --danger-soft: #f7ece8;
  --amber: #7e6a42; --amber-soft: #f4efe2; --blue: #667987; --blue-soft: #e9eef0;
  --rail: #f0f1e9; --rail-text: #353b32; --rail-muted: #677060; --rail-border: #dbddd1;
  --rail-hover: #e8eae0; --rail-active: #dfe4d8; --hero: #e9ece3; --hero-ink: #333b31;
  --hero-muted: #666e61; --hero-border: #d2d7ca; --topbar: rgba(255,254,250,.96); --toast-bg: #50564b;
}

html[data-theme="rose"] {
  --ink: #393233; --muted: #736265; --line: #e3dada; --line-strong: #d2c6c7;
  --canvas: #f7f4f4; --soft: #f1ebeb; --surface-subtle: #faf7f7;
  --accent: #80686b; --accent-soft: #eee5e6; --danger: #9a5654; --danger-soft: #f8eaea;
  --amber: #806b4d; --amber-soft: #f4efe6; --blue: #6d7588; --blue-soft: #ebedf2;
  --rail: #f1ecec; --rail-text: #403638; --rail-muted: #746366; --rail-border: #dfd5d6;
  --rail-hover: #ebe3e4; --rail-active: #e5dadd; --hero: #eee6e7; --hero-ink: #423638;
  --hero-muted: #6e5d60; --hero-border: #dbcfd1; --topbar: rgba(255,253,253,.96); --toast-bg: #5b4d4f;
}

html[data-theme="lake"] {
  --ink: #273635; --muted: #5c6e6b; --line: #d5e0de; --line-strong: #c2d1ce;
  --canvas: #f2f7f6; --soft: #e9f1ef; --surface-subtle: #f6faf9;
  --accent: #527873; --accent-soft: #e0ecea; --danger: #985b55; --danger-soft: #f7ebe9;
  --amber: #7a6b49; --amber-soft: #f3efe5; --blue: #5d7484; --blue-soft: #e7edf0;
  --rail: #e8f1ef; --rail-text: #2a3d3a; --rail-muted: #5c716c; --rail-border: #cfddda;
  --rail-hover: #dfebe8; --rail-active: #d5e5e1; --hero: #e0ebe8; --hero-ink: #2b403c;
  --hero-muted: #546964; --hero-border: #c3d6d1; --topbar: rgba(252,255,254,.96); --toast-bg: #445a56;
}

html[data-theme="mono"] {
  --ink: #292c2b; --muted: #656b67; --line: #dedfdd; --line-strong: #c9ccc9;
  --canvas: #f4f4f3; --soft: #ededeb; --surface-subtle: #f8f8f7;
  --accent: #5d6763; --accent-soft: #e7e9e7; --danger: #905955; --danger-soft: #f4ebea;
  --amber: #746b52; --amber-soft: #f1efe8; --blue: #626f79; --blue-soft: #e9ecee;
  --rail: #ebebe9; --rail-text: #303432; --rail-muted: #626b65; --rail-border: #d6d8d5;
  --rail-hover: #e3e4e1; --rail-active: #dbddda; --hero: #e5e6e3; --hero-ink: #2e3230;
  --hero-muted: #626963; --hero-border: #cfd2ce; --topbar: rgba(253,253,252,.96); --toast-bg: #4b504e;
}

html[data-color-mode="dark"] {
  color-scheme: dark;
  --ink: #e1e8e4; --muted: #9daaa3; --line: #39443f; --line-strong: #4a5751;
  --paper: #252c29; --canvas: #1d2321; --soft: #2c3531; --surface-subtle: #29312e;
  --accent-soft: #33413b; --danger: #d39a94; --danger-soft: #493330;
  --amber: #c6ae78; --amber-soft: #453e2e; --blue: #9cacc0; --blue-soft: #303b48;
  --rail: #202724; --rail-text: #e1e8e4; --rail-muted: #98a69f; --rail-border: #37423d;
  --rail-hover: #2b3530; --rail-active: #344139; --hero: #2a3430; --hero-ink: #e4ebe7;
  --hero-muted: #a5b2ab; --hero-border: #445149; --topbar: rgba(31,38,35,.96);
  --toast-bg: #dbe4df; --shadow: 0 10px 30px rgba(0,0,0,.22);
}

html[data-color-mode="dark"][data-theme="fresh"] { --accent: #91b3a3; }
html[data-color-mode="dark"][data-theme="mist"] { --accent: #9eb1bf; }
html[data-color-mode="dark"][data-theme="paper"] { --accent: #a9b49a; }
html[data-color-mode="dark"][data-theme="rose"] { --accent: #b79b9f; }
html[data-color-mode="dark"][data-theme="lake"] { --accent: #8fb4ae; }
html[data-color-mode="dark"][data-theme="mono"] { --accent: #aab2ae; }

