/* Wrapped in @layer m3e — the layer order is declared as the first style in
   base.html: @layer properties, theme, base, m3e, components, utilities.
   This makes Tailwind utilities (@layer utilities) win over M3E component
   rules at equal specificity, which is the intended semantics. */
@layer m3e {
/* ═══════════════════════════════════════════════════════════════════════════
 * M3E Colour Tokens
 * Source: docs/m3e/theme-tokens/ (Material Theme Builder export)
 *
 * Cascade priority:
 *   data-contrast (explicit) > prefers-contrast (OS) >
 *   data-theme (explicit) > prefers-color-scheme (OS)
 *
 * System mode: no data-theme attribute on <html> → media queries decide.
 * Forced mode: data-theme="light" or data-theme="dark" → overrides OS.
 * ═══════════════════════════════════════════════════════════════════════════ */


/* ── Layer 0: control glyph masks (D5-23) ───────────────────────────────────
 * ONE chevron, ONE calendar, ONE clock, drawn ONCE, for every control that
 * needs a trailing indicator: the native <select>, the Tom Select combobox,
 * and the native date / time / month pickers.
 *
 * They are MASKS, not background images, so the glyph is painted in
 * `currentColor` — it follows the theme AND `data-contrast` automatically. The
 * app shipped three different "there is more here" glyphs in one screenshot
 * (a 16px round-capped 2.5-weight mask chevron, Chrome's square calendar, and
 * a ~6.4px chevron hand-built from two `linear-gradient` diagonals) because
 * an SVG data-URI cannot follow `currentColor`. A mask can.
 *
 * Heroicons outline, 24×24 viewBox, 1.5px stroke, round caps — the house icon
 * rule. Never add a fourth glyph; never inline a data-URI in a component rule.
 * ─────────────────────────────────────────────────────────────────────────── */
:root {
  --icon-chevron-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  --icon-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 0 1 2.25-2.25h13.5A2.25 2.25 0 0 1 21 7.5v11.25m-18 0A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75m-18 0v-7.5A2.25 2.25 0 0 1 5.25 9h13.5A2.25 2.25 0 0 1 21 11.25v7.5'/%3E%3C/svg%3E");
  --icon-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 6v6h4.5m4.5 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z'/%3E%3C/svg%3E");
  --icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z'/%3E%3C/svg%3E");
  --icon-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 18 18 6M6 6l12 12'/%3E%3C/svg%3E");
}


/* ── Layer 1: Light standard (default) ─────────────────────────────────── */

:root {
    --md-sys-color-primary: rgb(200 64 30);
    --md-sys-color-surface-tint: rgb(200 64 30);
    --md-sys-color-on-primary: rgb(255 255 255);
    --md-sys-color-primary-container: rgb(243 221 212);
    --md-sys-color-on-primary-container: rgb(122 36 18);
    --md-sys-color-secondary: rgb(92 84 75);
    --md-sys-color-on-secondary: rgb(255 255 255);
    --md-sys-color-secondary-container: rgb(240 235 225);
    --md-sys-color-on-secondary-container: rgb(58 50 42);
    --md-sys-color-tertiary: rgb(77 124 79);
    --md-sys-color-on-tertiary: rgb(255 255 255);
    --md-sys-color-tertiary-container: rgb(227 232 224);
    --md-sys-color-on-tertiary-container: rgb(36 64 31);
    --md-sys-color-error: rgb(176 56 38);
    --md-sys-color-on-error: rgb(255 255 255);
    --md-sys-color-error-container: rgb(255 219 209);
    --md-sys-color-on-error-container: rgb(129 29 14);
    --md-sys-color-background: rgb(250 247 242);
    --md-sys-color-on-background: rgb(32 26 22);
    --md-sys-color-surface: rgb(255 255 255);
    --md-sys-color-on-surface: rgb(32 26 22);
    --md-sys-color-surface-variant: rgb(239 233 221);
    --md-sys-color-on-surface-variant: rgb(92 84 75);
    --md-sys-color-outline: rgb(138 126 109);
    --md-sys-color-outline-variant: rgb(222 214 198);
    --md-sys-color-inverse-surface: rgb(42 33 27);
    --md-sys-color-inverse-on-surface: rgb(250 247 242);
    --md-sys-color-inverse-primary: rgb(240 155 121);
    --md-sys-color-primary-fixed: rgb(243 221 212);
    --md-sys-color-on-primary-fixed: rgb(90 25 10);
    --md-sys-color-primary-fixed-dim: rgb(200 64 30);
    --md-sys-color-on-primary-fixed-variant: rgb(122 36 18);
    --md-sys-color-secondary-fixed: rgb(240 235 225);
    --md-sys-color-on-secondary-fixed: rgb(48 41 34);
    --md-sys-color-secondary-fixed-dim: rgb(236 229 217);
    --md-sys-color-on-secondary-fixed-variant: rgb(58 50 42);
    --md-sys-color-tertiary-fixed: rgb(227 232 224);
    --md-sys-color-on-tertiary-fixed: rgb(24 42 20);
    --md-sys-color-tertiary-fixed-dim: rgb(77 124 79);
    --md-sys-color-on-tertiary-fixed-variant: rgb(36 64 31);
    --md-sys-color-surface-dim: rgb(226 220 210);
    --md-sys-color-surface-bright: rgb(255 252 247);
    --md-sys-color-surface-container-lowest: rgb(255 255 255);
    --md-sys-color-surface-container-low: rgb(250 247 242);
    --md-sys-color-surface-container: rgb(247 244 238);
    --md-sys-color-surface-container-high: rgb(240 235 225);
    --md-sys-color-surface-container-highest: rgb(234 228 216);
  }


/* ── Layer 2: Dark standard ────────────────────────────────────────────── */

/* 2a: Explicit dark override */
:root[data-theme="dark"] {
    --md-sys-color-primary: rgb(240 155 121);
    --md-sys-color-surface-tint: rgb(221 144 120);
    --md-sys-color-on-primary: rgb(46 13 5);
    --md-sys-color-primary-container: rgb(83 40 28);
    --md-sys-color-on-primary-container: rgb(255 217 203);
    --md-sys-color-secondary: rgb(196 182 172);
    --md-sys-color-on-secondary: rgb(42 31 27);
    --md-sys-color-secondary-container: rgb(58 43 38);
    --md-sys-color-on-secondary-container: rgb(239 229 221);
    --md-sys-color-tertiary: rgb(199 227 184);
    --md-sys-color-on-tertiary: rgb(16 32 12);
    --md-sys-color-tertiary-container: rgb(52 57 42);
    --md-sys-color-on-tertiary-container: rgb(199 227 184);
    --md-sys-color-error: rgb(255 210 204);
    --md-sys-color-on-error: rgb(84 0 3);
    --md-sys-color-error-container: rgb(255 84 73);
    --md-sys-color-on-error-container: rgb(0 0 0);
    --md-sys-color-background: rgb(32 22 20);
    --md-sys-color-on-background: rgb(244 237 230);
    --md-sys-color-surface: rgb(42 31 27);
    --md-sys-color-on-surface: rgb(244 237 230);
    --md-sys-color-surface-variant: rgb(58 43 38);
    --md-sys-color-on-surface-variant: rgb(196 182 172);
    --md-sys-color-outline: rgb(152 138 128);
    --md-sys-color-outline-variant: rgb(58 43 38);
    --md-sys-color-inverse-surface: rgb(244 237 230);
    --md-sys-color-inverse-on-surface: rgb(49 36 32);
    --md-sys-color-inverse-primary: rgb(138 42 14);
    --md-sys-color-primary-fixed: rgb(255 217 203);
    --md-sys-color-on-primary-fixed: rgb(36 13 4);
    --md-sys-color-primary-fixed-dim: rgb(221 144 120);
    --md-sys-color-on-primary-fixed-variant: rgb(36 13 4);
    --md-sys-color-secondary-fixed: rgb(239 229 221);
    --md-sys-color-on-secondary-fixed: rgb(34 24 20);
    --md-sys-color-secondary-fixed-dim: rgb(196 182 172);
    --md-sys-color-on-secondary-fixed-variant: rgb(34 24 20);
    --md-sys-color-tertiary-fixed: rgb(168 199 158);
    --md-sys-color-on-tertiary-fixed: rgb(14 37 8);
    --md-sys-color-tertiary-fixed-dim: rgb(139 174 128);
    --md-sys-color-on-tertiary-fixed-variant: rgb(11 33 8);
    --md-sys-color-surface-dim: rgb(32 22 20);
    --md-sys-color-surface-bright: rgb(78 66 58);
    --md-sys-color-surface-container-lowest: rgb(32 22 20);
    --md-sys-color-surface-container-low: rgb(42 31 27);
    --md-sys-color-surface-container: rgb(49 36 32);
    --md-sys-color-surface-container-high: rgb(58 43 38);
    --md-sys-color-surface-container-highest: rgb(69 52 47);
  }

/* 2b: OS dark preference (only when no explicit data-theme is set) */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
        --md-sys-color-primary: rgb(240 155 121);
        --md-sys-color-surface-tint: rgb(221 144 120);
        --md-sys-color-on-primary: rgb(46 13 5);
        --md-sys-color-primary-container: rgb(83 40 28);
        --md-sys-color-on-primary-container: rgb(255 217 203);
        --md-sys-color-secondary: rgb(196 182 172);
        --md-sys-color-on-secondary: rgb(42 31 27);
        --md-sys-color-secondary-container: rgb(58 43 38);
        --md-sys-color-on-secondary-container: rgb(239 229 221);
        --md-sys-color-tertiary: rgb(199 227 184);
        --md-sys-color-on-tertiary: rgb(16 32 12);
        --md-sys-color-tertiary-container: rgb(52 57 42);
        --md-sys-color-on-tertiary-container: rgb(199 227 184);
        --md-sys-color-error: rgb(255 210 204);
        --md-sys-color-on-error: rgb(84 0 3);
        --md-sys-color-error-container: rgb(255 84 73);
        --md-sys-color-on-error-container: rgb(0 0 0);
        --md-sys-color-background: rgb(32 22 20);
        --md-sys-color-on-background: rgb(244 237 230);
        --md-sys-color-surface: rgb(42 31 27);
        --md-sys-color-on-surface: rgb(244 237 230);
        --md-sys-color-surface-variant: rgb(58 43 38);
        --md-sys-color-on-surface-variant: rgb(196 182 172);
        --md-sys-color-outline: rgb(152 138 128);
        --md-sys-color-outline-variant: rgb(58 43 38);
        --md-sys-color-inverse-surface: rgb(244 237 230);
        --md-sys-color-inverse-on-surface: rgb(49 36 32);
        --md-sys-color-inverse-primary: rgb(138 42 14);
        --md-sys-color-primary-fixed: rgb(255 217 203);
        --md-sys-color-on-primary-fixed: rgb(36 13 4);
        --md-sys-color-primary-fixed-dim: rgb(221 144 120);
        --md-sys-color-on-primary-fixed-variant: rgb(36 13 4);
        --md-sys-color-secondary-fixed: rgb(239 229 221);
        --md-sys-color-on-secondary-fixed: rgb(34 24 20);
        --md-sys-color-secondary-fixed-dim: rgb(196 182 172);
        --md-sys-color-on-secondary-fixed-variant: rgb(34 24 20);
        --md-sys-color-tertiary-fixed: rgb(168 199 158);
        --md-sys-color-on-tertiary-fixed: rgb(14 37 8);
        --md-sys-color-tertiary-fixed-dim: rgb(139 174 128);
        --md-sys-color-on-tertiary-fixed-variant: rgb(11 33 8);
        --md-sys-color-surface-dim: rgb(32 22 20);
        --md-sys-color-surface-bright: rgb(78 66 58);
        --md-sys-color-surface-container-lowest: rgb(32 22 20);
        --md-sys-color-surface-container-low: rgb(42 31 27);
        --md-sys-color-surface-container: rgb(49 36 32);
        --md-sys-color-surface-container-high: rgb(58 43 38);
        --md-sys-color-surface-container-highest: rgb(69 52 47);
      }
}


