/* ==========================================================================
   Day To Day Expenses — Material 3 token system
   Color tokens below are generated directly from the app's own exported
   Material Theme Builder CSS (see theme_src/ and scripts/build_theme.py) —
   this file IS the source of truth for the site's look, do not hand-edit
   the color values. Cached immutably (see firebase.json).
   ========================================================================== */

/* Generated from Material Theme Builder export (theme_src/*.css). Roles
   only — to change the seed color, re-export from the app's theme and
   re-run scripts/build_theme.py rather than hand-editing this block. */

:root{
  --md-sys-color-primary: rgb(14, 107, 88);
  --md-sys-color-surface-tint: rgb(14, 107, 88);
  --md-sys-color-on-primary: rgb(255, 255, 255);
  --md-sys-color-primary-container: rgb(162, 242, 218);
  --md-sys-color-on-primary-container: rgb(0, 81, 65);
  --md-sys-color-secondary: rgb(75, 99, 91);
  --md-sys-color-on-secondary: rgb(255, 255, 255);
  --md-sys-color-secondary-container: rgb(205, 233, 222);
  --md-sys-color-on-secondary-container: rgb(52, 76, 68);
  --md-sys-color-tertiary: rgb(65, 98, 119);
  --md-sys-color-on-tertiary: rgb(255, 255, 255);
  --md-sys-color-tertiary-container: rgb(197, 231, 255);
  --md-sys-color-on-tertiary-container: rgb(41, 74, 94);
  --md-sys-color-error: rgb(186, 26, 26);
  --md-sys-color-on-error: rgb(255, 255, 255);
  --md-sys-color-error-container: rgb(255, 218, 214);
  --md-sys-color-on-error-container: rgb(147, 0, 10);
  --md-sys-color-background: rgb(245, 251, 247);
  --md-sys-color-on-background: rgb(23, 29, 27);
  --md-sys-color-surface: rgb(245, 251, 247);
  --md-sys-color-on-surface: rgb(23, 29, 27);
  --md-sys-color-surface-variant: rgb(219, 229, 224);
  --md-sys-color-on-surface-variant: rgb(63, 73, 69);
  --md-sys-color-outline: rgb(111, 121, 117);
  --md-sys-color-outline-variant: rgb(191, 201, 196);
  --md-sys-color-shadow: rgb(0, 0, 0);
  --md-sys-color-scrim: rgb(0, 0, 0);
  --md-sys-color-inverse-surface: rgb(43, 50, 47);
  --md-sys-color-inverse-on-surface: rgb(236, 242, 238);
  --md-sys-color-inverse-primary: rgb(134, 214, 190);
  --md-sys-color-primary-fixed: rgb(162, 242, 218);
  --md-sys-color-on-primary-fixed: rgb(0, 32, 25);
  --md-sys-color-primary-fixed-dim: rgb(134, 214, 190);
  --md-sys-color-on-primary-fixed-variant: rgb(0, 81, 65);
  --md-sys-color-secondary-fixed: rgb(205, 233, 222);
  --md-sys-color-on-secondary-fixed: rgb(7, 32, 25);
  --md-sys-color-secondary-fixed-dim: rgb(178, 204, 194);
  --md-sys-color-on-secondary-fixed-variant: rgb(52, 76, 68);
  --md-sys-color-tertiary-fixed: rgb(197, 231, 255);
  --md-sys-color-on-tertiary-fixed: rgb(0, 30, 45);
  --md-sys-color-tertiary-fixed-dim: rgb(169, 203, 227);
  --md-sys-color-on-tertiary-fixed-variant: rgb(41, 74, 94);
  --md-sys-color-surface-dim: rgb(213, 219, 215);
  --md-sys-color-surface-bright: rgb(245, 251, 247);
  --md-sys-color-surface-container-lowest: rgb(255, 255, 255);
  --md-sys-color-surface-container-low: rgb(239, 245, 241);
  --md-sys-color-surface-container: rgb(233, 239, 235);
  --md-sys-color-surface-container-high: rgb(227, 234, 230);
  --md-sys-color-surface-container-highest: rgb(222, 228, 224);
  --shape-s: 8px; --shape-m: 12px; --shape-l: 16px; --shape-xl: 28px;
  color-scheme: light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme]){
  --md-sys-color-primary: rgb(134, 214, 190);
  --md-sys-color-surface-tint: rgb(134, 214, 190);
  --md-sys-color-on-primary: rgb(0, 56, 44);
  --md-sys-color-primary-container: rgb(0, 81, 65);
  --md-sys-color-on-primary-container: rgb(162, 242, 218);
  --md-sys-color-secondary: rgb(178, 204, 194);
  --md-sys-color-on-secondary: rgb(29, 53, 46);
  --md-sys-color-secondary-container: rgb(52, 76, 68);
  --md-sys-color-on-secondary-container: rgb(205, 233, 222);
  --md-sys-color-tertiary: rgb(169, 203, 227);
  --md-sys-color-on-tertiary: rgb(15, 52, 71);
  --md-sys-color-tertiary-container: rgb(41, 74, 94);
  --md-sys-color-on-tertiary-container: rgb(197, 231, 255);
  --md-sys-color-error: rgb(255, 180, 171);
  --md-sys-color-on-error: rgb(105, 0, 5);
  --md-sys-color-error-container: rgb(147, 0, 10);
  --md-sys-color-on-error-container: rgb(255, 218, 214);
  --md-sys-color-background: rgb(15, 21, 19);
  --md-sys-color-on-background: rgb(222, 228, 224);
  --md-sys-color-surface: rgb(15, 21, 19);
  --md-sys-color-on-surface: rgb(222, 228, 224);
  --md-sys-color-surface-variant: rgb(63, 73, 69);
  --md-sys-color-on-surface-variant: rgb(191, 201, 196);
  --md-sys-color-outline: rgb(137, 147, 142);
  --md-sys-color-outline-variant: rgb(63, 73, 69);
  --md-sys-color-shadow: rgb(0, 0, 0);
  --md-sys-color-scrim: rgb(0, 0, 0);
  --md-sys-color-inverse-surface: rgb(222, 228, 224);
  --md-sys-color-inverse-on-surface: rgb(43, 50, 47);
  --md-sys-color-inverse-primary: rgb(14, 107, 88);
  --md-sys-color-primary-fixed: rgb(162, 242, 218);
  --md-sys-color-on-primary-fixed: rgb(0, 32, 25);
  --md-sys-color-primary-fixed-dim: rgb(134, 214, 190);
  --md-sys-color-on-primary-fixed-variant: rgb(0, 81, 65);
  --md-sys-color-secondary-fixed: rgb(205, 233, 222);
  --md-sys-color-on-secondary-fixed: rgb(7, 32, 25);
  --md-sys-color-secondary-fixed-dim: rgb(178, 204, 194);
  --md-sys-color-on-secondary-fixed-variant: rgb(52, 76, 68);
  --md-sys-color-tertiary-fixed: rgb(197, 231, 255);
  --md-sys-color-on-tertiary-fixed: rgb(0, 30, 45);
  --md-sys-color-tertiary-fixed-dim: rgb(169, 203, 227);
  --md-sys-color-on-tertiary-fixed-variant: rgb(41, 74, 94);
  --md-sys-color-surface-dim: rgb(15, 21, 19);
  --md-sys-color-surface-bright: rgb(52, 59, 56);
  --md-sys-color-surface-container-lowest: rgb(9, 15, 13);
  --md-sys-color-surface-container-low: rgb(23, 29, 27);
  --md-sys-color-surface-container: rgb(27, 33, 31);
  --md-sys-color-surface-container-high: rgb(37, 43, 41);
  --md-sys-color-surface-container-highest: rgb(48, 54, 52);
    color-scheme: dark;
  }
}
:root[data-theme="light"]{
  --md-sys-color-primary: rgb(14, 107, 88);
  --md-sys-color-surface-tint: rgb(14, 107, 88);
  --md-sys-color-on-primary: rgb(255, 255, 255);
  --md-sys-color-primary-container: rgb(162, 242, 218);
  --md-sys-color-on-primary-container: rgb(0, 81, 65);
  --md-sys-color-secondary: rgb(75, 99, 91);
  --md-sys-color-on-secondary: rgb(255, 255, 255);
  --md-sys-color-secondary-container: rgb(205, 233, 222);
  --md-sys-color-on-secondary-container: rgb(52, 76, 68);
  --md-sys-color-tertiary: rgb(65, 98, 119);
  --md-sys-color-on-tertiary: rgb(255, 255, 255);
  --md-sys-color-tertiary-container: rgb(197, 231, 255);
  --md-sys-color-on-tertiary-container: rgb(41, 74, 94);
  --md-sys-color-error: rgb(186, 26, 26);
  --md-sys-color-on-error: rgb(255, 255, 255);
  --md-sys-color-error-container: rgb(255, 218, 214);
  --md-sys-color-on-error-container: rgb(147, 0, 10);
  --md-sys-color-background: rgb(245, 251, 247);
  --md-sys-color-on-background: rgb(23, 29, 27);
  --md-sys-color-surface: rgb(245, 251, 247);
  --md-sys-color-on-surface: rgb(23, 29, 27);
  --md-sys-color-surface-variant: rgb(219, 229, 224);
  --md-sys-color-on-surface-variant: rgb(63, 73, 69);
  --md-sys-color-outline: rgb(111, 121, 117);
  --md-sys-color-outline-variant: rgb(191, 201, 196);
  --md-sys-color-shadow: rgb(0, 0, 0);
  --md-sys-color-scrim: rgb(0, 0, 0);
  --md-sys-color-inverse-surface: rgb(43, 50, 47);
  --md-sys-color-inverse-on-surface: rgb(236, 242, 238);
  --md-sys-color-inverse-primary: rgb(134, 214, 190);
  --md-sys-color-primary-fixed: rgb(162, 242, 218);
  --md-sys-color-on-primary-fixed: rgb(0, 32, 25);
  --md-sys-color-primary-fixed-dim: rgb(134, 214, 190);
  --md-sys-color-on-primary-fixed-variant: rgb(0, 81, 65);
  --md-sys-color-secondary-fixed: rgb(205, 233, 222);
  --md-sys-color-on-secondary-fixed: rgb(7, 32, 25);
  --md-sys-color-secondary-fixed-dim: rgb(178, 204, 194);
  --md-sys-color-on-secondary-fixed-variant: rgb(52, 76, 68);
  --md-sys-color-tertiary-fixed: rgb(197, 231, 255);
  --md-sys-color-on-tertiary-fixed: rgb(0, 30, 45);
  --md-sys-color-tertiary-fixed-dim: rgb(169, 203, 227);
  --md-sys-color-on-tertiary-fixed-variant: rgb(41, 74, 94);
  --md-sys-color-surface-dim: rgb(213, 219, 215);
  --md-sys-color-surface-bright: rgb(245, 251, 247);
  --md-sys-color-surface-container-lowest: rgb(255, 255, 255);
  --md-sys-color-surface-container-low: rgb(239, 245, 241);
  --md-sys-color-surface-container: rgb(233, 239, 235);
  --md-sys-color-surface-container-high: rgb(227, 234, 230);
  --md-sys-color-surface-container-highest: rgb(222, 228, 224);
  color-scheme: light;
}
:root[data-theme="dark"]{
  --md-sys-color-primary: rgb(134, 214, 190);
  --md-sys-color-surface-tint: rgb(134, 214, 190);
  --md-sys-color-on-primary: rgb(0, 56, 44);
  --md-sys-color-primary-container: rgb(0, 81, 65);
  --md-sys-color-on-primary-container: rgb(162, 242, 218);
  --md-sys-color-secondary: rgb(178, 204, 194);
  --md-sys-color-on-secondary: rgb(29, 53, 46);
  --md-sys-color-secondary-container: rgb(52, 76, 68);
  --md-sys-color-on-secondary-container: rgb(205, 233, 222);
  --md-sys-color-tertiary: rgb(169, 203, 227);
  --md-sys-color-on-tertiary: rgb(15, 52, 71);
  --md-sys-color-tertiary-container: rgb(41, 74, 94);
  --md-sys-color-on-tertiary-container: rgb(197, 231, 255);
  --md-sys-color-error: rgb(255, 180, 171);
  --md-sys-color-on-error: rgb(105, 0, 5);
  --md-sys-color-error-container: rgb(147, 0, 10);
  --md-sys-color-on-error-container: rgb(255, 218, 214);
  --md-sys-color-background: rgb(15, 21, 19);
  --md-sys-color-on-background: rgb(222, 228, 224);
  --md-sys-color-surface: rgb(15, 21, 19);
  --md-sys-color-on-surface: rgb(222, 228, 224);
  --md-sys-color-surface-variant: rgb(63, 73, 69);
  --md-sys-color-on-surface-variant: rgb(191, 201, 196);
  --md-sys-color-outline: rgb(137, 147, 142);
  --md-sys-color-outline-variant: rgb(63, 73, 69);
  --md-sys-color-shadow: rgb(0, 0, 0);
  --md-sys-color-scrim: rgb(0, 0, 0);
  --md-sys-color-inverse-surface: rgb(222, 228, 224);
  --md-sys-color-inverse-on-surface: rgb(43, 50, 47);
  --md-sys-color-inverse-primary: rgb(14, 107, 88);
  --md-sys-color-primary-fixed: rgb(162, 242, 218);
  --md-sys-color-on-primary-fixed: rgb(0, 32, 25);
  --md-sys-color-primary-fixed-dim: rgb(134, 214, 190);
  --md-sys-color-on-primary-fixed-variant: rgb(0, 81, 65);
  --md-sys-color-secondary-fixed: rgb(205, 233, 222);
  --md-sys-color-on-secondary-fixed: rgb(7, 32, 25);
  --md-sys-color-secondary-fixed-dim: rgb(178, 204, 194);
  --md-sys-color-on-secondary-fixed-variant: rgb(52, 76, 68);
  --md-sys-color-tertiary-fixed: rgb(197, 231, 255);
  --md-sys-color-on-tertiary-fixed: rgb(0, 30, 45);
  --md-sys-color-tertiary-fixed-dim: rgb(169, 203, 227);
  --md-sys-color-on-tertiary-fixed-variant: rgb(41, 74, 94);
  --md-sys-color-surface-dim: rgb(15, 21, 19);
  --md-sys-color-surface-bright: rgb(52, 59, 56);
  --md-sys-color-surface-container-lowest: rgb(9, 15, 13);
  --md-sys-color-surface-container-low: rgb(23, 29, 27);
  --md-sys-color-surface-container: rgb(27, 33, 31);
  --md-sys-color-surface-container-high: rgb(37, 43, 41);
  --md-sys-color-surface-container-highest: rgb(48, 54, 52);
  color-scheme: dark;
}
:root[data-theme="light-mc"]{
  --md-sys-color-primary: rgb(0, 62, 50);
  --md-sys-color-surface-tint: rgb(14, 107, 88);
  --md-sys-color-on-primary: rgb(255, 255, 255);
  --md-sys-color-primary-container: rgb(38, 122, 102);
  --md-sys-color-on-primary-container: rgb(255, 255, 255);
  --md-sys-color-secondary: rgb(35, 59, 52);
  --md-sys-color-on-secondary: rgb(255, 255, 255);
  --md-sys-color-secondary-container: rgb(89, 114, 106);
  --md-sys-color-on-secondary-container: rgb(255, 255, 255);
  --md-sys-color-tertiary: rgb(22, 58, 77);
  --md-sys-color-on-tertiary: rgb(255, 255, 255);
  --md-sys-color-tertiary-container: rgb(80, 113, 134);
  --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(245, 251, 247);
  --md-sys-color-on-background: rgb(23, 29, 27);
  --md-sys-color-surface: rgb(245, 251, 247);
  --md-sys-color-on-surface: rgb(12, 18, 16);
  --md-sys-color-surface-variant: rgb(219, 229, 224);
  --md-sys-color-on-surface-variant: rgb(47, 56, 53);
  --md-sys-color-outline: rgb(75, 85, 81);
  --md-sys-color-outline-variant: rgb(101, 111, 107);
  --md-sys-color-shadow: rgb(0, 0, 0);
  --md-sys-color-scrim: rgb(0, 0, 0);
  --md-sys-color-inverse-surface: rgb(43, 50, 47);
  --md-sys-color-inverse-on-surface: rgb(236, 242, 238);
  --md-sys-color-inverse-primary: rgb(134, 214, 190);
  --md-sys-color-primary-fixed: rgb(38, 122, 102);
  --md-sys-color-on-primary-fixed: rgb(255, 255, 255);
  --md-sys-color-primary-fixed-dim: rgb(0, 96, 79);
  --md-sys-color-on-primary-fixed-variant: rgb(255, 255, 255);
  --md-sys-color-secondary-fixed: rgb(89, 114, 106);
  --md-sys-color-on-secondary-fixed: rgb(255, 255, 255);
  --md-sys-color-secondary-fixed-dim: rgb(65, 90, 82);
  --md-sys-color-on-secondary-fixed-variant: rgb(255, 255, 255);
  --md-sys-color-tertiary-fixed: rgb(80, 113, 134);
  --md-sys-color-on-tertiary-fixed: rgb(255, 255, 255);
  --md-sys-color-tertiary-fixed-dim: rgb(55, 89, 109);
  --md-sys-color-on-tertiary-fixed-variant: rgb(255, 255, 255);
  --md-sys-color-surface-dim: rgb(194, 200, 196);
  --md-sys-color-surface-bright: rgb(245, 251, 247);
  --md-sys-color-surface-container-lowest: rgb(255, 255, 255);
  --md-sys-color-surface-container-low: rgb(239, 245, 241);
  --md-sys-color-surface-container: rgb(227, 234, 230);
  --md-sys-color-surface-container-high: rgb(216, 222, 218);
  --md-sys-color-surface-container-highest: rgb(205, 211, 207);
  color-scheme: light;
}
:root[data-theme="dark-mc"]{
  --md-sys-color-primary: rgb(156, 236, 212);
  --md-sys-color-surface-tint: rgb(134, 214, 190);
  --md-sys-color-on-primary: rgb(0, 44, 34);
  --md-sys-color-primary-container: rgb(79, 159, 137);
  --md-sys-color-on-primary-container: rgb(0, 0, 0);
  --md-sys-color-secondary: rgb(199, 226, 216);
  --md-sys-color-on-secondary: rgb(18, 42, 35);
  --md-sys-color-secondary-container: rgb(125, 150, 141);
  --md-sys-color-on-secondary-container: rgb(0, 0, 0);
  --md-sys-color-tertiary: rgb(191, 225, 249);
  --md-sys-color-on-tertiary: rgb(0, 41, 59);
  --md-sys-color-tertiary-container: rgb(116, 149, 171);
  --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(15, 21, 19);
  --md-sys-color-on-background: rgb(222, 228, 224);
  --md-sys-color-surface: rgb(15, 21, 19);
  --md-sys-color-on-surface: rgb(255, 255, 255);
  --md-sys-color-surface-variant: rgb(63, 73, 69);
  --md-sys-color-on-surface-variant: rgb(213, 223, 217);
  --md-sys-color-outline: rgb(170, 180, 175);
  --md-sys-color-outline-variant: rgb(137, 147, 142);
  --md-sys-color-shadow: rgb(0, 0, 0);
  --md-sys-color-scrim: rgb(0, 0, 0);
  --md-sys-color-inverse-surface: rgb(222, 228, 224);
  --md-sys-color-inverse-on-surface: rgb(37, 43, 41);
  --md-sys-color-inverse-primary: rgb(0, 82, 67);
  --md-sys-color-primary-fixed: rgb(162, 242, 218);
  --md-sys-color-on-primary-fixed: rgb(0, 21, 15);
  --md-sys-color-primary-fixed-dim: rgb(134, 214, 190);
  --md-sys-color-on-primary-fixed-variant: rgb(0, 62, 50);
  --md-sys-color-secondary-fixed: rgb(205, 233, 222);
  --md-sys-color-on-secondary-fixed: rgb(0, 21, 15);
  --md-sys-color-secondary-fixed-dim: rgb(178, 204, 194);
  --md-sys-color-on-secondary-fixed-variant: rgb(35, 59, 52);
  --md-sys-color-tertiary-fixed: rgb(197, 231, 255);
  --md-sys-color-on-tertiary-fixed: rgb(0, 19, 30);
  --md-sys-color-tertiary-fixed-dim: rgb(169, 203, 227);
  --md-sys-color-on-tertiary-fixed-variant: rgb(22, 58, 77);
  --md-sys-color-surface-dim: rgb(15, 21, 19);
  --md-sys-color-surface-bright: rgb(63, 70, 67);
  --md-sys-color-surface-container-lowest: rgb(4, 8, 7);
  --md-sys-color-surface-container-low: rgb(25, 31, 29);
  --md-sys-color-surface-container: rgb(35, 41, 39);
  --md-sys-color-surface-container-high: rgb(46, 52, 49);
  --md-sys-color-surface-container-highest: rgb(57, 63, 60);
  color-scheme: dark;
}
:root[data-theme="light-hc"]{
  --md-sys-color-primary: rgb(0, 51, 40);
  --md-sys-color-surface-tint: rgb(14, 107, 88);
  --md-sys-color-on-primary: rgb(255, 255, 255);
  --md-sys-color-primary-container: rgb(0, 83, 68);
  --md-sys-color-on-primary-container: rgb(255, 255, 255);
  --md-sys-color-secondary: rgb(25, 48, 42);
  --md-sys-color-on-secondary: rgb(255, 255, 255);
  --md-sys-color-secondary-container: rgb(54, 78, 70);
  --md-sys-color-on-secondary-container: rgb(255, 255, 255);
  --md-sys-color-tertiary: rgb(8, 47, 66);
  --md-sys-color-on-tertiary: rgb(255, 255, 255);
  --md-sys-color-tertiary-container: rgb(43, 77, 97);
  --md-sys-color-on-tertiary-container: rgb(255, 255, 255);
  --md-sys-color-error: rgb(96, 0, 4);
  --md-sys-color-on-error: rgb(255, 255, 255);
  --md-sys-color-error-container: rgb(152, 0, 10);
  --md-sys-color-on-error-container: rgb(255, 255, 255);
  --md-sys-color-background: rgb(245, 251, 247);
  --md-sys-color-on-background: rgb(23, 29, 27);
  --md-sys-color-surface: rgb(245, 251, 247);
  --md-sys-color-on-surface: rgb(0, 0, 0);
  --md-sys-color-surface-variant: rgb(219, 229, 224);
  --md-sys-color-on-surface-variant: rgb(0, 0, 0);
  --md-sys-color-outline: rgb(37, 46, 43);
  --md-sys-color-outline-variant: rgb(66, 75, 71);
  --md-sys-color-shadow: rgb(0, 0, 0);
  --md-sys-color-scrim: rgb(0, 0, 0);
  --md-sys-color-inverse-surface: rgb(43, 50, 47);
  --md-sys-color-inverse-on-surface: rgb(255, 255, 255);
  --md-sys-color-inverse-primary: rgb(134, 214, 190);
  --md-sys-color-primary-fixed: rgb(0, 83, 68);
  --md-sys-color-on-primary-fixed: rgb(255, 255, 255);
  --md-sys-color-primary-fixed-dim: rgb(0, 58, 47);
  --md-sys-color-on-primary-fixed-variant: rgb(255, 255, 255);
  --md-sys-color-secondary-fixed: rgb(54, 78, 70);
  --md-sys-color-on-secondary-fixed: rgb(255, 255, 255);
  --md-sys-color-secondary-fixed-dim: rgb(31, 55, 48);
  --md-sys-color-on-secondary-fixed-variant: rgb(255, 255, 255);
  --md-sys-color-tertiary-fixed: rgb(43, 77, 97);
  --md-sys-color-on-tertiary-fixed: rgb(255, 255, 255);
  --md-sys-color-tertiary-fixed-dim: rgb(18, 54, 73);
  --md-sys-color-on-tertiary-fixed-variant: rgb(255, 255, 255);
  --md-sys-color-surface-dim: rgb(180, 186, 182);
  --md-sys-color-surface-bright: rgb(245, 251, 247);
  --md-sys-color-surface-container-lowest: rgb(255, 255, 255);
  --md-sys-color-surface-container-low: rgb(236, 242, 238);
  --md-sys-color-surface-container: rgb(222, 228, 224);
  --md-sys-color-surface-container-high: rgb(208, 214, 210);
  --md-sys-color-surface-container-highest: rgb(194, 200, 196);
  color-scheme: light;
}
:root[data-theme="dark-hc"]{
  --md-sys-color-primary: rgb(180, 255, 232);
  --md-sys-color-surface-tint: rgb(134, 214, 190);
  --md-sys-color-on-primary: rgb(0, 0, 0);
  --md-sys-color-primary-container: rgb(130, 210, 186);
  --md-sys-color-on-primary-container: rgb(0, 14, 10);
  --md-sys-color-secondary: rgb(219, 246, 235);
  --md-sys-color-on-secondary: rgb(0, 0, 0);
  --md-sys-color-secondary-container: rgb(174, 200, 190);
  --md-sys-color-on-secondary-container: rgb(0, 14, 10);
  --md-sys-color-tertiary: rgb(226, 242, 255);
  --md-sys-color-on-tertiary: rgb(0, 0, 0);
  --md-sys-color-tertiary-container: rgb(165, 199, 223);
  --md-sys-color-on-tertiary-container: rgb(0, 13, 22);
  --md-sys-color-error: rgb(255, 236, 233);
  --md-sys-color-on-error: rgb(0, 0, 0);
  --md-sys-color-error-container: rgb(255, 174, 164);
  --md-sys-color-on-error-container: rgb(34, 0, 1);
  --md-sys-color-background: rgb(15, 21, 19);
  --md-sys-color-on-background: rgb(222, 228, 224);
  --md-sys-color-surface: rgb(15, 21, 19);
  --md-sys-color-on-surface: rgb(255, 255, 255);
  --md-sys-color-surface-variant: rgb(63, 73, 69);
  --md-sys-color-on-surface-variant: rgb(255, 255, 255);
  --md-sys-color-outline: rgb(232, 242, 237);
  --md-sys-color-outline-variant: rgb(187, 197, 192);
  --md-sys-color-shadow: rgb(0, 0, 0);
  --md-sys-color-scrim: rgb(0, 0, 0);
  --md-sys-color-inverse-surface: rgb(222, 228, 224);
  --md-sys-color-inverse-on-surface: rgb(0, 0, 0);
  --md-sys-color-inverse-primary: rgb(0, 82, 67);
  --md-sys-color-primary-fixed: rgb(162, 242, 218);
  --md-sys-color-on-primary-fixed: rgb(0, 0, 0);
  --md-sys-color-primary-fixed-dim: rgb(134, 214, 190);
  --md-sys-color-on-primary-fixed-variant: rgb(0, 21, 15);
  --md-sys-color-secondary-fixed: rgb(205, 233, 222);
  --md-sys-color-on-secondary-fixed: rgb(0, 0, 0);
  --md-sys-color-secondary-fixed-dim: rgb(178, 204, 194);
  --md-sys-color-on-secondary-fixed-variant: rgb(0, 21, 15);
  --md-sys-color-tertiary-fixed: rgb(197, 231, 255);
  --md-sys-color-on-tertiary-fixed: rgb(0, 0, 0);
  --md-sys-color-tertiary-fixed-dim: rgb(169, 203, 227);
  --md-sys-color-on-tertiary-fixed-variant: rgb(0, 19, 30);
  --md-sys-color-surface-dim: rgb(15, 21, 19);
  --md-sys-color-surface-bright: rgb(75, 81, 79);
  --md-sys-color-surface-container-lowest: rgb(0, 0, 0);
  --md-sys-color-surface-container-low: rgb(27, 33, 31);
  --md-sys-color-surface-container: rgb(43, 50, 47);
  --md-sys-color-surface-container-high: rgb(54, 61, 58);
  --md-sys-color-surface-container-highest: rgb(66, 72, 69);
  color-scheme: dark;
}

