@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 — Duskline Domains
|
|
2
|
+
* Domain accent colors, responsive breakpoints, unstyled overrides.
|
|
3
|
+
* Duskline is an investigative noir 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,171 @@
|
|
|
1
|
+
/* Hex — Duskline Design Tokens
|
|
2
|
+
* Digital frost. Cold-running terminal with teal-cyan glow.
|
|
3
|
+
* Dark mode investigative palette — cold blue-black background, cool white text,
|
|
4
|
+
* teal-cyan highlights that pulse like frozen circuitry.
|
|
5
|
+
*
|
|
6
|
+
* Full palette (7 swatch colors):
|
|
7
|
+
* #0A0F14 cold black — background
|
|
8
|
+
* #121A22 cold graphite — card, popover
|
|
9
|
+
* #1A2430 cold charcoal — secondary, muted
|
|
10
|
+
* #4A6478 dim — subtle text
|
|
11
|
+
* #6A8494 steel — muted foreground
|
|
12
|
+
* #3CC8B4 teal-cyan — primary, accent, ring (h≈170)
|
|
13
|
+
* #D8E4EC cool white — foreground text
|
|
14
|
+
*
|
|
15
|
+
* @theme feeds Tailwind v4 utility generation (bg-background, text-foreground, etc.)
|
|
16
|
+
* :root provides standalone CSS custom property access for non-Tailwind consumers.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
@theme {
|
|
20
|
+
/* Surface colors */
|
|
21
|
+
--color-background: #0a0f14;
|
|
22
|
+
--color-foreground: #d8e4ec;
|
|
23
|
+
--color-card: #121a22;
|
|
24
|
+
--color-card-foreground: #d8e4ec;
|
|
25
|
+
--color-popover: #121a22;
|
|
26
|
+
--color-popover-foreground: #d8e4ec;
|
|
27
|
+
|
|
28
|
+
/* Brand */
|
|
29
|
+
--color-primary: #3cc8b4;
|
|
30
|
+
--color-primary-foreground: #0a0f14;
|
|
31
|
+
|
|
32
|
+
/* Soft accents */
|
|
33
|
+
--color-secondary: #1a2430;
|
|
34
|
+
--color-secondary-foreground: #d8e4ec;
|
|
35
|
+
--color-muted: #1a2430;
|
|
36
|
+
--color-muted-foreground: #6a8494;
|
|
37
|
+
--color-accent: #d4a040;
|
|
38
|
+
--color-accent-foreground: #0a0f14;
|
|
39
|
+
|
|
40
|
+
/* Semantic status */
|
|
41
|
+
--color-destructive: #e05555;
|
|
42
|
+
--color-destructive-foreground: #d8e4ec;
|
|
43
|
+
--color-success: #2db87a;
|
|
44
|
+
--color-warning: #d4a040;
|
|
45
|
+
--color-info: #5a8ab8;
|
|
46
|
+
|
|
47
|
+
/* Borders and focus */
|
|
48
|
+
--color-border: #1e3040;
|
|
49
|
+
--color-input: #1e3040;
|
|
50
|
+
--color-ring: #3cc8b4;
|
|
51
|
+
|
|
52
|
+
/* Typography */
|
|
53
|
+
--font-sans: 'IBM Plex Sans', 'Inter', system-ui, sans-serif;
|
|
54
|
+
--font-mono: 'IBM Plex Mono', 'SF Mono', ui-monospace, monospace;
|
|
55
|
+
--font-heading: 'IBM Plex Sans Condensed', 'IBM Plex Sans', 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: 2px;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
:root {
|
|
79
|
+
--background: #0a0f14;
|
|
80
|
+
--foreground: #d8e4ec;
|
|
81
|
+
--card: #121a22;
|
|
82
|
+
--card-foreground: #d8e4ec;
|
|
83
|
+
--popover: #121a22;
|
|
84
|
+
--popover-foreground: #d8e4ec;
|
|
85
|
+
--primary: #3cc8b4;
|
|
86
|
+
--primary-foreground: #0a0f14;
|
|
87
|
+
--secondary: #1a2430;
|
|
88
|
+
--secondary-foreground: #d8e4ec;
|
|
89
|
+
--muted: #1a2430;
|
|
90
|
+
--muted-foreground: #6a8494;
|
|
91
|
+
--accent: #3cc8b4;
|
|
92
|
+
--accent-foreground: #0a0f14;
|
|
93
|
+
--destructive: #e05555;
|
|
94
|
+
--destructive-foreground: #d8e4ec;
|
|
95
|
+
--success: #2db87a;
|
|
96
|
+
--warning: #d4a040;
|
|
97
|
+
--info: #5a8ab8;
|
|
98
|
+
--border: #1e3040;
|
|
99
|
+
--input: #1e3040;
|
|
100
|
+
--ring: #3cc8b4;
|
|
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: 2px;
|
|
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: 'IBM Plex Sans', 'Inter', system-ui, sans-serif;
|
|
141
|
+
--font-mono: 'IBM Plex Mono', 'SF Mono', ui-monospace, monospace;
|
|
142
|
+
--font-heading: 'IBM Plex Sans Condensed', 'IBM Plex Sans', system-ui, sans-serif;
|
|
143
|
+
|
|
144
|
+
/* ── Named palette aliases ──────────────────────────────────────────────
|
|
145
|
+
* All 7 swatch colors available for direct template use.
|
|
146
|
+
*/
|
|
147
|
+
--dk-black: #0a0f14;
|
|
148
|
+
--dk-graphite: #121a22;
|
|
149
|
+
--dk-charcoal: #1a2430;
|
|
150
|
+
--dk-steel: #6a8494;
|
|
151
|
+
--dk-dim: #4a6478;
|
|
152
|
+
--dk-cyan: #3cc8b4;
|
|
153
|
+
--dk-white: #d8e4ec;
|
|
154
|
+
|
|
155
|
+
/* ── Rig component token bridge ─────────────────────────────────────────
|
|
156
|
+
* Overrides shared/tokens.css defaults where the Duskline palette needs
|
|
157
|
+
* values that can't be derived directly from --color-* semantics.
|
|
158
|
+
*/
|
|
159
|
+
|
|
160
|
+
/* Button */
|
|
161
|
+
--rig-button-hover-bg: #2ea89a;
|
|
162
|
+
--rig-button-hover-fg: #0a0f14;
|
|
163
|
+
--rig-button-secondary-bg: transparent;
|
|
164
|
+
--rig-button-secondary-fg: var(--color-foreground);
|
|
165
|
+
--rig-button-secondary-hover-bg: #1a2430;
|
|
166
|
+
--rig-button-secondary-hover-fg: var(--color-foreground);
|
|
167
|
+
|
|
168
|
+
/* Scrollbar — cool foreground tint */
|
|
169
|
+
--rig-scrollbar-thumb: rgba(216, 228, 236, 0.1);
|
|
170
|
+
--rig-scrollbar-thumb-hover: rgba(216, 228, 236, 0.22);
|
|
171
|
+
}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/* Hex — Forge Base Styles
|
|
2
|
+
* html/body defaults, scrollbar, focus, selection, transitions.
|
|
3
|
+
* Industrial sans-serif typography on deep carbon hull.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
@reference 'tailwindcss';
|
|
7
|
+
@reference './tokens.css';
|
|
8
|
+
|
|
9
|
+
/* Base styles */
|
|
10
|
+
html {
|
|
11
|
+
font-size: 16px;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
html,
|
|
15
|
+
body {
|
|
16
|
+
@apply bg-background text-foreground font-sans;
|
|
17
|
+
|
|
18
|
+
color-scheme: dark;
|
|
19
|
+
-webkit-font-smoothing: antialiased;
|
|
20
|
+
-moz-osx-font-smoothing: grayscale;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
body {
|
|
24
|
+
font-size: 24px;
|
|
25
|
+
font-weight: 300;
|
|
26
|
+
line-height: 1.6;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/* Heading defaults */
|
|
30
|
+
h1 {
|
|
31
|
+
font-size: 77px;
|
|
32
|
+
font-weight: 700;
|
|
33
|
+
color: var(--color-primary);
|
|
34
|
+
margin: 0;
|
|
35
|
+
padding: 0;
|
|
36
|
+
line-height: 1.1;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
h2 {
|
|
40
|
+
font-size: 76px;
|
|
41
|
+
font-weight: 100;
|
|
42
|
+
color: var(--color-primary);
|
|
43
|
+
margin: 0;
|
|
44
|
+
padding: 0;
|
|
45
|
+
line-height: 1.1;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/* Scrollbar */
|
|
49
|
+
::-webkit-scrollbar {
|
|
50
|
+
width: 8px;
|
|
51
|
+
height: 8px;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
::-webkit-scrollbar-track {
|
|
55
|
+
background: transparent;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
::-webkit-scrollbar-thumb {
|
|
59
|
+
background: color-mix(in srgb, var(--color-foreground) 12%, transparent);
|
|
60
|
+
border-radius: 2px;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
::-webkit-scrollbar-thumb:hover {
|
|
64
|
+
background: color-mix(in srgb, var(--color-foreground) 22%, transparent);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/* Focus styles */
|
|
68
|
+
*:focus-visible {
|
|
69
|
+
outline: 2px solid var(--color-primary);
|
|
70
|
+
outline-offset: 2px;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/* Selection */
|
|
74
|
+
::selection {
|
|
75
|
+
background: color-mix(in srgb, var(--color-primary) 40%, transparent);
|
|
76
|
+
color: var(--color-foreground);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/* Smooth scrolling */
|
|
80
|
+
html {
|
|
81
|
+
scroll-behavior: smooth;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/* Reduced motion */
|
|
85
|
+
@media (prefers-reduced-motion: reduce) {
|
|
86
|
+
*,
|
|
87
|
+
*::before,
|
|
88
|
+
*::after {
|
|
89
|
+
animation-duration: 0.01ms !important;
|
|
90
|
+
animation-iteration-count: 1 !important;
|
|
91
|
+
transition-duration: 0.01ms !important;
|
|
92
|
+
scroll-behavior: auto !important;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/* Firefox scrollbar */
|
|
97
|
+
* {
|
|
98
|
+
scrollbar-width: thin;
|
|
99
|
+
scrollbar-color: color-mix(in srgb, var(--color-foreground) 12%, transparent) transparent;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/* ───────── Scroll-draw SVG utility ───────── */
|
|
103
|
+
|
|
104
|
+
@keyframes scroll-draw-in {
|
|
105
|
+
from {
|
|
106
|
+
stroke-dashoffset: 1;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
to {
|
|
110
|
+
stroke-dashoffset: 0;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.scroll-draw path,
|
|
115
|
+
.scroll-draw line,
|
|
116
|
+
.scroll-draw polyline,
|
|
117
|
+
.scroll-draw polygon,
|
|
118
|
+
.scroll-draw circle,
|
|
119
|
+
.scroll-draw ellipse {
|
|
120
|
+
stroke-dasharray: 1;
|
|
121
|
+
stroke-dashoffset: 1;
|
|
122
|
+
animation: scroll-draw-in linear both;
|
|
123
|
+
animation-timeline: view();
|
|
124
|
+
animation-range: entry 20% cover 50%;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
@media (prefers-reduced-motion: reduce) {
|
|
128
|
+
.scroll-draw path,
|
|
129
|
+
.scroll-draw line,
|
|
130
|
+
.scroll-draw polyline,
|
|
131
|
+
.scroll-draw polygon,
|
|
132
|
+
.scroll-draw circle,
|
|
133
|
+
.scroll-draw ellipse {
|
|
134
|
+
animation: none;
|
|
135
|
+
stroke-dashoffset: 0;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/* ───────── Scroll-reveal utility ───────── */
|
|
140
|
+
|
|
141
|
+
@keyframes scroll-fade-in {
|
|
142
|
+
from {
|
|
143
|
+
opacity: 0;
|
|
144
|
+
transform: translateY(20px);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
to {
|
|
148
|
+
opacity: 1;
|
|
149
|
+
transform: translateY(0);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.scroll-reveal {
|
|
154
|
+
animation: scroll-fade-in linear both;
|
|
155
|
+
animation-timeline: view();
|
|
156
|
+
animation-range: entry 10% cover 30%;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
@media (prefers-reduced-motion: reduce) {
|
|
160
|
+
.scroll-reveal {
|
|
161
|
+
animation: none;
|
|
162
|
+
opacity: 1;
|
|
163
|
+
transform: none;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/* Hex — Forge 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/a11y.css';
|
|
21
|
+
@import '../../shared/components/prose.css';
|
|
22
|
+
|
|
23
|
+
@reference 'tailwindcss';
|
|
24
|
+
@reference './tokens.css';
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/* Hex — Forge Domains
|
|
2
|
+
* Domain accent colors, responsive breakpoints, unstyled overrides.
|
|
3
|
+
* Forge is a dark industrial theme — domain accents use phosphor-derived
|
|
4
|
+
* colors for consistency with the spacecraft cockpit aesthetic.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
@reference 'tailwindcss';
|
|
8
|
+
@reference './tokens.css';
|
|
9
|
+
|
|
10
|
+
/* ───────── Domain accent colors ───────── */
|
|
11
|
+
|
|
12
|
+
[data-domain='legal'] {
|
|
13
|
+
--domain-accent: #4488ff;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
[data-domain='life'] {
|
|
17
|
+
--domain-accent: #ffbb22;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
[data-domain='software'] {
|
|
21
|
+
--domain-accent: #ff4444;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
[data-domain='business'] {
|
|
25
|
+
--domain-accent: #ffb000;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
[data-domain='history'] {
|
|
29
|
+
--domain-accent: #33dd33;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
[data-domain='world'] {
|
|
33
|
+
--domain-accent: #cc66ff;
|
|
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,178 @@
|
|
|
1
|
+
/* Hex — Forge Design Tokens
|
|
2
|
+
* 1980s spacecraft cockpit hardware — CRT phosphor displays, beige ABS plastic
|
|
3
|
+
* housings, brushed aluminum channels, dark rubber gaskets.
|
|
4
|
+
* Dark mode industrial theme — deep carbon hull, yellow phosphor accents,
|
|
5
|
+
* IBM Plex instrument typography, machined 2px radii.
|
|
6
|
+
*
|
|
7
|
+
* Key palette:
|
|
8
|
+
* #0E0D0C deep carbon hull — background
|
|
9
|
+
* #1E1C1A dark composite panel — card / muted / sidebar
|
|
10
|
+
* #2A2826 elevated panel — popover / overlay
|
|
11
|
+
* #3A3530 dark panel seam — border
|
|
12
|
+
* #D4CCBA warm off-white — foreground (12.8:1 on base)
|
|
13
|
+
* #8A8478 mid warm gray — muted foreground (5.8:1 on base)
|
|
14
|
+
* #E6C830 CRT yellow phosphor — primary accent (h≈55)
|
|
15
|
+
* #33DD33 phosphor green — success (9.6:1 on base)
|
|
16
|
+
* #FFCC44 bright yellow — warning
|
|
17
|
+
* #FF4444 phosphor red — destructive (5.4:1 on base)
|
|
18
|
+
* #4488FF phosphor blue — info (5.6:1 on base)
|
|
19
|
+
*
|
|
20
|
+
* @theme feeds Tailwind v4 utility generation (bg-background, text-foreground, etc.)
|
|
21
|
+
* :root provides standalone CSS custom property access for non-Tailwind consumers.
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
@theme {
|
|
25
|
+
/* Surface colors */
|
|
26
|
+
--color-background: #0e0d0c;
|
|
27
|
+
--color-foreground: #d4ccba;
|
|
28
|
+
--color-card: #1e1c1a;
|
|
29
|
+
--color-card-foreground: #d4ccba;
|
|
30
|
+
--color-popover: #2a2826;
|
|
31
|
+
--color-popover-foreground: #d4ccba;
|
|
32
|
+
|
|
33
|
+
/* Brand — yellow phosphor */
|
|
34
|
+
--color-primary: #e6c830;
|
|
35
|
+
--color-primary-foreground: #0e0d0c;
|
|
36
|
+
|
|
37
|
+
/* Soft accents */
|
|
38
|
+
--color-secondary: #1e1c1a;
|
|
39
|
+
--color-secondary-foreground: #d4ccba;
|
|
40
|
+
--color-muted: #1e1c1a;
|
|
41
|
+
--color-muted-foreground: #8a8478;
|
|
42
|
+
--color-accent: #e6c830;
|
|
43
|
+
--color-accent-foreground: #0e0d0c;
|
|
44
|
+
|
|
45
|
+
/* Semantic status */
|
|
46
|
+
--color-destructive: #ff4444;
|
|
47
|
+
--color-destructive-foreground: #0e0d0c;
|
|
48
|
+
--color-success: #33dd33;
|
|
49
|
+
--color-warning: #ffcc44;
|
|
50
|
+
--color-info: #4488ff;
|
|
51
|
+
|
|
52
|
+
/* Borders and focus */
|
|
53
|
+
--color-border: #3a3530;
|
|
54
|
+
--color-input: #3a3530;
|
|
55
|
+
--color-ring: #e6c830;
|
|
56
|
+
|
|
57
|
+
/* Typography — IBM Plex instrument family */
|
|
58
|
+
--font-mono: 'IBM Plex Mono', 'Courier New', ui-monospace, monospace;
|
|
59
|
+
--font-sans: 'IBM Plex Sans', system-ui, sans-serif;
|
|
60
|
+
--font-serif: 'IBM Plex Serif', Georgia, serif;
|
|
61
|
+
|
|
62
|
+
/* Typography — IDE-density type scale */
|
|
63
|
+
--font-size-2xs: 0.625rem;
|
|
64
|
+
--font-size-2xs--line-height: 1.25;
|
|
65
|
+
--font-size-xs: 0.75rem;
|
|
66
|
+
--font-size-xs--line-height: 1.5;
|
|
67
|
+
--font-size-sm: 0.8125rem;
|
|
68
|
+
--font-size-sm--line-height: 1.5;
|
|
69
|
+
--font-size-base: 0.875rem;
|
|
70
|
+
--font-size-base--line-height: 1.5;
|
|
71
|
+
--font-size-lg: 1.125rem;
|
|
72
|
+
--font-size-lg--line-height: 1.25;
|
|
73
|
+
--font-size-xl: 1.25rem;
|
|
74
|
+
--font-size-xl--line-height: 1.25;
|
|
75
|
+
|
|
76
|
+
/* Display font family */
|
|
77
|
+
--font-display: var(--font-sans);
|
|
78
|
+
|
|
79
|
+
/* Radius — machined, not rounded */
|
|
80
|
+
--radius: 2px;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
:root {
|
|
84
|
+
--background: #0e0d0c;
|
|
85
|
+
--foreground: #d4ccba;
|
|
86
|
+
--card: #1e1c1a;
|
|
87
|
+
--card-foreground: #d4ccba;
|
|
88
|
+
--popover: #2a2826;
|
|
89
|
+
--popover-foreground: #d4ccba;
|
|
90
|
+
--primary: #e6c830;
|
|
91
|
+
--primary-foreground: #0e0d0c;
|
|
92
|
+
--secondary: #1e1c1a;
|
|
93
|
+
--secondary-foreground: #d4ccba;
|
|
94
|
+
--muted: #1e1c1a;
|
|
95
|
+
--muted-foreground: #8a8478;
|
|
96
|
+
--accent: #e6c830;
|
|
97
|
+
--accent-foreground: #0e0d0c;
|
|
98
|
+
--destructive: #ff4444;
|
|
99
|
+
--destructive-foreground: #0e0d0c;
|
|
100
|
+
--success: #33dd33;
|
|
101
|
+
--warning: #ffcc44;
|
|
102
|
+
--info: #4488ff;
|
|
103
|
+
--border: #3a3530;
|
|
104
|
+
--input: #3a3530;
|
|
105
|
+
--ring: #e6c830;
|
|
106
|
+
|
|
107
|
+
/* Typography — IDE-density type scale */
|
|
108
|
+
--font-size-2xs: 0.625rem;
|
|
109
|
+
--font-size-2xs--line-height: 1.25;
|
|
110
|
+
--font-size-xs: 0.75rem;
|
|
111
|
+
--font-size-xs--line-height: 1.5;
|
|
112
|
+
--font-size-sm: 0.8125rem;
|
|
113
|
+
--font-size-sm--line-height: 1.5;
|
|
114
|
+
--font-size-base: 0.875rem;
|
|
115
|
+
--font-size-base--line-height: 1.5;
|
|
116
|
+
--font-size-lg: 1.125rem;
|
|
117
|
+
--font-size-lg--line-height: 1.25;
|
|
118
|
+
--font-size-xl: 1.25rem;
|
|
119
|
+
--font-size-xl--line-height: 1.25;
|
|
120
|
+
|
|
121
|
+
/* Display font family */
|
|
122
|
+
--font-display: var(--font-sans);
|
|
123
|
+
|
|
124
|
+
--radius: 2px;
|
|
125
|
+
|
|
126
|
+
/* Typography — IDE-density type scale (shorthand aliases) */
|
|
127
|
+
--text-2xs: 0.625rem;
|
|
128
|
+
--text-xs: 0.75rem;
|
|
129
|
+
--text-sm: 0.8125rem;
|
|
130
|
+
--text-base: 0.875rem;
|
|
131
|
+
--text-lg: 1.125rem;
|
|
132
|
+
--text-xl: 1.25rem;
|
|
133
|
+
--leading-tight: 1.25;
|
|
134
|
+
--leading-snug: 1.375;
|
|
135
|
+
--leading-normal: 1.5;
|
|
136
|
+
--leading-relaxed: 1.625;
|
|
137
|
+
--weight-normal: 400;
|
|
138
|
+
--weight-medium: 500;
|
|
139
|
+
--weight-semibold: 600;
|
|
140
|
+
--weight-bold: 700;
|
|
141
|
+
--tracking-tight: -0.01em;
|
|
142
|
+
--tracking-normal: 0;
|
|
143
|
+
--tracking-wide: 0.05em;
|
|
144
|
+
--tracking-wider: 0.08em;
|
|
145
|
+
--font-display: var(--font-sans);
|
|
146
|
+
--font-mono: 'IBM Plex Mono', 'Courier New', ui-monospace, monospace;
|
|
147
|
+
--font-sans: 'IBM Plex Sans', system-ui, sans-serif;
|
|
148
|
+
--font-serif: 'IBM Plex Serif', Georgia, serif;
|
|
149
|
+
|
|
150
|
+
/* ── Named palette aliases ──────────────────────────────────────────────
|
|
151
|
+
* Forge spacecraft palette available for direct template use.
|
|
152
|
+
*/
|
|
153
|
+
--forge-hull: #0e0d0c;
|
|
154
|
+
--forge-panel: #1e1c1a;
|
|
155
|
+
--forge-overlay: #2a2826;
|
|
156
|
+
--forge-well: #060605;
|
|
157
|
+
--forge-seam: #3a3530;
|
|
158
|
+
--forge-seam-subtle: #1e1c1a;
|
|
159
|
+
--forge-text: #d4ccba;
|
|
160
|
+
--forge-text-mid: #8a8478;
|
|
161
|
+
--forge-text-dim: #5a5548;
|
|
162
|
+
--forge-yellow: #e6c830;
|
|
163
|
+
--forge-yellow-bright: #f0d84a;
|
|
164
|
+
--forge-green: #33dd33;
|
|
165
|
+
--forge-red: #ff4444;
|
|
166
|
+
--forge-blue: #4488ff;
|
|
167
|
+
|
|
168
|
+
/* ── Rig component token bridge ─────────────────────────────────────────
|
|
169
|
+
* Overrides shared/tokens.css defaults where Forge needs specific values.
|
|
170
|
+
*/
|
|
171
|
+
|
|
172
|
+
/* Scrollbar — warm tint matching hull color */
|
|
173
|
+
--rig-scrollbar-thumb: rgba(212, 204, 186, 0.15);
|
|
174
|
+
--rig-scrollbar-thumb-hover: rgba(212, 204, 186, 0.28);
|
|
175
|
+
|
|
176
|
+
/* Button — slightly dimmed yellow for hover */
|
|
177
|
+
--rig-button-hover-bg: #c4aa28;
|
|
178
|
+
}
|