Skip to content

A.3 Paste-ready index.css block

Keep :root { and :root.dark { byte-exact; the guard finds them as literal strings. Do not put braces in comments inside these blocks.

:root {
color-scheme: light;
--color-bg: 255 244 232;
--color-surface: 246 236 224;
--color-panel: 255 255 255;
--color-hover: 239 230 219;
--color-line: 213 208 198;
--color-outline: 130 138 131;
--color-ink: 20 44 42;
--color-muted: 91 104 99;
--color-focus: 0 110 99;
--color-accent: 0 110 99;
--color-accent-hover: 2 103 93;
--color-accent-active: 4 97 88;
--color-on-accent: 255 244 232;
--color-accent-soft: 224 238 236;
--color-accent-ink: 0 110 99;
--color-brand: 0 110 99;
--color-brand-hover: 2 103 93;
--color-brand-active: 4 97 88;
--color-on-brand: 255 244 232;
--color-brand-soft: 224 238 236;
--color-brand-ink: 0 110 99;
--color-brand-boundary: 0 110 99;
--color-emphasis: 255 116 71;
--color-emphasis-hover: 255 129 87;
--color-emphasis-active: 255 142 103;
--color-on-emphasis: 20 44 42;
--color-emphasis-soft: 255 238 233;
--color-success: 223 255 143;
--color-success-hover: 203 234 133;
--color-success-active: 182 213 123;
--color-on-success: 20 44 42;
--color-success-soft: 251 255 242;
--color-success-ink: 83 109 73;
--color-warn: 255 212 71;
--color-warn-hover: 232 195 68;
--color-warn-active: 208 178 65;
--color-on-warn: 20 44 42;
--color-warn-soft: 255 250 233;
--color-warn-ink: 105 104 52;
--color-info: 181 205 255;
--color-info-hover: 165 189 234;
--color-info-active: 149 173 212;
--color-on-info: 20 44 42;
--color-info-soft: 246 249 255;
--color-info-ink: 81 105 123;
--color-danger: 185 28 28;
--color-danger-hover: 153 27 27;
--color-danger-active: 133 30 29;
--color-on-danger: 255 244 232;
--color-danger-line: 252 165 165;
--color-sidebar: 223 255 143;
--color-sidebar-hover: 242 255 210;
--color-sidebar-active: 0 110 99;
--shadow-color: 20 44 42;
}
:root.dark {
color-scheme: dark;
--color-bg: 0 0 0;
--color-surface: 11 11 11;
--color-panel: 20 20 20;
--color-hover: 28 28 28;
--color-line: 44 44 44;
--color-outline: 120 120 120;
--color-ink: 255 244 232;
--color-muted: 172 172 172;
--color-focus: 223 255 143;
--color-accent: 0 110 99;
--color-accent-hover: 2 103 93;
--color-accent-active: 4 97 88;
--color-on-accent: 255 244 232;
--color-accent-soft: 18 29 28;
--color-accent-ink: 128 177 166;
--color-brand: 0 110 99;
--color-brand-hover: 2 103 93;
--color-brand-active: 4 97 88;
--color-on-brand: 255 244 232;
--color-brand-soft: 18 29 28;
--color-brand-ink: 128 177 166;
--color-brand-boundary: 128 177 166;
--color-emphasis: 255 116 71;
--color-emphasis-hover: 255 129 87;
--color-emphasis-active: 255 142 103;
--color-on-emphasis: 20 44 42;
--color-emphasis-soft: 34 26 23;
--color-success: 223 255 143;
--color-success-hover: 203 234 133;
--color-success-active: 182 213 123;
--color-on-success: 20 44 42;
--color-success-soft: 32 34 27;
--color-success-ink: 233 252 170;
--color-warn: 255 212 71;
--color-warn-hover: 232 195 68;
--color-warn-active: 208 178 65;
--color-on-warn: 20 44 42;
--color-warn-soft: 34 32 23;
--color-warn-ink: 255 222 119;
--color-info: 181 205 255;
--color-info-hover: 165 189 234;
--color-info-active: 149 173 212;
--color-on-info: 20 44 42;
--color-info-soft: 30 31 34;
--color-info-ink: 203 217 248;
--color-danger: 252 165 165;
--color-danger-hover: 253 185 182;
--color-danger-active: 253 201 195;
--color-on-danger: 20 44 42;
--color-danger-line: 124 98 97;
--color-sidebar: 11 11 11;
--color-sidebar-hover: 28 28 28;
--color-sidebar-active: 0 110 99;
--color-scrim: 0 0 0;
--shadow-color: 0 0 0;
}

tailwind.config.ts colors maps every token one-to-one. The body blueprint grid, .blueprint-bg, brutal-* and .material-chrome are deleted.

Palette copies that must move in the same batch:

File Change
public/member-pwa/offline.css #1e333f → #142C2A, focus #f9cd68 → #A3C4B8
scripts/member-pwa.ts, scripts/kiosk-pwa.ts icon rasters come from app-icon.svg
public/spaceworks-logo.svg replace with symbol.svg
index.html theme-color #FFF4E8 (light) / #000000 (dark, true black)
backend/config/unfold.py COLORS.primary a brand-mix ramp: 50–400 = Teal + 90/75/55/35/15 % Cream, 500 = Teal, 600–950 = Teal + 15/30/45/60/75 % Ink