/* GENERATED by tools/palette.mjs: do not edit by hand. Edit the inputs there and run `node tools/palette.mjs`.
   One input per product (its hue). Each role = that hue at a fixed OKLCH lightness L and a target chroma C,
   C capped to 95% of the sRGB maximum for that L and hue. Plain sRGB values, for old phones. */

/* THE ACCENT = the link colour (style.css --link) and its dark variant (OKLCH hue 264.1), and the same
   button in other hues: yellow (--page-*: page numbers, "Read the blog"), green (--green-*: Copy URL), red (--red-*: close). */
:root { /* light */
  --btn-bg: #0000b3; /* = --link hsl(240 100% 35%) */
  --btn-ink: #ffffff;
  --btn-shadow: #0b1a3d; /* L .23 C .070 at the link hue */
  --ghost-line: #0000b3; /* = --link hsl(240 100% 35%) */
  --hl-mark: #aabf40;
  --page-bg: #413b00;
  --page-ink: #ffffff;
  --page-shadow: #1e1d11;
  --pager-bg: #d1bf00;
  --pager-ink: #18170b;
  --green-bg: #004800;
  --green-ink: #ffffff;
  --green-shadow: #132111;
  --red-bg: #ff0000;
  --red-ink: #ffffff;
  --red-shadow: #2d1411;
}
:root[data-theme="dark"] { /* dark */
  --btn-bg: #b3b3ff; /* = --link hsl(240 100% 85%) */
  --btn-ink: #061335; /* L .2 C .070 at the link hue */
  --btn-shadow: #2e52a5; /* L .46 C .140 at the link hue */
  --ghost-line: #b3b3ff; /* = --link hsl(240 100% 85%) */
  --hl-mark: #556600;
  --page-bg: #d1bf00;
  --page-ink: #18170b;
  --page-shadow: #5d5938;
  --pager-bg: #413b00;
  --pager-ink: #ffffff;
  --green-bg: #00e400;
  --green-ink: #0c1a0b;
  --green-shadow: #3b6338;
  --red-bg: #ff0000;
  --red-ink: #260e0b;
  --red-shadow: #864036;
}

/* STORE BUTTONS: the button recipe in grey: same OKLCH lightness, saturation 0. */
:root { /* light */
  --store-bg: #3a3a3a; /* L .35 */
  --store-ink: #ffffff; /* L 1 */
  --store-shadow: #1c1c1c; /* L .23 */
}
:root[data-theme="dark"] { /* dark */
  --store-bg: #bcbcbc; /* L .8 */
  --store-ink: #161616; /* L .2 */
  --store-shadow: #585858; /* L .46 */
}

/* Shaolin Sudoku: HSL hue 250deg -> OKLCH hue 268.9deg */
[data-hue="shaolin-sudoku"] {
  --tint: rgb(209 222 253 / .6); /* L .9 C .046 (gamut cap) */
  --beam: rgb(241 245 255 / .6); /* L .97 C .013 (gamut cap) */
  --glow: rgb(187 205 253 / .6); /* L .85 C .070 (gamut cap) */
  --lamp: #5f7ee6; /* L .62 C .160 */
  --accent: #3a4f97; /* L .45 C .120 */
  --cat-bg: #354889; /* L .42 C .110 */
  --cat-ink: #f1f5ff; /* L .97 C .013 (gamut cap) */
}
[data-theme="dark"] [data-hue="shaolin-sudoku"] {
  --tint: rgb(24 34 65 / .55); /* L .26 C .060 */
  --beam: rgb(168 188 242 / .16); /* L .8 C .080 */
  --glow: rgb(80 107 195 / .3); /* L .55 C .140 */
  --lamp: #8aa7fb; /* L .74 C .127 (gamut cap) */
  --accent: #b2c6fc; /* L .83 C .080 (gamut cap) */
  --cat-bg: #a6bcf9; /* L .8 C .090 */
  --cat-ink: #111932; /* L .22 C .050 */
}

