@font-face { font-family: "Cinzel Decorative"; font-weight: 700; font-display: swap; src: url("/fonts/cinzel-decorative-700.woff2") format("woff2"); }
@font-face { font-family: "Cinzel Decorative"; font-weight: 900; font-display: swap; src: url("/fonts/cinzel-decorative-900.woff2") format("woff2"); }
/* Gentium Book Plus (SIL OFL, web/fonts/OFL-gentium.txt) for Greek only: its unicode-range leaves Latin letters to the next font */
@font-face { font-family: "Gentium Book Plus"; font-weight: 400; font-display: swap; src: url("/fonts/gentium-book-plus-400-greek-ext.woff2") format("woff2"); unicode-range: U+1F00-1FFF; }
@font-face { font-family: "Gentium Book Plus"; font-weight: 400; font-display: swap; src: url("/fonts/gentium-book-plus-400-greek.woff2") format("woff2"); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
@font-face { font-family: "Gentium Book Plus"; font-weight: 700; font-display: swap; src: url("/fonts/gentium-book-plus-700-greek-ext.woff2") format("woff2"); unicode-range: U+1F00-1FFF; }
@font-face { font-family: "Gentium Book Plus"; font-weight: 700; font-display: swap; src: url("/fonts/gentium-book-plus-700-greek.woff2") format("woff2"); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
/* Ezra SIL (SIL OFL, web/fonts/OFL-ezra.txt) for Hebrew only: made for the Hebrew Bible's points and cantillation */
@font-face { font-family: "Ezra SIL"; font-display: swap; src: url("/fonts/SILEOT.ttf") format("truetype"); unicode-range: U+0590-05FF, U+FB1D-FB4F; size-adjust: 118%; }

/* Lectio — themes: bw (black on white), dark (white on black), blue (black on a pale blue), and the colourful ones
   (web/js/themes.js lists them all) */
:root, [data-theme="bw"] {
  --bg: #ffffff; --fg: #111111; --muted: #666666; --faint: #999999;
  --surface: #ffffff; --surface-2: #f5f5f5; --border: #dddddd; --border-strong: #111111;
  --accent: #111111; --accent-fg: #ffffff; --good: #1d6b35; --bad: #a3261d;
  --hl-yellow: #fff1a8; --hl-green: #cdeccf; --hl-blue: #cfe3fb; --hl-pink: #f8d3e1; --hl-fg: #111111;
  --shadow: 0 6px 24px rgba(0,0,0,.14);
  --style: #1f5fa8;
}
[data-theme="dark"] {
  --bg: #0d0d0d; --fg: #eeeeee; --muted: #a3a3a3; --faint: #777777;
  --surface: #151515; --surface-2: #1e1e1e; --border: #333333; --border-strong: #eeeeee;
  --accent: #eeeeee; --accent-fg: #0d0d0d; --good: #6fce8b; --bad: #ff8a80;
  --hl-yellow: #fff1a8; --hl-green: #cdeccf; --hl-blue: #cfe3fb; --hl-pink: #f8d3e1; --hl-fg: #111111;
  --shadow: 0 6px 24px rgba(0,0,0,.6);
  --style: #8ab4f8;
}
[data-theme="blue"] {
  --bg: #eef5fc; --fg: #111111; --muted: #4a5a6e; --faint: #8394a8;
  --surface: #f7fbff; --surface-2: #e1edf9; --border: #c3d7ec; --border-strong: #111111;
  --accent: #111111; --accent-fg: #ffffff; --good: #1d6b35; --bad: #a3261d;
  --hl-yellow: #fff1a8; --hl-green: #cdeccf; --hl-blue: #cfe3fb; --hl-pink: #f8d3e1; --hl-fg: #111111;
  --shadow: 0 6px 24px rgba(20,60,110,.14);
  --style: #1f5fa8;
}
[data-theme="blue-dark"] {  /* Light blue's dark version: pale text on a deep blue (not black) */
  --bg: #111b26; --fg: #e3eaf2; --muted: #9fb0c3; --faint: #6f8297;
  --surface: #172331; --surface-2: #1e2c3d; --border: #2b3c51; --border-strong: #e3eaf2;
  --accent: #e3eaf2; --accent-fg: #111b26; --good: #8cc49a; --bad: #e58f84;
  --hl-yellow: #e6d49a; --hl-green: #b9d6b9; --hl-blue: #b5cbe0; --hl-pink: #e3bfc4; --hl-fg: #111b26;
  --shadow: 0 6px 24px rgba(0,0,0,.5);
  --style: #8fb6e0;
}
/* The colourful themes: each a palette from one colour scheme, muted (nothing bright), on a ground that suits it.
   --c1 the main colour (buttons, the page you are on, headings), --c2 its complement (section headings, Review),
   --c3 and --c4 the two that complete the scheme (tints only); -deep a darker shade for text, -tint a pale one for
   grounds.  The rules they share are at the end of this file, under [data-colorful]. */
[data-theme="friendly"] {  /* Teal & Terracotta: split-complementary (teal, its complement terracotta, ochre and sage), warm paper */
  --bg: #f7f4ee; --fg: #2a2826; --muted: #6b645b; --faint: #9a9184;
  --surface: #fffdf9; --surface-2: #efe9df; --border: #e2d9cb; --border-strong: #3c5a5c;
  --accent: #2f6b6e; --accent-fg: #fffdf9; --good: #3f7a4c; --bad: #a8473a;
  --hl-yellow: #f4e3a8; --hl-green: #d3e4cc; --hl-blue: #cfe1e6; --hl-pink: #f0d3c8; --hl-fg: #2a2826;
  --shadow: 0 8px 26px rgba(60,50,35,.13); --style: #2f6b6e;
  --c1: #2f6b6e; --c1-deep: #23484b; --c1-tint: #e3eeec;
  --c2: #b5603c; --c2-deep: #8f4a2e; --c2-tint: #f6e9e0;
  --c3: #b8892f; --c3-tint: #f5eedb;
  --c4: #6f8f6a; --c4-tint: #e9efe4;
  --topbar: #f1ece3; --line: #cdbfac; --sel: #d9e7e5; --h3: #4f6466;
}
[data-theme="sage-rose"] {  /* Sage & Rose: complementary (a muted green and a dusty rose), with old gold and slate, on cream */
  --bg: #f8f6f0; --fg: #2a2a27; --muted: #67645c; --faint: #9a958a;
  --surface: #fffefa; --surface-2: #eeebe2; --border: #e0dbcf; --border-strong: #3f5c46;
  --accent: #4f7a5a; --accent-fg: #fffefa; --good: #3f7a4c; --bad: #a5463f;
  --hl-yellow: #f2e4ad; --hl-green: #d5e6d4; --hl-blue: #d6e0ec; --hl-pink: #f1d6d6; --hl-fg: #2a2a27;
  --shadow: 0 8px 26px rgba(55,55,40,.12); --style: #4f7a5a;
  --c1: #4f7a5a; --c1-deep: #36573f; --c1-tint: #e5eee6;
  --c2: #b0646a; --c2-deep: #8a4a50; --c2-tint: #f5e7e7;
  --c3: #b39350; --c3-tint: #f3eddc;
  --c4: #5f7593; --c4-tint: #e6ebf2;
  --topbar: #f0ede4; --line: #cbc5b5; --sel: #dbe8dd; --h3: #4d5f52;
}
[data-theme="slate-ochre"] {  /* Slate & Ochre: complementary (a greyed blue and its orange), with dusty teal and clay, on warm grey */
  --bg: #f5f4f1; --fg: #26282c; --muted: #626670; --faint: #959aa3;
  --surface: #fdfdfb; --surface-2: #ebe9e4; --border: #dcd9d2; --border-strong: #2c4566;
  --accent: #3f5f86; --accent-fg: #fdfdfb; --good: #3f7a4c; --bad: #a8473a;
  --hl-yellow: #f3e3a9; --hl-green: #d3e6dc; --hl-blue: #d5e0ee; --hl-pink: #f0d9cf; --hl-fg: #26282c;
  --shadow: 0 8px 26px rgba(35,45,60,.13); --style: #3f5f86;
  --c1: #3f5f86; --c1-deep: #2c4566; --c1-tint: #e4eaf2;
  --c2: #b7832e; --c2-deep: #8c6120; --c2-tint: #f5ecd8;
  --c3: #4f8a8a; --c3-tint: #e2eeee;
  --c4: #b0705a; --c4-tint: #f3e6df;
  --topbar: #eceae5; --line: #c6c3bb; --sel: #d8e1ee; --h3: #4d5a6b;
}
[data-theme="plum-olive"] {  /* Plum & Olive: complementary (a greyed violet and its yellow-green), with rose-taupe and mist blue */
  --bg: #f7f5f3; --fg: #2b2730; --muted: #69636d; --faint: #9b95a0;
  --surface: #fefdfc; --surface-2: #eeeae7; --border: #e1dbd7; --border-strong: #4e3456;
  --accent: #6a4a73; --accent-fg: #fefdfc; --good: #4f7a3f; --bad: #a8473a;
  --hl-yellow: #f1e5ad; --hl-green: #dfe6cc; --hl-blue: #d9e1ee; --hl-pink: #eedbe2; --hl-fg: #2b2730;
  --shadow: 0 8px 26px rgba(60,45,65,.12); --style: #6a4a73;
  --c1: #6a4a73; --c1-deep: #4e3456; --c1-tint: #efe7f1;
  --c2: #7d8a3c; --c2-deep: #5b6629; --c2-tint: #eef0de;
  --c3: #a8746a; --c3-tint: #f3e8e4;
  --c4: #5e7493; --c4-tint: #e6ebf2;
  --topbar: #efebe8; --line: #cbc3c4; --sel: #e6dcea; --h3: #5b4d63;
}
[data-theme="seaside"] {  /* Seaside: ocean turquoise and its complement coral, with sand gold and seafoam, on sand under a pale sky */
  --bg: #f6efe0; --fg: #1f3340; --muted: #5d6b70; --faint: #93999a;
  --surface: #fffaf0; --surface-2: #efe4cf; --border: #e3d6bc; --border-strong: #0f5f66;
  --accent: #1a8a93; --accent-fg: #fffaf0; --good: #2f7d53; --bad: #b4443d;
  --hl-yellow: #f6e3a3; --hl-green: #cfeadf; --hl-blue: #cde8ea; --hl-pink: #f6d3c6; --hl-fg: #1f3340;
  --shadow: 0 8px 26px rgba(20,60,70,.14); --style: #1a8a93;
  --c1: #1a8a93; --c1-deep: #0f5f66; --c1-tint: #dcf0ef;
  --c2: #e0704f; --c2-deep: #a74729; --c2-tint: #fbe6dd;
  --c3: #d1a24a; --c3-tint: #f6ead0;
  --c4: #6fb7a2; --c4-tint: #e2f2ec;
  --topbar: #e3f1ef; --bg-image: linear-gradient(180deg, #e8f5f3 0, #f6efe0 340px);
  --line: #d8c6a4; --sel: #cfe9e7; --h3: #2e5c63;
}
[data-theme="sunset"] {  /* Sunset: burnt orange and its complement dusky violet, with golden-hour amber and rose, on peach */
  --bg: #fbf0e8; --fg: #2e1f2b; --muted: #6e5a63; --faint: #a08f95;
  --surface: #fffaf6; --surface-2: #f6e2d6; --border: #ecd3c4; --border-strong: #9e4320;
  --accent: #d0612f; --accent-fg: #fffaf6; --good: #3f7a4c; --bad: #b03b3b;
  --hl-yellow: #f8e2a6; --hl-green: #d9e8cf; --hl-blue: #dcd8ef; --hl-pink: #f6d0da; --hl-fg: #2e1f2b;
  --shadow: 0 8px 26px rgba(90,40,30,.14); --style: #6d4c8a;
  --c1: #d0612f; --c1-deep: #9e4320; --c1-tint: #fbe3d6;
  --c2: #6d4c8a; --c2-deep: #4f3566; --c2-tint: #ece4f3;
  --c3: #e0a53b; --c3-tint: #fbefd4;
  --c4: #c4577a; --c4-tint: #f8e1e8;
  --topbar: #fbe4d6; --bg-image: linear-gradient(180deg, #fde5d4 0, #fbf0e8 360px);
  --line: #dfc0ae; --sel: #f6d5c3; --h3: #6a4a5c;
}
[data-theme="beach-sunset"] {  /* Beach Sunset: deep-sea blue and sunset coral, with golden light and a lilac sky, on warm sand */
  --bg: #fbf1e6; --fg: #233041; --muted: #5f6878; --faint: #969cab;
  --surface: #fffaf4; --surface-2: #f4e4d6; --border: #ead6c6; --border-strong: #164f63;
  --accent: #1f6f8b; --accent-fg: #fffaf4; --good: #2f7d53; --bad: #b4443d;
  --hl-yellow: #f8e3a6; --hl-green: #d3e9dc; --hl-blue: #d2e5ee; --hl-pink: #f7d4cf; --hl-fg: #233041;
  --shadow: 0 8px 26px rgba(40,50,80,.14); --style: #1f6f8b;
  --c1: #1f6f8b; --c1-deep: #164f63; --c1-tint: #dceef4;
  --c2: #e46f61; --c2-deep: #a54439; --c2-tint: #fbe2de;
  --c3: #f0b252; --c3-tint: #fcefd6;
  --c4: #9b7fbf; --c4-tint: #eee6f6;
  --topbar: #fbe3d9; --bg-image: linear-gradient(180deg, #fde0d6 0, #fcecd8 220px, #fbf1e6 440px);
  --line: #e2c9b6; --sel: #f7d9cf; --h3: #3d5c6f;
}
[data-theme="pine-mountain"] {  /* Pine & Mountain: pine green and its warm complement cedar bark, with stone blue and lichen, in mist */
  --bg: #f1f3ef; --fg: #1f2a24; --muted: #57645b; --faint: #8b978e;
  --surface: #fbfcfa; --surface-2: #e4e9e2; --border: #d4dcd2; --border-strong: #1f4a30;
  --accent: #2f6a46; --accent-fg: #fbfcfa; --good: #2f6a46; --bad: #a8473a;
  --hl-yellow: #efe3a8; --hl-green: #d0e5d5; --hl-blue: #d3e0ec; --hl-pink: #efd8cf; --hl-fg: #1f2a24;
  --shadow: 0 8px 26px rgba(25,45,35,.14); --style: #5d7a96;
  --c1: #2f6a46; --c1-deep: #1f4a30; --c1-tint: #e0ece3;
  --c2: #9a5a34; --c2-deep: #74411f; --c2-tint: #f1e5da;
  --c3: #5d7a96; --c3-tint: #e4ebf2;
  --c4: #8a9a4b; --c4-tint: #edf0dc;
  --topbar: #e0e9e2; --bg-image: linear-gradient(180deg, #e2eae5 0, #f1f3ef 320px);
  --line: #c5cfc3; --sel: #d3e4d8; --h3: #3c5244;
}
[data-theme="italia"] {  /* Italia: Mediterranean blue and terracotta roofs, with lemon and olive, on warm stucco */
  --bg: #f8f1e3; --fg: #2f2622; --muted: #6c5d52; --faint: #9e8f82;
  --surface: #fffaf0; --surface-2: #f0e3cd; --border: #e5d4b6; --border-strong: #173f66;
  --accent: #22598c; --accent-fg: #fffaf0; --good: #4f7a2f; --bad: #b03b2b;
  --hl-yellow: #f7e39d; --hl-green: #e0e8c8; --hl-blue: #d5e1ee; --hl-pink: #f4d4c6; --hl-fg: #2f2622;
  --shadow: 0 8px 26px rgba(70,45,25,.14); --style: #22598c;
  --c1: #22598c; --c1-deep: #173f66; --c1-tint: #dfe8f2;
  --c2: #c1532f; --c2-deep: #94391d; --c2-tint: #f8e2d7;
  --c3: #e2b33b; --c3-tint: #faefcf;
  --c4: #6f7d32; --c4-tint: #ecefd9;
  --topbar: #f5e6d8; --bg-image: linear-gradient(180deg, #f6e6d8 0, #f8f1e3 320px);
  --line: #dbc6a3; --sel: #f5ddcf; --h3: #5a4636;
}
[data-theme="romantic"] {  /* Romantic: wine and dusty rose, with antique gold and mauve, on blush ivory */
  --bg: #faf1ef; --fg: #34222a; --muted: #6e5560; --faint: #a08c94;
  --surface: #fffaf8; --surface-2: #f3e2e1; --border: #ead3d3; --border-strong: #5e1f33;
  --accent: #7a2840; --accent-fg: #fffaf8; --good: #4f7a4f; --bad: #b23a3a;
  --hl-yellow: #f6e2a8; --hl-green: #dbe8d6; --hl-blue: #dfe0ef; --hl-pink: #f6d3da; --hl-fg: #34222a;
  --shadow: 0 8px 26px rgba(80,30,45,.14); --style: #7a2840;
  --c1: #7a2840; --c1-deep: #5e1f33; --c1-tint: #f4dfe4;
  --c2: #c4707f; --c2-deep: #9c4f5d; --c2-tint: #f8e2e6;
  --c3: #b8924a; --c3-tint: #f5ecd8;
  --c4: #8a6f9e; --c4-tint: #ece5f2;
  --topbar: #f6e0e2; --bg-image: linear-gradient(180deg, #f8e1e3 0, #faf1ef 320px);
  --line: #e0c4c6; --sel: #f4d6dc; --h3: #5e3a48;
}
[data-theme="friendly-dark"] {  /* Teal and terracotta on a deep teal-brown: the dark version (the ground a deep shade of its own colour) */
  --bg: #122323; --fg: #e1eaea; --muted: #abb9ba; --faint: #7b8d8e;
  --surface: #1b2e2f; --surface-2: #263a3b; --border: #364d4e; --border-strong: #7ec5c8;
  --accent: #7ec5c8; --accent-fg: #122323; --good: #8cc49a; --bad: #e58f84;
  --hl-yellow: #e6d49a; --hl-green: #b9d6b9; --hl-blue: #b5cbe0; --hl-pink: #e3bfc4; --hl-fg: #122323;
  --shadow: 0 8px 26px rgba(0,0,0,.45); --style: #e3bbab;
  --c1: #7ec5c8; --c1-deep: #b8dfe0; --c1-tint: #244142;
  --c2: #d19175; --c2-deep: #e3bbab; --c2-tint: #422d24;
  --c3: #d6b371; --c3-tint: #423824;
  --c4: #8ec186; --c4-tint: #2d3b2b;
  --topbar: #0f1c1d;
  --bg-image: linear-gradient(180deg, #1a3132 0, #122323 360px);
  --line: #435f60; --sel: #326567; --h3: #b8cbcc;
}
[data-theme="sage-rose-dark"] {  /* Sage and rose on a deep forest: the dark version (the ground a deep shade of its own colour) */
  --bg: #152118; --fg: #e1eae3; --muted: #abbaaf; --faint: #7b8e80;
  --surface: #1d2d21; --surface-2: #263b2b; --border: #364e3c; --border-strong: #86c195;
  --accent: #86c195; --accent-fg: #152118; --good: #8cc49a; --bad: #e58f84;
  --hl-yellow: #e6d49a; --hl-green: #b9d6b9; --hl-blue: #b5cbe0; --hl-pink: #e3bfc4; --hl-fg: #152118;
  --shadow: 0 8px 26px rgba(0,0,0,.45); --style: #d9b5b8;
  --c1: #86c195; --c1-deep: #bddbc5; --c1-tint: #283e2e;
  --c2: #c1858a; --c2-deep: #d9b5b8; --c2-tint: #422426;
  --c3: #c7b07f; --c3-tint: #423824;
  --c4: #869fc1; --c4-tint: #28313e;
  --topbar: #111a13;
  --bg-image: linear-gradient(180deg, #1e2e22 0, #152118 360px);
  --line: #43604a; --sel: #3c5d45; --h3: #b8ccbd;
}
[data-theme="plum-olive-dark"] {  /* Plum and olive on a deep aubergine: the dark version (the ground a deep shade of its own colour) */
  --bg: #1e1521; --fg: #e8e1ea; --muted: #b7abba; --faint: #8a7b8e;
  --surface: #291d2d; --surface-2: #36263b; --border: #49364e; --border-strong: #b486c1;
  --accent: #b486c1; --accent-fg: #1e1521; --good: #8cc49a; --bad: #e58f84;
  --hl-yellow: #e6d49a; --hl-green: #b9d6b9; --hl-blue: #b5cbe0; --hl-pink: #e3bfc4; --hl-fg: #1e1521;
  --shadow: 0 8px 26px rgba(0,0,0,.45); --style: #d6ddb1;
  --c1: #b486c1; --c1-deep: #d5bddb; --c1-tint: #39283e;
  --c2: #bbc77f; --c2-deep: #d6ddb1; --c2-tint: #3d4224;
  --c3: #c18f86; --c3-tint: #402a26;
  --c4: #869ec1; --c4-tint: #28313e;
  --topbar: #18111a;
  --bg-image: linear-gradient(180deg, #2b1e2f 0, #1e1521 360px);
  --line: #5a4360; --sel: #563c5d; --h3: #c7b8cc;
}
[data-theme="seaside-dark"] {  /* Turquoise and coral on a night sea: the dark version (the ground a deep shade of its own colour) */
  --bg: #122223; --fg: #e1e9ea; --muted: #abb9ba; --faint: #7b8d8e;
  --surface: #1b2d2f; --surface-2: #263a3b; --border: #364c4e; --border-strong: #71ced6;
  --accent: #71ced6; --accent-fg: #122223; --good: #8cc49a; --bad: #e58f84;
  --hl-yellow: #e6d49a; --hl-green: #b9d6b9; --hl-blue: #b5cbe0; --hl-pink: #e3bfc4; --hl-fg: #122223;
  --shadow: 0 8px 26px rgba(0,0,0,.45); --style: #e6b6a8;
  --c1: #71ced6; --c1-deep: #b3e2e6; --c1-tint: #244042;
  --c2: #d68871; --c2-deep: #e6b6a8; --c2-tint: #422b24;
  --c3: #d6b371; --c3-tint: #423824;
  --c4: #85c2b0; --c4-tint: #244239;
  --topbar: #0f1c1d;
  --bg-image: linear-gradient(180deg, #1a3132 0, #122223 360px);
  --line: #435e60; --sel: #326367; --h3: #b8cacc;
}
[data-theme="sunset-dark"] {  /* Orange and violet on dusk: the dark version (the ground a deep shade of its own colour) */
  --bg: #1b1323; --fg: #e6e1ea; --muted: #b3abba; --faint: #857b8e;
  --surface: #261b2f; --surface-2: #31263b; --border: #43364e; --border-strong: #d69071;
  --accent: #d69071; --accent-fg: #1b1323; --good: #8cc49a; --bad: #e58f84;
  --hl-yellow: #e6d49a; --hl-green: #b9d6b9; --hl-blue: #b5cbe0; --hl-pink: #e3bfc4; --hl-fg: #1b1323;
  --shadow: 0 8px 26px rgba(0,0,0,.45); --style: #c8b6d8;
  --c1: #d69071; --c1-deep: #e6c2b3; --c1-tint: #422d24;
  --c2: #a586c1; --c2-deep: #c8b6d8; --c2-tint: #342442;
  --c3: #d6b271; --c3-tint: #423724;
  --c4: #cf7793; --c4-tint: #42242e;
  --topbar: #160f1c;
  --bg-image: linear-gradient(180deg, #271b31 0, #1b1323 360px);
  --line: #534360; --sel: #674232; --h3: #c2b8cc;
}
[data-theme="beach-sunset-dark"] {  /* Sea blue and coral on a twilight shore: the dark version (the ground a deep shade of its own colour) */
  --bg: #121f23; --fg: #e1e8ea; --muted: #abb6ba; --faint: #7b898e;
  --surface: #1b2a2f; --surface-2: #26363b; --border: #36484e; --border-strong: #71bcd6;
  --accent: #71bcd6; --accent-fg: #121f23; --good: #8cc49a; --bad: #e58f84;
  --hl-yellow: #e6d49a; --hl-green: #b9d6b9; --hl-blue: #b5cbe0; --hl-pink: #e3bfc4; --hl-fg: #121f23;
  --shadow: 0 8px 26px rgba(0,0,0,.45); --style: #e6afa8;
  --c1: #71bcd6; --c1-deep: #b3d8e6; --c1-tint: #243a42;
  --c2: #d67c71; --c2-deep: #e6afa8; --c2-tint: #422724;
  --c3: #d6ae71; --c3-tint: #423624;
  --c4: #9f85c2; --c4-tint: #312442;
  --topbar: #0f191d;
  --bg-image: linear-gradient(180deg, #1a2c32 0, #121f23 360px);
  --line: #435960; --sel: #325967; --h3: #b8c7cc;
}
[data-theme="pine-mountain-dark"] {  /* Pine and cedar on a dark forest: the dark version (the ground a deep shade of its own colour) */
  --bg: #122319; --fg: #e1eae4; --muted: #abbab1; --faint: #7b8e82;
  --surface: #1b2f23; --surface-2: #263b2e; --border: #364e40; --border-strong: #80c79b;
  --accent: #80c79b; --accent-fg: #122319; --good: #8cc49a; --bad: #e58f84;
  --hl-yellow: #e6d49a; --hl-green: #b9d6b9; --hl-blue: #b5cbe0; --hl-pink: #e3bfc4; --hl-fg: #122319;
  --shadow: 0 8px 26px rgba(0,0,0,.45); --style: #e3c0ab;
  --c1: #80c79b; --c1-deep: #b8e0c8; --c1-tint: #244230;
  --c2: #d19876; --c2-deep: #e3c0ab; --c2-tint: #422f24;
  --c3: #86a4c1; --c3-tint: #27333f;
  --c4: #b6c384; --c4-tint: #3c4224;
  --topbar: #0f1d14;
  --bg-image: linear-gradient(180deg, #1a3224 0, #122319 360px);
  --line: #43604e; --sel: #326747; --h3: #b8ccc0;
}
[data-theme="italia-dark"] {  /* Blue and terracotta on a Roman night: the dark version (the ground a deep shade of its own colour) */
  --bg: #231612; --fg: #eae3e1; --muted: #baafab; --faint: #8e807b;
  --surface: #2f201b; --surface-2: #3b2b26; --border: #4e3c36; --border-strong: #71a5d6;
  --accent: #71a5d6; --accent-fg: #231612; --good: #8cc49a; --bad: #e58f84;
  --hl-yellow: #e6d49a; --hl-green: #b9d6b9; --hl-blue: #b5cbe0; --hl-pink: #e3bfc4; --hl-fg: #231612;
  --shadow: 0 8px 26px rgba(0,0,0,.45); --style: #e6b7a8;
  --c1: #71a5d6; --c1-deep: #b3cde6; --c1-tint: #243442;
  --c2: #d68a71; --c2-deep: #e6b7a8; --c2-tint: #422b24;
  --c3: #d6b971; --c3-tint: #423a24;
  --c4: #bccb7c; --c4-tint: #3d4224;
  --topbar: #1d120f;
  --bg-image: linear-gradient(180deg, #32201a 0, #231612 360px);
  --line: #604a43; --sel: #324e67; --h3: #ccbdb8;
}
[data-theme="romantic-dark"] {  /* Wine and rose by candlelight: the dark version (the ground a deep shade of its own colour) */
  --bg: #231217; --fg: #eae1e4; --muted: #baabaf; --faint: #8e7b81;
  --surface: #2f1b21; --surface-2: #3b262c; --border: #4e363d; --border-strong: #d27590;
  --accent: #d27590; --accent-fg: #231217; --good: #8cc49a; --bad: #e58f84;
  --hl-yellow: #e6d49a; --hl-green: #b9d6b9; --hl-blue: #b5cbe0; --hl-pink: #e3bfc4; --hl-fg: #231217;
  --shadow: 0 8px 26px rgba(0,0,0,.45); --style: #ecc4c4;
  --c1: #d27590; --c1-deep: #e6b3c1; --c1-tint: #42242d;
  --c2: #dfa0a0; --c2-deep: #ecc4c4; --c2-tint: #422429;
  --c3: #cbb07b; --c3-tint: #423824;
  --c4: #a886c1; --c4-tint: #34293d;
  --topbar: #1d0f13;
  --bg-image: linear-gradient(180deg, #321a21 0, #231217 360px);
  --line: #60434c; --sel: #673241; --h3: #ccb8be;
}

[data-theme="evening"] {  /* Evening: complementary brass and slate-teal on deep navy, with clay and moss; for night reading */
  --bg: #141922; --fg: #e8e4da; --muted: #a8a397; --faint: #7c786f;
  --surface: #1b2230; --surface-2: #232c3c; --border: #2f3a4d; --border-strong: #c8a25e;
  --accent: #c8a25e; --accent-fg: #141922; --good: #8cc49a; --bad: #e58f84;
  --hl-yellow: #e6d49a; --hl-green: #b9d6b9; --hl-blue: #b5cbe0; --hl-pink: #e3bfc4; --hl-fg: #141922;
  --shadow: 0 8px 26px rgba(0,0,0,.5); --style: #9cc3d0;
  --c1: #c8a25e; --c1-deep: #e2c48a; --c1-tint: #2b2a26;
  --c2: #6f9fb0; --c2-deep: #9cc3d0; --c2-tint: #1d2b33;
  --c3: #b98a6a; --c3-tint: #2d2522;
  --c4: #8aa67f; --c4-tint: #212a22;
  --topbar: #11161e; --line: #3a465b; --sel: #3a4a5e; --h3: #b9c3cf;
}

/* Color roles shared by the multicolor palettes. The plain themes retain their own treatment. */
[data-colorful="true"] {
  --accent: var(--c1-deep);
  --theme-action: var(--c1-deep);
  --theme-secondary-action: var(--c2-deep);
  --theme-wash: 72%;
}
[data-colorful="true"][data-dark="true"] {
  --accent: var(--c1);
  --theme-action: var(--c1);
  --theme-secondary-action: var(--c2);
  --theme-wash: 45%;
}
