@compose-market/theme 0.0.82 → 0.0.90

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.
Files changed (46) hide show
  1. package/dist/css/index.css +4 -0
  2. package/dist/css/index.d.ts +1 -1
  3. package/dist/css/index.d.ts.map +1 -1
  4. package/dist/css/index.js +4 -0
  5. package/dist/css/index.js.map +1 -1
  6. package/dist/css/market.css +273 -0
  7. package/dist/css/mirror.css +251 -0
  8. package/dist/css/utilities.css +81 -0
  9. package/dist/css/workflows.css +634 -0
  10. package/dist/index.d.ts +5 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +5 -1
  13. package/dist/index.js.map +1 -1
  14. package/dist/market/index.d.ts +8 -0
  15. package/dist/market/index.d.ts.map +1 -0
  16. package/dist/market/index.js +8 -0
  17. package/dist/market/index.js.map +1 -0
  18. package/dist/market/styles.d.ts +8 -0
  19. package/dist/market/styles.d.ts.map +1 -0
  20. package/dist/market/styles.js +281 -0
  21. package/dist/market/styles.js.map +1 -0
  22. package/dist/mirror/index.d.ts +8 -0
  23. package/dist/mirror/index.d.ts.map +1 -0
  24. package/dist/mirror/index.js +8 -0
  25. package/dist/mirror/index.js.map +1 -0
  26. package/dist/mirror/styles.d.ts +7 -0
  27. package/dist/mirror/styles.d.ts.map +1 -0
  28. package/dist/mirror/styles.js +258 -0
  29. package/dist/mirror/styles.js.map +1 -0
  30. package/dist/utilities/index.d.ts +8 -0
  31. package/dist/utilities/index.d.ts.map +1 -0
  32. package/dist/utilities/index.js +8 -0
  33. package/dist/utilities/index.js.map +1 -0
  34. package/dist/utilities/styles.d.ts +8 -0
  35. package/dist/utilities/styles.d.ts.map +1 -0
  36. package/dist/utilities/styles.js +89 -0
  37. package/dist/utilities/styles.js.map +1 -0
  38. package/dist/workflows/index.d.ts +65 -0
  39. package/dist/workflows/index.d.ts.map +1 -0
  40. package/dist/workflows/index.js +17 -0
  41. package/dist/workflows/index.js.map +1 -0
  42. package/dist/workflows/styles.d.ts +8 -0
  43. package/dist/workflows/styles.d.ts.map +1 -0
  44. package/dist/workflows/styles.js +642 -0
  45. package/dist/workflows/styles.js.map +1 -0
  46. package/package.json +41 -2
@@ -12,3 +12,7 @@
12
12
  @import './app.css';
13
13
  @import './agents.css';
14
14
  @import './session.css';
15
+ @import './workflows.css';
16
+ @import './market.css';
17
+ @import './mirror.css';
18
+ @import './utilities.css';
@@ -12,5 +12,5 @@ export declare function generateRadiusCss(): string;
12
12
  export declare const baseTokensCss: string;
13
13
  export declare const darkThemeCss: string;
14
14
  export declare const lightThemeCss: string;
15
- export declare const indexCss = "/**\n * Compose.Market Theme System\n * @compose-market/theme/css\n * \n * Import this file for the complete theme (dark by default).\n * For light mode support, also import ./light.css\n */\n\n@import './tokens.css';\n@import './dark.css';\n@import './shell.css';\n@import './effects.css';\n@import './app.css';\n@import './agents.css';\n@import './session.css';\n";
15
+ export declare const indexCss = "/**\n * Compose.Market Theme System\n * @compose-market/theme/css\n * \n * Import this file for the complete theme (dark by default).\n * For light mode support, also import ./light.css\n */\n\n@import './tokens.css';\n@import './dark.css';\n@import './shell.css';\n@import './effects.css';\n@import './app.css';\n@import './agents.css';\n@import './session.css';\n@import './workflows.css';\n@import './market.css';\n@import './mirror.css';\n@import './utilities.css';\n";
16
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/css/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAanF;AAED,wBAAgB,eAAe,IAAI,MAAM,CASxC;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAS1C;AAED,eAAO,MAAM,aAAa,QAazB,CAAC;AAEF,eAAO,MAAM,YAAY,QAaxB,CAAC;AAEF,eAAO,MAAM,aAAa,QAiBzB,CAAC;AAEF,eAAO,MAAM,QAAQ,kXAepB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/css/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAanF;AAED,wBAAgB,eAAe,IAAI,MAAM,CASxC;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAS1C;AAED,eAAO,MAAM,aAAa,QAazB,CAAC;AAEF,eAAO,MAAM,YAAY,QAaxB,CAAC;AAEF,eAAO,MAAM,aAAa,QAiBzB,CAAC;AAEF,eAAO,MAAM,QAAQ,4dAmBpB,CAAC"}
package/dist/css/index.js CHANGED
@@ -97,5 +97,9 @@ export const indexCss = `/**
97
97
  @import './app.css';
98
98
  @import './agents.css';
99
99
  @import './session.css';
100
+ @import './workflows.css';
101
+ @import './market.css';
102
+ @import './mirror.css';
103
+ @import './utilities.css';
100
104
  `;