/* ── Layer 3: OS high contrast (prefers-contrast: more → HC tokens) ──── */

@media (prefers-contrast: more) {
  /* 3a: Light HC */
  :root {
        --md-sys-color-primary: rgb(138 42 14);
        --md-sys-color-surface-tint: rgb(200 64 30);
        --md-sys-color-on-primary: rgb(255 255 255);
        --md-sys-color-primary-container: rgb(106 32 8);
        --md-sys-color-on-primary-container: rgb(255 255 255);
        --md-sys-color-secondary: rgb(58 50 42);
        --md-sys-color-on-secondary: rgb(255 255 255);
        --md-sys-color-secondary-container: rgb(90 78 65);
        --md-sys-color-on-secondary-container: rgb(255 255 255);
        --md-sys-color-tertiary: rgb(57 89 43);
        --md-sys-color-on-tertiary: rgb(255 255 255);
        --md-sys-color-tertiary-container: rgb(57 89 43);
        --md-sys-color-on-tertiary-container: rgb(255 255 255);
        --md-sys-color-error: rgb(82 16 6);
        --md-sys-color-on-error: rgb(255 255 255);
        --md-sys-color-error-container: rgb(132 30 14);
        --md-sys-color-on-error-container: rgb(255 255 255);
        --md-sys-color-background: rgb(250 247 242);
        --md-sys-color-on-background: rgb(0 0 0);
        --md-sys-color-surface: rgb(255 255 255);
        --md-sys-color-on-surface: rgb(0 0 0);
        --md-sys-color-surface-variant: rgb(239 233 221);
        --md-sys-color-on-surface-variant: rgb(0 0 0);
        --md-sys-color-outline: rgb(41 34 28);
        --md-sys-color-outline-variant: rgb(100 88 72);
        --md-sys-color-inverse-surface: rgb(42 33 27);
        --md-sys-color-inverse-on-surface: rgb(255 255 255);
        --md-sys-color-inverse-primary: rgb(240 155 121);
        --md-sys-color-primary-fixed: rgb(96 28 8);
        --md-sys-color-on-primary-fixed: rgb(255 255 255);
        --md-sys-color-primary-fixed-dim: rgb(138 42 14);
        --md-sys-color-on-primary-fixed-variant: rgb(255 255 255);
        --md-sys-color-secondary-fixed: rgb(90 78 65);
        --md-sys-color-on-secondary-fixed: rgb(255 255 255);
        --md-sys-color-secondary-fixed-dim: rgb(58 50 42);
        --md-sys-color-on-secondary-fixed-variant: rgb(255 255 255);
        --md-sys-color-tertiary-fixed: rgb(57 89 43);
        --md-sys-color-on-tertiary-fixed: rgb(255 255 255);
        --md-sys-color-tertiary-fixed-dim: rgb(46 72 34);
        --md-sys-color-on-tertiary-fixed-variant: rgb(255 255 255);
        --md-sys-color-surface-dim: rgb(214 208 196);
        --md-sys-color-surface-bright: rgb(255 255 255);
        --md-sys-color-surface-container-lowest: rgb(255 255 255);
        --md-sys-color-surface-container-low: rgb(240 240 235);
        --md-sys-color-surface-container: rgb(226 220 210);
        --md-sys-color-surface-container-high: rgb(211 203 192);
        --md-sys-color-surface-container-highest: rgb(197 188 176);
      }

  /* 3b: Dark HC when explicitly dark */
  :root[data-theme="dark"] {
        --md-sys-color-primary: rgb(240 187 169);
        --md-sys-color-surface-tint: rgb(222 116 88);
        --md-sys-color-on-primary: rgb(46 13 5);
        --md-sys-color-primary-container: rgb(232 167 149);
        --md-sys-color-on-primary-container: rgb(51 13 4);
        --md-sys-color-secondary: rgb(239 229 221);
        --md-sys-color-on-secondary: rgb(0 0 0);
        --md-sys-color-secondary-container: rgb(203 191 178);
        --md-sys-color-on-secondary-container: rgb(3 11 26);
        --md-sys-color-tertiary: rgb(168 199 158);
        --md-sys-color-on-tertiary: rgb(14 37 8);
        --md-sys-color-tertiary-container: rgb(158 191 158);
        --md-sys-color-on-tertiary-container: rgb(11 29 6);
        --md-sys-color-error: rgb(255 238 232);
        --md-sys-color-on-error: rgb(0 0 0);
        --md-sys-color-error-container: rgb(255 174 154);
        --md-sys-color-on-error-container: rgb(28 6 2);
        --md-sys-color-background: rgb(32 22 20);
        --md-sys-color-on-background: rgb(244 237 230);
        --md-sys-color-surface: rgb(42 31 27);
        --md-sys-color-on-surface: rgb(255 255 255);
        --md-sys-color-surface-variant: rgb(58 43 38);
        --md-sys-color-on-surface-variant: rgb(255 255 255);
        --md-sys-color-outline: rgb(248 233 226);
        --md-sys-color-outline-variant: rgb(216 196 188);
        --md-sys-color-inverse-surface: rgb(244 237 230);
        --md-sys-color-inverse-on-surface: rgb(0 0 0);
        --md-sys-color-inverse-primary: rgb(138 42 14);
        --md-sys-color-primary-fixed: rgb(255 217 203);
        --md-sys-color-on-primary-fixed: rgb(0 0 0);
        --md-sys-color-primary-fixed-dim: rgb(232 167 149);
        --md-sys-color-on-primary-fixed-variant: rgb(58 12 4);
        --md-sys-color-secondary-fixed: rgb(239 229 221);
        --md-sys-color-on-secondary-fixed: rgb(0 0 0);
        --md-sys-color-secondary-fixed-dim: rgb(196 182 172);
        --md-sys-color-on-secondary-fixed-variant: rgb(20 10 6);
        --md-sys-color-tertiary-fixed: rgb(199 227 184);
        --md-sys-color-on-tertiary-fixed: rgb(0 0 0);
        --md-sys-color-tertiary-fixed-dim: rgb(168 199 158);
        --md-sys-color-on-tertiary-fixed-variant: rgb(14 37 8);
        --md-sys-color-surface-dim: rgb(32 22 20);
        --md-sys-color-surface-bright: rgb(78 66 58);
        --md-sys-color-surface-container-lowest: rgb(0 0 0);
        --md-sys-color-surface-container-low: rgb(32 22 20);
        --md-sys-color-surface-container: rgb(49 36 32);
        --md-sys-color-surface-container-high: rgb(62 47 42);
        --md-sys-color-surface-container-highest: rgb(75 57 52);
      }
}

