/* ── Design tokens: the single source of truth for FLAC's palette ──

   GENERATED by scripts/gen-themes.py from a few OKLCH inputs per theme (mode, neutral hue and
   chroma, accent, tertiary hue). Every text/background pair the app renders is checked for
   WCAG AA before this file is written, so edit the inputs rather than individual values.

   Loaded by index.html for the SPA and by the server-rendered sign-in and consent pages.
   Values are RGB triplets so Tailwind can compose opacity modifiers:
   rgb(var(--color-surface) / 0.7)
*/


/* ── Kinetic (dark) ── Brand dark: near-black with a faint olive cast and electric lime. */
:root {
  color-scheme: dark;
  --color-surface-container-lowest: 4 4 3;
  --color-surface: 12 13 10;
  --color-surface-dim: 12 13 10;
  --color-background: 12 13 10;
  --color-surface-container-low: 18 19 16;
  --color-surface-container: 24 25 22;
  --color-surface-container-high: 30 30 27;
  --color-surface-container-highest: 36 36 33;
  --color-surface-variant: 36 36 33;
  --color-surface-bright: 46 46 43;
  --color-on-surface: 243 244 241;
  --color-on-background: 243 244 241;
  --color-on-surface-variant: 177 178 171;
  --color-outline: 116 117 113;
  --color-outline-variant: 56 56 53;
  --color-primary-container: 203 254 66;
  --color-primary-fixed: 203 254 66;
  --color-primary: 234 255 196;
  --color-primary-dim: 184 234 31;
  --color-primary-fixed-dim: 184 234 31;
  --color-on-primary: 15 16 7;
  --color-on-primary-container: 15 16 7;
  --color-on-primary-fixed: 15 16 7;
  --color-on-primary-fixed-variant: 49 65 0;
  --color-inverse-primary: 73 95 0;
  --color-surface-tint: 203 254 66;
  --color-primary-content: 203 254 66;
  --color-primary-dim-content: 184 234 31;
  --color-secondary: 215 216 211;
  --color-secondary-dim: 196 196 192;
  --color-secondary-fixed: 215 216 211;
  --color-secondary-fixed-dim: 196 196 192;
  --color-secondary-container: 56 56 53;
  --color-on-secondary: 22 22 19;
  --color-on-secondary-container: 222 222 218;
  --color-on-secondary-fixed: 33 34 31;
  --color-on-secondary-fixed-variant: 71 72 68;
  --color-tertiary: 247 194 67;
  --color-tertiary-dim: 227 174 40;
  --color-tertiary-fixed: 255 209 107;
  --color-tertiary-fixed-dim: 227 174 40;
  --color-tertiary-container: 247 194 67;
  --color-on-tertiary: 22 24 7;
  --color-on-tertiary-container: 22 24 7;
  --color-on-tertiary-fixed: 60 43 0;
  --color-on-tertiary-fixed-variant: 92 67 0;
  --color-error: 255 114 102;
  --color-error-dim: 233 80 72;
  --color-error-container: 124 38 33;
  --color-on-error: 17 19 8;
  --color-on-error-container: 255 224 219;
  --color-inverse-surface: 238 239 234;
  --color-inverse-on-surface: 46 46 43;
  --color-section-warmup: 245 174 57;
  --color-section-workout: 203 254 66;
  --color-section-cooldown: 85 174 232;
  --color-section-stretching: 102 195 164;
  --color-section-default: 177 178 171;
  --color-info: 96 170 243;
  --color-warning: 249 149 50;
  --color-success: 103 210 131;
  --color-celebrate-1: 255 100 95;
  --color-celebrate-2: 246 200 53;
  --color-celebrate-3: 75 203 113;
  --color-celebrate-4: 76 153 248;
  --color-celebrate-5: 179 118 240;
  --color-on-hero: 255 255 255;
  --color-gradient-cta-start: #cbfe42;
  --color-gradient-cta-end: #85ff79;
  --color-on-gradient-cta: 15 16 7;
  --color-gradient-text-start: #cbfe42;
  --color-gradient-text-end: #85ff79;
  --color-glow-accent: 203, 254, 66;
  --color-glow-primary: 203, 254, 66;
  --color-glow-error: 255, 114, 102;
  --color-glow-tertiary: 247, 194, 67;
  --color-shadow: 0, 0, 0;
  --color-selection-bg: #cbfe42;
  --color-selection-text: #0f1007;
  --color-hero-start: #2d301e;
  --color-hero-end: #0d0e05;
  --color-hero-accent: #cbfe42;
  --card-border: 255 255 255;
  --card-border-alpha: 0.06;
  --card-shadow: 0 1px 0 rgba(255,255,255,0.03) inset, 0 8px 24px -12px rgba(0,0,0,0.6);
}