/* ColorTris: HSL hue 290deg -> OKLCH hue 318.5deg */
[data-hue="colortris"] {
  --tint: rgb(237 212 244 / .6); /* L .9 C .050 */
  --beam: rgb(251 241 255 / .6); /* L .97 C .021 (gamut cap) */
  --glow: rgb(234 185 248 / .6); /* L .85 C .100 */
  --lamp: #ae62c3; /* L .62 C .160 */
  --accent: #713c7f; /* L .45 C .120 */
  --cat-bg: #663773; /* L .42 C .110 */
  --cat-ink: #fbf1ff; /* L .97 C .021 (gamut cap) */
}
[data-theme="dark"] [data-hue="colortris"] {
  --tint: rgb(48 26 54 / .55); /* L .26 C .060 */
  --beam: rgb(212 174 223 / .16); /* L .8 C .080 */
  --glow: rgb(147 83 165 / .3); /* L .55 C .140 */
  --lamp: #d28ae7; /* L .74 C .150 */
  --accent: #e3b3f1; /* L .83 C .100 */
  --cat-bg: #d7ace3; /* L .8 C .090 */
  --cat-ink: #241229; /* L .22 C .050 */
}

/* Roman Decimals: HSL hue 70deg -> OKLCH hue 121.1deg */
[data-hue="roman-decimals"] {
  --tint: rgb(217 228 191 / .6); /* L .9 C .050 */
  --beam: rgb(242 249 227 / .6); /* L .97 C .030 */
  --glow: rgb(196 216 142 / .6); /* L .85 C .100 */
  --lamp: #7a9217; /* L .62 C .142 (gamut cap) */
  --accent: #4d5d0b; /* L .45 C .103 (gamut cap) */
  --cat-bg: #455409; /* L .42 C .096 (gamut cap) */
  --cat-ink: #f2f9e3; /* L .97 C .030 */
}
[data-theme="dark"] [data-hue="roman-decimals"] {
  --tint: rgb(32 40 2 / .55); /* L .26 C .059 (gamut cap) */
  --beam: rgb(182 198 140 / .16); /* L .8 C .080 */
  --glow: rgb(103 124 18 / .3); /* L .55 C .126 (gamut cap) */
  --lamp: #9db93e; /* L .74 C .150 */
  --accent: #bdd287; /* L .83 C .100 */
  --cat-bg: #b5c785; /* L .8 C .090 */
  --cat-ink: #171e01; /* L .22 C .050 */
}

/* Unify Runtime Recorder: HSL hue 0deg -> OKLCH hue 29.2deg */
[data-hue="unify-runtime-recorder"] {
  --tint: rgb(253 210 203 / .6); /* L .9 C .050 (gamut cap) */
  --beam: rgb(255 242 240 / .6); /* L .97 C .014 (gamut cap) */
  --glow: rgb(253 187 176 / .6); /* L .85 C .078 (gamut cap) */
  --lamp: #d5594a; /* L .62 C .160 */
  --accent: #8c352b; /* L .45 C .120 */
  --cat-bg: #7e3127; /* L .42 C .110 */
  --cat-ink: #fff2f0; /* L .97 C .014 (gamut cap) */
}
[data-theme="dark"] [data-hue="unify-runtime-recorder"] {
  --tint: rgb(60 23 18 / .55); /* L .26 C .060 */
  --beam: rgb(237 171 160 / .16); /* L .8 C .080 */
  --glow: rgb(181 75 63 / .3); /* L .55 C .140 */
  --lamp: #fb8272; /* L .74 C .150 */
  --accent: #fcb2a6; /* L .83 C .090 (gamut cap) */
  --cat-bg: #f2a89c; /* L .8 C .090 */
  --cat-ink: #2e100c; /* L .22 C .050 */
}

/* BallFallDown: HSL hue 185deg -> OKLCH hue 206.5deg */
[data-hue="ballfalldown"] {
  --tint: rgb(184 232 239 / .6); /* L .9 C .050 */
  --beam: rgb(225 251 255 / .6); /* L .97 C .028 (gamut cap) */
  --glow: rgb(118 225 238 / .6); /* L .85 C .100 */
  --lamp: #1b97a4; /* L .62 C .101 (gamut cap) */
  --accent: #0e6069; /* L .45 C .073 (gamut cap) */
  --cat-bg: #0b5760; /* L .42 C .068 (gamut cap) */
  --cat-ink: #e1fbff; /* L .97 C .028 (gamut cap) */
}
[data-theme="dark"] [data-hue="ballfalldown"] {
  --tint: rgb(3 42 46 / .55); /* L .26 C .042 (gamut cap) */
  --beam: rgb(125 205 215 / .16); /* L .8 C .080 */
  --glow: rgb(21 128 140 / .3); /* L .55 C .089 (gamut cap) */
  --lamp: #25c0d0; /* L .74 C .120 (gamut cap) */
  --accent: #70dae8; /* L .83 C .100 */
  --cat-bg: #72cedb; /* L .8 C .090 */
  --cat-ink: #021f23; /* L .22 C .036 (gamut cap) */
}