/* ---- Reset & base ---- */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--md-sys-color-surface);
  color:var(--md-sys-color-on-surface);
  font-family:Roboto,"Segoe UI",-apple-system,BlinkMacSystemFont,Arial,sans-serif;
  line-height:1.5;
  -webkit-text-size-adjust:100%;
}
a{color:var(--md-sys-color-primary)}
img{max-width:100%;height:auto;display:block;border-radius:var(--shape-m)}
.wrap{max-width:640px;margin:0 auto;padding:0 20px 48px}

/* ---- Type scale (subset of M3) ---- */
.headline-l{font-size:28px;line-height:36px;font-weight:400;margin:20px 0 8px}
.headline-s{font-size:22px;line-height:28px;font-weight:500;margin:24px 0 8px}
.title-l{font-size:20px;line-height:26px;font-weight:500;margin:0 0 4px}
.title-m{font-size:16px;line-height:22px;font-weight:500}
.body-l{font-size:16px;line-height:24px;font-weight:400}
.body-m{font-size:14px;line-height:20px;font-weight:400;color:var(--md-sys-color-on-surface-variant)}
.label-l{font-size:14px;line-height:20px;font-weight:500;letter-spacing:.1px}

/* ---- Top app bar (small, standalone only) ---- */
.topbar{
  display:flex;align-items:center;gap:12px;
  height:56px;padding:0 16px;
  background:var(--md-sys-color-surface-container);
  position:sticky;top:0;z-index:10;
}
.topbar img.logo{width:32px;height:32px;border-radius:8px;flex:none}
.topbar .app-name{font-size:16px;font-weight:500;color:var(--md-sys-color-on-surface)}