/* ── Graphite (dark) ── Neutral cool greys with a calm blue accent. */
[data-theme="graphite"] {
  color-scheme: dark;
  --color-surface-container-lowest: 3 4 6;
  --color-surface: 10 12 17;
  --color-surface-dim: 10 12 17;
  --color-background: 10 12 17;
  --color-surface-container-low: 16 19 23;
  --color-surface-container: 22 24 29;
  --color-surface-container-high: 28 30 35;
  --color-surface-container-highest: 34 36 41;
  --color-surface-variant: 34 36 41;
  --color-surface-bright: 43 46 51;
  --color-on-surface: 241 243 248;
  --color-on-background: 241 243 248;
  --color-on-surface-variant: 172 177 187;
  --color-outline: 114 116 123;
  --color-outline-variant: 53 56 61;
  --color-primary-container: 124 170 255;
  --color-primary-fixed: 124 170 255;
  --color-primary: 152 187 250;
  --color-primary-dim: 103 150 238;
  --color-primary-fixed-dim: 103 150 238;
  --color-on-primary: 11 15 24;
  --color-on-primary-container: 11 15 24;
  --color-on-primary-fixed: 11 15 24;
  --color-on-primary-fixed-variant: 33 57 102;
  --color-inverse-primary: 49 83 147;
  --color-surface-tint: 124 170 255;
  --color-primary-content: 124 170 255;
  --color-primary-dim-content: 103 150 238;
  --color-secondary: 212 215 222;
  --color-secondary-dim: 193 196 203;
  --color-secondary-fixed: 212 215 222;
  --color-secondary-fixed-dim: 193 196 203;
  --color-secondary-container: 53 56 61;
  --color-on-secondary: 20 22 27;
  --color-on-secondary-container: 219 222 229;
  --color-on-secondary-fixed: 31 34 39;
  --color-on-secondary-fixed-variant: 69 72 77;
  --color-tertiary: 253 190 69;
  --color-tertiary-dim: 233 171 43;
  --color-tertiary-fixed: 255 207 125;
  --color-tertiary-fixed-dim: 233 171 43;
  --color-tertiary-container: 253 190 69;
  --color-on-tertiary: 15 22 36;
  --color-on-tertiary-container: 15 22 36;
  --color-on-tertiary-fixed: 62 42 0;
  --color-on-tertiary-fixed-variant: 95 66 0;
  --color-error: 255 114 102;
  --color-error-dim: 233 80 72;
  --color-error-container: 124 38 33;
  --color-on-error: 13 17 27;
  --color-on-error-container: 255 224 219;
  --color-inverse-surface: 235 238 245;
  --color-inverse-on-surface: 43 46 51;
  --color-section-warmup: 245 174 57;
  --color-section-workout: 124 170 255;
  --color-section-cooldown: 85 174 232;
  --color-section-stretching: 102 195 164;
  --color-section-default: 172 177 187;
  --color-info: 96 170 243;
  --color-warning: 249 149 50;
  --color-success: 103 210 131;
  --color-celebrate-1: 255 100 95;
  --color-celebrate-2: 246 200 53;
  --color-celebrate-3: 75 203 113;
  --color-celebrate-4: 76 153 248;
  --color-celebrate-5: 179 118 240;
  --color-on-hero: 255 255 255;
  --color-gradient-cta-start: #7caaff;
  --color-gradient-cta-end: #9196f7;
  --color-on-gradient-cta: 11 15 24;
  --color-gradient-text-start: #7caaff;
  --color-gradient-text-end: #9196f7;
  --color-glow-accent: 124, 170, 255;
  --color-glow-primary: 124, 170, 255;
  --color-glow-error: 255, 114, 102;
  --color-glow-tertiary: 253, 190, 69;
  --color-shadow: 0, 0, 0;
  --color-selection-bg: #7caaff;
  --color-selection-text: #0b0f18;
  --color-hero-start: #262e3d;
  --color-hero-end: #090d16;
  --color-hero-accent: #7caaff;
  --card-border: 255 255 255;
  --card-border-alpha: 0.06;
  --card-shadow: 0 1px 0 rgba(255,255,255,0.03) inset, 0 8px 24px -12px rgba(0,0,0,0.6);
}

