@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,167 @@
|
|
|
1
|
+
/* Hex — Briarcovelib Design Tokens
|
|
2
|
+
* Public library. Warm light mode with sienna and slate blue.
|
|
3
|
+
* Civic warmth — welcoming, literary, community-focused.
|
|
4
|
+
*
|
|
5
|
+
* Full palette (7 swatch colors):
|
|
6
|
+
* #FAF8F4 vellum — background
|
|
7
|
+
* #F0ECE3 linen — card
|
|
8
|
+
* #E2DCD0 sandstone — secondary, muted
|
|
9
|
+
* #2B2622 umber — foreground text
|
|
10
|
+
* #6B6054 driftwood — muted foreground
|
|
11
|
+
* #A5562E sienna — primary, ring
|
|
12
|
+
* #3A6B8C slate blue — 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: #faf8f4;
|
|
21
|
+
--color-foreground: #2b2622;
|
|
22
|
+
--color-card: #f0ece3;
|
|
23
|
+
--color-card-foreground: #2b2622;
|
|
24
|
+
--color-popover: #ffffff;
|
|
25
|
+
--color-popover-foreground: #2b2622;
|
|
26
|
+
|
|
27
|
+
/* Brand */
|
|
28
|
+
--color-primary: #a5562e;
|
|
29
|
+
--color-primary-foreground: #faf8f4;
|
|
30
|
+
|
|
31
|
+
/* Soft accents */
|
|
32
|
+
--color-secondary: #e2dcd0;
|
|
33
|
+
--color-secondary-foreground: #2b2622;
|
|
34
|
+
--color-muted: #e2dcd0;
|
|
35
|
+
--color-muted-foreground: #6b6054;
|
|
36
|
+
--color-accent: #3a6b8c;
|
|
37
|
+
--color-accent-foreground: #faf8f4;
|
|
38
|
+
|
|
39
|
+
/* Semantic status */
|
|
40
|
+
--color-destructive: #b83232;
|
|
41
|
+
--color-destructive-foreground: #faf8f4;
|
|
42
|
+
--color-success: #3b7a57;
|
|
43
|
+
--color-warning: #c49030;
|
|
44
|
+
--color-info: #3a6b8c;
|
|
45
|
+
|
|
46
|
+
/* Borders and focus */
|
|
47
|
+
--color-border: #d0c8ba;
|
|
48
|
+
--color-input: #d0c8ba;
|
|
49
|
+
--color-ring: #a5562e;
|
|
50
|
+
|
|
51
|
+
/* Typography */
|
|
52
|
+
--font-sans: 'Cabin', 'Inter', system-ui, sans-serif;
|
|
53
|
+
--font-mono: 'Cabin', 'SF Mono', ui-monospace, monospace;
|
|
54
|
+
--font-serif: 'Bitter', Georgia, serif;
|
|
55
|
+
--font-heading: 'Bitter', 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: 6px;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
:root {
|
|
79
|
+
--background: #faf8f4;
|
|
80
|
+
--foreground: #2b2622;
|
|
81
|
+
--card: #f0ece3;
|
|
82
|
+
--card-foreground: #2b2622;
|
|
83
|
+
--popover: #ffffff;
|
|
84
|
+
--popover-foreground: #2b2622;
|
|
85
|
+
--primary: #a5562e;
|
|
86
|
+
--primary-foreground: #faf8f4;
|
|
87
|
+
--secondary: #e2dcd0;
|
|
88
|
+
--secondary-foreground: #2b2622;
|
|
89
|
+
--muted: #e2dcd0;
|
|
90
|
+
--muted-foreground: #6b6054;
|
|
91
|
+
--accent: #3a6b8c;
|
|
92
|
+
--accent-foreground: #faf8f4;
|
|
93
|
+
--destructive: #b83232;
|
|
94
|
+
--destructive-foreground: #faf8f4;
|
|
95
|
+
--success: #3b7a57;
|
|
96
|
+
--warning: #c49030;
|
|
97
|
+
--info: #3a6b8c;
|
|
98
|
+
--border: #d0c8ba;
|
|
99
|
+
--input: #d0c8ba;
|
|
100
|
+
--ring: #a5562e;
|
|
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: 6px;
|
|
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: 'Cabin', 'Inter', system-ui, sans-serif;
|
|
141
|
+
--font-mono: 'Cabin', 'SF Mono', ui-monospace, monospace;
|
|
142
|
+
--font-serif: 'Bitter', Georgia, serif;
|
|
143
|
+
--font-heading: 'Bitter', Georgia, serif;
|
|
144
|
+
|
|
145
|
+
/* ── Named palette aliases ──────────────────────────────────────────────
|
|
146
|
+
* All 7 swatch colors available for direct template use.
|
|
147
|
+
*/
|
|
148
|
+
--bl-vellum: #faf8f4;
|
|
149
|
+
--bl-linen: #f0ece3;
|
|
150
|
+
--bl-sandstone: #e2dcd0;
|
|
151
|
+
--bl-umber: #2b2622;
|
|
152
|
+
--bl-driftwood: #6b6054;
|
|
153
|
+
--bl-sienna: #a5562e;
|
|
154
|
+
--bl-slate: #3a6b8c;
|
|
155
|
+
|
|
156
|
+
/* ── Rig component token bridge ─────────────────────────────────────────
|
|
157
|
+
* Overrides shared/tokens.css defaults where the Briarcovelib palette needs
|
|
158
|
+
* values that can't be derived directly from --color-* semantics.
|
|
159
|
+
*/
|
|
160
|
+
|
|
161
|
+
/* Button — sandstone for hover feedback */
|
|
162
|
+
--rig-button-hover-bg: #e2dcd0;
|
|
163
|
+
|
|
164
|
+
/* Scrollbar — umber tint for warm literary feel */
|
|
165
|
+
--rig-scrollbar-thumb: rgba(43, 38, 34, 0.12);
|
|
166
|
+
--rig-scrollbar-thumb-hover: rgba(43, 38, 34, 0.25);
|
|
167
|
+
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/* Hex — Compass Base Styles
|
|
2
|
+
* Veterinary clinic — Outfit headings, Atkinson Hyperlegible body. Reassuring.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
@reference 'tailwindcss';
|
|
6
|
+
@reference './tokens.css';
|
|
7
|
+
|
|
8
|
+
html {
|
|
9
|
+
font-size: 16px;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
html,
|
|
13
|
+
body {
|
|
14
|
+
@apply bg-background text-foreground;
|
|
15
|
+
color-scheme: light;
|
|
16
|
+
-webkit-font-smoothing: antialiased;
|
|
17
|
+
-moz-osx-font-smoothing: grayscale;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
body {
|
|
21
|
+
font-size: 17px;
|
|
22
|
+
font-weight: 400;
|
|
23
|
+
line-height: 1.65;
|
|
24
|
+
font-family: 'Atkinson Hyperlegible', var(--font-serif);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
h1 {
|
|
28
|
+
font-size: 48px;
|
|
29
|
+
font-weight: 600;
|
|
30
|
+
font-family: 'Outfit', var(--font-sans);
|
|
31
|
+
color: var(--color-primary);
|
|
32
|
+
margin: 0;
|
|
33
|
+
padding: 0;
|
|
34
|
+
line-height: 1.15;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
h2 {
|
|
38
|
+
font-size: 36px;
|
|
39
|
+
font-weight: 500;
|
|
40
|
+
font-family: 'Outfit', var(--font-sans);
|
|
41
|
+
color: var(--color-primary);
|
|
42
|
+
margin: 0;
|
|
43
|
+
padding: 0;
|
|
44
|
+
line-height: 1.2;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
::-webkit-scrollbar {
|
|
48
|
+
width: 8px;
|
|
49
|
+
height: 8px;
|
|
50
|
+
}
|
|
51
|
+
::-webkit-scrollbar-track {
|
|
52
|
+
background: transparent;
|
|
53
|
+
}
|
|
54
|
+
::-webkit-scrollbar-thumb {
|
|
55
|
+
background: color-mix(in srgb, var(--color-foreground) 12%, transparent);
|
|
56
|
+
border-radius: 4px;
|
|
57
|
+
}
|
|
58
|
+
::-webkit-scrollbar-thumb:hover {
|
|
59
|
+
background: color-mix(in srgb, var(--color-foreground) 25%, transparent);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
*:focus-visible {
|
|
63
|
+
outline: 2px solid var(--color-primary);
|
|
64
|
+
outline-offset: 2px;
|
|
65
|
+
}
|
|
66
|
+
::selection {
|
|
67
|
+
background: color-mix(in srgb, var(--color-primary) 30%, transparent);
|
|
68
|
+
color: var(--color-foreground);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
html {
|
|
72
|
+
scroll-behavior: smooth;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
@media (prefers-reduced-motion: reduce) {
|
|
76
|
+
*,
|
|
77
|
+
*::before,
|
|
78
|
+
*::after {
|
|
79
|
+
animation-duration: 0.01ms !important;
|
|
80
|
+
animation-iteration-count: 1 !important;
|
|
81
|
+
transition-duration: 0.01ms !important;
|
|
82
|
+
scroll-behavior: auto !important;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
* {
|
|
87
|
+
scrollbar-width: thin;
|
|
88
|
+
scrollbar-color: color-mix(in srgb, var(--color-foreground) 12%, transparent) transparent;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
@keyframes scroll-fade-in {
|
|
92
|
+
from {
|
|
93
|
+
opacity: 0;
|
|
94
|
+
transform: translateY(20px);
|
|
95
|
+
}
|
|
96
|
+
to {
|
|
97
|
+
opacity: 1;
|
|
98
|
+
transform: translateY(0);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
.scroll-reveal {
|
|
102
|
+
animation: scroll-fade-in linear both;
|
|
103
|
+
animation-timeline: view();
|
|
104
|
+
animation-range: entry 10% cover 30%;
|
|
105
|
+
}
|
|
106
|
+
@media (prefers-reduced-motion: reduce) {
|
|
107
|
+
.scroll-reveal {
|
|
108
|
+
animation: none;
|
|
109
|
+
opacity: 1;
|
|
110
|
+
transform: none;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/* Hex — Compass Component Barrel */
|
|
2
|
+
|
|
3
|
+
@import '../../shared/rig-defaults.css';
|
|
4
|
+
@import '../../shared/components/core.css';
|
|
5
|
+
@import '../../shared/components/layout.css';
|
|
6
|
+
@import '../../shared/components/nav.css';
|
|
7
|
+
@import '../../shared/components/editor.css';
|
|
8
|
+
@import '../../shared/components/lists.css';
|
|
9
|
+
@import '../../shared/components/menus.css';
|
|
10
|
+
@import '../../shared/components/extras.css';
|
|
11
|
+
@import '../../shared/components/shell.css';
|
|
12
|
+
@import '../../shared/components/data.css';
|
|
13
|
+
@import '../../shared/components/spatial.css';
|
|
14
|
+
@import '../../shared/components/temporal.css';
|
|
15
|
+
@import '../../shared/components/web.css';
|
|
16
|
+
@import '../../shared/a11y.css';
|
|
17
|
+
@import '../../shared/components/prose.css';
|
|
18
|
+
@import '../../shared/utilities.css';
|
|
19
|
+
@import '../../shared/scroll-animations.css';
|
|
20
|
+
|
|
21
|
+
@reference 'tailwindcss';
|
|
22
|
+
@reference './tokens.css';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/* Hex — Compass Domains */
|
|
2
|
+
@reference 'tailwindcss';
|
|
3
|
+
@reference './tokens.css';
|
|
4
|
+
|
|
5
|
+
[data-domain='legal'] {
|
|
6
|
+
--domain-accent: #d16b3f;
|
|
7
|
+
}
|
|
8
|
+
[data-domain='life'] {
|
|
9
|
+
--domain-accent: #2a7d5f;
|
|
10
|
+
}
|
|
11
|
+
[data-domain='software'] {
|
|
12
|
+
--domain-accent: #4a7a9e;
|
|
13
|
+
}
|
|
14
|
+
[data-domain='business'] {
|
|
15
|
+
--domain-accent: #2a7d5f;
|
|
16
|
+
}
|
|
17
|
+
[data-domain='history'] {
|
|
18
|
+
--domain-accent: #4e6650;
|
|
19
|
+
}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/* Hex — Compass Design Tokens
|
|
2
|
+
* Veterinary clinic. Soft light mode with true green and warm coral.
|
|
3
|
+
* Clinical warmth — reassuring, accessible, nature-forward.
|
|
4
|
+
*
|
|
5
|
+
* Full palette (7 swatch colors):
|
|
6
|
+
* #F8FDF6 mint green — background
|
|
7
|
+
* #F0F5EE soft sage — card
|
|
8
|
+
* #E0ECE0 pale eucalyptus — secondary, muted
|
|
9
|
+
* #1A2A1A deep moss — foreground text
|
|
10
|
+
* #4A6A4A fern — muted foreground
|
|
11
|
+
* #2D7A3E true green — primary, ring
|
|
12
|
+
* #D16B3F warm coral — accent, action
|
|
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: #f8fdf6;
|
|
21
|
+
--color-foreground: #1a2a1a;
|
|
22
|
+
--color-card: #f0f5ee;
|
|
23
|
+
--color-card-foreground: #1a2a1a;
|
|
24
|
+
--color-popover: #ffffff;
|
|
25
|
+
--color-popover-foreground: #1a2a1a;
|
|
26
|
+
|
|
27
|
+
/* Brand */
|
|
28
|
+
--color-primary: #2d7a3e;
|
|
29
|
+
--color-primary-foreground: #f8fdf6;
|
|
30
|
+
|
|
31
|
+
/* Soft accents */
|
|
32
|
+
--color-secondary: #e0ece0;
|
|
33
|
+
--color-secondary-foreground: #1a2a1a;
|
|
34
|
+
--color-muted: #e0ece0;
|
|
35
|
+
--color-muted-foreground: #4a6a4a;
|
|
36
|
+
--color-accent: #d16b3f;
|
|
37
|
+
--color-accent-foreground: #f8fdf6;
|
|
38
|
+
|
|
39
|
+
/* Semantic status */
|
|
40
|
+
--color-destructive: #cc3b3b;
|
|
41
|
+
--color-destructive-foreground: #f8fdf6;
|
|
42
|
+
--color-success: #2d7a3e;
|
|
43
|
+
--color-warning: #d4a030;
|
|
44
|
+
--color-info: #4a7a9e;
|
|
45
|
+
|
|
46
|
+
/* Borders and focus */
|
|
47
|
+
--color-border: #c0d8c0;
|
|
48
|
+
--color-input: #c0d8c0;
|
|
49
|
+
--color-ring: #2d7a3e;
|
|
50
|
+
|
|
51
|
+
/* Typography */
|
|
52
|
+
--font-sans: 'Outfit', 'Inter', system-ui, sans-serif;
|
|
53
|
+
--font-mono: 'Outfit', 'SF Mono', ui-monospace, monospace;
|
|
54
|
+
--font-serif: 'Atkinson Hyperlegible', 'Inter', system-ui, sans-serif;
|
|
55
|
+
--font-heading: 'Outfit', 'Inter', system-ui, sans-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: 8px;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
:root {
|
|
79
|
+
--background: #f8fdf6;
|
|
80
|
+
--foreground: #1a2a1a;
|
|
81
|
+
--card: #f0f5ee;
|
|
82
|
+
--card-foreground: #1a2a1a;
|
|
83
|
+
--popover: #ffffff;
|
|
84
|
+
--popover-foreground: #1a2a1a;
|
|
85
|
+
--primary: #2d7a3e;
|
|
86
|
+
--primary-foreground: #f8fdf6;
|
|
87
|
+
--secondary: #e0ece0;
|
|
88
|
+
--secondary-foreground: #1a2a1a;
|
|
89
|
+
--muted: #e0ece0;
|
|
90
|
+
--muted-foreground: #4a6a4a;
|
|
91
|
+
--accent: #d16b3f;
|
|
92
|
+
--accent-foreground: #f8fdf6;
|
|
93
|
+
--destructive: #cc3b3b;
|
|
94
|
+
--destructive-foreground: #f8fdf6;
|
|
95
|
+
--success: #2d7a3e;
|
|
96
|
+
--warning: #d4a030;
|
|
97
|
+
--info: #4a7a9e;
|
|
98
|
+
--border: #c0d8c0;
|
|
99
|
+
--input: #c0d8c0;
|
|
100
|
+
--ring: #2d7a3e;
|
|
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: 8px;
|
|
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: 'Outfit', 'Inter', system-ui, sans-serif;
|
|
141
|
+
--font-mono: 'Outfit', 'SF Mono', ui-monospace, monospace;
|
|
142
|
+
--font-serif: 'Atkinson Hyperlegible', 'Inter', system-ui, sans-serif;
|
|
143
|
+
--font-heading: 'Outfit', 'Inter', system-ui, sans-serif;
|
|
144
|
+
|
|
145
|
+
/* ── Named palette aliases ──────────────────────────────────────────────
|
|
146
|
+
* All 7 swatch colors available for direct template use.
|
|
147
|
+
*/
|
|
148
|
+
--ca-mint-green: #f8fdf6;
|
|
149
|
+
--ca-sage: #f0f5ee;
|
|
150
|
+
--ca-eucalyptus: #e0ece0;
|
|
151
|
+
--ca-moss: #1a2a1a;
|
|
152
|
+
--ca-fern: #4a6a4a;
|
|
153
|
+
--ca-green: #2d7a3e;
|
|
154
|
+
--ca-coral: #d16b3f;
|
|
155
|
+
|
|
156
|
+
/* ── Rig component token bridge ─────────────────────────────────────────
|
|
157
|
+
* Overrides shared/tokens.css defaults where the Compass palette needs
|
|
158
|
+
* values that can't be derived directly from --color-* semantics.
|
|
159
|
+
*/
|
|
160
|
+
|
|
161
|
+
/* Button — pale eucalyptus for hover feedback */
|
|
162
|
+
--rig-button-hover-bg: #e0ece0;
|
|
163
|
+
|
|
164
|
+
/* Scrollbar — deep moss tint for light mode */
|
|
165
|
+
--rig-scrollbar-thumb: rgba(26, 42, 26, 0.12);
|
|
166
|
+
--rig-scrollbar-thumb-hover: rgba(26, 42, 26, 0.25);
|
|
167
|
+
}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/* Hex — Duskline Base Styles
|
|
2
|
+
* html/body defaults, scrollbar, focus, selection, transitions.
|
|
3
|
+
* Investigative noir typography with true dark canvas.
|
|
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: dark;
|
|
20
|
+
-webkit-font-smoothing: antialiased;
|
|
21
|
+
-moz-osx-font-smoothing: grayscale;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
body {
|
|
25
|
+
font-size: 16px;
|
|
26
|
+
font-weight: 400;
|
|
27
|
+
line-height: 1.6;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/* Heading defaults */
|
|
31
|
+
h1 {
|
|
32
|
+
font-size: 48px;
|
|
33
|
+
font-weight: 600;
|
|
34
|
+
font-family: 'IBM Plex Sans Condensed', var(--font-sans);
|
|
35
|
+
color: var(--color-primary);
|
|
36
|
+
margin: 0;
|
|
37
|
+
padding: 0;
|
|
38
|
+
line-height: 1.1;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
h2 {
|
|
42
|
+
font-size: 36px;
|
|
43
|
+
font-weight: 500;
|
|
44
|
+
color: var(--color-primary);
|
|
45
|
+
margin: 0;
|
|
46
|
+
padding: 0;
|
|
47
|
+
line-height: 1.1;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/* Scrollbar */
|
|
51
|
+
::-webkit-scrollbar {
|
|
52
|
+
width: 8px;
|
|
53
|
+
height: 8px;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
::-webkit-scrollbar-track {
|
|
57
|
+
background: transparent;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
::-webkit-scrollbar-thumb {
|
|
61
|
+
background: color-mix(in srgb, var(--color-foreground) 10%, transparent);
|
|
62
|
+
border-radius: 4px;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
::-webkit-scrollbar-thumb:hover {
|
|
66
|
+
background: color-mix(in srgb, var(--color-foreground) 20%, transparent);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/* Focus styles */
|
|
70
|
+
*:focus-visible {
|
|
71
|
+
outline: 2px solid var(--color-primary);
|
|
72
|
+
outline-offset: 2px;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/* Selection */
|
|
76
|
+
::selection {
|
|
77
|
+
background: color-mix(in srgb, var(--color-primary) 40%, transparent);
|
|
78
|
+
color: var(--color-foreground);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/* Smooth scrolling */
|
|
82
|
+
html {
|
|
83
|
+
scroll-behavior: smooth;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/* Reduced motion — disable animations and transitions */
|
|
87
|
+
@media (prefers-reduced-motion: reduce) {
|
|
88
|
+
*,
|
|
89
|
+
*::before,
|
|
90
|
+
*::after {
|
|
91
|
+
animation-duration: 0.01ms !important;
|
|
92
|
+
animation-iteration-count: 1 !important;
|
|
93
|
+
transition-duration: 0.01ms !important;
|
|
94
|
+
scroll-behavior: auto !important;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/* Firefox scrollbar */
|
|
99
|
+
* {
|
|
100
|
+
scrollbar-width: thin;
|
|
101
|
+
scrollbar-color: color-mix(in srgb, var(--color-foreground) 10%, transparent) transparent;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/* ───────── Scroll-draw SVG utility ───────── */
|
|
105
|
+
|
|
106
|
+
@keyframes scroll-draw-in {
|
|
107
|
+
from {
|
|
108
|
+
stroke-dashoffset: 1;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
to {
|
|
112
|
+
stroke-dashoffset: 0;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.scroll-draw path,
|
|
117
|
+
.scroll-draw line,
|
|
118
|
+
.scroll-draw polyline,
|
|
119
|
+
.scroll-draw polygon,
|
|
120
|
+
.scroll-draw circle,
|
|
121
|
+
.scroll-draw ellipse {
|
|
122
|
+
stroke-dasharray: 1;
|
|
123
|
+
stroke-dashoffset: 1;
|
|
124
|
+
animation: scroll-draw-in linear both;
|
|
125
|
+
animation-timeline: view();
|
|
126
|
+
animation-range: entry 20% cover 50%;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
@media (prefers-reduced-motion: reduce) {
|
|
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
|
+
animation: none;
|
|
137
|
+
stroke-dashoffset: 0;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
/* ───────── Scroll-reveal utility ───────── */
|
|
142
|
+
|
|
143
|
+
@keyframes scroll-fade-in {
|
|
144
|
+
from {
|
|
145
|
+
opacity: 0;
|
|
146
|
+
transform: translateY(20px);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
to {
|
|
150
|
+
opacity: 1;
|
|
151
|
+
transform: translateY(0);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.scroll-reveal {
|
|
156
|
+
animation: scroll-fade-in linear both;
|
|
157
|
+
animation-timeline: view();
|
|
158
|
+
animation-range: entry 10% cover 30%;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
@media (prefers-reduced-motion: reduce) {
|
|
162
|
+
.scroll-reveal {
|
|
163
|
+
animation: none;
|
|
164
|
+
opacity: 1;
|
|
165
|
+
transform: none;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/* Hex — Duskline 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';
|