/* ---- Nav chips (horizontal scroll) ---- */
.nav-chips{
  display:flex;gap:8px;overflow-x:auto;padding:12px 16px 4px;
  scrollbar-width:none;
}
.nav-chips::-webkit-scrollbar{display:none}
.chip{
  flex:none;display:inline-flex;align-items:center;
  height:32px;padding:0 14px;border-radius:var(--shape-l);
  font-size:13px;font-weight:500;text-decoration:none;white-space:nowrap;
  border:1px solid var(--md-sys-color-outline-variant);
  color:var(--md-sys-color-on-surface-variant);
}
.chip[aria-current="page"]{
  background:var(--md-sys-color-secondary-container);
  color:var(--md-sys-color-on-secondary-container);
  border-color:transparent;
}

/* ---- Cards & list items ---- */
.card{
  background:var(--md-sys-color-surface-container-low);
  border-radius:var(--shape-l);
  padding:16px;margin:12px 0;
}
details.item{
  background:var(--md-sys-color-surface-container-low);
  border-radius:var(--shape-m);
  margin:8px 0;overflow:hidden;
}
details.item summary{
  list-style:none;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 16px;font-size:15px;font-weight:500;
}
details.item summary::-webkit-details-marker{display:none}
details.item summary .chev{
  flex:none;width:20px;height:20px;
  transition:transform .15s ease;
  color:var(--md-sys-color-on-surface-variant);
}
details.item[open] summary .chev{transform:rotate(180deg)}
details.item .body{padding:0 16px 16px;color:var(--md-sys-color-on-surface-variant);font-size:14px;line-height:22px}
details.item .body p{margin:8px 0}
details.item .body ul,.card .body-m ul{margin:6px 0;padding-left:18px}
details.item .body li,.card .body-m li{margin:2px 0}
.card .body-m p{margin:4px 0}
.card .body-m p:first-child{margin-top:0}
.card .body-m p:last-child{margin-bottom:0}
.subhead{font-size:13px;font-weight:600;color:var(--md-sys-color-on-surface);margin:12px 0 2px}
.subhead:first-child{margin-top:0}

/* ---- Section group label ---- */
.group-label{
  font-size:12px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;
  color:var(--md-sys-color-primary);margin:28px 4px 4px;
}

/* ---- Badge (e.g. NEW / version) ---- */
.badge{
  display:inline-flex;align-items:center;height:24px;padding:0 10px;
  border-radius:8px;font-size:12px;font-weight:600;
  background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container);
  margin-left:8px;
}

/* ---- Buttons ---- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:40px;padding:0 20px;border-radius:20px;
  font-size:14px;font-weight:500;text-decoration:none;border:none;
}
.btn-filled{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}
.btn-tonal{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}
.btn-row{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}

/* ---- Footer ---- */
.site-footer{
  margin-top:32px;padding:20px 4px 0;
  border-top:1px solid var(--md-sys-color-outline-variant);
  font-size:12px;color:var(--md-sys-color-on-surface-variant);
}

/* ---- Embed mode: hide site chrome the host app already provides ---- */
.embed .topbar,
.embed .nav-chips,
.embed .site-footer .standalone-only{display:none}
.embed .wrap{padding-top:16px}

/* ---- Accessibility ---- */
:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}
@media (prefers-reduced-motion: reduce){
  details.item summary .chev{transition:none}
}