/* ── Ocean (dark) ── Deep navy with a bright cyan accent. */
[data-theme="ocean"] {
  color-scheme: dark;
  --color-surface-container-lowest: 0 5 10;
  --color-surface: 1 14 23;
  --color-surface-dim: 1 14 23;
  --color-background: 1 14 23;
  --color-surface-container-low: 4 21 30;
  --color-surface-container: 9 26 36;
  --color-surface-container-high: 15 32 42;
  --color-surface-container-highest: 21 38 49;
  --color-surface-variant: 21 38 49;
  --color-surface-bright: 31 48 59;
  --color-on-surface: 232 246 254;
  --color-on-background: 232 246 254;
  --color-on-surface-variant: 150 182 202;
  --color-outline: 100 120 132;
  --color-outline-variant: 41 59 69;
  --color-primary-container: 77 220 220;
  --color-primary-fixed: 77 220 220;
  --color-primary: 143 230 229;
  --color-primary-dim: 49 200 201;
  --color-primary-fixed-dim: 49 200 201;
  --color-on-primary: 7 17 23;
  --color-on-primary-container: 7 17 23;
  --color-on-primary-fixed: 7 17 23;
  --color-on-primary-fixed-variant: 0 68 68;
  --color-inverse-primary: 0 98 98;
  --color-surface-tint: 77 220 220;
  --color-primary-content: 77 220 220;
  --color-primary-dim-content: 49 200 201;
  --color-secondary: 197 219 233;
  --color-secondary-dim: 178 200 213;
  --color-secondary-fixed: 197 219 233;
  --color-secondary-fixed-dim: 178 200 213;
  --color-secondary-container: 41 59 69;
  --color-on-secondary: 7 24 34;
  --color-on-secondary-container: 204 226 239;
  --color-on-secondary-fixed: 19 36 46;
  --color-on-secondary-fixed-variant: 56 75 86;
  --color-tertiary: 255 189 88;
  --color-tertiary-dim: 239 168 49;
  --color-tertiary-fixed: 255 206 138;
  --color-tertiary-fixed-dim: 239 168 49;
  --color-tertiary-container: 255 189 88;
  --color-on-tertiary: 7 24 34;
  --color-on-tertiary-container: 7 24 34;
  --color-on-tertiary-fixed: 64 40 0;
  --color-on-tertiary-fixed-variant: 98 64 0;
  --color-error: 255 114 102;
  --color-error-dim: 233 80 72;
  --color-error-container: 124 38 33;
  --color-on-error: 9 19 25;
  --color-on-error-container: 255 224 219;
  --color-inverse-surface: 221 242 255;
  --color-inverse-on-surface: 31 48 59;
  --color-section-warmup: 245 174 57;
  --color-section-workout: 77 220 220;
  --color-section-cooldown: 85 174 232;
  --color-section-stretching: 102 195 164;
  --color-section-default: 150 182 202;
  --color-info: 96 170 243;
  --color-warning: 249 149 50;
  --color-success: 103 210 131;
  --color-celebrate-1: 255 100 95;
  --color-celebrate-2: 246 200 53;
  --color-celebrate-3: 75 203 113;
  --color-celebrate-4: 76 153 248;
  --color-celebrate-5: 179 118 240;
  --color-on-hero: 255 255 255;
  --color-gradient-cta-start: #4ddcdc;
  --color-gradient-cta-end: #46cee8;
  --color-on-gradient-cta: 7 17 23;
  --color-gradient-text-start: #4ddcdc;
  --color-gradient-text-end: #46cee8;
  --color-glow-accent: 77, 220, 220;
  --color-glow-primary: 77, 220, 220;
  --color-glow-error: 255, 114, 102;
  --color-glow-tertiary: 255, 189, 88;
  --color-shadow: 0, 0, 0;
  --color-selection-bg: #4ddcdc;
  --color-selection-text: #071117;
  --color-hero-start: #003249;
  --color-hero-end: #000f1a;
  --color-hero-accent: #4ddcdc;
  --card-border: 255 255 255;
  --card-border-alpha: 0.06;
  --card-shadow: 0 1px 0 rgba(255,255,255,0.03) inset, 0 8px 24px -12px rgba(0,0,0,0.6);
}