/* 3c: Dark HC when OS dark + no explicit data-theme */
@media (prefers-contrast: more) and (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
        --md-sys-color-primary: rgb(240 187 169);
        --md-sys-color-surface-tint: rgb(222 116 88);
        --md-sys-color-on-primary: rgb(46 13 5);
        --md-sys-color-primary-container: rgb(232 167 149);
        --md-sys-color-on-primary-container: rgb(51 13 4);
        --md-sys-color-secondary: rgb(239 229 221);
        --md-sys-color-on-secondary: rgb(0 0 0);
        --md-sys-color-secondary-container: rgb(203 191 178);
        --md-sys-color-on-secondary-container: rgb(3 11 26);
        --md-sys-color-tertiary: rgb(168 199 158);
        --md-sys-color-on-tertiary: rgb(14 37 8);
        --md-sys-color-tertiary-container: rgb(158 191 158);
        --md-sys-color-on-tertiary-container: rgb(11 29 6);
        --md-sys-color-error: rgb(255 238 232);
        --md-sys-color-on-error: rgb(0 0 0);
        --md-sys-color-error-container: rgb(255 174 154);
        --md-sys-color-on-error-container: rgb(28 6 2);
        --md-sys-color-background: rgb(32 22 20);
        --md-sys-color-on-background: rgb(244 237 230);
        --md-sys-color-surface: rgb(42 31 27);
        --md-sys-color-on-surface: rgb(255 255 255);
        --md-sys-color-surface-variant: rgb(58 43 38);
        --md-sys-color-on-surface-variant: rgb(255 255 255);
        --md-sys-color-outline: rgb(248 233 226);
        --md-sys-color-outline-variant: rgb(216 196 188);
        --md-sys-color-inverse-surface: rgb(244 237 230);
        --md-sys-color-inverse-on-surface: rgb(0 0 0);
        --md-sys-color-inverse-primary: rgb(138 42 14);
        --md-sys-color-primary-fixed: rgb(255 217 203);
        --md-sys-color-on-primary-fixed: rgb(0 0 0);
        --md-sys-color-primary-fixed-dim: rgb(232 167 149);
        --md-sys-color-on-primary-fixed-variant: rgb(58 12 4);
        --md-sys-color-secondary-fixed: rgb(239 229 221);
        --md-sys-color-on-secondary-fixed: rgb(0 0 0);
        --md-sys-color-secondary-fixed-dim: rgb(196 182 172);
        --md-sys-color-on-secondary-fixed-variant: rgb(20 10 6);
        --md-sys-color-tertiary-fixed: rgb(199 227 184);
        --md-sys-color-on-tertiary-fixed: rgb(0 0 0);
        --md-sys-color-tertiary-fixed-dim: rgb(168 199 158);
        --md-sys-color-on-tertiary-fixed-variant: rgb(14 37 8);
        --md-sys-color-surface-dim: rgb(32 22 20);
        --md-sys-color-surface-bright: rgb(78 66 58);
        --md-sys-color-surface-container-lowest: rgb(0 0 0);
        --md-sys-color-surface-container-low: rgb(32 22 20);
        --md-sys-color-surface-container: rgb(49 36 32);
        --md-sys-color-surface-container-high: rgb(62 47 42);
        --md-sys-color-surface-container-highest: rgb(75 57 52);
      }
}


