starlight-theme-rose-pine 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,7 @@
1
+ # starlight-theme-rose-pine
2
+
3
+ ## 0.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`ed66cb0`](https://github.com/trueberryless-org/starlight-theme-rose-pine/commit/ed66cb05c1d2d0bcd8f6bc8f627288ad5028297e) Thanks [@trueberryless](https://github.com/trueberryless)! - Initial public release
package/README.md ADDED
@@ -0,0 +1,38 @@
1
+ <p align="center">
2
+ <img src="https://github.com/rose-pine/rose-pine-theme/raw/main/assets/icon.png" width="80" />
3
+ <h2 align="center">Rosé Pine for Starlight</h2>
4
+ </p>
5
+
6
+ <p align="center">All natural pine, faux fur and a bit of soho vibes for the classy minimalist</p>
7
+
8
+ ## Usage
9
+
10
+ 1. Open App
11
+ 2. Under settings, import `rose-pine.theme`
12
+ 3. Select `Rosé Pine` from the themes dropdown
13
+
14
+ ## Gallery
15
+
16
+ ### Rosé Pine
17
+
18
+ <img width="256" alt="Rosé Pine with Starlight" src="https://raw.githubusercontent.com/trueberryless-org/starlight-theme-rose-pine/main/assets/main.png" />
19
+
20
+ ### Rosé Pine Moon
21
+
22
+ <img width="256" alt="Rosé Pine Moon with Starlight" src="https://raw.githubusercontent.com/trueberryless-org/starlight-theme-rose-pine/main/assets/moon.png" />
23
+
24
+ ### Rosé Pine Dawn
25
+
26
+ <img width="256" alt="Rosé Pine Dawn with Starlight" src="https://raw.githubusercontent.com/trueberryless-org/starlight-theme-rose-pine/main/assets/dawn.png" />
27
+
28
+ ## Thanks to
29
+
30
+ - [Felix Schneider](https://github.com/trueberryless)
31
+
32
+ ## Contributing
33
+
34
+ Modify `colors.json` using Rosé Pine variables, then build variants:
35
+
36
+ ```sh
37
+ pnpm build
38
+ ```
package/colors.json ADDED
@@ -0,0 +1,59 @@
1
+ {
2
+ "flavors": {
3
+ "main": {
4
+ "base": "#191724",
5
+ "surface": "#1f1d2e",
6
+ "overlay": "#26233a",
7
+ "muted": "#6e6a86",
8
+ "subtle": "#908caa",
9
+ "text": "#e0def4",
10
+ "love": "#eb6f92",
11
+ "gold": "#f6c177",
12
+ "rose": "#ebbcba",
13
+ "pine": "#31748f",
14
+ "foam": "#9ccfd8",
15
+ "iris": "#c4a7e7",
16
+ "highlightLow": "#21202e",
17
+ "highlightMed": "#403d52",
18
+ "highlightHigh": "#524f67",
19
+ "type": "dark"
20
+ },
21
+ "moon": {
22
+ "base": "#232136",
23
+ "surface": "#2a273f",
24
+ "overlay": "#393552",
25
+ "muted": "#6e6a86",
26
+ "subtle": "#908caa",
27
+ "text": "#e0def4",
28
+ "love": "#eb6f92",
29
+ "gold": "#f6c177",
30
+ "rose": "#ea9a97",
31
+ "pine": "#3e8fb0",
32
+ "foam": "#9ccfd8",
33
+ "iris": "#c4a7e7",
34
+ "highlightLow": "#2a283e",
35
+ "highlightMed": "#44415a",
36
+ "highlightHigh": "#56526e",
37
+ "type": "dark"
38
+ },
39
+ "dawn": {
40
+ "base": "#faf4ed",
41
+ "surface": "#fffaf3",
42
+ "overlay": "#f2e9e1",
43
+ "muted": "#9893a5",
44
+ "subtle": "#797593",
45
+ "text": "#575279",
46
+ "love": "#b4637a",
47
+ "gold": "#ea9d34",
48
+ "rose": "#d7827e",
49
+ "pine": "#286983",
50
+ "foam": "#56949f",
51
+ "iris": "#907aa9",
52
+ "highlightLow": "#f4ede8",
53
+ "highlightMed": "#dfdad9",
54
+ "highlightHigh": "#cecacd",
55
+ "type": "light"
56
+ }
57
+ },
58
+ "accents": ["love", "gold", "rose", "pine", "foam", "iris"]
59
+ }
package/index.ts ADDED
@@ -0,0 +1,29 @@
1
+ import type { StarlightPlugin } from "@astrojs/starlight/types";
2
+
3
+ type DarkFlavor = "main" | "moon";
4
+ type LightFlavor = "dawn";
5
+ type Accent = "love" | "gold" | "rose" | "pine" | "foam" | "iris";
6
+
7
+ interface Config {
8
+ dark?: { flavor?: DarkFlavor; accent?: Accent };
9
+ light?: { flavor?: LightFlavor; accent?: Accent };
10
+ }
11
+
12
+ export default function createPlugin(config?: Config): StarlightPlugin {
13
+ const { dark, light } = config ?? {};
14
+ return {
15
+ name: "starlight-theme-rose-pine",
16
+ hooks: {
17
+ "config:setup": ({ config, updateConfig }) => {
18
+ updateConfig({
19
+ customCss: [
20
+ ...(config.customCss ?? []),
21
+ "starlight-theme-rose-pine/styles/shared.css",
22
+ `starlight-theme-rose-pine/themes/rose-pine-${dark?.flavor ?? "main"}-${dark?.accent ?? "pine"}.css`,
23
+ `starlight-theme-rose-pine/themes/rose-pine-${light?.flavor ?? "dawn"}-${light?.accent ?? "pine"}.css`,
24
+ ],
25
+ });
26
+ },
27
+ },
28
+ };
29
+ }
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "starlight-theme-rose-pine",
3
+ "version": "0.1.0",
4
+ "description": "Soho vibes for Starlight",
5
+ "keywords": [
6
+ "starlight",
7
+ "theme",
8
+ "rose pine",
9
+ "soho vibes"
10
+ ],
11
+ "homepage": "https://github.com/trueberryless-org/starlight-theme-rose-pine",
12
+ "bugs": {
13
+ "url": "https://github.com/trueberryless-org/starlight-theme-rose-pine/issues"
14
+ },
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "https://github.com/trueberryless-org/starlight-theme-rose-pine.git",
18
+ "directory": "packages/starlight-theme-rose-pine"
19
+ },
20
+ "license": "MIT",
21
+ "author": "trueberryless <trueberryless@gmail.com> (https://trueberryless.org)",
22
+ "sideEffects": false,
23
+ "type": "module",
24
+ "exports": {
25
+ ".": "./index.ts",
26
+ "./styles/*": "./styles/*",
27
+ "./themes/*": "./themes/*"
28
+ },
29
+ "scripts": {
30
+ "build": "tsx scripts/build-themes.ts"
31
+ },
32
+ "devDependencies": {
33
+ "@astrojs/starlight": "^0.37.6",
34
+ "astro": "^5.17.1",
35
+ "tsx": "^4.21.0",
36
+ "typescript": "^5.9.3"
37
+ },
38
+ "peerDependencies": {
39
+ "@astrojs/starlight": ">=0.37"
40
+ },
41
+ "engines": {
42
+ "node": "^18.17.1 || ^20.3.0 || >=21.0.0"
43
+ },
44
+ "publishConfig": {
45
+ "access": "public"
46
+ }
47
+ }
@@ -0,0 +1,107 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+
4
+ import colors from "../colors.json";
5
+
6
+ const themesDir = path.join(process.cwd(), "themes");
7
+ if (!fs.existsSync(themesDir)) fs.mkdirSync(themesDir);
8
+
9
+ type Palette = typeof colors.flavors.main;
10
+ type PaletteKey = keyof Palette;
11
+
12
+ function hexToHsl(hex: string): { h: number; s: number; l: number } {
13
+ const r = parseInt(hex.substring(1, 3), 16) / 255;
14
+ const g = parseInt(hex.substring(3, 5), 16) / 255;
15
+ const b = parseInt(hex.substring(5, 7), 16) / 255;
16
+ const max = Math.max(r, g, b),
17
+ min = Math.min(r, g, b);
18
+ let h = 0,
19
+ s = 0,
20
+ l = (max + min) / 2;
21
+ if (max !== min) {
22
+ const d = max - min;
23
+ s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
24
+ switch (max) {
25
+ case r:
26
+ h = (g - b) / d + (g < b ? 6 : 0);
27
+ break;
28
+ case g:
29
+ h = (b - r) / d + 2;
30
+ break;
31
+ case b:
32
+ h = (r - g) / d + 4;
33
+ break;
34
+ }
35
+ h /= 6;
36
+ }
37
+ return {
38
+ h: Math.round(h * 360),
39
+ s: Math.round(s * 100),
40
+ l: Math.round(l * 100),
41
+ };
42
+ }
43
+
44
+ function getHslStr(hex: string, lOffset = 0): string {
45
+ const { h, s, l } = hexToHsl(hex);
46
+ const newL = Math.min(Math.max(l + lOffset, 0), 100);
47
+ return `hsl(${h}, ${s}%, ${newL}%)`;
48
+ }
49
+
50
+ for (const [flavorName, palette] of Object.entries(colors.flavors)) {
51
+ const p = palette as Palette;
52
+ const isDark = p.type === "dark";
53
+
54
+ for (const accentName of colors.accents) {
55
+ const accentHex = p[accentName as PaletteKey];
56
+
57
+ const css = `@layer rose-pine {
58
+ :root${p.type === "light" ? "[data-theme='light']" : ""} {
59
+ --sl-color-accent-low: ${getHslStr(accentHex, isDark ? -45 : -25)};
60
+ --sl-color-accent: ${getHslStr(accentHex)};
61
+ --sl-color-accent-high: ${getHslStr(accentHex, isDark ? 25 : 45)};
62
+
63
+ --sl-color-white: ${p.text};
64
+ --sl-color-gray-1: ${p.subtle};
65
+ --sl-color-gray-2: ${p.muted};
66
+ --sl-color-gray-3: ${p.highlightHigh};
67
+ --sl-color-gray-4: ${p.highlightMed};
68
+ --sl-color-gray-5: ${p.overlay};
69
+ --sl-color-gray-6: ${p.highlightLow};
70
+ --sl-color-gray-7: ${p.surface};
71
+ --sl-color-black: ${p.base};
72
+
73
+ --sl-hue-orange: ${hexToHsl(p.gold).h};
74
+ --sl-color-orange-low: ${getHslStr(p.gold, isDark ? -30 : 30)};
75
+ --sl-color-orange: ${getHslStr(p.gold)};
76
+ --sl-color-orange-high: ${getHslStr(p.gold, isDark ? 15 : -15)};
77
+
78
+ --sl-hue-green: ${hexToHsl(p.pine).h};
79
+ --sl-color-green-low: ${getHslStr(p.pine, isDark ? -10 : 30)};
80
+ --sl-color-green: ${getHslStr(p.pine, isDark ? 20 : 0)};
81
+ --sl-color-green-high: ${getHslStr(p.pine, isDark ? 15 : -15)};
82
+
83
+ --sl-hue-blue: ${hexToHsl(p.foam).h};
84
+ --sl-color-blue-low: ${getHslStr(p.foam, isDark ? -30 : 30)};
85
+ --sl-color-blue: ${getHslStr(p.foam)};
86
+ --sl-color-blue-high: ${getHslStr(p.foam, isDark ? 15 : -15)};
87
+
88
+ --sl-hue-purple: ${hexToHsl(p.iris).h};
89
+ --sl-color-purple-low: ${getHslStr(p.iris, isDark ? -30 : 30)};
90
+ --sl-color-purple: ${getHslStr(p.iris)};
91
+ --sl-color-purple-high: ${getHslStr(p.iris, isDark ? 15 : -15)};
92
+
93
+ --sl-hue-red: ${hexToHsl(p.love).h};
94
+ --sl-color-red-low: ${getHslStr(p.love, isDark ? -30 : 30)};
95
+ --sl-color-red: ${getHslStr(p.love)};
96
+ --sl-color-red-high: ${getHslStr(p.love, isDark ? 15 : -15)};
97
+
98
+ color-scheme: ${p.type};
99
+ }
100
+ }`;
101
+
102
+ fs.writeFileSync(
103
+ path.join(themesDir, `rose-pine-${flavorName}-${accentName}.css`),
104
+ css
105
+ );
106
+ }
107
+ }
@@ -0,0 +1,195 @@
1
+ @layer starlight, rose-pine;
2
+
3
+ @layer rose-pine {
4
+ :root {
5
+ --sl-color-text: var(--sl-color-white);
6
+ }
7
+
8
+ .sidebar-content a,
9
+ .right-sidebar-panel a,
10
+ .sidebar-content summary {
11
+ color: var(--sl-color-white) !important;
12
+ }
13
+
14
+ .sidebar-content a[aria-current="page"],
15
+ .right-sidebar-panel a[aria-current="true"] {
16
+ color: var(--sl-color-black) !important;
17
+ background-color: var(--sl-color-accent-high) !important;
18
+ font-weight: 600;
19
+ }
20
+
21
+ :root[data-theme="light"] .sidebar-content a[aria-current="page"],
22
+ :root[data-theme="light"] .right-sidebar-panel a[aria-current="true"] {
23
+ color: var(--sl-color-accent) !important;
24
+ }
25
+
26
+ .sl-flex.edit-margin a,
27
+ .pagination-links a {
28
+ color: var(--sl-color-white) !important;
29
+ }
30
+
31
+ .sl-flex.edit-margin svg {
32
+ color: var(--sl-color-accent) !important;
33
+ }
34
+
35
+ header,
36
+ .right-sidebar,
37
+ .content-panel {
38
+ border-color: var(--sl-color-gray-5);
39
+ }
40
+
41
+ .expressive-code pre {
42
+ --code-background: var(--sl-color-gray-6) !important;
43
+ }
44
+
45
+ .expressive-code .title {
46
+ background: var(--sl-color-gray-6) !important;
47
+ }
48
+
49
+ .sidebar-content .sl-badge {
50
+ background-color: var(--sl-color-gray-6) !important;
51
+ border: 1px solid var(--sl-color-gray-5);
52
+ color: var(--sl-color-white) !important;
53
+ }
54
+
55
+ .sidebar-content .sl-badge.default {
56
+ border-color: var(--sl-color-accent-high);
57
+ background-color: var(--sl-color-accent-high) !important;
58
+ color: var(--sl-color-black) !important;
59
+ }
60
+
61
+ :root[data-theme="light"] .sidebar-content .sl-badge.default {
62
+ color: var(--sl-color-accent) !important;
63
+ }
64
+
65
+ .sl-badge {
66
+ background-color: transparent !important;
67
+ }
68
+
69
+ .sl-badge.default {
70
+ background-color: color-mix(
71
+ in srgb,
72
+ var(--sl-color-accent),
73
+ transparent 90%
74
+ ) !important;
75
+ border: 1px solid var(--sl-color-accent-low);
76
+ color: var(--sl-color-accent) !important;
77
+ }
78
+
79
+ .sl-badge.note {
80
+ background-color: color-mix(
81
+ in srgb,
82
+ var(--sl-color-blue),
83
+ transparent 90%
84
+ ) !important;
85
+ border: 1px solid var(--sl-color-blue-low);
86
+ color: var(--sl-color-blue) !important;
87
+ }
88
+
89
+ .sl-badge.success {
90
+ background-color: color-mix(
91
+ in srgb,
92
+ var(--sl-color-green),
93
+ transparent 90%
94
+ ) !important;
95
+ border: 1px solid var(--sl-color-green-low);
96
+ color: var(--sl-color-green) !important;
97
+ }
98
+
99
+ .sl-badge.tip {
100
+ background-color: color-mix(
101
+ in srgb,
102
+ var(--sl-color-purple),
103
+ transparent 90%
104
+ ) !important;
105
+ border: 1px solid var(--sl-color-purple-low);
106
+ color: var(--sl-color-purple) !important;
107
+ }
108
+
109
+ .sl-badge.caution {
110
+ background-color: color-mix(
111
+ in srgb,
112
+ var(--sl-color-orange),
113
+ transparent 90%
114
+ ) !important;
115
+ border: 1px solid var(--sl-color-orange-low);
116
+ color: var(--sl-color-orange) !important;
117
+ }
118
+
119
+ .sl-badge.danger {
120
+ background-color: color-mix(
121
+ in srgb,
122
+ var(--sl-color-red),
123
+ transparent 90%
124
+ ) !important;
125
+ border: 1px solid var(--sl-color-red-low);
126
+ color: var(--sl-color-red) !important;
127
+ }
128
+
129
+ .starlight-aside {
130
+ background-color: transparent !important;
131
+ border-inline-start-width: 3px;
132
+ }
133
+
134
+ .starlight-aside--note {
135
+ --sl-color-asides-text-accent: var(--sl-color-blue);
136
+ --sl-color-asides-border: var(--sl-color-blue);
137
+ background-color: color-mix(
138
+ in srgb,
139
+ var(--sl-color-blue),
140
+ transparent 92%
141
+ ) !important;
142
+ }
143
+
144
+ .starlight-aside--tip {
145
+ --sl-color-asides-text-accent: var(--sl-color-purple);
146
+ --sl-color-asides-border: var(--sl-color-purple);
147
+ background-color: color-mix(
148
+ in srgb,
149
+ var(--sl-color-purple),
150
+ transparent 92%
151
+ ) !important;
152
+ }
153
+
154
+ .starlight-aside--caution {
155
+ --sl-color-asides-text-accent: var(--sl-color-orange);
156
+ --sl-color-asides-border: var(--sl-color-orange);
157
+ background-color: color-mix(
158
+ in srgb,
159
+ var(--sl-color-orange),
160
+ transparent 92%
161
+ ) !important;
162
+ }
163
+
164
+ .starlight-aside--danger {
165
+ --sl-color-asides-text-accent: var(--sl-color-red);
166
+ --sl-color-asides-border: var(--sl-color-red);
167
+ background-color: color-mix(
168
+ in srgb,
169
+ var(--sl-color-red),
170
+ transparent 92%
171
+ ) !important;
172
+ }
173
+
174
+ .card {
175
+ border-radius: 0.75rem;
176
+ background-color: var(--sl-color-gray-5);
177
+ border-color: var(--sl-color-gray-4);
178
+ }
179
+
180
+ .sl-link-card .description {
181
+ color: var(--sl-color-gray-1);
182
+ }
183
+
184
+ .tab [aria-selected="false"] {
185
+ color: var(--sl-color-gray-1);
186
+ }
187
+
188
+ starlight-file-tree .comment {
189
+ color: var(--sl-color-gray-2);
190
+ }
191
+
192
+ footer .meta a {
193
+ color: var(--sl-color-gray-2);
194
+ }
195
+ }
@@ -0,0 +1,34 @@
1
+ @layer starlight, rose-pine;
2
+
3
+ @layer rose-pine {
4
+ :root,
5
+ ::backdrop {
6
+ --sl-color-accent-low: #131e4f;
7
+ --sl-color-accent: #3447ff;
8
+ --sl-color-accent-high: #b3c7ff;
9
+ --sl-color-white: #ffffff;
10
+ --sl-color-gray-1: #eceef2;
11
+ --sl-color-gray-2: #c0c2c7;
12
+ --sl-color-gray-3: #888b96;
13
+ --sl-color-gray-4: #545861;
14
+ --sl-color-gray-5: #353841;
15
+ --sl-color-gray-6: #24272f;
16
+ --sl-color-black: #17181c;
17
+ }
18
+
19
+ :root[data-theme="light"],
20
+ [data-theme="light"] ::backdrop {
21
+ --sl-color-accent-low: #c7d6ff;
22
+ --sl-color-accent: #364bff;
23
+ --sl-color-accent-high: #182775;
24
+ --sl-color-white: #17181c;
25
+ --sl-color-gray-1: #24272f;
26
+ --sl-color-gray-2: #353841;
27
+ --sl-color-gray-3: #545861;
28
+ --sl-color-gray-4: #888b96;
29
+ --sl-color-gray-5: #c0c2c7;
30
+ --sl-color-gray-6: #eceef2;
31
+ --sl-color-gray-7: #f5f6f8;
32
+ --sl-color-black: #ffffff;
33
+ }
34
+ }
@@ -0,0 +1,34 @@
1
+ @layer starlight, rose-pine;
2
+
3
+ @layer rose-pine {
4
+ :root,
5
+ ::backdrop {
6
+ --sl-color-accent-low: #131e4f;
7
+ --sl-color-accent: #3447ff;
8
+ --sl-color-accent-high: #b3c7ff;
9
+ --sl-color-white: #e0def4;
10
+ --sl-color-gray-1: #908caa;
11
+ --sl-color-gray-2: #6e6a86;
12
+ --sl-color-gray-3: #56526e;
13
+ --sl-color-gray-4: #44415a;
14
+ --sl-color-gray-5: #393552;
15
+ --sl-color-gray-6: #2a273f;
16
+ --sl-color-black: #232136;
17
+ }
18
+
19
+ :root[data-theme="light"],
20
+ [data-theme="light"] ::backdrop {
21
+ --sl-color-accent-low: #c7d6ff;
22
+ --sl-color-accent: #364bff;
23
+ --sl-color-accent-high: #182775;
24
+ --sl-color-white: #17181c;
25
+ --sl-color-gray-1: #24272f;
26
+ --sl-color-gray-2: #353841;
27
+ --sl-color-gray-3: #545861;
28
+ --sl-color-gray-4: #888b96;
29
+ --sl-color-gray-5: #c0c2c7;
30
+ --sl-color-gray-6: #eceef2;
31
+ --sl-color-gray-7: #f5f6f8;
32
+ --sl-color-black: #ffffff;
33
+ }
34
+ }
@@ -0,0 +1,44 @@
1
+ @layer rose-pine {
2
+ :root[data-theme="light"] {
3
+ --sl-color-accent-low: hsl(189, 30%, 23%);
4
+ --sl-color-accent: hsl(189, 30%, 48%);
5
+ --sl-color-accent-high: hsl(189, 30%, 93%);
6
+
7
+ --sl-color-white: #575279;
8
+ --sl-color-gray-1: #797593;
9
+ --sl-color-gray-2: #9893a5;
10
+ --sl-color-gray-3: #cecacd;
11
+ --sl-color-gray-4: #dfdad9;
12
+ --sl-color-gray-5: #f2e9e1;
13
+ --sl-color-gray-6: #f4ede8;
14
+ --sl-color-gray-7: #fffaf3;
15
+ --sl-color-black: #faf4ed;
16
+
17
+ --sl-hue-orange: 35;
18
+ --sl-color-orange-low: hsl(35, 81%, 86%);
19
+ --sl-color-orange: hsl(35, 81%, 56%);
20
+ --sl-color-orange-high: hsl(35, 81%, 41%);
21
+
22
+ --sl-hue-green: 197;
23
+ --sl-color-green-low: hsl(197, 53%, 64%);
24
+ --sl-color-green: hsl(197, 53%, 34%);
25
+ --sl-color-green-high: hsl(197, 53%, 19%);
26
+
27
+ --sl-hue-blue: 189;
28
+ --sl-color-blue-low: hsl(189, 30%, 78%);
29
+ --sl-color-blue: hsl(189, 30%, 48%);
30
+ --sl-color-blue-high: hsl(189, 30%, 33%);
31
+
32
+ --sl-hue-purple: 268;
33
+ --sl-color-purple-low: hsl(268, 21%, 87%);
34
+ --sl-color-purple: hsl(268, 21%, 57%);
35
+ --sl-color-purple-high: hsl(268, 21%, 42%);
36
+
37
+ --sl-hue-red: 343;
38
+ --sl-color-red-low: hsl(343, 35%, 85%);
39
+ --sl-color-red: hsl(343, 35%, 55%);
40
+ --sl-color-red-high: hsl(343, 35%, 40%);
41
+
42
+ color-scheme: light;
43
+ }
44
+ }
@@ -0,0 +1,44 @@
1
+ @layer rose-pine {
2
+ :root[data-theme="light"] {
3
+ --sl-color-accent-low: hsl(35, 81%, 31%);
4
+ --sl-color-accent: hsl(35, 81%, 56%);
5
+ --sl-color-accent-high: hsl(35, 81%, 100%);
6
+
7
+ --sl-color-white: #575279;
8
+ --sl-color-gray-1: #797593;
9
+ --sl-color-gray-2: #9893a5;
10
+ --sl-color-gray-3: #cecacd;
11
+ --sl-color-gray-4: #dfdad9;
12
+ --sl-color-gray-5: #f2e9e1;
13
+ --sl-color-gray-6: #f4ede8;
14
+ --sl-color-gray-7: #fffaf3;
15
+ --sl-color-black: #faf4ed;
16
+
17
+ --sl-hue-orange: 35;
18
+ --sl-color-orange-low: hsl(35, 81%, 86%);
19
+ --sl-color-orange: hsl(35, 81%, 56%);
20
+ --sl-color-orange-high: hsl(35, 81%, 41%);
21
+
22
+ --sl-hue-green: 197;
23
+ --sl-color-green-low: hsl(197, 53%, 64%);
24
+ --sl-color-green: hsl(197, 53%, 34%);
25
+ --sl-color-green-high: hsl(197, 53%, 19%);
26
+
27
+ --sl-hue-blue: 189;
28
+ --sl-color-blue-low: hsl(189, 30%, 78%);
29
+ --sl-color-blue: hsl(189, 30%, 48%);
30
+ --sl-color-blue-high: hsl(189, 30%, 33%);
31
+
32
+ --sl-hue-purple: 268;
33
+ --sl-color-purple-low: hsl(268, 21%, 87%);
34
+ --sl-color-purple: hsl(268, 21%, 57%);
35
+ --sl-color-purple-high: hsl(268, 21%, 42%);
36
+
37
+ --sl-hue-red: 343;
38
+ --sl-color-red-low: hsl(343, 35%, 85%);
39
+ --sl-color-red: hsl(343, 35%, 55%);
40
+ --sl-color-red-high: hsl(343, 35%, 40%);
41
+
42
+ color-scheme: light;
43
+ }
44
+ }
@@ -0,0 +1,44 @@
1
+ @layer rose-pine {
2
+ :root[data-theme="light"] {
3
+ --sl-color-accent-low: hsl(268, 21%, 32%);
4
+ --sl-color-accent: hsl(268, 21%, 57%);
5
+ --sl-color-accent-high: hsl(268, 21%, 100%);
6
+
7
+ --sl-color-white: #575279;
8
+ --sl-color-gray-1: #797593;
9
+ --sl-color-gray-2: #9893a5;
10
+ --sl-color-gray-3: #cecacd;
11
+ --sl-color-gray-4: #dfdad9;
12
+ --sl-color-gray-5: #f2e9e1;
13
+ --sl-color-gray-6: #f4ede8;
14
+ --sl-color-gray-7: #fffaf3;
15
+ --sl-color-black: #faf4ed;
16
+
17
+ --sl-hue-orange: 35;
18
+ --sl-color-orange-low: hsl(35, 81%, 86%);
19
+ --sl-color-orange: hsl(35, 81%, 56%);
20
+ --sl-color-orange-high: hsl(35, 81%, 41%);
21
+
22
+ --sl-hue-green: 197;
23
+ --sl-color-green-low: hsl(197, 53%, 64%);
24
+ --sl-color-green: hsl(197, 53%, 34%);
25
+ --sl-color-green-high: hsl(197, 53%, 19%);
26
+
27
+ --sl-hue-blue: 189;
28
+ --sl-color-blue-low: hsl(189, 30%, 78%);
29
+ --sl-color-blue: hsl(189, 30%, 48%);
30
+ --sl-color-blue-high: hsl(189, 30%, 33%);
31
+
32
+ --sl-hue-purple: 268;
33
+ --sl-color-purple-low: hsl(268, 21%, 87%);
34
+ --sl-color-purple: hsl(268, 21%, 57%);
35
+ --sl-color-purple-high: hsl(268, 21%, 42%);
36
+
37
+ --sl-hue-red: 343;
38
+ --sl-color-red-low: hsl(343, 35%, 85%);
39
+ --sl-color-red: hsl(343, 35%, 55%);
40
+ --sl-color-red-high: hsl(343, 35%, 40%);
41
+
42
+ color-scheme: light;
43
+ }
44
+ }