/* ============================================================================
   Dark mode — GENERATED by scripts/gen-dark-theme.js. Do not edit by hand;
   run `npm run gen-dark` and commit the result. test/dark-mode.test.js fails
   if this file is stale.

   Dark is an axis ORTHOGONAL to the theme, not a tenth theme. `data-mode` on
   <html> is always resolved to exactly "light" or "dark" before first paint by
   theme-boot.js, including when the person's preference is "system" — so this
   stylesheet never needs a prefers-color-scheme duplicate of every block, and
   the two settings compose: any of the 9 themes in either mode.

   Each palette derives from one shared lightness ramp, tinted toward its own
   theme's accent hue, with the accent lifted until it clears contrast against
   the dark page. Every pair listed in the generator is checked before this
   file is written; the generator refuses to emit a failing palette.
   ========================================================================== */

/* Tell the browser this is a dark surface, so native scrollbars, form controls,
   date pickers and autofill render dark. Without it a <select> drops open as a
   white sheet in the middle of a dark page. */
html[data-mode="dark"] { color-scheme: dark; }
html[data-mode="light"] { color-scheme: light; }

html[data-mode="dark"][data-theme="ledger"] {
  --paper: #121918;
  --paper-2: #1d2826;
  --surface: #1c2422;
  --surface-2: #263331;
  --row-alt: #171e1d;
  --row-sub: #212b29;
  --line: #3a5a54;
  --line-soft: #2a3c38;
  --text: #e5e9e8;
  --text-dim: #9fb2ae;
  --text-faint: #6b8580;
  --ink: #f4f5f5;
  --ink-2: #cdd5d4;
  --chrome-bg: #0d1211;
  --chrome-bg-2: #171f1d;
  --chrome-text: #e3e8e7;
  --chrome-strong: #fafafa;
  --chrome-dim: #99ada9;
  --chrome-tab-hover: #d5dcdb;
  --chrome-btn-text: #c1cdcb;
  --chrome-line: #36544e;
  --chrome-divider: #283936;
  --chrome-status-text: #b0bfbc;
  --chrome-status-key: #829b96;
  --chrome-active-bg: #283e3a;
  --chrome-active-text: #fafafa;
  --band-bg: #284b44;
  --band-text: #f4f5f5;
  --band-text-soft: #d8dedd;
  --band-text-strong: #ffffff;
  --band-dim: #a8bdb9;
  --accent: #14ae8f;
  --accent-on-dark: #129c80;
  --accent-soft: #1a443c;
  --on-accent-soft: #cddfdc;
  --on-accent: #0e1816;
  --band-accent: #b3dbd3;
  --band-line: rgba(255,255,255,.16);
  --chrome-edge-bottom: 2px solid #129c80;
  --chrome-edge-top: 1px solid #283936;
  --chrome-pop-border: #36544e;
  --chrome-pop-shadow: 0 18px 50px rgba(0,0,0,.65);
  --warn: #dcb66a;
  --neg: #e37d6d;
  --chrome-warn: #e0c285;
  --ok-bg: #1a352d;
  --ok-fg: #8bdac2;
  --ok-line: #366356;
  --warn-bg: #382f1c;
  --warn-fg: #ddc492;
  --warn-line: #635436;
  --bad-bg: #3c211d;
  --bad-fg: #dfa298;
  --bad-line: #633c36;
  --info-bg: #1e2d3e;
  --info-fg: #9abadf;
  --info-line: #364b63;
  --warn-fg-2: #ddc492;
  --star: #dcc06a;
  --disabled-mix: #3a413f;
  --hover-wash: rgba(255,255,255,.08);
  --veil: rgba(18,25,24,.78);
  --backdrop: rgba(0,0,0,.62);
  --shadow-xs: rgba(0,0,0,.34);
  --shadow-sm: rgba(0,0,0,.42);
  --shadow-md: rgba(0,0,0,.52);
  --shadow-lg: rgba(0,0,0,.62);
  --shadow-xl: rgba(0,0,0,.76);
  --lt-bg: #0d1211;
  --lt-surface: #1c2422;
  --lt-border: #3a5a54;
  --lt-heading: #f4f5f5;
  --lt-text: #e5e9e8;
  --lt-muted: #9fb2ae;
  --lt-accent: #14ae8f;
  --lt-accent-hi: #9af4e2;
  --lt-accent-ghost: rgba(20,174,143,.28);
  --lt-on-accent: #0e1816;
  --lt-input-bg: #1d2826;
  --lt-shadow: 0 24px 60px rgba(0,0,0,.72);
  --lt-topbar: 2px solid #14ae8f;
}