/* ── Layer 4: Explicit contrast toggle via data-contrast attribute ───── */

/* 4a: data-contrast="medium" — light */
:root[data-contrast="medium"] {
    --md-sys-color-primary: rgb(150 40 10);
    --md-sys-color-surface-tint: rgb(200 64 30);
    --md-sys-color-on-primary: rgb(255 255 255);
    --md-sys-color-primary-container: rgb(160 46 16);
    --md-sys-color-on-primary-container: rgb(255 255 255);
    --md-sys-color-secondary: rgb(58 50 42);
    --md-sys-color-on-secondary: rgb(255 255 255);
    --md-sys-color-secondary-container: rgb(90 78 65);
    --md-sys-color-on-secondary-container: rgb(255 255 255);
    --md-sys-color-tertiary: rgb(57 89 43);
    --md-sys-color-on-tertiary: rgb(255 255 255);
    --md-sys-color-tertiary-container: rgb(57 89 43);
    --md-sys-color-on-tertiary-container: rgb(255 255 255);
    --md-sys-color-error: rgb(116 0 6);
    --md-sys-color-on-error: rgb(255 255 255);
    --md-sys-color-error-container: rgb(207 44 39);
    --md-sys-color-on-error-container: rgb(255 255 255);
    --md-sys-color-background: rgb(250 247 242);
    --md-sys-color-on-background: rgb(25 20 16);
    --md-sys-color-surface: rgb(255 255 255);
    --md-sys-color-on-surface: rgb(13 10 8);
    --md-sys-color-surface-variant: rgb(239 233 221);
    --md-sys-color-on-surface-variant: rgb(58 50 42);
    --md-sys-color-outline: rgb(106 97 86);
    --md-sys-color-outline-variant: rgb(138 126 109);
    --md-sys-color-inverse-surface: rgb(42 33 27);
    --md-sys-color-inverse-on-surface: rgb(250 247 242);
    --md-sys-color-inverse-primary: rgb(240 155 121);
    --md-sys-color-primary-fixed: rgb(160 46 16);
    --md-sys-color-on-primary-fixed: rgb(255 255 255);
    --md-sys-color-primary-fixed-dim: rgb(150 40 10);
    --md-sys-color-on-primary-fixed-variant: rgb(255 255 255);
    --md-sys-color-secondary-fixed: rgb(90 78 65);
    --md-sys-color-on-secondary-fixed: rgb(255 255 255);
    --md-sys-color-secondary-fixed-dim: rgb(106 97 86);
    --md-sys-color-on-secondary-fixed-variant: rgb(255 255 255);
    --md-sys-color-tertiary-fixed: rgb(57 89 43);
    --md-sys-color-on-tertiary-fixed: rgb(255 255 255);
    --md-sys-color-tertiary-fixed-dim: rgb(49 70 36);
    --md-sys-color-on-tertiary-fixed-variant: rgb(255 255 255);
    --md-sys-color-surface-dim: rgb(200 193 182);
    --md-sys-color-surface-bright: rgb(255 255 255);
    --md-sys-color-surface-container-lowest: rgb(255 255 255);
    --md-sys-color-surface-container-low: rgb(243 240 233);
    --md-sys-color-surface-container: rgb(231 226 216);
    --md-sys-color-surface-container-high: rgb(220 213 200);
    --md-sys-color-surface-container-highest: rgb(209 199 185);
  }

