@amulet-laboratories/hex 0.3.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/LICENSE +21 -0
- package/README.md +120 -0
- package/dist/aldricpace.css +5 -0
- package/dist/briarcove.css +5 -0
- package/dist/briarcovelib.css +5 -0
- package/dist/compass.css +5 -0
- package/dist/duskline.css +5 -0
- package/dist/forge.css +5 -0
- package/dist/garden.css +5 -0
- package/dist/greyline.css +5 -0
- package/dist/hex.css +5 -0
- package/dist/kbcv.css +5 -0
- package/dist/lanternhouse.css +5 -0
- package/dist/marenlys.css +5 -0
- package/dist/quizbit.css +5 -0
- package/dist/saltsignal.css +5 -0
- package/dist/scoped.css +1 -0
- package/dist/spacewizard.css +5 -0
- package/dist/tidemark.css +5 -0
- package/dist/undertow.css +5 -0
- package/dist/vscode.css +5 -0
- package/package.json +119 -0
- package/src/index.css +10 -0
- package/src/scoped/bridge.css +47 -0
- package/src/scoped/index.css +51 -0
- package/src/scoped/themes/aldricpace.css +115 -0
- package/src/scoped/themes/briarcove.css +123 -0
- package/src/scoped/themes/briarcovelib.css +111 -0
- package/src/scoped/themes/compass.css +111 -0
- package/src/scoped/themes/duskline.css +117 -0
- package/src/scoped/themes/forge.css +123 -0
- package/src/scoped/themes/garden.css +123 -0
- package/src/scoped/themes/greyline.css +116 -0
- package/src/scoped/themes/kbcv.css +111 -0
- package/src/scoped/themes/lanternhouse.css +111 -0
- package/src/scoped/themes/marenlys.css +112 -0
- package/src/scoped/themes/quizbit.css +101 -0
- package/src/scoped/themes/saltsignal.css +114 -0
- package/src/scoped/themes/spacewizard.css +115 -0
- package/src/scoped/themes/tidemark.css +119 -0
- package/src/scoped/themes/undertow.css +113 -0
- package/src/scoped/themes/vscode.css +230 -0
- package/src/scoped/tokens.css +21 -0
- package/src/shared/a11y.css +175 -0
- package/src/shared/components/core.css +1654 -0
- package/src/shared/components/data.css +418 -0
- package/src/shared/components/editor.css +358 -0
- package/src/shared/components/extras.css +897 -0
- package/src/shared/components/layout.css +663 -0
- package/src/shared/components/lists.css +278 -0
- package/src/shared/components/menus.css +377 -0
- package/src/shared/components/nav.css +943 -0
- package/src/shared/components/prose.css +302 -0
- package/src/shared/components/shell.css +528 -0
- package/src/shared/components/spatial.css +184 -0
- package/src/shared/components/temporal.css +191 -0
- package/src/shared/components/web.css +1689 -0
- package/src/shared/rig-defaults.css +121 -0
- package/src/shared/scroll-animations.css +176 -0
- package/src/shared/tokens.css +125 -0
- package/src/shared/utilities.css +204 -0
- package/src/themes/aldricpace/base.css +114 -0
- package/src/themes/aldricpace/components.css +22 -0
- package/src/themes/aldricpace/domains.css +19 -0
- package/src/themes/aldricpace/index.css +6 -0
- package/src/themes/aldricpace/tokens.css +169 -0
- package/src/themes/andrewpassanisi/base.css +192 -0
- package/src/themes/andrewpassanisi/index.css +11 -0
- package/src/themes/andrewpassanisi/tokens.css +136 -0
- package/src/themes/briarcove/base.css +170 -0
- package/src/themes/briarcove/components.css +27 -0
- package/src/themes/briarcove/domains.css +72 -0
- package/src/themes/briarcove/index.css +6 -0
- package/src/themes/briarcove/tokens.css +179 -0
- package/src/themes/briarcovelib/base.css +111 -0
- package/src/themes/briarcovelib/components.css +22 -0
- package/src/themes/briarcovelib/domains.css +19 -0
- package/src/themes/briarcovelib/index.css +6 -0
- package/src/themes/briarcovelib/tokens.css +167 -0
- package/src/themes/compass/base.css +112 -0
- package/src/themes/compass/components.css +22 -0
- package/src/themes/compass/domains.css +19 -0
- package/src/themes/compass/index.css +6 -0
- package/src/themes/compass/tokens.css +167 -0
- package/src/themes/duskline/base.css +167 -0
- package/src/themes/duskline/components.css +27 -0
- package/src/themes/duskline/domains.css +72 -0
- package/src/themes/duskline/index.css +6 -0
- package/src/themes/duskline/tokens.css +171 -0
- package/src/themes/forge/base.css +165 -0
- package/src/themes/forge/components.css +24 -0
- package/src/themes/forge/domains.css +72 -0
- package/src/themes/forge/index.css +6 -0
- package/src/themes/forge/tokens.css +178 -0
- package/src/themes/garden/base.css +167 -0
- package/src/themes/garden/components.css +27 -0
- package/src/themes/garden/domains.css +72 -0
- package/src/themes/garden/index.css +6 -0
- package/src/themes/garden/tokens.css +178 -0
- package/src/themes/greyline/base.css +165 -0
- package/src/themes/greyline/components.css +24 -0
- package/src/themes/greyline/domains.css +70 -0
- package/src/themes/greyline/index.css +6 -0
- package/src/themes/greyline/tokens.css +161 -0
- package/src/themes/kbcv/base.css +112 -0
- package/src/themes/kbcv/components.css +22 -0
- package/src/themes/kbcv/domains.css +19 -0
- package/src/themes/kbcv/index.css +6 -0
- package/src/themes/kbcv/tokens.css +167 -0
- package/src/themes/lanternhouse/base.css +170 -0
- package/src/themes/lanternhouse/components.css +27 -0
- package/src/themes/lanternhouse/domains.css +72 -0
- package/src/themes/lanternhouse/index.css +6 -0
- package/src/themes/lanternhouse/tokens.css +167 -0
- package/src/themes/marenlys/base.css +181 -0
- package/src/themes/marenlys/components.css +27 -0
- package/src/themes/marenlys/domains.css +72 -0
- package/src/themes/marenlys/index.css +6 -0
- package/src/themes/marenlys/tokens.css +167 -0
- package/src/themes/quizbit/base.css +120 -0
- package/src/themes/quizbit/components.css +27 -0
- package/src/themes/quizbit/domains.css +7 -0
- package/src/themes/quizbit/index.css +6 -0
- package/src/themes/quizbit/tokens.css +132 -0
- package/src/themes/saltsignal/base.css +168 -0
- package/src/themes/saltsignal/components.css +27 -0
- package/src/themes/saltsignal/domains.css +72 -0
- package/src/themes/saltsignal/index.css +6 -0
- package/src/themes/saltsignal/tokens.css +170 -0
- package/src/themes/spacewizard/base.css +165 -0
- package/src/themes/spacewizard/components.css +24 -0
- package/src/themes/spacewizard/domains.css +70 -0
- package/src/themes/spacewizard/index.css +6 -0
- package/src/themes/spacewizard/tokens.css +160 -0
- package/src/themes/tidemark/base.css +169 -0
- package/src/themes/tidemark/components.css +27 -0
- package/src/themes/tidemark/domains.css +72 -0
- package/src/themes/tidemark/index.css +6 -0
- package/src/themes/tidemark/tokens.css +175 -0
- package/src/themes/undertow/base.css +114 -0
- package/src/themes/undertow/components.css +22 -0
- package/src/themes/undertow/domains.css +19 -0
- package/src/themes/undertow/index.css +6 -0
- package/src/themes/undertow/tokens.css +171 -0
- package/src/themes/vscode/base.css +104 -0
- package/src/themes/vscode/components.css +24 -0
- package/src/themes/vscode/domains.css +132 -0
- package/src/themes/vscode/index.css +13 -0
- package/src/themes/vscode/tokens.css +346 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/* Hex — Lanternhouse Domains
|
|
2
|
+
* Domain accent colors, responsive breakpoints, unstyled overrides.
|
|
3
|
+
* Lanternhouse is a boutique hotel theme — domains are less relevant
|
|
4
|
+
* but included for contract compatibility.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
@reference 'tailwindcss';
|
|
8
|
+
@reference './tokens.css';
|
|
9
|
+
|
|
10
|
+
/* ───────── Domain accent colors ───────── */
|
|
11
|
+
|
|
12
|
+
[data-domain='legal'] {
|
|
13
|
+
--domain-accent: #f59e0b;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
[data-domain='life'] {
|
|
17
|
+
--domain-accent: #14b8a6;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
[data-domain='software'] {
|
|
21
|
+
--domain-accent: #3b82f6;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
[data-domain='business'] {
|
|
25
|
+
--domain-accent: #10b981;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
[data-domain='history'] {
|
|
29
|
+
--domain-accent: #a8a29e;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
[data-domain='world'] {
|
|
33
|
+
--domain-accent: #8b5cf6;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/* ───────── Responsive: Marketing site ───────── */
|
|
37
|
+
|
|
38
|
+
@media (width <= 700px) {
|
|
39
|
+
[data-rig-shell-grid] {
|
|
40
|
+
grid-template-areas:
|
|
41
|
+
'editor'
|
|
42
|
+
'panel'
|
|
43
|
+
'statusbar';
|
|
44
|
+
grid-template-columns: 1fr;
|
|
45
|
+
grid-template-rows: 1fr auto auto;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
[data-rig-shell-activity] {
|
|
49
|
+
display: none;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
[data-rig-shell-sidebar] {
|
|
53
|
+
display: none;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/* ───────── Unstyled theme overrides ───────── */
|
|
58
|
+
|
|
59
|
+
[data-theme='unstyled'] *,
|
|
60
|
+
[data-theme='unstyled'] *::before,
|
|
61
|
+
[data-theme='unstyled'] *::after {
|
|
62
|
+
color: revert !important;
|
|
63
|
+
background-color: revert !important;
|
|
64
|
+
background: revert !important;
|
|
65
|
+
border-color: revert !important;
|
|
66
|
+
box-shadow: none !important;
|
|
67
|
+
text-shadow: none !important;
|
|
68
|
+
backdrop-filter: none !important;
|
|
69
|
+
opacity: 1 !important;
|
|
70
|
+
|
|
71
|
+
--domain-accent: initial !important;
|
|
72
|
+
}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/* Hex — Lanternhouse Design Tokens
|
|
2
|
+
* Evening observatory. Soft violet glow on deep plum.
|
|
3
|
+
* Boutique hospitality theme with lavender accent on dark plum canvas.
|
|
4
|
+
*
|
|
5
|
+
* Full palette (7 swatch colors):
|
|
6
|
+
* #110E18 dark plum — background
|
|
7
|
+
* #1A1624 deep violet — card, popover
|
|
8
|
+
* #221E30 muted plum — secondary, muted
|
|
9
|
+
* #E4DFF0 lavender white — foreground text
|
|
10
|
+
* #8A80A0 dusty violet — muted foreground
|
|
11
|
+
* #7A8EB8 cool blue — info
|
|
12
|
+
* #A87BD4 soft lavender — primary, accent (h≈280)
|
|
13
|
+
*
|
|
14
|
+
* @theme feeds Tailwind v4 utility generation (bg-background, text-foreground, etc.)
|
|
15
|
+
* :root provides standalone CSS custom property access for non-Tailwind consumers.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
@theme {
|
|
19
|
+
/* Surface colors */
|
|
20
|
+
--color-background: #110e18;
|
|
21
|
+
--color-foreground: #e4dff0;
|
|
22
|
+
--color-card: #1a1624;
|
|
23
|
+
--color-card-foreground: #e4dff0;
|
|
24
|
+
--color-popover: #1a1624;
|
|
25
|
+
--color-popover-foreground: #e4dff0;
|
|
26
|
+
|
|
27
|
+
/* Brand */
|
|
28
|
+
--color-primary: #a87bd4;
|
|
29
|
+
--color-primary-foreground: #110e18;
|
|
30
|
+
|
|
31
|
+
/* Soft accents */
|
|
32
|
+
--color-secondary: #221e30;
|
|
33
|
+
--color-secondary-foreground: #e4dff0;
|
|
34
|
+
--color-muted: #221e30;
|
|
35
|
+
--color-muted-foreground: #8a80a0;
|
|
36
|
+
--color-accent: #a87bd4;
|
|
37
|
+
--color-accent-foreground: #110e18;
|
|
38
|
+
|
|
39
|
+
/* Semantic status */
|
|
40
|
+
--color-destructive: #d45a5a;
|
|
41
|
+
--color-destructive-foreground: #e4dff0;
|
|
42
|
+
--color-success: #5aaa70;
|
|
43
|
+
--color-warning: #d4a843;
|
|
44
|
+
--color-info: #7a8eb8;
|
|
45
|
+
|
|
46
|
+
/* Borders and focus */
|
|
47
|
+
--color-border: #2e2840;
|
|
48
|
+
--color-input: #2e2840;
|
|
49
|
+
--color-ring: #a87bd4;
|
|
50
|
+
|
|
51
|
+
/* Typography */
|
|
52
|
+
--font-sans: 'Josefin Sans', 'Inter', system-ui, sans-serif;
|
|
53
|
+
--font-mono: 'Josefin Sans', 'SF Mono', ui-monospace, monospace;
|
|
54
|
+
--font-serif: 'Bodoni Moda', 'Lora', Georgia, serif;
|
|
55
|
+
--font-heading: 'Bodoni Moda', 'Lora', Georgia, serif;
|
|
56
|
+
|
|
57
|
+
/* Radius */
|
|
58
|
+
/* Typography — IDE-density type scale */
|
|
59
|
+
--font-size-2xs: 0.625rem;
|
|
60
|
+
--font-size-2xs--line-height: 1.25;
|
|
61
|
+
--font-size-xs: 0.75rem;
|
|
62
|
+
--font-size-xs--line-height: 1.5;
|
|
63
|
+
--font-size-sm: 0.8125rem;
|
|
64
|
+
--font-size-sm--line-height: 1.5;
|
|
65
|
+
--font-size-base: 0.875rem;
|
|
66
|
+
--font-size-base--line-height: 1.5;
|
|
67
|
+
--font-size-lg: 1.125rem;
|
|
68
|
+
--font-size-lg--line-height: 1.25;
|
|
69
|
+
--font-size-xl: 1.25rem;
|
|
70
|
+
--font-size-xl--line-height: 1.25;
|
|
71
|
+
|
|
72
|
+
/* Display font family */
|
|
73
|
+
--font-display: var(--font-sans);
|
|
74
|
+
|
|
75
|
+
--radius: 5px;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
:root {
|
|
79
|
+
--background: #110e18;
|
|
80
|
+
--foreground: #e4dff0;
|
|
81
|
+
--card: #1a1624;
|
|
82
|
+
--card-foreground: #e4dff0;
|
|
83
|
+
--popover: #1a1624;
|
|
84
|
+
--popover-foreground: #e4dff0;
|
|
85
|
+
--primary: #a87bd4;
|
|
86
|
+
--primary-foreground: #110e18;
|
|
87
|
+
--secondary: #221e30;
|
|
88
|
+
--secondary-foreground: #e4dff0;
|
|
89
|
+
--muted: #221e30;
|
|
90
|
+
--muted-foreground: #8a80a0;
|
|
91
|
+
--accent: #a87bd4;
|
|
92
|
+
--accent-foreground: #110e18;
|
|
93
|
+
--destructive: #d45a5a;
|
|
94
|
+
--destructive-foreground: #e4dff0;
|
|
95
|
+
--success: #5aaa70;
|
|
96
|
+
--warning: #d4a843;
|
|
97
|
+
--info: #7a8eb8;
|
|
98
|
+
--border: #2e2840;
|
|
99
|
+
--input: #2e2840;
|
|
100
|
+
--ring: #a87bd4;
|
|
101
|
+
/* Typography — IDE-density type scale */
|
|
102
|
+
--font-size-2xs: 0.625rem;
|
|
103
|
+
--font-size-2xs--line-height: 1.25;
|
|
104
|
+
--font-size-xs: 0.75rem;
|
|
105
|
+
--font-size-xs--line-height: 1.5;
|
|
106
|
+
--font-size-sm: 0.8125rem;
|
|
107
|
+
--font-size-sm--line-height: 1.5;
|
|
108
|
+
--font-size-base: 0.875rem;
|
|
109
|
+
--font-size-base--line-height: 1.5;
|
|
110
|
+
--font-size-lg: 1.125rem;
|
|
111
|
+
--font-size-lg--line-height: 1.25;
|
|
112
|
+
--font-size-xl: 1.25rem;
|
|
113
|
+
--font-size-xl--line-height: 1.25;
|
|
114
|
+
|
|
115
|
+
/* Display font family */
|
|
116
|
+
--font-display: var(--font-sans);
|
|
117
|
+
|
|
118
|
+
--radius: 5px;
|
|
119
|
+
|
|
120
|
+
/* Typography — IDE-density type scale (shorthand aliases) */
|
|
121
|
+
--text-2xs: 0.625rem;
|
|
122
|
+
--text-xs: 0.75rem;
|
|
123
|
+
--text-sm: 0.8125rem;
|
|
124
|
+
--text-base: 0.875rem;
|
|
125
|
+
--text-lg: 1.125rem;
|
|
126
|
+
--text-xl: 1.25rem;
|
|
127
|
+
--leading-tight: 1.25;
|
|
128
|
+
--leading-snug: 1.375;
|
|
129
|
+
--leading-normal: 1.5;
|
|
130
|
+
--leading-relaxed: 1.625;
|
|
131
|
+
--weight-normal: 400;
|
|
132
|
+
--weight-medium: 500;
|
|
133
|
+
--weight-semibold: 600;
|
|
134
|
+
--weight-bold: 700;
|
|
135
|
+
--tracking-tight: -0.01em;
|
|
136
|
+
--tracking-normal: 0;
|
|
137
|
+
--tracking-wide: 0.05em;
|
|
138
|
+
--tracking-wider: 0.08em;
|
|
139
|
+
--font-display: var(--font-sans);
|
|
140
|
+
--font-sans: 'Josefin Sans', 'Inter', system-ui, sans-serif;
|
|
141
|
+
--font-mono: 'Josefin Sans', 'SF Mono', ui-monospace, monospace;
|
|
142
|
+
--font-serif: 'Bodoni Moda', 'Lora', Georgia, serif;
|
|
143
|
+
--font-heading: 'Bodoni Moda', 'Lora', Georgia, serif;
|
|
144
|
+
|
|
145
|
+
/* ── Named palette aliases ──────────────────────────────────────────────
|
|
146
|
+
* All 7 swatch colors available for direct template use.
|
|
147
|
+
*/
|
|
148
|
+
--lh-plum: #110e18;
|
|
149
|
+
--lh-deep: #1a1624;
|
|
150
|
+
--lh-charcoal: #221e30;
|
|
151
|
+
--lh-cream: #e4dff0;
|
|
152
|
+
--lh-dusty: #8a80a0;
|
|
153
|
+
--lh-steel: #7a8eb8;
|
|
154
|
+
--lh-lavender: #a87bd4;
|
|
155
|
+
|
|
156
|
+
/* ── Rig component token bridge ─────────────────────────────────────────
|
|
157
|
+
* Overrides shared/tokens.css defaults where the Lanternhouse palette needs
|
|
158
|
+
* values that can't be derived directly from --color-* semantics.
|
|
159
|
+
*/
|
|
160
|
+
|
|
161
|
+
/* Button — plum charcoal for hover feedback */
|
|
162
|
+
--rig-button-hover-bg: #221e30;
|
|
163
|
+
|
|
164
|
+
/* Scrollbar — lavender tint for evening ambiance */
|
|
165
|
+
--rig-scrollbar-thumb: rgba(228, 223, 240, 0.15);
|
|
166
|
+
--rig-scrollbar-thumb-hover: rgba(228, 223, 240, 0.3);
|
|
167
|
+
}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/* Hex — Marenlys Base Styles
|
|
2
|
+
* html/body defaults, scrollbar, focus, selection, transitions.
|
|
3
|
+
* Ultra-light gallery typography with serif headings.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
@reference 'tailwindcss';
|
|
7
|
+
@reference './tokens.css';
|
|
8
|
+
|
|
9
|
+
/* Base styles */
|
|
10
|
+
html {
|
|
11
|
+
/* Keep 16px on <html> so Tailwind rem utilities stay correctly sized */
|
|
12
|
+
font-size: 16px;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
html,
|
|
16
|
+
body {
|
|
17
|
+
@apply bg-background text-foreground font-sans;
|
|
18
|
+
|
|
19
|
+
color-scheme: light;
|
|
20
|
+
-webkit-font-smoothing: antialiased;
|
|
21
|
+
-moz-osx-font-smoothing: grayscale;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
body {
|
|
25
|
+
/* Gallery minimal: 17px body, regular weight, relaxed leading */
|
|
26
|
+
font-size: 17px;
|
|
27
|
+
font-weight: 400;
|
|
28
|
+
line-height: 1.7;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/* Heading defaults — elegant serif, regular weight for restraint */
|
|
32
|
+
h1 {
|
|
33
|
+
font-size: 56px;
|
|
34
|
+
font-weight: 400;
|
|
35
|
+
font-family: var(--font-serif);
|
|
36
|
+
color: var(--color-foreground);
|
|
37
|
+
margin: 0;
|
|
38
|
+
padding: 0;
|
|
39
|
+
line-height: 1.1;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
h2 {
|
|
43
|
+
font-size: 36px;
|
|
44
|
+
font-weight: 400;
|
|
45
|
+
font-family: var(--font-serif);
|
|
46
|
+
color: var(--color-foreground);
|
|
47
|
+
margin: 0;
|
|
48
|
+
padding: 0;
|
|
49
|
+
line-height: 1.2;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/* Scrollbar — barely visible, 8% foreground mix */
|
|
53
|
+
::-webkit-scrollbar {
|
|
54
|
+
width: 8px;
|
|
55
|
+
height: 8px;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
::-webkit-scrollbar-track {
|
|
59
|
+
background: transparent;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
::-webkit-scrollbar-thumb {
|
|
63
|
+
background: color-mix(in srgb, var(--color-foreground) 8%, transparent);
|
|
64
|
+
border-radius: 4px;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
::-webkit-scrollbar-thumb:hover {
|
|
68
|
+
background: color-mix(in srgb, var(--color-foreground) 18%, transparent);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/* Focus styles */
|
|
72
|
+
*:focus-visible {
|
|
73
|
+
outline: 2px solid var(--color-primary);
|
|
74
|
+
outline-offset: 2px;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/* Selection */
|
|
78
|
+
::selection {
|
|
79
|
+
background: color-mix(in srgb, var(--color-primary) 25%, transparent);
|
|
80
|
+
color: var(--color-foreground);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/* Smooth scrolling */
|
|
84
|
+
html {
|
|
85
|
+
scroll-behavior: smooth;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/* Reduced motion — disable animations and transitions */
|
|
89
|
+
@media (prefers-reduced-motion: reduce) {
|
|
90
|
+
*,
|
|
91
|
+
*::before,
|
|
92
|
+
*::after {
|
|
93
|
+
animation-duration: 0.01ms !important;
|
|
94
|
+
animation-iteration-count: 1 !important;
|
|
95
|
+
transition-duration: 0.01ms !important;
|
|
96
|
+
scroll-behavior: auto !important;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/* Firefox scrollbar */
|
|
101
|
+
* {
|
|
102
|
+
scrollbar-width: thin;
|
|
103
|
+
scrollbar-color: color-mix(in srgb, var(--color-foreground) 8%, transparent) transparent;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/* Hairline borders — ultra-fine 0.5px */
|
|
107
|
+
*,
|
|
108
|
+
*::before,
|
|
109
|
+
*::after {
|
|
110
|
+
border-width: 0;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
[data-rig-divider],
|
|
114
|
+
hr {
|
|
115
|
+
border-top-width: 0.5px;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/* ───────── Scroll-draw SVG utility ───────── */
|
|
119
|
+
|
|
120
|
+
@keyframes scroll-draw-in {
|
|
121
|
+
from {
|
|
122
|
+
stroke-dashoffset: 1;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
to {
|
|
126
|
+
stroke-dashoffset: 0;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.scroll-draw path,
|
|
131
|
+
.scroll-draw line,
|
|
132
|
+
.scroll-draw polyline,
|
|
133
|
+
.scroll-draw polygon,
|
|
134
|
+
.scroll-draw circle,
|
|
135
|
+
.scroll-draw ellipse {
|
|
136
|
+
stroke-dasharray: 1;
|
|
137
|
+
stroke-dashoffset: 1;
|
|
138
|
+
animation: scroll-draw-in linear both;
|
|
139
|
+
animation-timeline: view();
|
|
140
|
+
animation-range: entry 20% cover 50%;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
@media (prefers-reduced-motion: reduce) {
|
|
144
|
+
.scroll-draw path,
|
|
145
|
+
.scroll-draw line,
|
|
146
|
+
.scroll-draw polyline,
|
|
147
|
+
.scroll-draw polygon,
|
|
148
|
+
.scroll-draw circle,
|
|
149
|
+
.scroll-draw ellipse {
|
|
150
|
+
animation: none;
|
|
151
|
+
stroke-dashoffset: 0;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/* ───────── Scroll-reveal utility ───────── */
|
|
156
|
+
|
|
157
|
+
@keyframes scroll-fade-in {
|
|
158
|
+
from {
|
|
159
|
+
opacity: 0;
|
|
160
|
+
transform: translateY(20px);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
to {
|
|
164
|
+
opacity: 1;
|
|
165
|
+
transform: translateY(0);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.scroll-reveal {
|
|
170
|
+
animation: scroll-fade-in linear both;
|
|
171
|
+
animation-timeline: view();
|
|
172
|
+
animation-range: entry 10% cover 30%;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
@media (prefers-reduced-motion: reduce) {
|
|
176
|
+
.scroll-reveal {
|
|
177
|
+
animation: none;
|
|
178
|
+
opacity: 1;
|
|
179
|
+
transform: none;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/* Hex — Marenlys Component Barrel
|
|
2
|
+
* Imports shared component CSS (one file per Rig package).
|
|
3
|
+
* Components use only semantic tokens — Tailwind resolves them
|
|
4
|
+
* against this theme's tokens.css at build time.
|
|
5
|
+
* @import rules must precede @reference so postcss-import can inline them.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
@import '../../shared/rig-defaults.css';
|
|
9
|
+
@import '../../shared/components/core.css';
|
|
10
|
+
@import '../../shared/components/layout.css';
|
|
11
|
+
@import '../../shared/components/nav.css';
|
|
12
|
+
@import '../../shared/components/editor.css';
|
|
13
|
+
@import '../../shared/components/lists.css';
|
|
14
|
+
@import '../../shared/components/menus.css';
|
|
15
|
+
@import '../../shared/components/extras.css';
|
|
16
|
+
@import '../../shared/components/shell.css';
|
|
17
|
+
@import '../../shared/components/data.css';
|
|
18
|
+
@import '../../shared/components/spatial.css';
|
|
19
|
+
@import '../../shared/components/temporal.css';
|
|
20
|
+
@import '../../shared/components/web.css';
|
|
21
|
+
@import '../../shared/a11y.css';
|
|
22
|
+
@import '../../shared/components/prose.css';
|
|
23
|
+
@import '../../shared/utilities.css';
|
|
24
|
+
@import '../../shared/scroll-animations.css';
|
|
25
|
+
|
|
26
|
+
@reference 'tailwindcss';
|
|
27
|
+
@reference './tokens.css';
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/* Hex — Marenlys Domains
|
|
2
|
+
* Domain accent colors, responsive breakpoints, unstyled overrides.
|
|
3
|
+
* Marenlys is an ultra-light artist portfolio theme — domains are less
|
|
4
|
+
* relevant but included for contract compatibility.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
@reference 'tailwindcss';
|
|
8
|
+
@reference './tokens.css';
|
|
9
|
+
|
|
10
|
+
/* ───────── Domain accent colors ───────── */
|
|
11
|
+
|
|
12
|
+
[data-domain='legal'] {
|
|
13
|
+
--domain-accent: #f59e0b;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
[data-domain='life'] {
|
|
17
|
+
--domain-accent: #14b8a6;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
[data-domain='software'] {
|
|
21
|
+
--domain-accent: #3b82f6;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
[data-domain='business'] {
|
|
25
|
+
--domain-accent: #10b981;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
[data-domain='history'] {
|
|
29
|
+
--domain-accent: #a8a29e;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
[data-domain='world'] {
|
|
33
|
+
--domain-accent: #8b5cf6;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/* ───────── Responsive: Marketing site ───────── */
|
|
37
|
+
|
|
38
|
+
@media (width <= 700px) {
|
|
39
|
+
[data-rig-shell-grid] {
|
|
40
|
+
grid-template-areas:
|
|
41
|
+
'editor'
|
|
42
|
+
'panel'
|
|
43
|
+
'statusbar';
|
|
44
|
+
grid-template-columns: 1fr;
|
|
45
|
+
grid-template-rows: 1fr auto auto;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
[data-rig-shell-activity] {
|
|
49
|
+
display: none;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
[data-rig-shell-sidebar] {
|
|
53
|
+
display: none;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/* ───────── Unstyled theme overrides ───────── */
|
|
58
|
+
|
|
59
|
+
[data-theme='unstyled'] *,
|
|
60
|
+
[data-theme='unstyled'] *::before,
|
|
61
|
+
[data-theme='unstyled'] *::after {
|
|
62
|
+
color: revert !important;
|
|
63
|
+
background-color: revert !important;
|
|
64
|
+
background: revert !important;
|
|
65
|
+
border-color: revert !important;
|
|
66
|
+
box-shadow: none !important;
|
|
67
|
+
text-shadow: none !important;
|
|
68
|
+
backdrop-filter: none !important;
|
|
69
|
+
opacity: 1 !important;
|
|
70
|
+
|
|
71
|
+
--domain-accent: initial !important;
|
|
72
|
+
}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/* Hex — Marenlys Design Tokens
|
|
2
|
+
* Editorial polish. Crisp white with magenta-pink signature.
|
|
3
|
+
* Ultra-light mode artist portfolio theme with magenta-pink accent.
|
|
4
|
+
*
|
|
5
|
+
* Full palette (7 swatch colors):
|
|
6
|
+
* #FAFAFA gallery white — background
|
|
7
|
+
* #FAF5F8 pink tint — card
|
|
8
|
+
* #F2E8F0 blush — secondary, muted
|
|
9
|
+
* #1A0A18 dark magenta — foreground text
|
|
10
|
+
* #8A6A80 mauve — muted foreground
|
|
11
|
+
* #E5D5E0 rose border — borders
|
|
12
|
+
* #C43A8A magenta-pink — primary, accent
|
|
13
|
+
*
|
|
14
|
+
* @theme feeds Tailwind v4 utility generation (bg-background, text-foreground, etc.)
|
|
15
|
+
* :root provides standalone CSS custom property access for non-Tailwind consumers.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
@theme {
|
|
19
|
+
/* Surface colors */
|
|
20
|
+
--color-background: #fafafa;
|
|
21
|
+
--color-foreground: #1a0a18;
|
|
22
|
+
--color-card: #faf5f8;
|
|
23
|
+
--color-card-foreground: #1a0a18;
|
|
24
|
+
--color-popover: #ffffff;
|
|
25
|
+
--color-popover-foreground: #1a0a18;
|
|
26
|
+
|
|
27
|
+
/* Brand */
|
|
28
|
+
--color-primary: #c43a8a;
|
|
29
|
+
--color-primary-foreground: #ffffff;
|
|
30
|
+
|
|
31
|
+
/* Soft accents */
|
|
32
|
+
--color-secondary: #f2e8f0;
|
|
33
|
+
--color-secondary-foreground: #1a0a18;
|
|
34
|
+
--color-muted: #f2e8f0;
|
|
35
|
+
--color-muted-foreground: #8a6a80;
|
|
36
|
+
--color-accent: #c43a8a;
|
|
37
|
+
--color-accent-foreground: #ffffff;
|
|
38
|
+
|
|
39
|
+
/* Semantic status */
|
|
40
|
+
--color-destructive: #cc4444;
|
|
41
|
+
--color-destructive-foreground: #ffffff;
|
|
42
|
+
--color-success: #44884a;
|
|
43
|
+
--color-warning: #b8952a;
|
|
44
|
+
--color-info: #7a5a9a;
|
|
45
|
+
|
|
46
|
+
/* Borders and focus */
|
|
47
|
+
--color-border: #e5d5e0;
|
|
48
|
+
--color-input: #e5d5e0;
|
|
49
|
+
--color-ring: #c43a8a;
|
|
50
|
+
|
|
51
|
+
/* Typography */
|
|
52
|
+
--font-sans: 'Instrument Sans', 'Inter', system-ui, sans-serif;
|
|
53
|
+
--font-mono: 'Instrument Sans', 'SF Mono', ui-monospace, monospace;
|
|
54
|
+
--font-serif: 'Instrument Serif', Georgia, serif;
|
|
55
|
+
--font-heading: 'Instrument Serif', Georgia, serif;
|
|
56
|
+
|
|
57
|
+
/* Radius */
|
|
58
|
+
/* Typography — IDE-density type scale */
|
|
59
|
+
--font-size-2xs: 0.625rem;
|
|
60
|
+
--font-size-2xs--line-height: 1.25;
|
|
61
|
+
--font-size-xs: 0.75rem;
|
|
62
|
+
--font-size-xs--line-height: 1.5;
|
|
63
|
+
--font-size-sm: 0.8125rem;
|
|
64
|
+
--font-size-sm--line-height: 1.5;
|
|
65
|
+
--font-size-base: 0.875rem;
|
|
66
|
+
--font-size-base--line-height: 1.5;
|
|
67
|
+
--font-size-lg: 1.125rem;
|
|
68
|
+
--font-size-lg--line-height: 1.25;
|
|
69
|
+
--font-size-xl: 1.25rem;
|
|
70
|
+
--font-size-xl--line-height: 1.25;
|
|
71
|
+
|
|
72
|
+
/* Display font family */
|
|
73
|
+
--font-display: var(--font-sans);
|
|
74
|
+
|
|
75
|
+
--radius: 0px;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
:root {
|
|
79
|
+
--background: #fafafa;
|
|
80
|
+
--foreground: #1a0a18;
|
|
81
|
+
--card: #faf5f8;
|
|
82
|
+
--card-foreground: #1a0a18;
|
|
83
|
+
--popover: #ffffff;
|
|
84
|
+
--popover-foreground: #1a0a18;
|
|
85
|
+
--primary: #c43a8a;
|
|
86
|
+
--primary-foreground: #ffffff;
|
|
87
|
+
--secondary: #f2e8f0;
|
|
88
|
+
--secondary-foreground: #1a0a18;
|
|
89
|
+
--muted: #f2e8f0;
|
|
90
|
+
--muted-foreground: #8a6a80;
|
|
91
|
+
--accent: #c43a8a;
|
|
92
|
+
--accent-foreground: #ffffff;
|
|
93
|
+
--destructive: #cc4444;
|
|
94
|
+
--destructive-foreground: #ffffff;
|
|
95
|
+
--success: #44884a;
|
|
96
|
+
--warning: #b8952a;
|
|
97
|
+
--info: #7a5a9a;
|
|
98
|
+
--border: #e5d5e0;
|
|
99
|
+
--input: #e5d5e0;
|
|
100
|
+
--ring: #c43a8a;
|
|
101
|
+
/* Typography — IDE-density type scale */
|
|
102
|
+
--font-size-2xs: 0.625rem;
|
|
103
|
+
--font-size-2xs--line-height: 1.25;
|
|
104
|
+
--font-size-xs: 0.75rem;
|
|
105
|
+
--font-size-xs--line-height: 1.5;
|
|
106
|
+
--font-size-sm: 0.8125rem;
|
|
107
|
+
--font-size-sm--line-height: 1.5;
|
|
108
|
+
--font-size-base: 0.875rem;
|
|
109
|
+
--font-size-base--line-height: 1.5;
|
|
110
|
+
--font-size-lg: 1.125rem;
|
|
111
|
+
--font-size-lg--line-height: 1.25;
|
|
112
|
+
--font-size-xl: 1.25rem;
|
|
113
|
+
--font-size-xl--line-height: 1.25;
|
|
114
|
+
|
|
115
|
+
/* Display font family */
|
|
116
|
+
--font-display: var(--font-sans);
|
|
117
|
+
|
|
118
|
+
--radius: 0px;
|
|
119
|
+
|
|
120
|
+
/* Typography — IDE-density type scale (shorthand aliases) */
|
|
121
|
+
--text-2xs: 0.625rem;
|
|
122
|
+
--text-xs: 0.75rem;
|
|
123
|
+
--text-sm: 0.8125rem;
|
|
124
|
+
--text-base: 0.875rem;
|
|
125
|
+
--text-lg: 1.125rem;
|
|
126
|
+
--text-xl: 1.25rem;
|
|
127
|
+
--leading-tight: 1.25;
|
|
128
|
+
--leading-snug: 1.375;
|
|
129
|
+
--leading-normal: 1.5;
|
|
130
|
+
--leading-relaxed: 1.625;
|
|
131
|
+
--weight-normal: 400;
|
|
132
|
+
--weight-medium: 500;
|
|
133
|
+
--weight-semibold: 600;
|
|
134
|
+
--weight-bold: 700;
|
|
135
|
+
--tracking-tight: -0.01em;
|
|
136
|
+
--tracking-normal: 0;
|
|
137
|
+
--tracking-wide: 0.05em;
|
|
138
|
+
--tracking-wider: 0.08em;
|
|
139
|
+
--font-display: var(--font-sans);
|
|
140
|
+
--font-sans: 'Instrument Sans', 'Inter', system-ui, sans-serif;
|
|
141
|
+
--font-mono: 'Instrument Sans', 'SF Mono', ui-monospace, monospace;
|
|
142
|
+
--font-serif: 'Instrument Serif', Georgia, serif;
|
|
143
|
+
--font-heading: 'Instrument Serif', Georgia, serif;
|
|
144
|
+
|
|
145
|
+
/* ── Named palette aliases ──────────────────────────────────────────────
|
|
146
|
+
* All 7 swatch colors available for direct template use.
|
|
147
|
+
*/
|
|
148
|
+
--ml-gallery: #fafafa;
|
|
149
|
+
--ml-pink-tint: #faf5f8;
|
|
150
|
+
--ml-blush: #f2e8f0;
|
|
151
|
+
--ml-dark-magenta: #1a0a18;
|
|
152
|
+
--ml-mauve: #8a6a80;
|
|
153
|
+
--ml-rose-border: #e5d5e0;
|
|
154
|
+
--ml-magenta: #c43a8a;
|
|
155
|
+
|
|
156
|
+
/* ── Rig component token bridge ─────────────────────────────────────────
|
|
157
|
+
* Overrides shared/tokens.css defaults where the Marenlys palette needs
|
|
158
|
+
* values that can't be derived directly from --color-* semantics.
|
|
159
|
+
*/
|
|
160
|
+
|
|
161
|
+
/* Button — blush for hover feedback */
|
|
162
|
+
--rig-button-hover-bg: #f2e8f0;
|
|
163
|
+
|
|
164
|
+
/* Scrollbar — barely visible, dark magenta tint */
|
|
165
|
+
--rig-scrollbar-thumb: rgba(26, 10, 24, 0.08);
|
|
166
|
+
--rig-scrollbar-thumb-hover: rgba(26, 10, 24, 0.18);
|
|
167
|
+
}
|