html[data-mode="dark"][data-theme="onyx"] {
  --paper: #181713;
  --paper-2: #27241e;
  --surface: #23211d;
  --surface-2: #322e27;
  --row-alt: #1e1c18;
  --row-sub: #2a2822;
  --line: #574e3d;
  --line-soft: #3a352c;
  --text: #e8e7e5;
  --text-dim: #b0aba1;
  --text-faint: #827b6e;
  --ink: #f5f5f4;
  --ink-2: #d4d2ce;
  --chrome-bg: #11100d;
  --chrome-bg-2: #1e1c18;
  --chrome-text: #e7e6e4;
  --chrome-strong: #fafafa;
  --chrome-dim: #aba69b;
  --chrome-tab-hover: #dbdad6;
  --chrome-btn-text: #ccc9c2;
  --chrome-line: #514939;
  --chrome-divider: #37332a;
  --chrome-status-text: #bebab2;
  --chrome-status-key: #989285;
  --chrome-active-bg: #3c362a;
  --chrome-active-text: #fafafa;
  --band-bg: #473e2c;
  --band-text: #f5f5f4;
  --band-text-soft: #dedcd9;
  --band-text-strong: #ffffff;
  --band-dim: #bab5ab;
  --accent: #b69249;
  --accent-on-dark: #a08140;
  --accent-soft: #44371a;
  --on-accent-soft: #dfd9cd;
  --on-accent: #18150e;
  --band-accent: #dbceb3;
  --band-line: rgba(255,255,255,.16);
  --chrome-edge-bottom: 2px solid #a08140;
  --chrome-edge-top: 1px solid #37332a;
  --chrome-pop-border: #514939;
  --chrome-pop-shadow: 0 18px 50px rgba(0,0,0,.65);
  --warn: #dcb66a;
  --neg: #e37d6d;
  --chrome-warn: #e0c285;
  --ok-bg: #1a352d;
  --ok-fg: #8bdac2;
  --ok-line: #366356;
  --warn-bg: #382f1c;
  --warn-fg: #ddc492;
  --warn-line: #635436;
  --bad-bg: #3c211d;
  --bad-fg: #dfa298;
  --bad-line: #633c36;
  --info-bg: #1e2d3e;
  --info-fg: #9abadf;
  --info-line: #364b63;
  --warn-fg-2: #ddc492;
  --star: #dcc06a;
  --disabled-mix: #413e3a;
  --hover-wash: rgba(255,255,255,.08);
  --veil: rgba(24,23,19,.78);
  --backdrop: rgba(0,0,0,.62);
  --shadow-xs: rgba(0,0,0,.34);
  --shadow-sm: rgba(0,0,0,.42);
  --shadow-md: rgba(0,0,0,.52);
  --shadow-lg: rgba(0,0,0,.62);
  --shadow-xl: rgba(0,0,0,.76);
  --lt-bg: #11100d;
  --lt-surface: #23211d;
  --lt-border: #574e3d;
  --lt-heading: #f5f5f4;
  --lt-text: #e8e7e5;
  --lt-muted: #b0aba1;
  --lt-accent: #b69249;
  --lt-accent-hi: #dfcfaf;
  --lt-accent-ghost: rgba(182,146,73,.28);
  --lt-on-accent: #18150e;
  --lt-input-bg: #27241e;
  --lt-shadow: 0 24px 60px rgba(0,0,0,.72);
  --lt-topbar: 2px solid #b69249;
}