/* 4b: data-contrast="medium" — explicit dark */
:root[data-contrast="medium"][data-theme="dark"] {
    --md-sys-color-primary: rgb(221 144 120);
    --md-sys-color-surface-tint: rgb(221 144 120);
    --md-sys-color-on-primary: rgb(36 13 4);
    --md-sys-color-primary-container: rgb(196 90 62);
    --md-sys-color-on-primary-container: rgb(0 0 0);
    --md-sys-color-secondary: rgb(239 229 221);
    --md-sys-color-on-secondary: rgb(34 24 20);
    --md-sys-color-secondary-container: rgb(180 167 154);
    --md-sys-color-on-secondary-container: rgb(0 0 0);
    --md-sys-color-tertiary: rgb(139 174 128);
    --md-sys-color-on-tertiary: rgb(11 33 8);
    --md-sys-color-tertiary-container: rgb(139 174 128);
    --md-sys-color-on-tertiary-container: rgb(0 0 0);
    --md-sys-color-error: rgb(255 210 204);
    --md-sys-color-on-error: rgb(84 0 3);
    --md-sys-color-error-container: rgb(255 84 73);
    --md-sys-color-on-error-container: rgb(0 0 0);
    --md-sys-color-background: rgb(32 22 20);
    --md-sys-color-on-background: rgb(244 237 230);
    --md-sys-color-surface: rgb(42 31 27);
    --md-sys-color-on-surface: rgb(255 255 255);
    --md-sys-color-surface-variant: rgb(58 43 38);
    --md-sys-color-on-surface-variant: rgb(222 210 200);
    --md-sys-color-outline: rgb(195 180 170);
    --md-sys-color-outline-variant: rgb(160 146 136);
    --md-sys-color-inverse-surface: rgb(244 237 230);
    --md-sys-color-inverse-on-surface: rgb(49 36 32);
    --md-sys-color-inverse-primary: rgb(138 42 14);
    --md-sys-color-primary-fixed: rgb(255 217 203);
    --md-sys-color-on-primary-fixed: rgb(36 13 4);
    --md-sys-color-primary-fixed-dim: rgb(221 144 120);
    --md-sys-color-on-primary-fixed-variant: rgb(36 13 4);
    --md-sys-color-secondary-fixed: rgb(239 229 221);
    --md-sys-color-on-secondary-fixed: rgb(34 24 20);
    --md-sys-color-secondary-fixed-dim: rgb(196 182 172);
    --md-sys-color-on-secondary-fixed-variant: rgb(34 24 20);
    --md-sys-color-tertiary-fixed: rgb(168 199 158);
    --md-sys-color-on-tertiary-fixed: rgb(14 37 8);
    --md-sys-color-tertiary-fixed-dim: rgb(139 174 128);
    --md-sys-color-on-tertiary-fixed-variant: rgb(11 33 8);
    --md-sys-color-surface-dim: rgb(32 22 20);
    --md-sys-color-surface-bright: rgb(67 62 57);
    --md-sys-color-surface-container-lowest: rgb(14 10 8);
    --md-sys-color-surface-container-low: rgb(36 26 22);
    --md-sys-color-surface-container: rgb(51 38 34);
    --md-sys-color-surface-container-high: rgb(60 46 41);
    --md-sys-color-surface-container-highest: rgb(70 54 49);
  }