/* ── Ember (dark) ── Warm charcoal with a glowing coral-orange accent. */
[data-theme="ember"] {
  color-scheme: dark;
  --color-surface-container-lowest: 7 3 2;
  --color-surface: 17 11 8;
  --color-surface-dim: 17 11 8;
  --color-background: 17 11 8;
  --color-surface-container-low: 24 17 15;
  --color-surface-container: 29 23 20;
  --color-surface-container-high: 35 28 26;
  --color-surface-container-highest: 41 34 32;
  --color-surface-variant: 41 34 32;
  --color-surface-bright: 51 44 41;
  --color-on-surface: 248 242 240;
  --color-on-background: 248 242 240;
  --color-on-surface-variant: 188 174 169;
  --color-outline: 123 114 111;
  --color-outline-variant: 62 54 51;
  --color-primary-container: 255 130 79;
  --color-primary-fixed: 255 130 79;
  --color-primary: 251 160 125;
  --color-primary-dim: 236 110 56;
  --color-primary-fixed-dim: 236 110 56;
  --color-on-primary: 23 12 9;
  --color-on-primary-container: 23 12 9;
  --color-on-primary-fixed: 23 12 9;
  --color-on-primary-fixed-variant: 100 35 3;
  --color-inverse-primary: 144 51 0;
  --color-surface-tint: 255 130 79;
  --color-primary-content: 255 130 79;
  --color-primary-dim-content: 236 110 56;
  --color-secondary: 223 213 210;
  --color-secondary-dim: 203 194 190;
  --color-secondary-fixed: 223 213 210;
  --color-secondary-fixed-dim: 203 194 190;
  --color-secondary-container: 62 54 51;
  --color-on-secondary: 27 20 18;
  --color-on-secondary-container: 230 220 216;
  --color-on-secondary-fixed: 39 32 29;
  --color-on-secondary-fixed-variant: 78 70 67;
  --color-tertiary: 247 194 67;
  --color-tertiary-dim: 227 174 40;
  --color-tertiary-fixed: 255 209 107;
  --color-tertiary-fixed-dim: 227 174 40;
  --color-tertiary-container: 247 194 67;
  --color-on-tertiary: 34 17 11;
  --color-on-tertiary-container: 34 17 11;
  --color-on-tertiary-fixed: 60 43 0;
  --color-on-tertiary-fixed-variant: 92 67 0;
  --color-error: 255 114 102;
  --color-error-dim: 233 80 72;
  --color-error-container: 124 38 33;
  --color-on-error: 25 15 11;
  --color-on-error-container: 255 224 219;
  --color-inverse-surface: 246 236 232;
  --color-inverse-on-surface: 51 44 41;
  --color-section-warmup: 245 174 57;
  --color-section-workout: 255 130 79;
  --color-section-cooldown: 85 174 232;
  --color-section-stretching: 102 195 164;
  --color-section-default: 188 174 169;
  --color-info: 96 170 243;
  --color-warning: 249 149 50;
  --color-success: 103 210 131;
  --color-celebrate-1: 255 100 95;
  --color-celebrate-2: 246 200 53;
  --color-celebrate-3: 75 203 113;
  --color-celebrate-4: 76 153 248;
  --color-celebrate-5: 179 118 240;
  --color-on-hero: 255 255 255;
  --color-gradient-cta-start: #ff824f;
  --color-gradient-cta-end: #eb8400;
  --color-on-gradient-cta: 23 12 9;
  --color-gradient-text-start: #ff824f;
  --color-gradient-text-end: #eb8400;
  --color-glow-accent: 255, 130, 79;
  --color-glow-primary: 255, 130, 79;
  --color-glow-error: 255, 114, 102;
  --color-glow-tertiary: 247, 194, 67;
  --color-shadow: 0, 0, 0;
  --color-selection-bg: #ff824f;
  --color-selection-text: #170c09;
  --color-hero-start: #3e2820;
  --color-hero-end: #160a06;
  --color-hero-accent: #ff824f;
  --card-border: 255 255 255;
  --card-border-alpha: 0.06;
  --card-shadow: 0 1px 0 rgba(255,255,255,0.03) inset, 0 8px 24px -12px rgba(0,0,0,0.6);
}