html[data-mode="dark"][data-theme="porcelain"] {
  --paper: #141817;
  --paper-2: #1f2525;
  --surface: #1d2222;
  --surface-2: #293130;
  --row-alt: #191d1d;
  --row-sub: #232929;
  --line: #415353;
  --line-soft: #2e3838;
  --text: #e6e8e8;
  --text-dim: #a3aead;
  --text-faint: #707f7f;
  --ink: #f4f5f5;
  --ink-2: #cfd3d3;
  --chrome-bg: #0e1111;
  --chrome-bg-2: #181d1d;
  --chrome-text: #e4e7e7;
  --chrome-strong: #fafafa;
  --chrome-dim: #9da9a9;
  --chrome-tab-hover: #d7dbdb;
  --chrome-btn-text: #c3caca;
  --chrome-line: #3c4e4d;
  --chrome-divider: #2c3535;
  --chrome-status-text: #b3bcbc;
  --chrome-status-key: #889695;
  --chrome-active-bg: #2c3a39;
  --chrome-active-text: #fafafa;
  --band-bg: #2f4443;
  --band-text: #f4f5f5;
  --band-text-soft: #d9dddd;
  --band-text-strong: #ffffff;
  --band-dim: #adb8b8;
  --accent: #44a7a3;
  --accent-on-dark: #3d9491;
  --accent-soft: #1e413f;
  --on-accent-soft: #cddfdf;
  --on-accent: #0e1818;
  --band-accent: #b3dbd9;
  --band-line: rgba(255,255,255,.16);
  --chrome-edge-bottom: 2px solid #3d9491;
  --chrome-edge-top: 1px solid #2c3535;
  --chrome-pop-border: #3c4e4d;
  --chrome-pop-shadow: 0 18px 50px rgba(0,0,0,.65);
  --warn: #dcb66a;
  --neg: #e37d6d;
  --chrome-warn: #e0c285;
  --ok-bg: #1a352d;
  --ok-fg: #8bdac2;
  --ok-line: #366356;
  --warn-bg: #382f1c;
  --warn-fg: #ddc492;
  --warn-line: #635436;
  --bad-bg: #3c211d;
  --bad-fg: #dfa298;
  --bad-line: #633c36;
  --info-bg: #1e2d3e;
  --info-fg: #9abadf;
  --info-line: #364b63;
  --warn-fg-2: #ddc492;
  --star: #dcc06a;
  --disabled-mix: #3a4141;
  --hover-wash: rgba(255,255,255,.08);
  --veil: rgba(20,24,23,.78);
  --backdrop: rgba(0,0,0,.62);
  --shadow-xs: rgba(0,0,0,.34);
  --shadow-sm: rgba(0,0,0,.42);
  --shadow-md: rgba(0,0,0,.52);
  --shadow-lg: rgba(0,0,0,.62);
  --shadow-xl: rgba(0,0,0,.76);
  --lt-bg: #0e1111;
  --lt-surface: #1d2222;
  --lt-border: #415353;
  --lt-heading: #f4f5f5;
  --lt-text: #e6e8e8;
  --lt-muted: #a3aead;
  --lt-accent: #44a7a3;
  --lt-accent-hi: #afdedd;
  --lt-accent-ghost: rgba(68,167,163,.28);
  --lt-on-accent: #0e1818;
  --lt-input-bg: #1f2525;
  --lt-shadow: 0 24px 60px rgba(0,0,0,.72);
  --lt-topbar: 2px solid #44a7a3;
}