/* 4c: data-contrast="medium" — OS dark, no forced theme */
@media (prefers-color-scheme: dark) {
  :root[data-contrast="medium"]:not([data-theme]) {
        --md-sys-color-primary: rgb(221 144 120);
        --md-sys-color-surface-tint: rgb(221 144 120);
        --md-sys-color-on-primary: rgb(36 13 4);
        --md-sys-color-primary-container: rgb(196 90 62);
        --md-sys-color-on-primary-container: rgb(0 0 0);
        --md-sys-color-secondary: rgb(239 229 221);
        --md-sys-color-on-secondary: rgb(34 24 20);
        --md-sys-color-secondary-container: rgb(180 167 154);
        --md-sys-color-on-secondary-container: rgb(0 0 0);
        --md-sys-color-tertiary: rgb(139 174 128);
        --md-sys-color-on-tertiary: rgb(11 33 8);
        --md-sys-color-tertiary-container: rgb(139 174 128);
        --md-sys-color-on-tertiary-container: rgb(0 0 0);
        --md-sys-color-error: rgb(255 210 204);
        --md-sys-color-on-error: rgb(84 0 3);
        --md-sys-color-error-container: rgb(255 84 73);
        --md-sys-color-on-error-container: rgb(0 0 0);
        --md-sys-color-background: rgb(32 22 20);
        --md-sys-color-on-background: rgb(244 237 230);
        --md-sys-color-surface: rgb(42 31 27);
        --md-sys-color-on-surface: rgb(255 255 255);
        --md-sys-color-surface-variant: rgb(58 43 38);
        --md-sys-color-on-surface-variant: rgb(222 210 200);
        --md-sys-color-outline: rgb(195 180 170);
        --md-sys-color-outline-variant: rgb(160 146 136);
        --md-sys-color-inverse-surface: rgb(244 237 230);
        --md-sys-color-inverse-on-surface: rgb(49 36 32);
        --md-sys-color-inverse-primary: rgb(138 42 14);
        --md-sys-color-primary-fixed: rgb(255 217 203);
        --md-sys-color-on-primary-fixed: rgb(36 13 4);
        --md-sys-color-primary-fixed-dim: rgb(221 144 120);
        --md-sys-color-on-primary-fixed-variant: rgb(36 13 4);
        --md-sys-color-secondary-fixed: rgb(239 229 221);
        --md-sys-color-on-secondary-fixed: rgb(34 24 20);
        --md-sys-color-secondary-fixed-dim: rgb(196 182 172);
        --md-sys-color-on-secondary-fixed-variant: rgb(34 24 20);
        --md-sys-color-tertiary-fixed: rgb(168 199 158);
        --md-sys-color-on-tertiary-fixed: rgb(14 37 8);
        --md-sys-color-tertiary-fixed-dim: rgb(139 174 128);
        --md-sys-color-on-tertiary-fixed-variant: rgb(11 33 8);
        --md-sys-color-surface-dim: rgb(32 22 20);
        --md-sys-color-surface-bright: rgb(67 62 57);
        --md-sys-color-surface-container-lowest: rgb(14 10 8);
        --md-sys-color-surface-container-low: rgb(36 26 22);
        --md-sys-color-surface-container: rgb(51 38 34);
        --md-sys-color-surface-container-high: rgb(60 46 41);
        --md-sys-color-surface-container-highest: rgb(70 54 49);
      }
}