/* ── Graphite Light (light) ── Graphite for daylight: clean white with a deep blue accent. */
[data-theme="graphite-light"] {
  color-scheme: light;
  --color-surface-container-lowest: 255 255 255;
  --color-surface: 245 248 253;
  --color-surface-dim: 219 222 227;
  --color-background: 245 248 253;
  --color-surface-container-low: 240 242 248;
  --color-surface-container: 235 238 243;
  --color-surface-container-high: 230 233 239;
  --color-surface-container-highest: 225 228 233;
  --color-surface-variant: 225 228 233;
  --color-surface-bright: 255 255 255;
  --color-on-surface: 23 24 27;
  --color-on-background: 23 24 27;
  --color-on-surface-variant: 82 85 92;
  --color-outline: 120 122 127;
  --color-outline-variant: 206 209 214;
  --color-primary-container: 30 89 205;
  --color-primary-fixed: 30 89 205;
  --color-primary: 30 89 205;
  --color-primary-dim: 10 70 185;
  --color-primary-fixed-dim: 10 70 185;
  --color-on-primary: 255 255 255;
  --color-on-primary-container: 255 255 255;
  --color-on-primary-fixed: 255 255 255;
  --color-on-primary-fixed-variant: 22 54 117;
  --color-inverse-primary: 164 197 255;
  --color-surface-tint: 30 89 205;
  --color-primary-content: 30 89 205;
  --color-primary-dim-content: 30 89 205;
  --color-secondary: 69 72 76;
  --color-secondary-dim: 54 56 60;
  --color-secondary-fixed: 69 72 76;
  --color-secondary-fixed-dim: 54 56 60;
  --color-secondary-container: 219 222 227;
  --color-on-secondary: 250 252 255;
  --color-on-secondary-container: 39 41 45;
  --color-on-secondary-fixed: 32 34 38;
  --color-on-secondary-fixed-variant: 69 72 76;
  --color-tertiary: 145 91 0;
  --color-tertiary-dim: 123 76 0;
  --color-tertiary-fixed: 255 205 148;
  --color-tertiary-fixed-dim: 123 76 0;
  --color-tertiary-container: 255 231 204;
  --color-on-tertiary: 255 255 255;
  --color-on-tertiary-container: 83 50 0;
  --color-on-tertiary-fixed: 66 39 0;
  --color-on-tertiary-fixed-variant: 101 62 0;
  --color-error: 190 47 44;
  --color-error-dim: 172 3 17;
  --color-error-container: 255 228 224;
  --color-on-error: 255 255 255;
  --color-on-error-container: 108 22 20;
  --color-inverse-surface: 32 34 38;
  --color-inverse-on-surface: 236 238 244;
  --color-section-warmup: 164 110 0;
  --color-section-workout: 30 89 205;
  --color-section-cooldown: 0 112 166;
  --color-section-stretching: 12 123 96;
  --color-section-default: 82 85 92;
  --color-info: 31 108 176;
  --color-warning: 179 99 0;
  --color-success: 0 120 53;
  --color-celebrate-1: 255 100 95;
  --color-celebrate-2: 246 200 53;
  --color-celebrate-3: 75 203 113;
  --color-celebrate-4: 76 153 248;
  --color-celebrate-5: 179 118 240;
  --color-on-hero: 23 24 27;
  --color-gradient-cta-start: #1e59cd;
  --color-gradient-cta-end: #4d42c1;
  --color-on-gradient-cta: 255 255 255;
  --color-gradient-text-start: #1e59cd;
  --color-gradient-text-end: #4d42c1;
  --color-glow-accent: 30, 89, 205;
  --color-glow-primary: 30, 89, 205;
  --color-glow-error: 190, 47, 44;
  --color-glow-tertiary: 145, 91, 0;
  --color-shadow: 27, 33, 48;
  --color-selection-bg: #c3d8ff;
  --color-selection-text: #001a57;
  --color-hero-start: #edf4ff;
  --color-hero-end: #d4e2fb;
  --color-hero-accent: #1e59cd;
  --card-border: 44 46 50;
  --card-border-alpha: 0.08;
  --card-shadow: 0 1px 2px rgba(27, 33, 48,0.06), 0 8px 24px -12px rgba(27, 33, 48,0.18);
}