html[data-mode="dark"][data-theme="midnight"] {
  --paper: #191712;
  --paper-2: #28251d;
  --surface: #24221c;
  --surface-2: #333026;
  --row-alt: #1e1c17;
  --row-sub: #2b2821;
  --line: #5a513a;
  --line-soft: #3c372a;
  --text: #e9e8e5;
  --text-dim: #b2ac9f;
  --text-faint: #857d6b;
  --ink: #f5f5f4;
  --ink-2: #d5d3cd;
  --chrome-bg: #12100d;
  --chrome-bg-2: #1f1d17;
  --chrome-text: #e8e6e3;
  --chrome-strong: #fafafa;
  --chrome-dim: #ada899;
  --chrome-tab-hover: #dcdad5;
  --chrome-btn-text: #cdcac1;
  --chrome-line: #544b36;
  --chrome-divider: #393428;
  --chrome-status-text: #bfbbb0;
  --chrome-status-key: #9b9482;
  --chrome-active-bg: #3e3828;
  --chrome-active-text: #fafafa;
  --band-bg: #4b4128;
  --band-text: #f5f5f4;
  --band-text-soft: #deddd8;
  --band-text-strong: #ffffff;
  --band-dim: #bdb7a8;
  --accent: #bc9534;
  --accent-on-dark: #a4822d;
  --accent-soft: #44381a;
  --on-accent-soft: #dfdacd;
  --on-accent: #18150e;
  --band-accent: #dbcfb3;
  --band-line: rgba(255,255,255,.16);
  --chrome-edge-bottom: 2px solid #a4822d;
  --chrome-edge-top: 1px solid #393428;
  --chrome-pop-border: #544b36;
  --chrome-pop-shadow: 0 18px 50px rgba(0,0,0,.65);
  --warn: #dcb66a;
  --neg: #e37d6d;
  --chrome-warn: #e0c285;
  --ok-bg: #1a352d;
  --ok-fg: #8bdac2;
  --ok-line: #366356;
  --warn-bg: #382f1c;
  --warn-fg: #ddc492;
  --warn-line: #635436;
  --bad-bg: #3c211d;
  --bad-fg: #dfa298;
  --bad-line: #633c36;
  --info-bg: #1e2d3e;
  --info-fg: #9abadf;
  --info-line: #364b63;
  --warn-fg-2: #ddc492;
  --star: #dcc06a;
  --disabled-mix: #413f3a;
  --hover-wash: rgba(255,255,255,.08);
  --veil: rgba(25,23,18,.78);
  --backdrop: rgba(0,0,0,.62);
  --shadow-xs: rgba(0,0,0,.34);
  --shadow-sm: rgba(0,0,0,.42);
  --shadow-md: rgba(0,0,0,.52);
  --shadow-lg: rgba(0,0,0,.62);
  --shadow-xl: rgba(0,0,0,.76);
  --lt-bg: #12100d;
  --lt-surface: #24221c;
  --lt-border: #5a513a;
  --lt-heading: #f5f5f4;
  --lt-text: #e9e8e5;
  --lt-muted: #b2ac9f;
  --lt-accent: #bc9534;
  --lt-accent-hi: #e7d4a7;
  --lt-accent-ghost: rgba(188,149,52,.28);
  --lt-on-accent: #18150e;
  --lt-input-bg: #28251d;
  --lt-shadow: 0 24px 60px rgba(0,0,0,.72);
  --lt-topbar: 2px solid #bc9534;
}

html[data-mode="dark"][data-theme="bordeaux"] {
  --paper: #191213;
  --paper-2: #281d1f;
  --surface: #241c1d;
  --surface-2: #332628;
  --row-alt: #1e1718;
  --row-sub: #2b2123;
  --line: #5a3a3e;
  --line-soft: #3c2a2d;
  --text: #e9e5e5;
  --text-dim: #b19fa2;
  --text-faint: #856b6f;
  --ink: #f5f4f4;
  --ink-2: #d5cdce;
  --chrome-bg: #120d0e;
  --chrome-bg-2: #1f1718;
  --chrome-text: #e8e3e4;
  --chrome-strong: #fafafa;
  --chrome-dim: #ad999c;
  --chrome-tab-hover: #dcd6d6;
  --chrome-btn-text: #cdc1c3;
  --chrome-line: #53363a;
  --chrome-divider: #39282a;
  --chrome-status-text: #bfb0b2;
  --chrome-status-key: #9b8386;
  --chrome-active-bg: #3e282b;
  --chrome-active-text: #fafafa;
  --band-bg: #4a282d;
  --band-text: #f5f4f4;
  --band-text-soft: #ded8d9;
  --band-text-strong: #ffffff;
  --band-dim: #bca9ab;
  --accent: #d57683;
  --accent-on-dark: #cf6371;
  --accent-soft: #441a20;
  --on-accent-soft: #dfcdd0;
  --on-accent: #180e10;
  --band-accent: #dbb3b9;
  --band-line: rgba(255,255,255,.16);
  --chrome-edge-bottom: 2px solid #cf6371;
  --chrome-edge-top: 1px solid #39282a;
  --chrome-pop-border: #53363a;
  --chrome-pop-shadow: 0 18px 50px rgba(0,0,0,.65);
  --warn: #dcb66a;
  --neg: #e37d6d;
  --chrome-warn: #e0c285;
  --ok-bg: #1a352d;
  --ok-fg: #8bdac2;
  --ok-line: #366356;
  --warn-bg: #382f1c;
  --warn-fg: #ddc492;
  --warn-line: #635436;
  --bad-bg: #3c211d;
  --bad-fg: #dfa298;
  --bad-line: #633c36;
  --info-bg: #1e2d3e;
  --info-fg: #9abadf;
  --info-line: #364b63;
  --warn-fg-2: #ddc492;
  --star: #dcc06a;
  --disabled-mix: #413a3b;
  --hover-wash: rgba(255,255,255,.08);
  --veil: rgba(25,18,19,.78);
  --backdrop: rgba(0,0,0,.62);
  --shadow-xs: rgba(0,0,0,.34);
  --shadow-sm: rgba(0,0,0,.42);
  --shadow-md: rgba(0,0,0,.52);
  --shadow-lg: rgba(0,0,0,.62);
  --shadow-xl: rgba(0,0,0,.76);
  --lt-bg: #120d0e;
  --lt-surface: #241c1d;
  --lt-border: #5a3a3e;
  --lt-heading: #f5f4f4;
  --lt-text: #e9e5e5;
  --lt-muted: #b19fa2;
  --lt-accent: #d57683;
  --lt-accent-hi: #e5a9b1;
  --lt-accent-ghost: rgba(213,118,131,.28);
  --lt-on-accent: #180e10;
  --lt-input-bg: #281d1f;
  --lt-shadow: 0 24px 60px rgba(0,0,0,.72);
  --lt-topbar: 2px solid #d57683;
}