/* 4d: data-contrast="high" — light */
:root[data-contrast="high"] {
    --md-sys-color-primary: rgb(138 42 14);
    --md-sys-color-surface-tint: rgb(200 64 30);
    --md-sys-color-on-primary: rgb(255 255 255);
    --md-sys-color-primary-container: rgb(138 42 14);
    --md-sys-color-on-primary-container: rgb(255 255 255);
    --md-sys-color-secondary: rgb(58 50 42);
    --md-sys-color-on-secondary: rgb(255 255 255);
    --md-sys-color-secondary-container: rgb(90 78 65);
    --md-sys-color-on-secondary-container: rgb(255 255 255);
    --md-sys-color-tertiary: rgb(57 89 43);
    --md-sys-color-on-tertiary: rgb(255 255 255);
    --md-sys-color-tertiary-container: rgb(57 89 43);
    --md-sys-color-on-tertiary-container: rgb(255 255 255);
    --md-sys-color-error: rgb(82 16 6);
    --md-sys-color-on-error: rgb(255 255 255);
    --md-sys-color-error-container: rgb(132 30 14);
    --md-sys-color-on-error-container: rgb(255 255 255);
    --md-sys-color-background: rgb(250 247 242);
    --md-sys-color-on-background: rgb(0 0 0);
    --md-sys-color-surface: rgb(255 255 255);
    --md-sys-color-on-surface: rgb(0 0 0);
    --md-sys-color-surface-variant: rgb(239 233 221);
    --md-sys-color-on-surface-variant: rgb(0 0 0);
    --md-sys-color-outline: rgb(47 34 28);
    --md-sys-color-outline-variant: rgb(87 76 62);
    --md-sys-color-inverse-surface: rgb(42 33 27);
    --md-sys-color-inverse-on-surface: rgb(250 247 242);
    --md-sys-color-inverse-primary: rgb(240 155 121);
    --md-sys-color-primary-fixed: rgb(160 46 16);
    --md-sys-color-on-primary-fixed: rgb(255 255 255);
    --md-sys-color-primary-fixed-dim: rgb(150 40 10);
    --md-sys-color-on-primary-fixed-variant: rgb(255 255 255);
    --md-sys-color-secondary-fixed: rgb(90 78 65);
    --md-sys-color-on-secondary-fixed: rgb(255 255 255);
    --md-sys-color-secondary-fixed-dim: rgb(106 97 86);
    --md-sys-color-on-secondary-fixed-variant: rgb(255 255 255);
    --md-sys-color-tertiary-fixed: rgb(57 89 43);
    --md-sys-color-on-tertiary-fixed: rgb(255 255 255);
    --md-sys-color-tertiary-fixed-dim: rgb(49 70 36);
    --md-sys-color-on-tertiary-fixed-variant: rgb(255 255 255);
    --md-sys-color-surface-dim: rgb(200 193 182);
    --md-sys-color-surface-bright: rgb(255 255 255);
    --md-sys-color-surface-container-lowest: rgb(255 255 255);
    --md-sys-color-surface-container-low: rgb(247 244 238);
    --md-sys-color-surface-container: rgb(226 220 210);
    --md-sys-color-surface-container-high: rgb(211 203 192);
    --md-sys-color-surface-container-highest: rgb(197 188 176);
  }