/* ── Paper (light) ── Warm paper whites with a forest-green accent. */
[data-theme="paper"] {
  color-scheme: light;
  --color-surface-container-lowest: 255 255 255;
  --color-surface: 251 247 239;
  --color-surface-dim: 226 222 213;
  --color-background: 251 247 239;
  --color-surface-container-low: 246 242 234;
  --color-surface-container: 241 237 229;
  --color-surface-container-high: 237 233 224;
  --color-surface-container-highest: 231 227 219;
  --color-surface-variant: 231 227 219;
  --color-surface-bright: 255 255 255;
  --color-on-surface: 26 24 21;
  --color-on-background: 26 24 21;
  --color-on-surface-variant: 90 85 74;
  --color-outline: 126 122 114;
  --color-outline-variant: 212 208 200;
  --color-primary-container: 0 109 66;
  --color-primary-fixed: 0 109 66;
  --color-primary: 0 109 66;
  --color-primary-dim: 0 89 54;
  --color-primary-fixed-dim: 0 89 54;
  --color-on-primary: 255 255 255;
  --color-on-primary-container: 255 255 255;
  --color-on-primary-fixed: 255 255 255;
  --color-on-primary-fixed-variant: 22 69 45;
  --color-inverse-primary: 147 214 174;
  --color-surface-tint: 0 109 66;
  --color-primary-content: 0 109 66;
  --color-primary-dim-content: 0 109 66;
  --color-secondary: 75 71 64;
  --color-secondary-dim: 59 56 49;
  --color-secondary-fixed: 75 71 64;
  --color-secondary-fixed-dim: 59 56 49;
  --color-secondary-container: 226 222 213;
  --color-on-secondary: 255 251 244;
  --color-on-secondary-container: 44 41 34;
  --color-on-secondary-fixed: 36 33 27;
  --color-on-secondary-fixed-variant: 75 71 64;
  --color-tertiary: 145 91 0;
  --color-tertiary-dim: 123 76 0;
  --color-tertiary-fixed: 255 205 148;
  --color-tertiary-fixed-dim: 123 76 0;
  --color-tertiary-container: 255 231 204;
  --color-on-tertiary: 255 255 255;
  --color-on-tertiary-container: 83 50 0;
  --color-on-tertiary-fixed: 66 39 0;
  --color-on-tertiary-fixed-variant: 101 62 0;
  --color-error: 190 47 44;
  --color-error-dim: 172 3 17;
  --color-error-container: 255 228 224;
  --color-on-error: 255 255 255;
  --color-on-error-container: 108 22 20;
  --color-inverse-surface: 36 33 27;
  --color-inverse-on-surface: 242 238 230;
  --color-section-warmup: 164 110 0;
  --color-section-workout: 0 109 66;
  --color-section-cooldown: 0 112 166;
  --color-section-stretching: 12 123 96;
  --color-section-default: 90 85 74;
  --color-info: 31 108 176;
  --color-warning: 179 99 0;
  --color-success: 0 120 53;
  --color-celebrate-1: 255 100 95;
  --color-celebrate-2: 246 200 53;
  --color-celebrate-3: 75 203 113;
  --color-celebrate-4: 76 153 248;
  --color-celebrate-5: 179 118 240;
  --color-on-hero: 26 24 21;
  --color-gradient-cta-start: #006d42;
  --color-gradient-cta-end: #006151;
  --color-on-gradient-cta: 255 255 255;
  --color-gradient-text-start: #006d42;
  --color-gradient-text-end: #006151;
  --color-glow-accent: 0, 109, 66;
  --color-glow-primary: 0, 109, 66;
  --color-glow-error: 190, 47, 44;
  --color-glow-tertiary: 145, 91, 0;
  --color-shadow: 40, 33, 16;
  --color-selection-bg: #bae3ca;
  --color-selection-text: #002a16;
  --color-hero-start: #eef6f1;
  --color-hero-end: #d6e6dc;
  --color-hero-accent: #006d42;
  --card-border: 49 45 39;
  --card-border-alpha: 0.08;
  --card-shadow: 0 1px 2px rgba(40, 33, 16,0.06), 0 8px 24px -12px rgba(40, 33, 16,0.18);
}