html[data-mode="dark"][data-theme="sage"] {
  --paper: #141716;
  --paper-2: #202522;
  --surface: #1e2220;
  --surface-2: #29302d;
  --row-alt: #191d1b;
  --row-sub: #242926;
  --line: #41524a;
  --line-soft: #2e3833;
  --text: #e6e8e7;
  --text-dim: #a3ada8;
  --text-faint: #717f78;
  --ink: #f4f5f5;
  --ink-2: #cfd3d1;
  --chrome-bg: #0e110f;
  --chrome-bg-2: #191d1b;
  --chrome-text: #e4e7e5;
  --chrome-strong: #fafafa;
  --chrome-dim: #9ea8a3;
  --chrome-tab-hover: #d7dbd9;
  --chrome-btn-text: #c4cac7;
  --chrome-line: #3d4d45;
  --chrome-divider: #2c3530;
  --chrome-status-text: #b3bcb8;
  --chrome-status-key: #88958f;
  --chrome-active-bg: #2d3933;
  --chrome-active-text: #fafafa;
  --band-bg: #304339;
  --band-text: #f4f5f5;
  --band-text-soft: #dadddb;
  --band-text-strong: #ffffff;
  --band-dim: #adb8b2;
  --accent: #46aa77;
  --accent-on-dark: #3e986a;
  --accent-soft: #1f3f2f;
  --on-accent-soft: #cddfd6;
  --on-accent: #0e1813;
  --band-accent: #b3dbc6;
  --band-line: rgba(255,255,255,.16);
  --chrome-edge-bottom: 2px solid #3e986a;
  --chrome-edge-top: 1px solid #2c3530;
  --chrome-pop-border: #3d4d45;
  --chrome-pop-shadow: 0 18px 50px rgba(0,0,0,.65);
  --warn: #dcb66a;
  --neg: #e37d6d;
  --chrome-warn: #e0c285;
  --ok-bg: #1a352d;
  --ok-fg: #8bdac2;
  --ok-line: #366356;
  --warn-bg: #382f1c;
  --warn-fg: #ddc492;
  --warn-line: #635436;
  --bad-bg: #3c211d;
  --bad-fg: #dfa298;
  --bad-line: #633c36;
  --info-bg: #1e2d3e;
  --info-fg: #9abadf;
  --info-line: #364b63;
  --warn-fg-2: #ddc492;
  --star: #dcc06a;
  --disabled-mix: #3a413d;
  --hover-wash: rgba(255,255,255,.08);
  --veil: rgba(20,23,22,.78);
  --backdrop: rgba(0,0,0,.62);
  --shadow-xs: rgba(0,0,0,.34);
  --shadow-sm: rgba(0,0,0,.42);
  --shadow-md: rgba(0,0,0,.52);
  --shadow-lg: rgba(0,0,0,.62);
  --shadow-xl: rgba(0,0,0,.76);
  --lt-bg: #0e110f;
  --lt-surface: #1e2220;
  --lt-border: #41524a;
  --lt-heading: #f4f5f5;
  --lt-text: #e6e8e7;
  --lt-muted: #a3ada8;
  --lt-accent: #46aa77;
  --lt-accent-hi: #afdec6;
  --lt-accent-ghost: rgba(70,170,119,.28);
  --lt-on-accent: #0e1813;
  --lt-input-bg: #202522;
  --lt-shadow: 0 24px 60px rgba(0,0,0,.72);
  --lt-topbar: 2px solid #46aa77;
}