/* 4e: data-contrast="high" — explicit dark */
:root[data-contrast="high"][data-theme="dark"] {
    --md-sys-color-primary: rgb(240 187 169);
    --md-sys-color-surface-tint: rgb(221 144 120);
    --md-sys-color-on-primary: rgb(46 13 5);
    --md-sys-color-primary-container: rgb(232 167 149);
    --md-sys-color-on-primary-container: rgb(51 13 4);
    --md-sys-color-secondary: rgb(239 229 221);
    --md-sys-color-on-secondary: rgb(34 24 20);
    --md-sys-color-secondary-container: rgb(180 167 154);
    --md-sys-color-on-secondary-container: rgb(0 0 0);
    --md-sys-color-tertiary: rgb(168 199 158);
    --md-sys-color-on-tertiary: rgb(14 37 8);
    --md-sys-color-tertiary-container: rgb(168 199 158);
    --md-sys-color-on-tertiary-container: rgb(11 29 6);
    --md-sys-color-error: rgb(255 238 232);
    --md-sys-color-on-error: rgb(0 0 0);
    --md-sys-color-error-container: rgb(255 174 154);
    --md-sys-color-on-error-container: rgb(28 6 2);
    --md-sys-color-background: rgb(32 22 20);
    --md-sys-color-on-background: rgb(255 255 255);
    --md-sys-color-surface: rgb(42 31 27);
    --md-sys-color-on-surface: rgb(255 255 255);
    --md-sys-color-surface-variant: rgb(58 43 38);
    --md-sys-color-on-surface-variant: rgb(255 255 255);
    --md-sys-color-outline: rgb(248 245 242);
    --md-sys-color-outline-variant: rgb(216 200 192);
    --md-sys-color-inverse-surface: rgb(244 237 230);
    --md-sys-color-inverse-on-surface: rgb(49 36 32);
    --md-sys-color-inverse-primary: rgb(138 42 14);
    --md-sys-color-primary-fixed: rgb(255 217 203);
    --md-sys-color-on-primary-fixed: rgb(36 13 4);
    --md-sys-color-primary-fixed-dim: rgb(221 144 120);
    --md-sys-color-on-primary-fixed-variant: rgb(36 13 4);
    --md-sys-color-secondary-fixed: rgb(239 229 221);
    --md-sys-color-on-secondary-fixed: rgb(34 24 20);
    --md-sys-color-secondary-fixed-dim: rgb(196 182 172);
    --md-sys-color-on-secondary-fixed-variant: rgb(34 24 20);
    --md-sys-color-tertiary-fixed: rgb(168 199 158);
    --md-sys-color-on-tertiary-fixed: rgb(14 37 8);
    --md-sys-color-tertiary-fixed-dim: rgb(139 174 128);
    --md-sys-color-on-tertiary-fixed-variant: rgb(11 33 8);
    --md-sys-color-surface-dim: rgb(32 22 20);
    --md-sys-color-surface-bright: rgb(67 62 57);
    --md-sys-color-surface-container-lowest: rgb(14 10 8);
    --md-sys-color-surface-container-low: rgb(36 26 22);
    --md-sys-color-surface-container: rgb(51 38 34);
    --md-sys-color-surface-container-high: rgb(60 46 41);
    --md-sys-color-surface-container-highest: rgb(70 54 49);
  }

/* 4f: data-contrast="high" — OS dark, no forced theme */
@media (prefers-color-scheme: dark) {
  :root[data-contrast="high"]:not([data-theme]) {
        --md-sys-color-primary: rgb(240 187 169);
        --md-sys-color-surface-tint: rgb(221 144 120);
        --md-sys-color-on-primary: rgb(46 13 5);
        --md-sys-color-primary-container: rgb(232 167 149);
        --md-sys-color-on-primary-container: rgb(51 13 4);
        --md-sys-color-secondary: rgb(239 229 221);
        --md-sys-color-on-secondary: rgb(34 24 20);
        --md-sys-color-secondary-container: rgb(180 167 154);
        --md-sys-color-on-secondary-container: rgb(0 0 0);
        --md-sys-color-tertiary: rgb(168 199 158);
        --md-sys-color-on-tertiary: rgb(14 37 8);
        --md-sys-color-tertiary-container: rgb(168 199 158);
        --md-sys-color-on-tertiary-container: rgb(11 29 6);
        --md-sys-color-error: rgb(255 238 232);
        --md-sys-color-on-error: rgb(0 0 0);
        --md-sys-color-error-container: rgb(255 174 154);
        --md-sys-color-on-error-container: rgb(28 6 2);
        --md-sys-color-background: rgb(32 22 20);
        --md-sys-color-on-background: rgb(255 255 255);
        --md-sys-color-surface: rgb(42 31 27);
        --md-sys-color-on-surface: rgb(255 255 255);
        --md-sys-color-surface-variant: rgb(58 43 38);
        --md-sys-color-on-surface-variant: rgb(255 255 255);
        --md-sys-color-outline: rgb(248 245 242);
        --md-sys-color-outline-variant: rgb(216 200 192);
        --md-sys-color-inverse-surface: rgb(244 237 230);
        --md-sys-color-inverse-on-surface: rgb(49 36 32);
        --md-sys-color-inverse-primary: rgb(138 42 14);
        --md-sys-color-primary-fixed: rgb(255 217 203);
        --md-sys-color-on-primary-fixed: rgb(36 13 4);
        --md-sys-color-primary-fixed-dim: rgb(221 144 120);
        --md-sys-color-on-primary-fixed-variant: rgb(36 13 4);
        --md-sys-color-secondary-fixed: rgb(239 229 221);
        --md-sys-color-on-secondary-fixed: rgb(34 24 20);
        --md-sys-color-secondary-fixed-dim: rgb(196 182 172);
        --md-sys-color-on-secondary-fixed-variant: rgb(34 24 20);
        --md-sys-color-tertiary-fixed: rgb(168 199 158);
        --md-sys-color-on-tertiary-fixed: rgb(14 37 8);
        --md-sys-color-tertiary-fixed-dim: rgb(139 174 128);
        --md-sys-color-on-tertiary-fixed-variant: rgb(11 33 8);
        --md-sys-color-surface-dim: rgb(32 22 20);
        --md-sys-color-surface-bright: rgb(67 62 57);
        --md-sys-color-surface-container-lowest: rgb(14 10 8);
        --md-sys-color-surface-container-low: rgb(36 26 22);
        --md-sys-color-surface-container: rgb(51 38 34);
        --md-sys-color-surface-container-high: rgb(60 46 41);
        --md-sys-color-surface-container-highest: rgb(70 54 49);
      }
}
}
