aboutsummaryrefslogtreecommitdiff
path: root/internal/web/static
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-07-23 21:22:45 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-07-23 21:22:45 +0200
commit138c03e34489e8e04f135546ef680e0fa79a6c32 (patch)
treeb6c3a0b675565137f70355f903a2e1010215f236 /internal/web/static
parenta7e3ad33070dee77fd7a7796a1e6da9a762440e5 (diff)
downloadlectio-138c03e34489e8e04f135546ef680e0fa79a6c32.tar.gz
lectio-138c03e34489e8e04f135546ef680e0fa79a6c32.zip
web: distinct per-theme fonts + bolder accents; memento_mori bare monospace
Diffstat (limited to 'internal/web/static')
-rw-r--r--internal/web/static/base.css9
-rw-r--r--internal/web/static/themes/advent.css3
-rw-r--r--internal/web/static/themes/benedictines.css1
-rw-r--r--internal/web/static/themes/desert_fathers.css3
-rw-r--r--internal/web/static/themes/dominicans.css1
-rw-r--r--internal/web/static/themes/easter.css1
-rw-r--r--internal/web/static/themes/epiphany.css1
-rw-r--r--internal/web/static/themes/franciscans.css3
-rw-r--r--internal/web/static/themes/lent.css1
-rw-r--r--internal/web/static/themes/marian.css3
-rw-r--r--internal/web/static/themes/memento_mori.css22
-rw-r--r--internal/web/static/themes/nativity.css1
-rw-r--r--internal/web/static/themes/ordinary.css3
-rw-r--r--internal/web/static/themes/pentecost.css1
-rw-r--r--internal/web/static/themes/transfiguration.css1
15 files changed, 39 insertions, 15 deletions
diff --git a/internal/web/static/base.css b/internal/web/static/base.css
index e66610e..4e942d5 100644
--- a/internal/web/static/base.css
+++ b/internal/web/static/base.css
@@ -14,6 +14,15 @@
--font-reading: var(--theme-font, Georgia, "Iowan Old Style", "Palatino Linotype", "Book Antiqua", serif);
--font-ui: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
--font-mono: ui-monospace, "Cascadia Code", "SF Mono", "Roboto Mono", Menlo, Consolas, monospace;
+ /* Named font-family palette: a theme selects a reading face by setting
+ * --theme-font to one of these (see docs/THEMES.md). System-font stacks
+ * only -- no webfonts (CSP). */
+ --font-serif: Georgia, "Times New Roman", serif;
+ --font-serif-old: "Palatino Linotype", Palatino, "Book Antiqua", serif;
+ --font-serif-classic: "Times New Roman", "Liberation Serif", serif;
+ --font-serif-iowan: "Iowan Old Style", "Palatino Linotype", Georgia, serif;
+ --font-sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
+ --font-sans-humanist: "Trebuchet MS", "Segoe UI", Verdana, sans-serif;
--measure: 42rem;
--space-1: 0.5rem;
--space-2: 1rem;
diff --git a/internal/web/static/themes/advent.css b/internal/web/static/themes/advent.css
index 0378d7c..df84fde 100644
--- a/internal/web/static/themes/advent.css
+++ b/internal/web/static/themes/advent.css
@@ -5,10 +5,11 @@
--bg: #241b33;
--fg: #e6e0ef;
--muted: #7a7088;
- --accent: #8a6db0; /* violet */
+ --accent: #9a63d6; /* violet */
--link: #9a86c0;
--refrain: #b0708a; /* rose */
--border: #372c4a;
+ --theme-font: var(--font-serif-classic);
}
.heading {
diff --git a/internal/web/static/themes/benedictines.css b/internal/web/static/themes/benedictines.css
index 5c628b5..99a0132 100644
--- a/internal/web/static/themes/benedictines.css
+++ b/internal/web/static/themes/benedictines.css
@@ -9,6 +9,7 @@
--link: #b08d3a;
--refrain: #a68b4a;
--border: #2e261c;
+ --theme-font: var(--font-serif-old);
}
.heading {
diff --git a/internal/web/static/themes/desert_fathers.css b/internal/web/static/themes/desert_fathers.css
index 0fc9583..e66f835 100644
--- a/internal/web/static/themes/desert_fathers.css
+++ b/internal/web/static/themes/desert_fathers.css
@@ -5,10 +5,11 @@
--bg: #ede4d3; /* sand */
--fg: #4a3f2f; /* umber */
--muted: #8a7a5f;
- --accent: #b8894a; /* ochre */
+ --accent: #bd7a24; /* ochre */
--link: #7d6b47;
--refrain: #9a7b3f;
--border: #cbbfa6;
+ --theme-font: var(--font-serif-iowan);
}
.heading {
diff --git a/internal/web/static/themes/dominicans.css b/internal/web/static/themes/dominicans.css
index 28f82f6..9523912 100644
--- a/internal/web/static/themes/dominicans.css
+++ b/internal/web/static/themes/dominicans.css
@@ -9,6 +9,7 @@
--link: #383838; /* dark grey */
--refrain: #4d4d4a; /* grey */
--border: #dcdad4;
+ --theme-font: var(--font-serif-classic);
}
.heading {
diff --git a/internal/web/static/themes/easter.css b/internal/web/static/themes/easter.css
index 258a38c..0c7eac1 100644
--- a/internal/web/static/themes/easter.css
+++ b/internal/web/static/themes/easter.css
@@ -9,6 +9,7 @@
--link: #4a8a9a;
--refrain: #c9a227;
--border: #ece7d8;
+ --theme-font: var(--font-serif-iowan);
}
.heading {
diff --git a/internal/web/static/themes/epiphany.css b/internal/web/static/themes/epiphany.css
index 6f6a96e..97d1cc5 100644
--- a/internal/web/static/themes/epiphany.css
+++ b/internal/web/static/themes/epiphany.css
@@ -9,6 +9,7 @@
--link: #8fa2d8; /* cool starlight blue */
--refrain: #c9a94e; /* deeper gold */
--border: #262f4a;
+ --theme-font: var(--font-serif);
}
.heading {
diff --git a/internal/web/static/themes/franciscans.css b/internal/web/static/themes/franciscans.css
index 212204c..1154182 100644
--- a/internal/web/static/themes/franciscans.css
+++ b/internal/web/static/themes/franciscans.css
@@ -5,10 +5,11 @@
--bg: #31271f; /* undyed brown, dark */
--fg: #e0d5c3;
--muted: #9c8b76;
- --accent: #a8703a; /* tau/terracotta */
+ --accent: #b56626; /* tau/terracotta */
--link: #7a8a5a; /* olive */
--refrain: #8a9b6a; /* olive */
--border: #4d3f33;
+ --theme-font: var(--font-sans-humanist);
}
.heading {
diff --git a/internal/web/static/themes/lent.css b/internal/web/static/themes/lent.css
index c4fb929..144dc22 100644
--- a/internal/web/static/themes/lent.css
+++ b/internal/web/static/themes/lent.css
@@ -9,6 +9,7 @@
--link: #86788f;
--refrain: #8a6a72; /* dried rose */
--border: #3a3440;
+ --theme-font: var(--font-serif);
}
.heading {
diff --git a/internal/web/static/themes/marian.css b/internal/web/static/themes/marian.css
index 776b116..81d75a0 100644
--- a/internal/web/static/themes/marian.css
+++ b/internal/web/static/themes/marian.css
@@ -5,10 +5,11 @@
--bg: #f3f6fb; /* white robe, faint blue */
--fg: #23303f; /* navy ink */
--muted: #7f8ea3; /* dusty blue-grey */
- --accent: #2f5fa6; /* Marian blue */
+ --accent: #255fbf; /* Marian blue */
--link: #3a6fb5;
--refrain: #b08d3a; /* gold crown */
--border: #d3dced;
+ --theme-font: var(--font-serif-old);
}
.heading {
diff --git a/internal/web/static/themes/memento_mori.css b/internal/web/static/themes/memento_mori.css
index f6e5174..c7fd053 100644
--- a/internal/web/static/themes/memento_mori.css
+++ b/internal/web/static/themes/memento_mori.css
@@ -1,16 +1,18 @@
-/* memento_mori -- religious-order palette, dark greyscale. Colour only;
- * see docs/THEMES.md. `#7a4a42` (dried blood) is reserved for the
+/* memento_mori -- bare monospace, no role colours. Colour only; see
+ * docs/THEMES.md. Every reading role resolves to the same plain
+ * foreground -- no accent/muted/refrain distinction, just bare text on a
+ * neutral dark ground. `#7a4a42` (dried blood) is reserved for the
* error/alert accent only -- it must not be used for any other role.
*/
:root {
- --bg: #1a1a1a; /* ash */
- --fg: #d8d4cc; /* bone */
- --muted: #6b6862;
- --accent: #c4bdb0; /* bone */
- --link: #9a968e;
- --refrain: #8a8680;
- --border: #333330;
- --error: #7a4a42; /* dried blood -- error/alert accent only */
+ --bg: #121212; /* austere near-black */
+ --fg: #c9c9c9; /* plain bone-grey */
+ --muted: #c9c9c9; /* = fg (verse numbers + citation render same as body) */
+ --accent: #c9c9c9; /* = fg (headings distinguished only by base.css bold/size) */
+ --link: #c9c9c9; /* = fg */
+ --refrain: #c9c9c9; /* = fg */
+ --border: #2a2a2a;
+ --error: #7a4a42; /* dried blood -- the only colour, error role only */
/* the one non-colour override: a monospace reading face (see base.css). */
--theme-font: var(--font-mono);
}
diff --git a/internal/web/static/themes/nativity.css b/internal/web/static/themes/nativity.css
index a808f4f..a97fee4 100644
--- a/internal/web/static/themes/nativity.css
+++ b/internal/web/static/themes/nativity.css
@@ -9,6 +9,7 @@
--link: #b8894a;
--refrain: #4a7a5a; /* evergreen */
--border: #e6dcc6;
+ --theme-font: var(--font-serif-old);
}
.heading {
diff --git a/internal/web/static/themes/ordinary.css b/internal/web/static/themes/ordinary.css
index 26025fc..1f645d0 100644
--- a/internal/web/static/themes/ordinary.css
+++ b/internal/web/static/themes/ordinary.css
@@ -5,10 +5,11 @@
--bg: #eef2e6;
--fg: #33382e;
--muted: #8a9080;
- --accent: #5a7a3f; /* green */
+ --accent: #4f8a2a; /* green */
--link: #6a8a5a;
--refrain: #7a9a4f;
--border: #d8e0cc;
+ --theme-font: var(--font-sans);
}
.heading {
diff --git a/internal/web/static/themes/pentecost.css b/internal/web/static/themes/pentecost.css
index 747d62e..411a605 100644
--- a/internal/web/static/themes/pentecost.css
+++ b/internal/web/static/themes/pentecost.css
@@ -9,6 +9,7 @@
--link: #eac86a; /* light gold */
--refrain: #e0c074; /* soft gold */
--border: #6e2328; /* crimson */
+ --theme-font: var(--font-sans-humanist);
}
.heading {
diff --git a/internal/web/static/themes/transfiguration.css b/internal/web/static/themes/transfiguration.css
index bd9cc25..8fb85aa 100644
--- a/internal/web/static/themes/transfiguration.css
+++ b/internal/web/static/themes/transfiguration.css
@@ -10,6 +10,7 @@
--refrain: #97ad6e; /* olive, same as link for this theme */
--border: #4a5347;
--vnum: #d3b380; /* gold, not muted, for this theme */
+ --theme-font: var(--font-serif);
}
.heading {