html[data-mode="dark"][data-theme="copper"] {
  --paper: #191513;
  --paper-2: #27211e;
  --surface: #241f1c;
  --surface-2: #332b26;
  --row-alt: #1e1a18;
  --row-sub: #2b2522;
  --line: #59473b;
  --line-soft: #3b312b;
  --text: #e9e6e5;
  --text-dim: #b1a6a0;
  --text-faint: #84756c;
  --ink: #f5f5f4;
  --ink-2: #d5d0cd;
  --chrome-bg: #110f0d;
  --chrome-bg-2: #1f1a17;
  --chrome-text: #e8e5e3;
  --chrome-strong: #fafafa;
  --chrome-dim: #aca19a;
  --chrome-tab-hover: #dcd8d6;
  --chrome-btn-text: #ccc6c1;
  --chrome-line: #534237;
  --chrome-divider: #382f29;
  --chrome-status-text: #bfb6b0;
  --chrome-status-key: #9a8c84;
  --chrome-active-bg: #3d3129;
  --chrome-active-text: #fafafa;
  --band-bg: #493629;
  --band-text: #f5f5f4;
  --band-text-soft: #dedbd8;
  --band-text-strong: #ffffff;
  --band-dim: #bcb0a9;
  --accent: #c9875f;
  --accent-on-dark: #bf7140;
  --accent-soft: #442a1a;
  --on-accent-soft: #dfd4cd;
  --on-accent: #18120e;
  --band-accent: #dbc2b3;
  --band-line: rgba(255,255,255,.16);
  --chrome-edge-bottom: 2px solid #bf7140;
  --chrome-edge-top: 1px solid #382f29;
  --chrome-pop-border: #534237;
  --chrome-pop-shadow: 0 18px 50px rgba(0,0,0,.65);
  --warn: #dcb66a;
  --neg: #e37d6d;
  --chrome-warn: #e0c285;
  --ok-bg: #1a352d;
  --ok-fg: #8bdac2;
  --ok-line: #366356;
  --warn-bg: #382f1c;
  --warn-fg: #ddc492;
  --warn-line: #635436;
  --bad-bg: #3c211d;
  --bad-fg: #dfa298;
  --bad-line: #633c36;
  --info-bg: #1e2d3e;
  --info-fg: #9abadf;
  --info-line: #364b63;
  --warn-fg-2: #ddc492;
  --star: #dcc06a;
  --disabled-mix: #413c3a;
  --hover-wash: rgba(255,255,255,.08);
  --veil: rgba(25,21,19,.78);
  --backdrop: rgba(0,0,0,.62);
  --shadow-xs: rgba(0,0,0,.34);
  --shadow-sm: rgba(0,0,0,.42);
  --shadow-md: rgba(0,0,0,.52);
  --shadow-lg: rgba(0,0,0,.62);
  --shadow-xl: rgba(0,0,0,.76);
  --lt-bg: #110f0d;
  --lt-surface: #241f1c;
  --lt-border: #59473b;
  --lt-heading: #f5f5f4;
  --lt-text: #e9e6e5;
  --lt-muted: #b1a6a0;
  --lt-accent: #c9875f;
  --lt-accent-hi: #e3c0ab;
  --lt-accent-ghost: rgba(201,135,95,.28);
  --lt-on-accent: #18120e;
  --lt-input-bg: #27211e;
  --lt-shadow: 0 24px 60px rgba(0,0,0,.72);
  --lt-topbar: 2px solid #c9875f;
}