/* ── Blossom (light) ── Soft rose-tinted whites with a raspberry accent. */
[data-theme="blossom"] {
  color-scheme: light;
  --color-surface-container-lowest: 255 255 255;
  --color-surface: 254 245 248;
  --color-surface-dim: 228 219 222;
  --color-background: 254 245 248;
  --color-surface-container-low: 248 240 243;
  --color-surface-container: 244 235 238;
  --color-surface-container-high: 239 231 233;
  --color-surface-container-highest: 234 225 228;
  --color-surface-variant: 234 225 228;
  --color-surface-bright: 255 255 255;
  --color-on-surface: 27 23 24;
  --color-on-background: 27 23 24;
  --color-on-surface-variant: 93 82 86;
  --color-outline: 128 120 122;
  --color-outline-variant: 215 206 209;
  --color-primary-container: 174 49 110;
  --color-primary-fixed: 174 49 110;
  --color-primary: 174 49 110;
  --color-primary-dim: 154 26 93;
  --color-primary-fixed-dim: 154 26 93;
  --color-on-primary: 255 255 255;
  --color-on-primary-container: 255 255 255;
  --color-on-primary-fixed: 255 255 255;
  --color-on-primary-fixed-variant: 97 30 61;
  --color-inverse-primary: 255 165 200;
  --color-surface-tint: 174 49 110;
  --color-primary-content: 174 49 110;
  --color-primary-dim-content: 174 49 110;
  --color-secondary: 76 70 72;
  --color-secondary-dim: 60 54 56;
  --color-secondary-fixed: 76 70 72;
  --color-secondary-fixed-dim: 60 54 56;
  --color-secondary-container: 228 219 222;
  --color-on-secondary: 255 250 252;
  --color-on-secondary-container: 45 39 41;
  --color-on-secondary-fixed: 38 32 34;
  --color-on-secondary-fixed-variant: 76 70 72;
  --color-tertiary: 150 88 0;
  --color-tertiary-dim: 127 74 0;
  --color-tertiary-fixed: 255 205 156;
  --color-tertiary-fixed-dim: 127 74 0;
  --color-tertiary-container: 255 230 208;
  --color-on-tertiary: 255 255 255;
  --color-on-tertiary-container: 86 48 0;
  --color-on-tertiary-fixed: 68 37 0;
  --color-on-tertiary-fixed-variant: 104 60 0;
  --color-error: 190 47 44;
  --color-error-dim: 172 3 17;
  --color-error-container: 255 228 224;
  --color-on-error: 255 255 255;
  --color-on-error-container: 108 22 20;
  --color-inverse-surface: 38 32 34;
  --color-inverse-on-surface: 244 236 239;
  --color-section-warmup: 164 110 0;
  --color-section-workout: 174 49 110;
  --color-section-cooldown: 0 112 166;
  --color-section-stretching: 12 123 96;
  --color-section-default: 93 82 86;
  --color-info: 31 108 176;
  --color-warning: 179 99 0;
  --color-success: 0 120 53;
  --color-celebrate-1: 255 100 95;
  --color-celebrate-2: 246 200 53;
  --color-celebrate-3: 75 203 113;
  --color-celebrate-4: 76 153 248;
  --color-celebrate-5: 179 118 240;
  --color-on-hero: 27 23 24;
  --color-gradient-cta-start: #ae316e;
  --color-gradient-cta-end: #ab2444;
  --color-on-gradient-cta: 255 255 255;
  --color-gradient-text-start: #ae316e;
  --color-gradient-text-end: #ab2444;
  --color-glow-accent: 174, 49, 110;
  --color-glow-primary: 174, 49, 110;
  --color-glow-error: 190, 47, 44;
  --color-glow-tertiary: 150, 88, 0;
  --color-shadow: 45, 28, 34;
  --color-selection-bg: #ffc5da;
  --color-selection-text: #430024;
  --color-hero-start: #feeff4;
  --color-hero-end: #f5d8e2;
  --color-hero-accent: #ae316e;
  --card-border: 50 44 46;
  --card-border-alpha: 0.08;
  --card-shadow: 0 1px 2px rgba(45, 28, 34,0.06), 0 8px 24px -12px rgba(45, 28, 34,0.18);
}
