@compose-market/theme 0.0.90 → 0.0.91
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/dist/agents/index.d.ts +2 -2
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/app/index.d.ts +1 -1
- package/dist/app/index.d.ts.map +1 -1
- package/dist/app/styles.d.ts +1 -1
- package/dist/app/styles.d.ts.map +1 -1
- package/dist/app/styles.js +64 -4
- package/dist/app/styles.js.map +1 -1
- package/dist/css/app.css +64 -4
- package/dist/css/dark.css +18 -18
- package/dist/css/effects.css +293 -30
- package/dist/css/session.css +28 -0
- package/dist/css/shell.css +46 -30
- package/dist/css/tokens.css +1 -1
- package/dist/css/utilities.css +246 -4
- package/dist/effects/styles.d.ts +3 -3
- package/dist/effects/styles.d.ts.map +1 -1
- package/dist/effects/styles.js +295 -32
- package/dist/effects/styles.js.map +1 -1
- package/dist/session/index.d.ts +16 -4
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js +31 -2
- package/dist/session/index.js.map +1 -1
- package/dist/session/styles.d.ts +1 -1
- package/dist/session/styles.d.ts.map +1 -1
- package/dist/session/styles.js +28 -0
- package/dist/session/styles.js.map +1 -1
- package/dist/shell/index.d.ts +19 -19
- package/dist/shell/index.d.ts.map +1 -1
- package/dist/shell/styles.d.ts +1 -1
- package/dist/shell/styles.d.ts.map +1 -1
- package/dist/shell/styles.js +46 -30
- package/dist/shell/styles.js.map +1 -1
- package/dist/themes/dark.js +25 -25
- package/dist/themes/dark.js.map +1 -1
- package/dist/tokens/typography.d.ts +1 -1
- package/dist/tokens/typography.js +2 -2
- package/dist/tokens/typography.js.map +1 -1
- package/dist/utilities/styles.d.ts +2 -2
- package/dist/utilities/styles.d.ts.map +1 -1
- package/dist/utilities/styles.js +247 -5
- package/dist/utilities/styles.js.map +1 -1
- package/dist/workflows/index.d.ts +4 -4
- package/dist/workflows/index.d.ts.map +1 -1
- package/package.json +10 -10
package/dist/css/utilities.css
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
|
|
2
2
|
/* ── Marquee ── */
|
|
3
3
|
@keyframes cm-marquee-scroll {
|
|
4
|
-
0% { transform:
|
|
5
|
-
100% { transform:
|
|
4
|
+
0% { transform: translate3d(0, 0, 0); }
|
|
5
|
+
100% { transform: translate3d(-50%, 0, 0); }
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
@keyframes cm-marquee-scroll-reverse {
|
|
9
|
-
0% { transform:
|
|
10
|
-
100% { transform:
|
|
9
|
+
0% { transform: translate3d(-50%, 0, 0); }
|
|
10
|
+
100% { transform: translate3d(0, 0, 0); }
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
@keyframes cm-partner-scanline {
|
|
14
|
+
0% { transform: translate3d(0, -100px, 0); }
|
|
15
|
+
100% { transform: translate3d(0, calc(100vh + 100px), 0); }
|
|
11
16
|
}
|
|
12
17
|
|
|
13
18
|
.cm-marquee-track {
|
|
@@ -20,6 +25,228 @@
|
|
|
20
25
|
will-change: transform;
|
|
21
26
|
}
|
|
22
27
|
|
|
28
|
+
/* ── Partner Blocks ── */
|
|
29
|
+
.cm-partners {
|
|
30
|
+
container-type: inline-size;
|
|
31
|
+
display: grid;
|
|
32
|
+
gap: clamp(0.85rem, 3cqi, 1.4rem);
|
|
33
|
+
width: 100%;
|
|
34
|
+
min-width: 0;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.cm-partners__backing {
|
|
38
|
+
display: grid;
|
|
39
|
+
grid-template-columns: minmax(13rem, 0.75fr) minmax(0, 1.25fr);
|
|
40
|
+
align-items: center;
|
|
41
|
+
gap: clamp(0.8rem, 3cqi, 1.4rem);
|
|
42
|
+
min-width: 0;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.cm-partners__copy {
|
|
46
|
+
display: grid;
|
|
47
|
+
gap: 0.32rem;
|
|
48
|
+
min-width: 0;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.cm-partners__label {
|
|
52
|
+
color: hsl(var(--muted-foreground) / 0.86);
|
|
53
|
+
font-family: var(--font-mono), monospace;
|
|
54
|
+
font-size: clamp(0.62rem, 2cqi, 0.78rem);
|
|
55
|
+
font-weight: 800;
|
|
56
|
+
letter-spacing: 0.14em;
|
|
57
|
+
line-height: 1.1;
|
|
58
|
+
text-transform: uppercase;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.cm-partners__title {
|
|
62
|
+
color: transparent;
|
|
63
|
+
background: linear-gradient(90deg, #8aebff, #dce1fb 48%, #fbabff);
|
|
64
|
+
-webkit-background-clip: text;
|
|
65
|
+
background-clip: text;
|
|
66
|
+
font-family: var(--font-display), Orbitron, sans-serif;
|
|
67
|
+
font-size: clamp(0.98rem, 4cqi, 1.45rem);
|
|
68
|
+
font-weight: 850;
|
|
69
|
+
letter-spacing: 0.02em;
|
|
70
|
+
line-height: 0.98;
|
|
71
|
+
overflow-wrap: anywhere;
|
|
72
|
+
text-transform: uppercase;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.cm-partners__badges {
|
|
76
|
+
display: grid;
|
|
77
|
+
grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
|
|
78
|
+
gap: clamp(0.7rem, 2.4cqi, 1rem);
|
|
79
|
+
min-width: 0;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.cm-partner-badge {
|
|
83
|
+
position: relative;
|
|
84
|
+
display: grid;
|
|
85
|
+
min-width: 0;
|
|
86
|
+
min-height: clamp(4.25rem, 13cqi, 5.6rem);
|
|
87
|
+
place-items: center;
|
|
88
|
+
overflow: hidden;
|
|
89
|
+
border: 1px solid hsl(var(--primary) / 0.18);
|
|
90
|
+
border-radius: 12px;
|
|
91
|
+
background:
|
|
92
|
+
linear-gradient(145deg, hsl(226 21% 23% / 0.34), hsl(221 50% 9% / 0.24)),
|
|
93
|
+
radial-gradient(circle at 50% 0%, hsl(var(--primary) / 0.12), transparent 64%);
|
|
94
|
+
box-shadow:
|
|
95
|
+
inset 0 1px 0 hsl(0 0% 100% / 0.07),
|
|
96
|
+
0 0 36px hsl(var(--primary) / 0.05);
|
|
97
|
+
padding: clamp(0.72rem, 2.4cqi, 1rem);
|
|
98
|
+
backdrop-filter: blur(16px) saturate(1.12);
|
|
99
|
+
transition:
|
|
100
|
+
transform 180ms ease,
|
|
101
|
+
border-color 220ms ease,
|
|
102
|
+
box-shadow 220ms ease;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.cm-partner-badge::before {
|
|
106
|
+
content: "";
|
|
107
|
+
position: absolute;
|
|
108
|
+
inset: -1px;
|
|
109
|
+
pointer-events: none;
|
|
110
|
+
background:
|
|
111
|
+
linear-gradient(135deg, hsl(var(--primary) / 0.14), transparent 48%),
|
|
112
|
+
linear-gradient(315deg, hsl(var(--accent) / 0.14), transparent 52%);
|
|
113
|
+
opacity: 0.55;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.cm-partner-badge::after {
|
|
117
|
+
content: "";
|
|
118
|
+
position: absolute;
|
|
119
|
+
inset-inline: 0;
|
|
120
|
+
top: -100px;
|
|
121
|
+
height: 100px;
|
|
122
|
+
pointer-events: none;
|
|
123
|
+
background: linear-gradient(180deg, transparent, hsl(0 0% 100% / 0.055), transparent);
|
|
124
|
+
opacity: 0.75;
|
|
125
|
+
animation: cm-partner-scanline 4s linear infinite;
|
|
126
|
+
will-change: transform;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.cm-partner-badge[data-tone="green"] {
|
|
130
|
+
border-color: hsl(142 71% 45% / 0.34);
|
|
131
|
+
box-shadow:
|
|
132
|
+
inset 0 1px 0 hsl(0 0% 100% / 0.07),
|
|
133
|
+
0 0 36px hsl(142 71% 45% / 0.08);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.cm-partner-badge[data-tone="blue"] {
|
|
137
|
+
border-color: hsl(217 91% 60% / 0.34);
|
|
138
|
+
box-shadow:
|
|
139
|
+
inset 0 1px 0 hsl(0 0% 100% / 0.07),
|
|
140
|
+
0 0 36px hsl(217 91% 60% / 0.08);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.cm-partner-badge[data-tone="purple"],
|
|
144
|
+
.cm-partner-badge[data-tone="violet"] {
|
|
145
|
+
border-color: hsl(var(--accent) / 0.34);
|
|
146
|
+
box-shadow:
|
|
147
|
+
inset 0 1px 0 hsl(0 0% 100% / 0.07),
|
|
148
|
+
0 0 36px hsl(var(--accent) / 0.08);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.cm-partner-badge:hover,
|
|
152
|
+
.cm-partner-badge:focus-visible {
|
|
153
|
+
transform: translateY(-1px);
|
|
154
|
+
border-color: hsl(var(--primary) / 0.5);
|
|
155
|
+
outline: none;
|
|
156
|
+
box-shadow:
|
|
157
|
+
inset 0 1px 0 hsl(0 0% 100% / 0.08),
|
|
158
|
+
0 0 28px hsl(var(--primary) / 0.14);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.cm-partner-badge img {
|
|
162
|
+
position: relative;
|
|
163
|
+
z-index: 1;
|
|
164
|
+
width: auto;
|
|
165
|
+
max-width: min(100%, 18rem);
|
|
166
|
+
height: clamp(2rem, 7cqi, 3.45rem);
|
|
167
|
+
object-fit: contain;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.cm-partner-marquee {
|
|
171
|
+
position: relative;
|
|
172
|
+
display: grid;
|
|
173
|
+
gap: clamp(0.58rem, 1.8cqi, 0.85rem);
|
|
174
|
+
width: 100%;
|
|
175
|
+
min-width: 0;
|
|
176
|
+
overflow: hidden;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.cm-partner-marquee::before,
|
|
180
|
+
.cm-partner-marquee::after {
|
|
181
|
+
content: "";
|
|
182
|
+
position: absolute;
|
|
183
|
+
inset-block: 0;
|
|
184
|
+
z-index: 2;
|
|
185
|
+
width: clamp(2rem, 8cqi, 5rem);
|
|
186
|
+
pointer-events: none;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
.cm-partner-marquee::before {
|
|
190
|
+
left: 0;
|
|
191
|
+
background: linear-gradient(90deg, hsl(var(--background) / 0.9), transparent);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
.cm-partner-marquee::after {
|
|
195
|
+
right: 0;
|
|
196
|
+
background: linear-gradient(270deg, hsl(var(--background) / 0.9), transparent);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
.cm-partner-logo {
|
|
200
|
+
display: grid;
|
|
201
|
+
height: clamp(2.45rem, 7cqi, 3rem);
|
|
202
|
+
min-width: clamp(6.4rem, 18cqi, 8.7rem);
|
|
203
|
+
place-items: center;
|
|
204
|
+
flex: 0 0 auto;
|
|
205
|
+
border: 1px solid hsl(var(--primary) / 0.12);
|
|
206
|
+
border-radius: 10px;
|
|
207
|
+
background: hsl(221 50% 9% / 0.34);
|
|
208
|
+
padding-inline: clamp(0.8rem, 2.6cqi, 1.15rem);
|
|
209
|
+
transition:
|
|
210
|
+
transform 180ms ease,
|
|
211
|
+
border-color 220ms ease,
|
|
212
|
+
background-color 220ms ease,
|
|
213
|
+
box-shadow 220ms ease;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
.cm-partner-logo:hover {
|
|
217
|
+
transform: translateY(-1px);
|
|
218
|
+
border-color: hsl(var(--primary) / 0.46);
|
|
219
|
+
background: hsl(221 50% 9% / 0.52);
|
|
220
|
+
box-shadow: 0 0 20px hsl(var(--primary) / 0.1);
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
.cm-partner-logo img {
|
|
224
|
+
width: auto;
|
|
225
|
+
max-width: 6.25rem;
|
|
226
|
+
height: clamp(0.85rem, 3cqi, 1.25rem);
|
|
227
|
+
object-fit: contain;
|
|
228
|
+
filter: grayscale(1) brightness(0.74);
|
|
229
|
+
opacity: 0.76;
|
|
230
|
+
transition: filter 220ms ease, opacity 220ms ease;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
.cm-partner-logo:hover img {
|
|
234
|
+
filter: grayscale(0) brightness(1.1);
|
|
235
|
+
opacity: 1;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
@container (max-width: 42rem) {
|
|
239
|
+
.cm-partners__backing {
|
|
240
|
+
grid-template-columns: 1fr;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
@container (max-width: 24rem) {
|
|
245
|
+
.cm-partners__badges {
|
|
246
|
+
grid-template-columns: 1fr;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
|
|
23
250
|
/* ── Safe Area ── */
|
|
24
251
|
.cm-safe-area-top { padding-top: env(safe-area-inset-top); }
|
|
25
252
|
.cm-safe-area-bottom { padding-bottom: env(safe-area-inset-bottom); }
|
|
@@ -79,3 +306,18 @@
|
|
|
79
306
|
height: 4px;
|
|
80
307
|
}
|
|
81
308
|
}
|
|
309
|
+
|
|
310
|
+
@media (prefers-reduced-motion: reduce) {
|
|
311
|
+
.cm-marquee-track,
|
|
312
|
+
.cm-marquee-track-reverse,
|
|
313
|
+
.cm-partner-badge::after {
|
|
314
|
+
animation-duration: 0.01ms !important;
|
|
315
|
+
animation-iteration-count: 1 !important;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
.cm-partner-logo,
|
|
319
|
+
.cm-partner-badge,
|
|
320
|
+
.cm-partner-logo img {
|
|
321
|
+
transition-duration: 0.01ms !important;
|
|
322
|
+
}
|
|
323
|
+
}
|
package/dist/effects/styles.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Bioluminescent visual effects - Compose.Market Design System
|
|
3
3
|
*
|
|
4
|
-
* Shared effects used across web and
|
|
4
|
+
* Shared effects used across web/ and mesh/ apps.
|
|
5
5
|
* Generated from @compose-market/theme.
|
|
6
6
|
*/
|
|
7
|
-
export declare const effectsCss = "/**\n * Compose.Market Cyberpunk Effects\n * @compose-market/theme/css/effects\n *\n * DO NOT EDIT \u2013 generated from the theme package.\n */\n\n/* Glass Panel */\n.glass-panel {\n background: linear-gradient(145deg, hsl(var(--card) / 0.8), hsl(var(--card) / 0.4));\n backdrop-filter: blur(12px);\n border: 1px solid hsl(var(--border) / 0.5);\n box-shadow:\n 0 4px 24px -1px hsl(0 0% 0% / 0.3),\n inset 0 1px 0 hsl(0 0% 100% / 0.05);\n}\n\n/* Neon Effects */\n.neon-border {\n box-shadow: 0 0 10px -2px hsl(var(--primary) / 0.5);\n border-color: hsl(var(--primary) / 0.5);\n}\n\n.neon-text {\n text-shadow: 0 0 10px hsl(var(--primary) / 0.5);\n}\n\n.neon-glow {\n animation: neon-pulse 2s ease-in-out infinite alternate;\n}\n\n@keyframes neon-pulse {\n from {\n box-shadow: 0 0 5px hsl(var(--primary) / 0.5),\n 0 0 10px hsl(var(--primary) / 0.3),\n 0 0 15px hsl(var(--primary) / 0.1);\n }\n to {\n box-shadow: 0 0 10px hsl(var(--primary) / 0.6),\n 0 0 20px hsl(var(--primary) / 0.4),\n 0 0 30px hsl(var(--primary) / 0.2);\n }\n}\n\n/* Background Grid Pattern */\n.bg-grid-pattern {\n background-size: 40px 40px;\n background-image: linear-gradient(to right, hsl(217 33% 17% / 0.3) 1px, transparent 1px),\n linear-gradient(to bottom, hsl(217 33% 17% / 0.3) 1px, transparent 1px);\n}\n\n/* Scanline Animation */\n.scanline {\n width: 100%;\n height: 100px;\n z-index: 50;\n background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, hsl(188 95% 43% / 0.05) 50%, rgba(0, 0, 0, 0) 100%);\n opacity: 0.1;\n position: absolute;\n bottom: 100%;\n animation: scanline 8s linear infinite;\n pointer-events: none;\n}\n\n@keyframes scanline {\n 0% { bottom: 100%; }\n 100% { bottom: -100px; }\n}\n\n/* Glitch Border Effect */\n.glitch-border {\n position: relative;\n}\n\n.glitch-border::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 1px solid hsl(188 95% 43% / 0.3);\n clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);\n animation: glitch-border 3s infinite linear alternate-reverse;\n pointer-events: none;\n}\n\n@keyframes glitch-border {\n 0% { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }\n 5% { clip-path: polygon(0 10%, 100% 0, 95% 100%, 5% 90%); }\n 10% { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }\n}\n\n/* Glitch Text Hover Effect */\n.glitch-text {\n position: relative;\n}\n\n.glitch-text::before,\n.glitch-text::after {\n content: attr(data-text);\n position: absolute;\n top: 0;\n left: 0;\n opacity: 0;\n pointer-events: none;\n}\n\n.glitch-text:hover::before {\n left: 2px;\n color: hsl(292 85% 55%);\n opacity: 0.7;\n animation: glitch-1 0.3s infinite;\n mix-blend-mode: screen;\n}\n\n.glitch-text:hover::after {\n left: -2px;\n color: hsl(188 95% 43%);\n opacity: 0.7;\n animation: glitch-2 0.3s infinite;\n mix-blend-mode: screen;\n}\n\n@keyframes glitch-1 {\n 0%, 100% { transform: translate(0); }\n 20% { transform: translate(-2px, 2px); }\n 40% { transform: translate(-2px, -2px); }\n 60% { transform: translate(2px, 2px); }\n 80% { transform: translate(2px, -2px); }\n}\n\n@keyframes glitch-2 {\n 0%, 100% { transform: translate(0); }\n 20% { transform: translate(2px, 2px); }\n 40% { transform: translate(2px, -2px); }\n 60% { transform: translate(-2px, 2px); }\n 80% { transform: translate(-2px, -2px); }\n}\n\n/* Corner Decorations */\n.corner-decoration {\n position: relative;\n}\n\n.corner-decoration::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 8px;\n height: 8px;\n border-top: 2px solid hsl(var(--primary) / 0.5);\n border-left: 2px solid hsl(var(--primary) / 0.5);\n}\n\n.corner-decoration::after {\n content: '';\n position: absolute;\n bottom: 0;\n right: 0;\n width: 8px;\n height: 8px;\n border-bottom: 2px solid hsl(var(--primary) / 0.5);\n border-right: 2px solid hsl(var(--primary) / 0.5);\n}\n\n/* Cyberpunk Scrollbar */\n::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n}\n\n::-webkit-scrollbar-track {\n background: hsl(var(--background));\n}\n\n::-webkit-scrollbar-thumb {\n background: hsl(var(--muted));\n border-radius: 2px;\n}\n\n::-webkit-scrollbar-thumb:hover {\n background: hsl(var(--primary) / 0.5);\n}\n\n/* Partner Badge Scanline Animation */\n@keyframes partner-scanline {\n 0% { transform: translateY(-100px); }\n 100% { transform: translateY(calc(100vh + 100px)); }\n}\n\n/* Shimmer Animation */\n@keyframes shimmer {\n 0% { transform: translateX(-100%); }\n 100% { transform: translateX(100%); }\n}\n";
|
|
7
|
+
export declare const effectsCss = "/**\n * Compose.Market Cyberpunk Effects\n * @compose-market/theme/css/effects\n *\n * DO NOT EDIT \u2013 generated from the theme package.\n */\n\n:root {\n --cm-bg: #0c1324;\n --cm-bg-deep: #020607;\n --cm-surface: hsl(var(--card) / 0.42);\n --cm-surface-high: hsl(var(--card) / 0.64);\n --cm-cyan: #22d3ee;\n --cm-cyan-hot: #00e5ff;\n --cm-fuchsia: #ae05c6;\n --cm-fuchsia-hot: #fbabff;\n --cm-text: #dce1fb;\n --cm-muted: hsl(var(--muted-foreground) / 0.72);\n --cm-line: hsl(var(--primary) / 0.22);\n --cm-purple-line: hsl(var(--accent) / 0.24);\n --cm-radius: 12px;\n --cm-font-display: var(--font-display), Orbitron, Rajdhani, Inter, ui-sans-serif, system-ui, sans-serif;\n --cm-font-sans: var(--font-sans), Manrope, Rajdhani, Inter, ui-sans-serif, system-ui, sans-serif;\n --cm-font-mono: var(--font-mono), \"Fira Code\", \"SFMono-Regular\", Consolas, \"Liberation Mono\", monospace;\n --cm-glow-cyan: 0 0 18px hsl(var(--primary) / 0.32), 0 0 42px hsl(194 100% 42% / 0.16);\n --cm-glow-fuchsia: 0 0 16px hsl(var(--accent) / 0.32), 0 0 36px hsl(292 85% 38% / 0.18);\n --cm-glow-soft: 0 0 28px hsl(var(--primary) / 0.08);\n}\n\n/* Glass Panel */\n.glass-panel,\n.cm-glass {\n position: relative;\n overflow: hidden;\n border: 1px solid hsl(var(--primary) / 0.18);\n border-radius: var(--cm-radius);\n background:\n linear-gradient(145deg, hsl(226 21% 23% / 0.38), hsl(221 50% 9% / 0.24)),\n radial-gradient(circle at 18% 0%, hsl(var(--primary) / 0.13), transparent 34%),\n hsl(224 36% 13% / 0.28);\n box-shadow:\n inset 0 1px 0 hsl(0 0% 100% / 0.07),\n inset 0 -1px 0 hsl(var(--primary) / 0.08),\n 0 0 40px hsl(var(--primary) / 0.055);\n backdrop-filter: blur(18px) saturate(1.16);\n}\n\n.glass-panel::before,\n.cm-glass::before {\n content: \"\";\n position: absolute;\n inset: 0;\n pointer-events: none;\n background:\n linear-gradient(120deg, hsl(0 0% 100% / 0.12), transparent 18%),\n radial-gradient(circle at 18% 12%, hsl(var(--primary) / 0.15), transparent 34%),\n radial-gradient(circle at 100% 100%, hsl(var(--accent) / 0.16), transparent 38%);\n opacity: 0.44;\n}\n\n.glass-panel > *,\n.cm-glass > * {\n position: relative;\n z-index: 1;\n}\n\n/* Neon Effects */\n.neon-border {\n border-color: hsl(var(--primary) / 0.42);\n box-shadow:\n inset 0 0 0 1px hsl(0 0% 100% / 0.025),\n 0 0 10px -2px hsl(var(--primary) / 0.5),\n 0 0 34px hsl(var(--primary) / 0.08);\n}\n\n.neon-text {\n text-shadow:\n 0 0 10px hsl(var(--primary) / 0.58),\n 0 0 24px hsl(var(--accent) / 0.16);\n}\n\n.neon-glow {\n animation: neon-pulse 2s ease-in-out infinite alternate;\n}\n\n@keyframes neon-pulse {\n from {\n opacity: 0.84;\n box-shadow:\n 0 0 5px hsl(var(--primary) / 0.42),\n 0 0 10px hsl(var(--primary) / 0.22),\n 0 0 15px hsl(var(--primary) / 0.08);\n }\n to {\n opacity: 1;\n box-shadow:\n 0 0 10px hsl(var(--primary) / 0.56),\n 0 0 20px hsl(var(--primary) / 0.32),\n 0 0 30px hsl(var(--accent) / 0.14);\n }\n}\n\n/* Background Grid Pattern */\n.bg-grid-pattern,\n.cm-grid {\n background-size: 44px 44px;\n background-image:\n linear-gradient(to right, hsl(var(--primary) / 0.055) 1px, transparent 1px),\n linear-gradient(to bottom, hsl(var(--primary) / 0.045) 1px, transparent 1px),\n radial-gradient(circle at 50% 0%, hsl(var(--primary) / 0.1), transparent 34rem);\n}\n\n/* Scanline Animation */\n.scanline {\n position: absolute;\n inset-inline: 0;\n top: -100px;\n width: 100%;\n height: 100px;\n z-index: 50;\n pointer-events: none;\n background: linear-gradient(0deg, transparent 0%, hsl(var(--primary) / 0.06) 50%, transparent 100%);\n opacity: 0.16;\n animation: scanline 8s linear infinite;\n will-change: transform;\n}\n\n@keyframes scanline {\n 0% { transform: translateY(-100px); }\n 100% { transform: translateY(calc(100vh + 100px)); }\n}\n\n@keyframes cm-biopulse {\n 0%, 100% {\n opacity: 0.96;\n box-shadow:\n inset 0 0 26px hsl(var(--primary) / 0.04),\n 0 0 10px hsl(var(--primary) / 0.06);\n }\n\n 50% {\n opacity: 1;\n box-shadow:\n inset 0 0 30px hsl(var(--primary) / 0.08),\n 0 0 18px hsl(var(--primary) / 0.14);\n }\n}\n\n.cm-cell {\n container-type: inline-size;\n animation: cm-biopulse 2s ease-in-out infinite;\n transition:\n transform 180ms ease,\n border-color 180ms ease,\n box-shadow 180ms ease,\n background-color 180ms ease,\n color 180ms ease;\n will-change: transform;\n}\n\n.cm-cell:hover,\n.cm-cell:focus-within,\n.cm-cell[data-state=\"active\"] {\n transform: translateY(-1px);\n border-color: hsl(var(--primary) / 0.78);\n box-shadow:\n inset 0 0 30px hsl(var(--primary) / 0.08),\n 0 0 18px hsl(var(--primary) / 0.34),\n 0 0 38px hsl(194 100% 42% / 0.16);\n}\n\n.cm-cell[data-tone=\"purple\"],\n.cm-cell[data-tone=\"violet\"] {\n border-color: hsl(var(--accent) / 0.46);\n box-shadow:\n inset 0 0 26px hsl(var(--accent) / 0.1),\n 0 0 10px hsl(var(--accent) / 0.34);\n}\n\n.cm-kicker {\n margin: 0;\n color: var(--cm-cyan-hot);\n font-family: var(--cm-font-mono);\n font-size: clamp(0.62rem, 1vw, 0.82rem);\n font-weight: 800;\n letter-spacing: 0;\n line-height: 1.2;\n text-transform: uppercase;\n text-shadow: var(--cm-glow-cyan);\n}\n\n.cm-display {\n margin: 0;\n color: var(--cm-text);\n font-family: var(--cm-font-display);\n font-weight: 950;\n letter-spacing: 0;\n line-height: 0.9;\n text-transform: uppercase;\n text-shadow:\n 0 0 12px hsl(0 0% 100% / 0.34),\n 0 0 26px hsl(var(--primary) / 0.3);\n}\n\n.cm-display em {\n color: var(--cm-cyan-hot);\n font-style: normal;\n text-shadow:\n 0 0 12px hsl(var(--primary) / 0.82),\n 0 0 34px hsl(var(--primary) / 0.52),\n 0 0 52px hsl(var(--accent) / 0.24);\n}\n\n.cm-copy {\n color: var(--cm-muted);\n font-family: var(--cm-font-sans);\n font-weight: 500;\n line-height: 1.42;\n}\n\n.cm-button {\n display: inline-flex;\n min-height: 2.625rem;\n min-width: 0;\n align-items: center;\n justify-content: center;\n gap: 0.5rem;\n border: 1px solid hsl(var(--primary) / 0.42);\n border-radius: 999px;\n padding: 0.78rem 1.05rem;\n color: hsl(var(--foreground));\n font-family: var(--cm-font-mono);\n font-size: clamp(0.64rem, 1.6cqw, 0.74rem);\n font-weight: 900;\n letter-spacing: 0;\n line-height: 1.08;\n text-align: center;\n text-transform: uppercase;\n transition:\n transform 180ms ease,\n border-color 180ms ease,\n background 180ms ease,\n box-shadow 180ms ease,\n color 180ms ease;\n}\n\n.cm-button:hover,\n.cm-button:focus-visible {\n transform: translateY(-1px);\n outline: none;\n}\n\n.cm-button-primary,\n.primary {\n border-color: hsl(var(--primary) / 0.9);\n background: linear-gradient(135deg, #8aebff, #22d3ee);\n color: #031314;\n box-shadow: var(--cm-glow-cyan);\n}\n\n.cm-button-primary:hover,\n.cm-button-primary:focus-visible,\n.primary:hover,\n.primary:focus-visible {\n box-shadow:\n 0 0 18px hsl(var(--primary) / 0.44),\n 0 0 42px hsl(var(--primary) / 0.2);\n}\n\n.cm-button-secondary,\n.secondary {\n border-color: hsl(var(--primary) / 0.2);\n background: hsl(221 50% 9% / 0.36);\n color: var(--cm-cyan-hot);\n box-shadow: inset 0 0 22px hsl(var(--primary) / 0.08);\n backdrop-filter: blur(14px);\n}\n\n.cm-button-secondary:hover,\n.cm-button-secondary:focus-visible,\n.secondary:hover,\n.secondary:focus-visible {\n border-color: hsl(var(--primary) / 0.72);\n background: hsl(var(--primary) / 0.1);\n box-shadow: var(--cm-glow-cyan);\n}\n\n.cm-chip {\n display: inline-flex;\n align-items: center;\n border: 1px solid hsl(var(--primary) / 0.18);\n border-radius: 999px;\n background: hsl(var(--background) / 0.42);\n color: hsl(var(--foreground) / 0.72);\n padding: 0.36rem 0.58rem;\n font-family: var(--cm-font-mono);\n font-size: 0.64rem;\n font-weight: 800;\n line-height: 1;\n text-transform: uppercase;\n backdrop-filter: blur(12px);\n}\n\n.cm-icon {\n display: inline-grid;\n width: 2.45rem;\n height: 2.45rem;\n place-items: center;\n border: 1px solid hsl(var(--primary) / 0.28);\n border-radius: var(--cm-radius);\n background: hsl(var(--primary) / 0.08);\n color: var(--cm-cyan-hot);\n font-family: var(--cm-font-mono);\n font-size: 0.8rem;\n font-weight: 900;\n box-shadow: inset 0 0 20px hsl(var(--primary) / 0.1);\n}\n\n/* Glitch Border Effect */\n.glitch-border {\n position: relative;\n}\n\n.glitch-border::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 1px solid hsl(188 95% 43% / 0.3);\n clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);\n animation: glitch-border 3s infinite linear alternate-reverse;\n pointer-events: none;\n}\n\n@keyframes glitch-border {\n 0% { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }\n 5% { clip-path: polygon(0 10%, 100% 0, 95% 100%, 5% 90%); }\n 10% { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }\n}\n\n/* Glitch Text Hover Effect */\n.glitch-text {\n position: relative;\n}\n\n.glitch-text::before,\n.glitch-text::after {\n content: attr(data-text);\n position: absolute;\n top: 0;\n left: 0;\n opacity: 0;\n pointer-events: none;\n}\n\n.glitch-text:hover::before {\n left: 2px;\n color: hsl(292 85% 55%);\n opacity: 0.7;\n animation: glitch-1 0.3s infinite;\n mix-blend-mode: screen;\n}\n\n.glitch-text:hover::after {\n left: -2px;\n color: hsl(188 95% 43%);\n opacity: 0.7;\n animation: glitch-2 0.3s infinite;\n mix-blend-mode: screen;\n}\n\n@keyframes glitch-1 {\n 0%, 100% { transform: translate(0); }\n 20% { transform: translate(-2px, 2px); }\n 40% { transform: translate(-2px, -2px); }\n 60% { transform: translate(2px, 2px); }\n 80% { transform: translate(2px, -2px); }\n}\n\n@keyframes glitch-2 {\n 0%, 100% { transform: translate(0); }\n 20% { transform: translate(2px, 2px); }\n 40% { transform: translate(2px, -2px); }\n 60% { transform: translate(-2px, 2px); }\n 80% { transform: translate(-2px, -2px); }\n}\n\n/* Corner Decorations */\n.corner-decoration {\n position: relative;\n}\n\n.corner-decoration::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 8px;\n height: 8px;\n border-top: 2px solid hsl(var(--primary) / 0.5);\n border-left: 2px solid hsl(var(--primary) / 0.5);\n}\n\n.corner-decoration::after {\n content: '';\n position: absolute;\n bottom: 0;\n right: 0;\n width: 8px;\n height: 8px;\n border-bottom: 2px solid hsl(var(--primary) / 0.5);\n border-right: 2px solid hsl(var(--primary) / 0.5);\n}\n\n/* Cyberpunk Scrollbar */\n::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n}\n\n::-webkit-scrollbar-track {\n background: hsl(var(--background));\n}\n\n::-webkit-scrollbar-thumb {\n background: hsl(var(--muted));\n border-radius: 2px;\n}\n\n::-webkit-scrollbar-thumb:hover {\n background: hsl(var(--primary) / 0.5);\n}\n\n/* Partner Badge Scanline Animation */\n@keyframes partner-scanline {\n 0% { transform: translate3d(0, -100px, 0); }\n 100% { transform: translate3d(0, calc(100vh + 100px), 0); }\n}\n\n/* Shimmer Animation */\n@keyframes shimmer {\n 0% { transform: translate3d(-100%, 0, 0); }\n 100% { transform: translate3d(100%, 0, 0); }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .neon-glow,\n .scanline,\n .cm-cell {\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n }\n\n .cm-cell,\n .cm-button {\n transition-duration: 0.01ms !important;\n }\n}\n";
|
|
8
8
|
//# sourceMappingURL=styles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/effects/styles.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/effects/styles.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,UAAU,gxWA4ctB,CAAC"}
|
package/dist/effects/styles.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Bioluminescent visual effects - Compose.Market Design System
|
|
3
3
|
*
|
|
4
|
-
* Shared effects used across web and
|
|
4
|
+
* Shared effects used across web/ and mesh/ apps.
|
|
5
5
|
* Generated from @compose-market/theme.
|
|
6
6
|
*/
|
|
7
7
|
export const effectsCss = `/**
|
|
@@ -11,24 +11,78 @@ export const effectsCss = `/**
|
|
|
11
11
|
* DO NOT EDIT – generated from the theme package.
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
+
:root {
|
|
15
|
+
--cm-bg: #0c1324;
|
|
16
|
+
--cm-bg-deep: #020607;
|
|
17
|
+
--cm-surface: hsl(var(--card) / 0.42);
|
|
18
|
+
--cm-surface-high: hsl(var(--card) / 0.64);
|
|
19
|
+
--cm-cyan: #22d3ee;
|
|
20
|
+
--cm-cyan-hot: #00e5ff;
|
|
21
|
+
--cm-fuchsia: #ae05c6;
|
|
22
|
+
--cm-fuchsia-hot: #fbabff;
|
|
23
|
+
--cm-text: #dce1fb;
|
|
24
|
+
--cm-muted: hsl(var(--muted-foreground) / 0.72);
|
|
25
|
+
--cm-line: hsl(var(--primary) / 0.22);
|
|
26
|
+
--cm-purple-line: hsl(var(--accent) / 0.24);
|
|
27
|
+
--cm-radius: 12px;
|
|
28
|
+
--cm-font-display: var(--font-display), Orbitron, Rajdhani, Inter, ui-sans-serif, system-ui, sans-serif;
|
|
29
|
+
--cm-font-sans: var(--font-sans), Manrope, Rajdhani, Inter, ui-sans-serif, system-ui, sans-serif;
|
|
30
|
+
--cm-font-mono: var(--font-mono), "Fira Code", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
|
|
31
|
+
--cm-glow-cyan: 0 0 18px hsl(var(--primary) / 0.32), 0 0 42px hsl(194 100% 42% / 0.16);
|
|
32
|
+
--cm-glow-fuchsia: 0 0 16px hsl(var(--accent) / 0.32), 0 0 36px hsl(292 85% 38% / 0.18);
|
|
33
|
+
--cm-glow-soft: 0 0 28px hsl(var(--primary) / 0.08);
|
|
34
|
+
}
|
|
35
|
+
|
|
14
36
|
/* Glass Panel */
|
|
15
|
-
.glass-panel
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
37
|
+
.glass-panel,
|
|
38
|
+
.cm-glass {
|
|
39
|
+
position: relative;
|
|
40
|
+
overflow: hidden;
|
|
41
|
+
border: 1px solid hsl(var(--primary) / 0.18);
|
|
42
|
+
border-radius: var(--cm-radius);
|
|
43
|
+
background:
|
|
44
|
+
linear-gradient(145deg, hsl(226 21% 23% / 0.38), hsl(221 50% 9% / 0.24)),
|
|
45
|
+
radial-gradient(circle at 18% 0%, hsl(var(--primary) / 0.13), transparent 34%),
|
|
46
|
+
hsl(224 36% 13% / 0.28);
|
|
19
47
|
box-shadow:
|
|
20
|
-
0
|
|
21
|
-
inset 0 1px 0 hsl(
|
|
48
|
+
inset 0 1px 0 hsl(0 0% 100% / 0.07),
|
|
49
|
+
inset 0 -1px 0 hsl(var(--primary) / 0.08),
|
|
50
|
+
0 0 40px hsl(var(--primary) / 0.055);
|
|
51
|
+
backdrop-filter: blur(18px) saturate(1.16);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.glass-panel::before,
|
|
55
|
+
.cm-glass::before {
|
|
56
|
+
content: "";
|
|
57
|
+
position: absolute;
|
|
58
|
+
inset: 0;
|
|
59
|
+
pointer-events: none;
|
|
60
|
+
background:
|
|
61
|
+
linear-gradient(120deg, hsl(0 0% 100% / 0.12), transparent 18%),
|
|
62
|
+
radial-gradient(circle at 18% 12%, hsl(var(--primary) / 0.15), transparent 34%),
|
|
63
|
+
radial-gradient(circle at 100% 100%, hsl(var(--accent) / 0.16), transparent 38%);
|
|
64
|
+
opacity: 0.44;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.glass-panel > *,
|
|
68
|
+
.cm-glass > * {
|
|
69
|
+
position: relative;
|
|
70
|
+
z-index: 1;
|
|
22
71
|
}
|
|
23
72
|
|
|
24
73
|
/* Neon Effects */
|
|
25
74
|
.neon-border {
|
|
26
|
-
|
|
27
|
-
|
|
75
|
+
border-color: hsl(var(--primary) / 0.42);
|
|
76
|
+
box-shadow:
|
|
77
|
+
inset 0 0 0 1px hsl(0 0% 100% / 0.025),
|
|
78
|
+
0 0 10px -2px hsl(var(--primary) / 0.5),
|
|
79
|
+
0 0 34px hsl(var(--primary) / 0.08);
|
|
28
80
|
}
|
|
29
81
|
|
|
30
82
|
.neon-text {
|
|
31
|
-
text-shadow:
|
|
83
|
+
text-shadow:
|
|
84
|
+
0 0 10px hsl(var(--primary) / 0.58),
|
|
85
|
+
0 0 24px hsl(var(--accent) / 0.16);
|
|
32
86
|
}
|
|
33
87
|
|
|
34
88
|
.neon-glow {
|
|
@@ -37,40 +91,235 @@ export const effectsCss = `/**
|
|
|
37
91
|
|
|
38
92
|
@keyframes neon-pulse {
|
|
39
93
|
from {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
0 0
|
|
94
|
+
opacity: 0.84;
|
|
95
|
+
box-shadow:
|
|
96
|
+
0 0 5px hsl(var(--primary) / 0.42),
|
|
97
|
+
0 0 10px hsl(var(--primary) / 0.22),
|
|
98
|
+
0 0 15px hsl(var(--primary) / 0.08);
|
|
43
99
|
}
|
|
44
100
|
to {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
0 0
|
|
101
|
+
opacity: 1;
|
|
102
|
+
box-shadow:
|
|
103
|
+
0 0 10px hsl(var(--primary) / 0.56),
|
|
104
|
+
0 0 20px hsl(var(--primary) / 0.32),
|
|
105
|
+
0 0 30px hsl(var(--accent) / 0.14);
|
|
48
106
|
}
|
|
49
107
|
}
|
|
50
108
|
|
|
51
109
|
/* Background Grid Pattern */
|
|
52
|
-
.bg-grid-pattern
|
|
53
|
-
|
|
54
|
-
background-
|
|
55
|
-
|
|
110
|
+
.bg-grid-pattern,
|
|
111
|
+
.cm-grid {
|
|
112
|
+
background-size: 44px 44px;
|
|
113
|
+
background-image:
|
|
114
|
+
linear-gradient(to right, hsl(var(--primary) / 0.055) 1px, transparent 1px),
|
|
115
|
+
linear-gradient(to bottom, hsl(var(--primary) / 0.045) 1px, transparent 1px),
|
|
116
|
+
radial-gradient(circle at 50% 0%, hsl(var(--primary) / 0.1), transparent 34rem);
|
|
56
117
|
}
|
|
57
118
|
|
|
58
119
|
/* Scanline Animation */
|
|
59
120
|
.scanline {
|
|
121
|
+
position: absolute;
|
|
122
|
+
inset-inline: 0;
|
|
123
|
+
top: -100px;
|
|
60
124
|
width: 100%;
|
|
61
125
|
height: 100px;
|
|
62
126
|
z-index: 50;
|
|
63
|
-
background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, hsl(188 95% 43% / 0.05) 50%, rgba(0, 0, 0, 0) 100%);
|
|
64
|
-
opacity: 0.1;
|
|
65
|
-
position: absolute;
|
|
66
|
-
bottom: 100%;
|
|
67
|
-
animation: scanline 8s linear infinite;
|
|
68
127
|
pointer-events: none;
|
|
128
|
+
background: linear-gradient(0deg, transparent 0%, hsl(var(--primary) / 0.06) 50%, transparent 100%);
|
|
129
|
+
opacity: 0.16;
|
|
130
|
+
animation: scanline 8s linear infinite;
|
|
131
|
+
will-change: transform;
|
|
69
132
|
}
|
|
70
133
|
|
|
71
134
|
@keyframes scanline {
|
|
72
|
-
0% {
|
|
73
|
-
100% {
|
|
135
|
+
0% { transform: translateY(-100px); }
|
|
136
|
+
100% { transform: translateY(calc(100vh + 100px)); }
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
@keyframes cm-biopulse {
|
|
140
|
+
0%, 100% {
|
|
141
|
+
opacity: 0.96;
|
|
142
|
+
box-shadow:
|
|
143
|
+
inset 0 0 26px hsl(var(--primary) / 0.04),
|
|
144
|
+
0 0 10px hsl(var(--primary) / 0.06);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
50% {
|
|
148
|
+
opacity: 1;
|
|
149
|
+
box-shadow:
|
|
150
|
+
inset 0 0 30px hsl(var(--primary) / 0.08),
|
|
151
|
+
0 0 18px hsl(var(--primary) / 0.14);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.cm-cell {
|
|
156
|
+
container-type: inline-size;
|
|
157
|
+
animation: cm-biopulse 2s ease-in-out infinite;
|
|
158
|
+
transition:
|
|
159
|
+
transform 180ms ease,
|
|
160
|
+
border-color 180ms ease,
|
|
161
|
+
box-shadow 180ms ease,
|
|
162
|
+
background-color 180ms ease,
|
|
163
|
+
color 180ms ease;
|
|
164
|
+
will-change: transform;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
.cm-cell:hover,
|
|
168
|
+
.cm-cell:focus-within,
|
|
169
|
+
.cm-cell[data-state="active"] {
|
|
170
|
+
transform: translateY(-1px);
|
|
171
|
+
border-color: hsl(var(--primary) / 0.78);
|
|
172
|
+
box-shadow:
|
|
173
|
+
inset 0 0 30px hsl(var(--primary) / 0.08),
|
|
174
|
+
0 0 18px hsl(var(--primary) / 0.34),
|
|
175
|
+
0 0 38px hsl(194 100% 42% / 0.16);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
.cm-cell[data-tone="purple"],
|
|
179
|
+
.cm-cell[data-tone="violet"] {
|
|
180
|
+
border-color: hsl(var(--accent) / 0.46);
|
|
181
|
+
box-shadow:
|
|
182
|
+
inset 0 0 26px hsl(var(--accent) / 0.1),
|
|
183
|
+
0 0 10px hsl(var(--accent) / 0.34);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.cm-kicker {
|
|
187
|
+
margin: 0;
|
|
188
|
+
color: var(--cm-cyan-hot);
|
|
189
|
+
font-family: var(--cm-font-mono);
|
|
190
|
+
font-size: clamp(0.62rem, 1vw, 0.82rem);
|
|
191
|
+
font-weight: 800;
|
|
192
|
+
letter-spacing: 0;
|
|
193
|
+
line-height: 1.2;
|
|
194
|
+
text-transform: uppercase;
|
|
195
|
+
text-shadow: var(--cm-glow-cyan);
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
.cm-display {
|
|
199
|
+
margin: 0;
|
|
200
|
+
color: var(--cm-text);
|
|
201
|
+
font-family: var(--cm-font-display);
|
|
202
|
+
font-weight: 950;
|
|
203
|
+
letter-spacing: 0;
|
|
204
|
+
line-height: 0.9;
|
|
205
|
+
text-transform: uppercase;
|
|
206
|
+
text-shadow:
|
|
207
|
+
0 0 12px hsl(0 0% 100% / 0.34),
|
|
208
|
+
0 0 26px hsl(var(--primary) / 0.3);
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
.cm-display em {
|
|
212
|
+
color: var(--cm-cyan-hot);
|
|
213
|
+
font-style: normal;
|
|
214
|
+
text-shadow:
|
|
215
|
+
0 0 12px hsl(var(--primary) / 0.82),
|
|
216
|
+
0 0 34px hsl(var(--primary) / 0.52),
|
|
217
|
+
0 0 52px hsl(var(--accent) / 0.24);
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
.cm-copy {
|
|
221
|
+
color: var(--cm-muted);
|
|
222
|
+
font-family: var(--cm-font-sans);
|
|
223
|
+
font-weight: 500;
|
|
224
|
+
line-height: 1.42;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
.cm-button {
|
|
228
|
+
display: inline-flex;
|
|
229
|
+
min-height: 2.625rem;
|
|
230
|
+
min-width: 0;
|
|
231
|
+
align-items: center;
|
|
232
|
+
justify-content: center;
|
|
233
|
+
gap: 0.5rem;
|
|
234
|
+
border: 1px solid hsl(var(--primary) / 0.42);
|
|
235
|
+
border-radius: 999px;
|
|
236
|
+
padding: 0.78rem 1.05rem;
|
|
237
|
+
color: hsl(var(--foreground));
|
|
238
|
+
font-family: var(--cm-font-mono);
|
|
239
|
+
font-size: clamp(0.64rem, 1.6cqw, 0.74rem);
|
|
240
|
+
font-weight: 900;
|
|
241
|
+
letter-spacing: 0;
|
|
242
|
+
line-height: 1.08;
|
|
243
|
+
text-align: center;
|
|
244
|
+
text-transform: uppercase;
|
|
245
|
+
transition:
|
|
246
|
+
transform 180ms ease,
|
|
247
|
+
border-color 180ms ease,
|
|
248
|
+
background 180ms ease,
|
|
249
|
+
box-shadow 180ms ease,
|
|
250
|
+
color 180ms ease;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
.cm-button:hover,
|
|
254
|
+
.cm-button:focus-visible {
|
|
255
|
+
transform: translateY(-1px);
|
|
256
|
+
outline: none;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
.cm-button-primary,
|
|
260
|
+
.primary {
|
|
261
|
+
border-color: hsl(var(--primary) / 0.9);
|
|
262
|
+
background: linear-gradient(135deg, #8aebff, #22d3ee);
|
|
263
|
+
color: #031314;
|
|
264
|
+
box-shadow: var(--cm-glow-cyan);
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
.cm-button-primary:hover,
|
|
268
|
+
.cm-button-primary:focus-visible,
|
|
269
|
+
.primary:hover,
|
|
270
|
+
.primary:focus-visible {
|
|
271
|
+
box-shadow:
|
|
272
|
+
0 0 18px hsl(var(--primary) / 0.44),
|
|
273
|
+
0 0 42px hsl(var(--primary) / 0.2);
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
.cm-button-secondary,
|
|
277
|
+
.secondary {
|
|
278
|
+
border-color: hsl(var(--primary) / 0.2);
|
|
279
|
+
background: hsl(221 50% 9% / 0.36);
|
|
280
|
+
color: var(--cm-cyan-hot);
|
|
281
|
+
box-shadow: inset 0 0 22px hsl(var(--primary) / 0.08);
|
|
282
|
+
backdrop-filter: blur(14px);
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
.cm-button-secondary:hover,
|
|
286
|
+
.cm-button-secondary:focus-visible,
|
|
287
|
+
.secondary:hover,
|
|
288
|
+
.secondary:focus-visible {
|
|
289
|
+
border-color: hsl(var(--primary) / 0.72);
|
|
290
|
+
background: hsl(var(--primary) / 0.1);
|
|
291
|
+
box-shadow: var(--cm-glow-cyan);
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
.cm-chip {
|
|
295
|
+
display: inline-flex;
|
|
296
|
+
align-items: center;
|
|
297
|
+
border: 1px solid hsl(var(--primary) / 0.18);
|
|
298
|
+
border-radius: 999px;
|
|
299
|
+
background: hsl(var(--background) / 0.42);
|
|
300
|
+
color: hsl(var(--foreground) / 0.72);
|
|
301
|
+
padding: 0.36rem 0.58rem;
|
|
302
|
+
font-family: var(--cm-font-mono);
|
|
303
|
+
font-size: 0.64rem;
|
|
304
|
+
font-weight: 800;
|
|
305
|
+
line-height: 1;
|
|
306
|
+
text-transform: uppercase;
|
|
307
|
+
backdrop-filter: blur(12px);
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
.cm-icon {
|
|
311
|
+
display: inline-grid;
|
|
312
|
+
width: 2.45rem;
|
|
313
|
+
height: 2.45rem;
|
|
314
|
+
place-items: center;
|
|
315
|
+
border: 1px solid hsl(var(--primary) / 0.28);
|
|
316
|
+
border-radius: var(--cm-radius);
|
|
317
|
+
background: hsl(var(--primary) / 0.08);
|
|
318
|
+
color: var(--cm-cyan-hot);
|
|
319
|
+
font-family: var(--cm-font-mono);
|
|
320
|
+
font-size: 0.8rem;
|
|
321
|
+
font-weight: 900;
|
|
322
|
+
box-shadow: inset 0 0 20px hsl(var(--primary) / 0.1);
|
|
74
323
|
}
|
|
75
324
|
|
|
76
325
|
/* Glitch Border Effect */
|
|
@@ -192,14 +441,28 @@ export const effectsCss = `/**
|
|
|
192
441
|
|
|
193
442
|
/* Partner Badge Scanline Animation */
|
|
194
443
|
@keyframes partner-scanline {
|
|
195
|
-
0% { transform:
|
|
196
|
-
100% { transform:
|
|
444
|
+
0% { transform: translate3d(0, -100px, 0); }
|
|
445
|
+
100% { transform: translate3d(0, calc(100vh + 100px), 0); }
|
|
197
446
|
}
|
|
198
447
|
|
|
199
448
|
/* Shimmer Animation */
|
|
200
449
|
@keyframes shimmer {
|
|
201
|
-
0% { transform:
|
|
202
|
-
100% { transform:
|
|
450
|
+
0% { transform: translate3d(-100%, 0, 0); }
|
|
451
|
+
100% { transform: translate3d(100%, 0, 0); }
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
@media (prefers-reduced-motion: reduce) {
|
|
455
|
+
.neon-glow,
|
|
456
|
+
.scanline,
|
|
457
|
+
.cm-cell {
|
|
458
|
+
animation-duration: 0.01ms !important;
|
|
459
|
+
animation-iteration-count: 1 !important;
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
.cm-cell,
|
|
463
|
+
.cm-button {
|
|
464
|
+
transition-duration: 0.01ms !important;
|
|
465
|
+
}
|
|
203
466
|
}
|
|
204
467
|
`;
|
|
205
468
|
//# sourceMappingURL=styles.js.map
|