html[data-mode="dark"][data-theme="harbor"] {
  --paper: #141618;
  --paper-2: #1f2326;
  --surface: #1d2022;
  --surface-2: #292d31;
  --row-alt: #191b1d;
  --row-sub: #232629;
  --line: #404b54;
  --line-soft: #2e3338;
  --text: #e6e7e8;
  --text-dim: #a3a9ae;
  --text-faint: #707880;
  --ink: #f4f5f5;
  --ink-2: #cfd1d3;
  --chrome-bg: #0e0f11;
  --chrome-bg-2: #181b1d;
  --chrome-text: #e4e6e7;
  --chrome-strong: #fafafa;
  --chrome-dim: #9da4a9;
  --chrome-tab-hover: #d7d9db;
  --chrome-btn-text: #c3c7cb;
  --chrome-line: #3c464e;
  --chrome-divider: #2b3135;
  --chrome-status-text: #b3b8bc;
  --chrome-status-key: #888f96;
  --chrome-active-bg: #2c343a;
  --chrome-active-text: #fafafa;
  --band-bg: #2f3a44;
  --band-text: #f4f5f5;
  --band-text-soft: #d9dbdd;
  --band-text-strong: #ffffff;
  --band-dim: #adb3b8;
  --accent: #6b9ac2;
  --accent-on-dark: #5189b8;
  --accent-soft: #1e3141;
  --on-accent-soft: #cdd7df;
  --on-accent: #0e1418;
  --band-accent: #b3c8db;
  --band-line: rgba(255,255,255,.16);
  --chrome-edge-bottom: 2px solid #5189b8;
  --chrome-edge-top: 1px solid #2b3135;
  --chrome-pop-border: #3c464e;
  --chrome-pop-shadow: 0 18px 50px rgba(0,0,0,.65);
  --warn: #dcb66a;
  --neg: #e37d6d;
  --chrome-warn: #e0c285;
  --ok-bg: #1a352d;
  --ok-fg: #8bdac2;
  --ok-line: #366356;
  --warn-bg: #382f1c;
  --warn-fg: #ddc492;
  --warn-line: #635436;
  --bad-bg: #3c211d;
  --bad-fg: #dfa298;
  --bad-line: #633c36;
  --info-bg: #1e2d3e;
  --info-fg: #9abadf;
  --info-line: #364b63;
  --warn-fg-2: #ddc492;
  --star: #dcc06a;
  --disabled-mix: #3a3d41;
  --hover-wash: rgba(255,255,255,.08);
  --veil: rgba(20,22,24,.78);
  --backdrop: rgba(0,0,0,.62);
  --shadow-xs: rgba(0,0,0,.34);
  --shadow-sm: rgba(0,0,0,.42);
  --shadow-md: rgba(0,0,0,.52);
  --shadow-lg: rgba(0,0,0,.62);
  --shadow-xl: rgba(0,0,0,.76);
  --lt-bg: #0e0f11;
  --lt-surface: #1d2022;
  --lt-border: #404b54;
  --lt-heading: #f4f5f5;
  --lt-text: #e6e7e8;
  --lt-muted: #a3a9ae;
  --lt-accent: #6b9ac2;
  --lt-accent-hi: #afc9de;
  --lt-accent-ghost: rgba(107,154,194,.28);
  --lt-on-accent: #0e1418;
  --lt-input-bg: #1f2326;
  --lt-shadow: 0 24px 60px rgba(0,0,0,.72);
  --lt-topbar: 2px solid #6b9ac2;
}