101
105
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/css/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,UAAU,gBAAgB,CAAC,KAAuB,EAAE,SAAiB;IACzE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,4BAA4B,SAAS,KAAK,CAAC,CAAC;IACvD,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IACzD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,KAAK,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACvE,KAAK,CAAC,IAAI,CAAC,KAAK,UAAU,KAAK,KAAK,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;EAS3B,eAAe,EAAE;;EAEjB,iBAAiB,EAAE;;CAEpB,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;EAS1B,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC;;;;CAIpC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;EAS3B,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC;;;;;;EAMrC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;CAEtE,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;CAevB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/css/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,UAAU,gBAAgB,CAAC,KAAuB,EAAE,SAAiB;IACzE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,4BAA4B,SAAS,KAAK,CAAC,CAAC;IACvD,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IACzD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,KAAK,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACvE,KAAK,CAAC,IAAI,CAAC,KAAK,UAAU,KAAK,KAAK,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;EAS3B,eAAe,EAAE;;EAEjB,iBAAiB,EAAE;;CAEpB,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;EAS1B,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC;;;;CAIpC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;EAS3B,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC;;;;;;EAMrC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;CAEtE,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;CAmBvB,CAAC"}
@@ -0,0 +1,273 @@
1
+
2
+ /* ── Page Header ── */
3
+ .cm-page-header {
4
+ display: flex;
5
+ flex-direction: column;
6
+ gap: 4px;
7
+ border-bottom: 1px solid hsl(var(--sidebar-border));
8
+ padding-bottom: 16px;
9
+ }
10
+
11
+ @media (min-width: 640px) {
12
+ .cm-page-header {
13
+ gap: 8px;
14
+ padding-bottom: 24px;
15
+ }
16
+ }
17
+
18
+ .cm-page-header__title-row {
19
+ display: flex;
20
+ align-items: center;
21
+ gap: 16px;
22
+ }
23
+
24
+ .cm-page-header__title {
25
+ font-family: var(--font-display), sans-serif;
26
+ font-weight: 700;
27
+ color: hsl(var(--foreground));
28
+ font-size: 20px;
29
+ }
30
+
31
+ @media (min-width: 640px) {
32
+ .cm-page-header__title {
33
+ font-size: 24px;
34
+ }
35
+ }
36
+
37
+ .cm-page-header__rule {
38
+ height: 1px;
39
+ width: 128px;
40
+ background: linear-gradient(90deg, hsl(var(--accent)), transparent);
41
+ }
42
+
43
+ .cm-page-header__subtitle {
44
+ color: hsl(var(--muted-foreground));
45
+ font-family: var(--font-mono, monospace);
46
+ font-size: 12px;
47
+ }
48
+
49
+ @media (min-width: 640px) {
50
+ .cm-page-header__subtitle {
51
+ font-size: 14px;
52
+ }
53
+ }
54
+
55
+ /* ── Card Grid ── */
56
+ .cm-card-grid {
57
+ display: grid;
58
+ grid-template-columns: 1fr;
59
+ gap: 16px;
60
+ }
61
+
62
+ @media (min-width: 640px) {
63
+ .cm-card-grid {
64
+ grid-template-columns: repeat(2, 1fr);
65
+ gap: 24px;
66
+ }
67
+ }
68
+
69
+ @media (min-width: 1024px) {
70
+ .cm-card-grid {
71
+ grid-template-columns: repeat(3, 1fr);
72
+ }
73
+ }
74
+
75
+ .cm-card-grid--2col {
76
+ grid-template-columns: 1fr;
77
+ }
78
+
79
+ @media (min-width: 640px) {
80
+ .cm-card-grid--2col {
81
+ grid-template-columns: repeat(2, 1fr);
82
+ }
83
+ }
84
+
85
+ /* ── Stat Cell ── */
86
+ .cm-stat-cell {
87
+ padding: 6px;
88
+ background: hsl(var(--background));
89
+ border: 1px solid hsl(var(--sidebar-border) / 0.5);
90
+ border-radius: 4px;
91
+ }
92
+
93
+ @media (min-width: 640px) {
94
+ .cm-stat-cell {
95
+ padding: 8px;
96
+ }
97
+ }
98
+
99
+ .cm-stat-cell__label {
100
+ font-size: 8px;
101
+ color: hsl(var(--muted-foreground));
102
+ text-transform: uppercase;
103
+ }
104
+
105
+ @media (min-width: 640px) {
106
+ .cm-stat-cell__label {
107
+ font-size: 10px;
108
+ }
109
+ }
110
+
111
+ .cm-stat-cell__value-row {
112
+ display: flex;
113
+ align-items: center;
114
+ gap: 4px;
115
+ }
116
+
117
+ .cm-stat-cell__value {
118
+ font-family: var(--font-mono, monospace);
119
+ font-size: 12px;
120
+ white-space: nowrap;
121
+ overflow: hidden;
122
+ text-overflow: ellipsis;
123
+ }
124
+
125
+ @media (min-width: 640px) {
126
+ .cm-stat-cell__value {
127
+ font-size: 14px;
128
+ }
129
+ }
130
+
131
+ /* ── Filter Bar ── */
132
+ .cm-filter-bar {
133
+ display: flex;
134
+ flex-direction: column;
135
+ gap: 12px;
136
+ }
137
+
138
+ @media (min-width: 640px) {
139
+ .cm-filter-bar {
140
+ flex-direction: row;
141
+ align-items: center;
142
+ justify-content: space-between;
143
+ }
144
+ }
145
+
146
+ .cm-filter-bar__actions {
147
+ display: flex;
148
+ align-items: center;
149
+ gap: 8px;
150
+ }
151
+
152
+ @media (max-width: 639px) {
153
+ .cm-filter-bar__actions {
154
+ justify-content: space-between;
155
+ }
156
+ }
157
+
158
+ /* ── Empty State (inline variant) ── */
159
+ .cm-empty-state-inline {
160
+ text-align: center;
161
+ padding: 48px 16px;
162
+ }
163
+
164
+ @media (min-width: 640px) {
165
+ .cm-empty-state-inline {
166
+ padding: 80px 16px;
167
+ }
168
+ }
169
+
170
+ .cm-empty-state-inline__icon {
171
+ margin: 0 auto 16px;
172
+ color: hsl(var(--muted-foreground) / 0.3);
173
+ width: 40px;
174
+ height: 40px;
175
+ }
176
+
177
+ @media (min-width: 640px) {
178
+ .cm-empty-state-inline__icon {
179
+ width: 48px;
180
+ height: 48px;
181
+ }
182
+ }
183
+
184
+ .cm-empty-state-inline__text {
185
+ color: hsl(var(--muted-foreground));
186
+ font-size: 14px;
187
+ }
188
+
189
+ @media (min-width: 640px) {
190
+ .cm-empty-state-inline__text {
191
+ font-size: 16px;
192
+ }
193
+ }
194
+
195
+ .cm-empty-state-inline__hint {
196
+ color: hsl(var(--muted-foreground) / 0.6);
197
+ font-size: 10px;
198
+ margin-top: 8px;
199
+ padding: 0 16px;
200
+ }
201
+
202
+ @media (min-width: 640px) {
203
+ .cm-empty-state-inline__hint {
204
+ font-size: 12px;
205
+ }
206
+ }
207
+
208
+ /* ── Stat Grid (centered, icon-above) ── */
209
+ .cm-stat-grid {
210
+ display: grid;
211
+ gap: 6px;
212
+ font-family: var(--font-mono, monospace);
213
+ }
214
+
215
+ @media (min-width: 640px) {
216
+ .cm-stat-grid {
217
+ gap: 12px;
218
+ }
219
+ }
220
+
221
+ .cm-stat-grid--3col {
222
+ grid-template-columns: repeat(3, 1fr);
223
+ }
224
+
225
+ .cm-stat-grid--2col {
226
+ grid-template-columns: repeat(2, 1fr);
227
+ }
228
+
229
+ .cm-stat-grid__cell {
230
+ text-align: center;
231
+ padding: 6px;
232
+ border-radius: 2px;
233
+ background: hsl(var(--sidebar-accent));
234
+ }
235
+
236
+ @media (min-width: 640px) {
237
+ .cm-stat-grid__cell {
238
+ padding: 8px;
239
+ }
240
+ }
241
+
242
+ .cm-stat-grid__cell-icon {
243
+ margin: 0 auto 2px;
244
+ width: 12px;
245
+ height: 12px;
246
+ }
247
+
248
+ @media (min-width: 640px) {
249
+ .cm-stat-grid__cell-icon {
250
+ width: 14px;
251
+ height: 14px;
252
+ margin-bottom: 4px;
253
+ }
254
+ }
255
+
256
+ .cm-stat-grid__cell-value {
257
+ font-weight: 700;
258
+ color: hsl(var(--foreground));
259
+ white-space: nowrap;
260
+ overflow: hidden;
261
+ text-overflow: ellipsis;
262
+ }
263
+
264
+ .cm-stat-grid__cell-label {
265
+ font-size: 8px;
266
+ color: hsl(var(--muted-foreground));
267
+ }
268
+
269
+ @media (min-width: 640px) {
270
+ .cm-stat-grid__cell-label {
271
+ font-size: 10px;
272
+ }
273
+ }
@@ -0,0 +1,251 @@
1
+
2
+ /* ── Mirror Pane ── */
3
+ .cm-mirror-pane {
4
+ display: flex;
5
+ flex-direction: column;
6
+ border: 1px solid hsl(var(--primary) / 0.3);
7
+ border-radius: 8px;
8
+ background: hsl(var(--card));
9
+ overflow: hidden;
10
+ height: 100%;
11
+ }
12
+
13
+ /* Toolbar (icon tabs) */
14
+ .cm-mirror-pane__toolbar {
15
+ flex-shrink: 0;
16
+ display: flex;
17
+ align-items: center;
18
+ gap: 4px;
19
+ padding: 8px;
20
+ border-bottom: 1px solid hsl(var(--sidebar-border));
21
+ background: hsl(var(--background) / 0.3);
22
+ }
23
+
24
+ .cm-mirror-pane__toolbar-btn {
25
+ padding: 8px;
26
+ border-radius: 6px;
27
+ border: none;
28
+ background: transparent;
29
+ color: hsl(var(--muted-foreground));
30
+ cursor: pointer;
31
+ transition: color 0.15s ease, background 0.15s ease;
32
+ display: inline-flex;
33
+ align-items: center;
34
+ justify-content: center;
35
+ }
36
+
37
+ .cm-mirror-pane__toolbar-btn:hover {
38
+ color: hsl(var(--foreground));
39
+ background: hsl(var(--muted));
40
+ }
41
+
42
+ .cm-mirror-pane__toolbar-btn--active-cyan {
43
+ background: hsl(var(--primary) / 0.2);
44
+ color: hsl(var(--primary));
45
+ }
46
+
47
+ .cm-mirror-pane__toolbar-btn--active-fuchsia {
48
+ background: hsl(var(--accent) / 0.2);
49
+ color: hsl(var(--accent));
50
+ }
51
+
52
+ /* Body */
53
+ .cm-mirror-pane__body {
54
+ padding: 12px;
55
+ display: flex;
56
+ flex-direction: column;
57
+ gap: 16px;
58
+ flex: 1;
59
+ overflow-y: auto;
60
+ }
61
+
62
+ @media (min-width: 640px) {
63
+ .cm-mirror-pane__body {
64
+ padding: 16px;
65
+ }
66
+ }
67
+
68
+ @media (min-width: 768px) {
69
+ .cm-mirror-pane__body {
70
+ padding: 20px;
71
+ }
72
+ }
73
+
74
+ /* Model identity */
75
+ .cm-mirror-pane__model-header {
76
+ display: flex;
77
+ align-items: flex-start;
78
+ gap: 12px;
79
+ }
80
+
81
+ .cm-mirror-pane__model-icon-box {
82
+ padding: 8px;
83
+ background: hsl(var(--primary) / 0.1);
84
+ border: 1px solid hsl(var(--primary) / 0.3);
85
+ border-radius: 8px;
86
+ flex-shrink: 0;
87
+ }
88
+
89
+ .cm-mirror-pane__model-copy {
90
+ min-width: 0;
91
+ flex: 1;
92
+ }
93
+
94
+ .cm-mirror-pane__model-name {
95
+ font-weight: 600;
96
+ color: hsl(var(--foreground));
97
+ white-space: nowrap;
98
+ overflow: hidden;
99
+ text-overflow: ellipsis;
100
+ font-size: 14px;
101
+ }
102
+
103
+ @media (min-width: 768px) {
104
+ .cm-mirror-pane__model-name {
105
+ font-size: 16px;
106
+ }
107
+ }
108
+
109
+ .cm-mirror-pane__model-provider {
110
+ font-size: 12px;
111
+ color: hsl(var(--muted-foreground));
112
+ white-space: nowrap;
113
+ overflow: hidden;
114
+ text-overflow: ellipsis;
115
+ }
116
+
117
+ /* Section panel */
118
+ .cm-mirror-pane__section {
119
+ border-radius: 2px;
120
+ border: 1px solid hsl(var(--sidebar-border));
121
+ background: hsl(var(--background) / 0.3);
122
+ padding: 12px;
123
+ display: flex;
124
+ flex-direction: column;
125
+ gap: 12px;
126
+ }
127
+
128
+ .cm-mirror-pane__section-label {
129
+ font-size: 11px;
130
+ text-transform: uppercase;
131
+ letter-spacing: 0.06em;
132
+ color: hsl(var(--muted-foreground));
133
+ }
134
+
135
+ /* Key-value rows */
136
+ .cm-mirror-pane__kv-row {
137
+ display: flex;
138
+ align-items: center;
139
+ justify-content: space-between;
140
+ gap: 12px;
141
+ font-family: var(--font-mono, monospace);
142
+ }
143
+
144
+ .cm-mirror-pane__kv-label {
145
+ color: hsl(var(--muted-foreground));
146
+ }
147
+
148
+ .cm-mirror-pane__kv-value {
149
+ color: hsl(var(--foreground));
150
+ text-align: right;
151
+ }
152
+
153
+ /* Pricing sub-panel */
154
+ .cm-mirror-pane__pricing-block {
155
+ border-radius: 2px;
156
+ border: 1px solid hsl(var(--sidebar-border));
157
+ background: hsl(var(--background) / 0.4);
158
+ padding: 8px;
159
+ display: flex;
160
+ flex-direction: column;
161
+ gap: 6px;
162
+ }
163
+
164
+ .cm-mirror-pane__pricing-header {
165
+ display: flex;
166
+ align-items: center;
167
+ justify-content: space-between;
168
+ gap: 12px;
169
+ }
170
+
171
+ .cm-mirror-pane__pricing-name {
172
+ font-family: var(--font-mono, monospace);
173
+ color: hsl(var(--primary));
174
+ }
175
+
176
+ /* Description block */
177
+ .cm-mirror-pane__description {
178
+ border-radius: 2px;
179
+ border: 1px solid hsl(var(--sidebar-border));
180
+ background: hsl(var(--background) / 0.3);
181
+ padding: 12px;
182
+ color: hsl(var(--muted-foreground));
183
+ line-height: 1.6;
184
+ }
185
+
186
+ /* Settings: tool group */
187
+ .cm-mirror-pane__tool-group {
188
+ border-radius: 2px;
189
+ border: 1px solid hsl(var(--primary) / 0.2);
190
+ background: hsl(var(--primary) / 0.05);
191
+ padding: 12px;
192
+ display: flex;
193
+ flex-direction: column;
194
+ gap: 12px;
195
+ }
196
+
197
+ .cm-mirror-pane__tool-group--fuchsia {
198
+ border-color: hsl(var(--accent) / 0.2);
199
+ background: hsl(var(--accent) / 0.05);
200
+ }
201
+
202
+ .cm-mirror-pane__tool-group-label {
203
+ font-size: 12px;
204
+ font-family: var(--font-mono, monospace);
205
+ }
206
+
207
+ .cm-mirror-pane__tool-toggle {
208
+ display: flex;
209
+ align-items: center;
210
+ justify-content: space-between;
211
+ }
212
+
213
+ .cm-mirror-pane__tool-toggle-label {
214
+ display: flex;
215
+ align-items: center;
216
+ gap: 8px;
217
+ font-size: 14px;
218
+ }
219
+
220
+ /* Empty state */
221
+ .cm-mirror-pane__empty {
222
+ padding: 16px 20px;
223
+ display: flex;
224
+ flex-direction: column;
225
+ align-items: center;
226
+ justify-content: center;
227
+ flex: 1;
228
+ text-align: center;
229
+ }
230
+
231
+ .cm-mirror-pane__empty-icon {
232
+ width: 40px;
233
+ height: 40px;
234
+ color: hsl(var(--muted-foreground) / 0.4);
235
+ margin-bottom: 12px;
236
+ }
237
+
238
+ .cm-mirror-pane__empty-text {
239
+ font-size: 14px;
240
+ color: hsl(var(--muted-foreground) / 0.7);
241
+ }
242
+
243
+ /* No-params state */
244
+ .cm-mirror-pane__no-params {
245
+ border-radius: 2px;
246
+ border: 1px solid hsl(var(--sidebar-border));
247
+ background: hsl(var(--background) / 0.3);
248
+ padding: 16px;
249
+ font-size: 14px;
250
+ color: hsl(var(--muted-foreground));
251
+ }
@@ -0,0 +1,81 @@
1
+
2
+ /* ── Marquee ── */
3
+ @keyframes cm-marquee-scroll {
4
+ 0% { transform: translateX(0); }
5
+ 100% { transform: translateX(-50%); }
6
+ }
7
+
8
+ @keyframes cm-marquee-scroll-reverse {
9
+ 0% { transform: translateX(-50%); }
10
+ 100% { transform: translateX(0); }
11
+ }
12
+
13
+ .cm-marquee-track {
14
+ animation: cm-marquee-scroll linear infinite;
15
+ will-change: transform;
16
+ }
17
+
18
+ .cm-marquee-track-reverse {
19
+ animation: cm-marquee-scroll-reverse linear infinite;
20
+ will-change: transform;
21
+ }
22
+
23
+ /* ── Safe Area ── */
24
+ .cm-safe-area-top { padding-top: env(safe-area-inset-top); }
25
+ .cm-safe-area-bottom { padding-bottom: env(safe-area-inset-bottom); }
26
+ .cm-safe-area-left { padding-left: env(safe-area-inset-left); }
27
+ .cm-safe-area-right { padding-right: env(safe-area-inset-right); }
28
+
29
+ .cm-safe-area-x {
30
+ padding-left: env(safe-area-inset-left);
31
+ padding-right: env(safe-area-inset-right);
32
+ }
33
+
34
+ .cm-safe-area-y {
35
+ padding-top: env(safe-area-inset-top);
36
+ padding-bottom: env(safe-area-inset-bottom);
37
+ }
38
+
39
+ /* ── Touch ── */
40
+ .cm-touch-manipulation {
41
+ touch-action: manipulation;
42
+ }
43
+
44
+ .cm-no-select {
45
+ -webkit-user-select: none;
46
+ user-select: none;
47
+ }
48
+
49
+ /* ── Scrollbar Hide ── */
50
+ .cm-scrollbar-hide {
51
+ -ms-overflow-style: none;
52
+ scrollbar-width: none;
53
+ }
54
+
55
+ .cm-scrollbar-hide::-webkit-scrollbar {
56
+ display: none;
57
+ }
58
+
59
+ /* ── Text Truncation ── */
60
+ .cm-text-truncate {
61
+ white-space: nowrap;
62
+ overflow: hidden;
63
+ text-overflow: ellipsis;
64
+ max-width: 100%;
65
+ }
66
+
67
+ /* ── Touch Targets (mobile ≤ 768px) ── */
68
+ @media (max-width: 768px) {
69
+ .cm-touch-target {
70
+ min-height: 44px;
71
+ min-width: 44px;
72
+ }
73
+ }
74
+
75
+ /* ── Mobile Scrollbar (thinner for ≤ 768px) ── */
76
+ @media (max-width: 768px) {
77
+ .cm-thin-scrollbar::-webkit-scrollbar {
78
+ width: 4px;
79
+ height: 4px;
80
+ }
81
+ }