html[data-mode="dark"][data-theme="vantagepoint"] {
  --paper: #131619;
  --paper-2: #1e2227;
  --surface: #1c2024;
  --surface-2: #272d33;
  --row-alt: #181b1e;
  --row-sub: #22262b;
  --line: #3c4a58;
  --line-soft: #2b333b;
  --text: #e5e7e9;
  --text-dim: #a0a8b1;
  --text-faint: #6c7883;
  --ink: #f4f5f5;
  --ink-2: #ced1d5;
  --chrome-bg: #0d0f11;
  --chrome-bg-2: #171b1e;
  --chrome-text: #e4e6e7;
  --chrome-strong: #fafafa;
  --chrome-dim: #9aa3ac;
  --chrome-tab-hover: #d6d9dc;
  --chrome-btn-text: #c1c7cc;
  --chrome-line: #384552;
  --chrome-divider: #293038;
  --chrome-status-text: #b1b8be;
  --chrome-status-key: #848f9a;
  --chrome-active-bg: #29333d;
  --chrome-active-text: #fafafa;
  --band-bg: #2a3949;
  --band-text: #f4f5f5;
  --band-text-soft: #d9dbde;
  --band-text-strong: #ffffff;
  --band-dim: #aab3bb;
  --accent: #6899ca;
  --accent-on-dark: #518ac2;
  --accent-soft: #1a2f44;
  --on-accent-soft: #cdd6df;
  --on-accent: #0e1318;
  --band-accent: #b3c7db;
  --band-line: rgba(255,255,255,.16);
  --chrome-edge-bottom: 2px solid #518ac2;
  --chrome-edge-top: 1px solid #293038;
  --chrome-pop-border: #384552;
  --chrome-pop-shadow: 0 18px 50px rgba(0,0,0,.65);
  --warn: #dcb66a;
  --neg: #e37d6d;
  --chrome-warn: #e0c285;
  --ok-bg: #1a352d;
  --ok-fg: #8bdac2;
  --ok-line: #366356;
  --warn-bg: #382f1c;
  --warn-fg: #ddc492;
  --warn-line: #635436;
  --bad-bg: #3c211d;
  --bad-fg: #dfa298;
  --bad-line: #633c36;
  --info-bg: #1e2d3e;
  --info-fg: #9abadf;
  --info-line: #364b63;
  --warn-fg-2: #ddc492;
  --star: #dcc06a;
  --disabled-mix: #3a3d41;
  --hover-wash: rgba(255,255,255,.08);
  --veil: rgba(19,22,25,.78);
  --backdrop: rgba(0,0,0,.62);
  --shadow-xs: rgba(0,0,0,.34);
  --shadow-sm: rgba(0,0,0,.42);
  --shadow-md: rgba(0,0,0,.52);
  --shadow-lg: rgba(0,0,0,.62);
  --shadow-xl: rgba(0,0,0,.76);
  --lt-bg: #0d0f11;
  --lt-surface: #1c2024;
  --lt-border: #3c4a58;
  --lt-heading: #f4f5f5;
  --lt-text: #e5e7e9;
  --lt-muted: #a0a8b1;
  --lt-accent: #6899ca;
  --lt-accent-hi: #acc7e2;
  --lt-accent-ghost: rgba(104,153,202,.28);
  --lt-on-accent: #0e1318;
  --lt-input-bg: #1e2227;
  --lt-shadow: 0 24px 60px rgba(0,0,0,.72);
  --lt-topbar: 2px solid #6899ca;
}

/* ---- picker tiles, previewing the dark palette ---- */
html[data-mode="dark"] .lt-swatch[data-theme-id="ledger"] { --sw-bg: #1c2422; --sw-accent: #14ae8f; --sw-border: #3a5a54; }
html[data-mode="dark"] .lt-swatch[data-theme-id="onyx"] { --sw-bg: #23211d; --sw-accent: #b69249; --sw-border: #574e3d; }
html[data-mode="dark"] .lt-swatch[data-theme-id="porcelain"] { --sw-bg: #1d2222; --sw-accent: #44a7a3; --sw-border: #415353; }
html[data-mode="dark"] .lt-swatch[data-theme-id="midnight"] { --sw-bg: #24221c; --sw-accent: #bc9534; --sw-border: #5a513a; }
html[data-mode="dark"] .lt-swatch[data-theme-id="bordeaux"] { --sw-bg: #241c1d; --sw-accent: #d57683; --sw-border: #5a3a3e; }
html[data-mode="dark"] .lt-swatch[data-theme-id="sage"] { --sw-bg: #1e2220; --sw-accent: #46aa77; --sw-border: #41524a; }
html[data-mode="dark"] .lt-swatch[data-theme-id="copper"] { --sw-bg: #241f1c; --sw-accent: #c9875f; --sw-border: #59473b; }
html[data-mode="dark"] .lt-swatch[data-theme-id="harbor"] { --sw-bg: #1d2022; --sw-accent: #6b9ac2; --sw-border: #404b54; }
html[data-mode="dark"] .lt-swatch[data-theme-id="vantagepoint"] { --sw-bg: #1c2024; --sw-accent: #6899ca; --sw-border: #3c4a58; }
