@compose-market/theme 0.0.91 → 0.0.92

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.
@@ -14,6 +14,12 @@ export const shellCss = `/**
14
14
  --cm-shell-shadow:
15
15
  0 0 40px hsl(var(--primary) / 0.055),
16
16
  inset 0 1px 0 hsl(0 0% 100% / 0.06);
17
+ --cm-chrome-gutter: clamp(0.7rem, 1.4vw, 1.15rem);
18
+ --cm-chrome-sidebar: 16rem;
19
+ --cm-chrome-sidebar-collapsed: 4.7rem;
20
+ --cm-chrome-topbar: 4rem;
21
+ --cm-chrome-mobile: 3.55rem;
22
+ --cm-page-max: 88rem;
17
23
  }
18
24
 
19
25
  .cm-shell-stack {
@@ -167,6 +173,390 @@ export const shellCss = `/**
167
173
  backdrop-filter: blur(16px) saturate(1.12);
168
174
  }
169
175
 
176
+ .cm-shell-page {
177
+ container-type: inline-size;
178
+ width: min(var(--cm-page-max), 100%);
179
+ min-width: 0;
180
+ margin-inline: auto;
181
+ display: grid;
182
+ gap: clamp(1rem, 2.2cqi, 1.55rem);
183
+ }
184
+
185
+ .cm-shell-page--full {
186
+ --cm-page-max: none;
187
+ }
188
+
189
+ .cm-shell-page-body {
190
+ display: grid;
191
+ gap: clamp(0.9rem, 2cqi, 1.35rem);
192
+ min-width: 0;
193
+ }
194
+
195
+ .cm-app-chrome {
196
+ --cm-chrome-active-sidebar: var(--cm-chrome-sidebar);
197
+ position: relative;
198
+ min-height: 100dvh;
199
+ }
200
+
201
+ .cm-app-chrome[data-sidebar="collapsed"] {
202
+ --cm-chrome-active-sidebar: var(--cm-chrome-sidebar-collapsed);
203
+ }
204
+
205
+ .cm-app-chrome__sidebar,
206
+ .cm-app-chrome__topbar,
207
+ .cm-app-chrome__mobilebar,
208
+ .cm-app-chrome__drawer {
209
+ border: 1px solid hsl(var(--primary) / 0.18);
210
+ background:
211
+ linear-gradient(145deg, hsl(226 21% 23% / 0.46), hsl(221 50% 9% / 0.36)),
212
+ radial-gradient(circle at 20% 0%, hsl(var(--primary) / 0.11), transparent 35%),
213
+ radial-gradient(circle at 100% 100%, hsl(var(--accent) / 0.1), transparent 42%);
214
+ box-shadow:
215
+ inset 0 1px 0 hsl(0 0% 100% / 0.07),
216
+ inset 0 -1px 0 hsl(var(--primary) / 0.07),
217
+ 0 0 36px hsl(var(--primary) / 0.07);
218
+ backdrop-filter: blur(18px) saturate(1.14);
219
+ }
220
+
221
+ .cm-app-chrome__sidebar {
222
+ position: fixed;
223
+ inset-block: var(--cm-chrome-gutter);
224
+ left: var(--cm-chrome-gutter);
225
+ z-index: 50;
226
+ width: var(--cm-chrome-active-sidebar);
227
+ border-radius: 16px;
228
+ display: flex;
229
+ min-height: 0;
230
+ flex-direction: column;
231
+ overflow: hidden;
232
+ transition:
233
+ width 240ms ease,
234
+ border-color 180ms ease,
235
+ box-shadow 180ms ease;
236
+ }
237
+
238
+ .cm-app-chrome__topbar {
239
+ position: fixed;
240
+ top: var(--cm-chrome-gutter);
241
+ right: var(--cm-chrome-gutter);
242
+ left: calc(var(--cm-chrome-active-sidebar) + var(--cm-chrome-gutter) * 2);
243
+ z-index: 40;
244
+ min-height: var(--cm-chrome-topbar);
245
+ border-radius: 16px;
246
+ display: flex;
247
+ align-items: center;
248
+ justify-content: space-between;
249
+ gap: clamp(0.65rem, 1.4vw, 1rem);
250
+ padding: 0.6rem clamp(0.8rem, 1.8vw, 1.15rem);
251
+ transition:
252
+ left 240ms ease,
253
+ border-color 180ms ease,
254
+ box-shadow 180ms ease;
255
+ }
256
+
257
+ .cm-app-chrome__mobilebar {
258
+ position: fixed;
259
+ top: calc(var(--cm-chrome-gutter) + env(safe-area-inset-top));
260
+ inset-inline: var(--cm-chrome-gutter);
261
+ z-index: 45;
262
+ min-height: var(--cm-chrome-mobile);
263
+ border-radius: 999px;
264
+ display: none;
265
+ align-items: center;
266
+ justify-content: space-between;
267
+ gap: 0.65rem;
268
+ padding: 0.4rem 0.55rem;
269
+ }
270
+
271
+ .cm-app-chrome__main {
272
+ min-width: 0;
273
+ min-height: 100dvh;
274
+ padding:
275
+ calc(var(--cm-chrome-topbar) + var(--cm-chrome-gutter) * 2)
276
+ var(--cm-chrome-gutter)
277
+ var(--cm-chrome-gutter)
278
+ calc(var(--cm-chrome-active-sidebar) + var(--cm-chrome-gutter) * 2);
279
+ transition: padding-left 240ms ease;
280
+ }
281
+
282
+ .cm-app-chrome__brand {
283
+ display: flex;
284
+ align-items: center;
285
+ gap: 0.7rem;
286
+ min-width: 0;
287
+ padding: 1rem;
288
+ }
289
+
290
+ .cm-app-chrome__brand-mark {
291
+ display: grid;
292
+ width: 2.45rem;
293
+ height: 2.45rem;
294
+ place-items: center;
295
+ flex: 0 0 auto;
296
+ color: hsl(var(--primary));
297
+ filter: drop-shadow(0 0 14px hsl(var(--primary) / 0.42));
298
+ }
299
+
300
+ .cm-app-chrome__brand-copy {
301
+ min-width: 0;
302
+ transition:
303
+ opacity 180ms ease,
304
+ transform 180ms ease;
305
+ }
306
+
307
+ .cm-app-chrome[data-sidebar="collapsed"] .cm-app-chrome__brand-copy,
308
+ .cm-app-chrome[data-sidebar="collapsed"] .cm-app-nav__section-label,
309
+ .cm-app-chrome[data-sidebar="collapsed"] .cm-app-nav__label,
310
+ .cm-app-chrome[data-sidebar="collapsed"] .cm-app-chrome__sidebar-footer {
311
+ opacity: 0;
312
+ pointer-events: none;
313
+ }
314
+
315
+ .cm-app-chrome[data-sidebar="collapsed"] .cm-app-chrome__brand {
316
+ justify-content: center;
317
+ padding-inline: 0.65rem;
318
+ }
319
+
320
+ .cm-app-chrome__brand-title {
321
+ color: hsl(var(--foreground));
322
+ font-family: var(--font-display), sans-serif;
323
+ font-size: 0.92rem;
324
+ font-weight: 900;
325
+ letter-spacing: 0;
326
+ line-height: 0.9;
327
+ text-transform: uppercase;
328
+ }
329
+
330
+ .cm-app-chrome__brand-title span {
331
+ color: hsl(var(--primary));
332
+ }
333
+
334
+ .cm-app-chrome__brand-subtitle {
335
+ margin-top: 0.25rem;
336
+ color: hsl(var(--accent));
337
+ font-family: var(--font-mono), monospace;
338
+ font-size: 0.55rem;
339
+ letter-spacing: 0.14em;
340
+ text-transform: uppercase;
341
+ }
342
+
343
+ .cm-app-chrome__collapse {
344
+ position: absolute;
345
+ right: -0.7rem;
346
+ top: 1.2rem;
347
+ z-index: 2;
348
+ }
349
+
350
+ .cm-app-nav {
351
+ display: flex;
352
+ flex: 1;
353
+ min-height: 0;
354
+ flex-direction: column;
355
+ gap: 1rem;
356
+ overflow: hidden auto;
357
+ padding: 0.4rem 0.55rem 1rem;
358
+ }
359
+
360
+ .cm-app-nav__group {
361
+ display: grid;
362
+ gap: 0.32rem;
363
+ min-width: 0;
364
+ }
365
+
366
+ .cm-app-nav__section-label {
367
+ padding: 0 0.55rem;
368
+ color: hsl(var(--muted-foreground) / 0.78);
369
+ font-family: var(--font-mono), monospace;
370
+ font-size: 0.65rem;
371
+ font-weight: 700;
372
+ letter-spacing: 0.14em;
373
+ text-transform: uppercase;
374
+ transition: opacity 180ms ease;
375
+ }
376
+
377
+ .cm-app-nav__item {
378
+ position: relative;
379
+ display: flex;
380
+ align-items: center;
381
+ gap: 0.72rem;
382
+ min-width: 0;
383
+ min-height: 2.65rem;
384
+ border: 1px solid transparent;
385
+ border-radius: 999px;
386
+ padding: 0 0.78rem;
387
+ color: hsl(var(--muted-foreground));
388
+ font-family: var(--font-mono), monospace;
389
+ font-size: 0.72rem;
390
+ font-weight: 700;
391
+ letter-spacing: 0.07em;
392
+ text-decoration: none;
393
+ text-transform: uppercase;
394
+ transition:
395
+ transform 160ms ease,
396
+ border-color 180ms ease,
397
+ background-color 180ms ease,
398
+ color 180ms ease,
399
+ box-shadow 180ms ease;
400
+ }
401
+
402
+ .cm-app-nav__item::before {
403
+ content: "";
404
+ position: absolute;
405
+ left: 0.42rem;
406
+ width: 0.16rem;
407
+ height: 42%;
408
+ border-radius: 999px;
409
+ background: hsl(var(--primary));
410
+ box-shadow: 0 0 14px hsl(var(--primary) / 0.56);
411
+ opacity: 0;
412
+ transform: scaleY(0.55);
413
+ transition:
414
+ opacity 180ms ease,
415
+ transform 180ms ease;
416
+ }
417
+
418
+ .cm-app-nav__item:hover,
419
+ .cm-app-nav__item:focus-visible,
420
+ .cm-app-nav__item[data-active="true"] {
421
+ color: hsl(var(--foreground));
422
+ border-color: hsl(var(--primary) / 0.24);
423
+ background: hsl(var(--primary) / 0.08);
424
+ box-shadow: inset 0 0 22px hsl(var(--primary) / 0.045);
425
+ outline: none;
426
+ }
427
+
428
+ .cm-app-nav__item[data-active="true"] {
429
+ color: hsl(var(--primary));
430
+ border-color: hsl(var(--primary) / 0.36);
431
+ box-shadow:
432
+ inset 0 0 26px hsl(var(--primary) / 0.08),
433
+ 0 0 18px hsl(var(--primary) / 0.12);
434
+ }
435
+
436
+ .cm-app-nav__item[data-active="true"]::before {
437
+ opacity: 1;
438
+ transform: scaleY(1);
439
+ }
440
+
441
+ .cm-app-nav__icon {
442
+ display: inline-flex;
443
+ width: 1.05rem;
444
+ height: 1.05rem;
445
+ flex: 0 0 auto;
446
+ align-items: center;
447
+ justify-content: center;
448
+ }
449
+
450
+ .cm-app-nav__label {
451
+ min-width: 0;
452
+ overflow: hidden;
453
+ text-overflow: ellipsis;
454
+ white-space: nowrap;
455
+ transition: opacity 180ms ease;
456
+ }
457
+
458
+ .cm-app-chrome[data-sidebar="collapsed"] .cm-app-nav__item {
459
+ justify-content: center;
460
+ padding-inline: 0;
461
+ }
462
+
463
+ .cm-app-chrome[data-sidebar="collapsed"] .cm-app-nav__item::before {
464
+ left: 0.26rem;
465
+ }
466
+
467
+ .cm-app-chrome__sidebar-footer {
468
+ display: grid;
469
+ gap: 0.45rem;
470
+ padding: 0.85rem;
471
+ transition: opacity 180ms ease;
472
+ }
473
+
474
+ .cm-app-chrome__toolbar-left,
475
+ .cm-app-chrome__toolbar-right,
476
+ .cm-app-chrome__mobile-left,
477
+ .cm-app-chrome__mobile-right {
478
+ display: flex;
479
+ align-items: center;
480
+ gap: 0.55rem;
481
+ min-width: 0;
482
+ }
483
+
484
+ .cm-app-chrome__toolbar-left {
485
+ flex: 1;
486
+ }
487
+
488
+ .cm-app-chrome__toolbar-right,
489
+ .cm-app-chrome__mobile-right {
490
+ flex: 0 0 auto;
491
+ }
492
+
493
+ .cm-search {
494
+ display: flex;
495
+ width: min(100%, 28rem);
496
+ min-width: 0;
497
+ align-items: center;
498
+ gap: 0.6rem;
499
+ min-height: 2.55rem;
500
+ border: 1px solid hsl(var(--primary) / 0.16);
501
+ border-radius: 999px;
502
+ background: hsl(221 50% 9% / 0.38);
503
+ padding: 0 0.85rem;
504
+ color: hsl(var(--muted-foreground));
505
+ box-shadow: inset 0 0 20px hsl(var(--primary) / 0.04);
506
+ }
507
+
508
+ .cm-search input,
509
+ .cm-search__input {
510
+ min-width: 0;
511
+ flex: 1;
512
+ border: 0;
513
+ outline: none;
514
+ background: transparent;
515
+ color: hsl(var(--foreground));
516
+ font-family: var(--font-mono), monospace;
517
+ font-size: 0.82rem;
518
+ }
519
+
520
+ .cm-search input::placeholder,
521
+ .cm-search__input::placeholder {
522
+ color: hsl(var(--muted-foreground) / 0.72);
523
+ }
524
+
525
+ .cm-app-chrome__scrim {
526
+ position: fixed;
527
+ inset: 0;
528
+ z-index: 70;
529
+ background: hsl(240 30% 2% / 0.62);
530
+ backdrop-filter: blur(10px);
531
+ opacity: 0;
532
+ pointer-events: none;
533
+ transition: opacity 220ms ease;
534
+ }
535
+
536
+ .cm-app-chrome__scrim[data-open="true"] {
537
+ opacity: 1;
538
+ pointer-events: auto;
539
+ }
540
+
541
+ .cm-app-chrome__drawer {
542
+ position: fixed;
543
+ inset-block: var(--cm-chrome-gutter);
544
+ left: var(--cm-chrome-gutter);
545
+ z-index: 80;
546
+ width: min(20rem, calc(100vw - var(--cm-chrome-gutter) * 2));
547
+ border-radius: 18px;
548
+ display: none;
549
+ min-height: 0;
550
+ flex-direction: column;
551
+ overflow: hidden;
552
+ transform: translate3d(calc(-100% - var(--cm-chrome-gutter)), 0, 0);
553
+ transition: transform 240ms ease;
554
+ }
555
+
556
+ .cm-app-chrome__drawer[data-open="true"] {
557
+ transform: translate3d(0, 0, 0);
558
+ }
559
+
170
560
  .cm-shell-panel--muted {
171
561
  background:
172
562
  linear-gradient(145deg, hsl(224 36% 13% / 0.36), hsl(221 50% 9% / 0.72)),
@@ -290,7 +680,8 @@ export const shellCss = `/**
290
680
  border-color: hsl(var(--primary) / 0.18);
291
681
  }
292
682
 
293
- .cm-shell-tab[data-active="true"] {
683
+ .cm-shell-tab[data-active="true"],
684
+ .cm-shell-tab[data-state="active"] {
294
685
  background:
295
686
  linear-gradient(180deg, hsl(var(--primary) / 0.18), hsl(var(--primary) / 0.1));
296
687
  border-color: hsl(var(--primary) / 0.36);
@@ -436,7 +827,7 @@ export const shellCss = `/**
436
827
  padding: 1rem;
437
828
  }
438
829
 
439
- @media (max-width: 720px) {
830
+ @media (max-width: 820px) {
440
831
  .cm-shell-page-header,
441
832
  .cm-shell-banner {
442
833
  flex-direction: column;
@@ -451,6 +842,31 @@ export const shellCss = `/**
451
842
  width: 100%;
452
843
  overflow-x: auto;
453
844
  }
845
+
846
+ .cm-app-chrome {
847
+ --cm-chrome-active-sidebar: 0rem;
848
+ }
849
+
850
+ .cm-app-chrome__sidebar,
851
+ .cm-app-chrome__topbar {
852
+ display: none;
853
+ }
854
+
855
+ .cm-app-chrome__mobilebar,
856
+ .cm-app-chrome__drawer {
857
+ display: flex;
858
+ }
859
+
860
+ .cm-app-chrome__main {
861
+ padding:
862
+ calc(var(--cm-chrome-mobile) + var(--cm-chrome-gutter) * 2 + env(safe-area-inset-top))
863
+ var(--cm-chrome-gutter)
864
+ calc(var(--cm-chrome-gutter) + env(safe-area-inset-bottom));
865
+ }
866
+
867
+ .cm-app-nav__item {
868
+ min-height: 2.85rem;
869
+ }
454
870
  }
455
871
 
456
872
  /* ── Form Controls ── */
@@ -821,5 +1237,659 @@ export const shellCss = `/**
821
1237
  border-radius: 8px;
822
1238
  color: hsl(var(--destructive));
823
1239
  }
1240
+
1241
+ /* ── Playground / Chat Primitives ── */
1242
+ .cm-playground {
1243
+ container-type: inline-size;
1244
+ display: flex;
1245
+ flex-direction: column;
1246
+ min-width: 0;
1247
+ height: calc(100dvh - var(--cm-chrome-topbar) - var(--cm-chrome-gutter) * 3);
1248
+ min-height: 34rem;
1249
+ overflow: hidden;
1250
+ border-radius: 16px;
1251
+ }
1252
+
1253
+ .cm-playground__toolbar,
1254
+ .cm-playground__chat-toolbar,
1255
+ .cm-playground__caps-row {
1256
+ display: flex;
1257
+ align-items: center;
1258
+ min-width: 0;
1259
+ gap: clamp(0.4rem, 1.4cqi, 0.8rem);
1260
+ }
1261
+
1262
+ .cm-playground__toolbar {
1263
+ flex: 0 0 auto;
1264
+ justify-content: space-between;
1265
+ padding: clamp(0.5rem, 1.6cqi, 0.8rem);
1266
+ border: 1px solid hsl(var(--primary) / 0.14);
1267
+ border-radius: 16px;
1268
+ background:
1269
+ linear-gradient(145deg, hsl(226 21% 23% / 0.38), hsl(221 50% 9% / 0.32)),
1270
+ radial-gradient(circle at 0% 0%, hsl(var(--primary) / 0.1), transparent 36%);
1271
+ box-shadow: inset 0 1px 0 hsl(0 0% 100% / 0.055);
1272
+ backdrop-filter: blur(16px) saturate(1.12);
1273
+ }
1274
+
1275
+ .cm-playground__title {
1276
+ display: inline-flex;
1277
+ align-items: center;
1278
+ gap: 0.42rem;
1279
+ min-width: 0;
1280
+ color: hsl(var(--foreground));
1281
+ font-family: var(--font-mono), monospace;
1282
+ font-size: clamp(0.68rem, 1.8cqi, 0.86rem);
1283
+ font-weight: 800;
1284
+ letter-spacing: 0.08em;
1285
+ text-transform: uppercase;
1286
+ }
1287
+
1288
+ .cm-playground__title-icon {
1289
+ width: 1rem;
1290
+ height: 1rem;
1291
+ color: hsl(var(--primary));
1292
+ filter: drop-shadow(0 0 10px hsl(var(--primary) / 0.44));
1293
+ }
1294
+
1295
+ .cm-playground__toolbar-right {
1296
+ display: flex;
1297
+ align-items: center;
1298
+ justify-content: flex-end;
1299
+ gap: 0.45rem;
1300
+ min-width: 0;
1301
+ flex-wrap: wrap;
1302
+ }
1303
+
1304
+ .cm-playground__grid {
1305
+ flex: 1;
1306
+ min-height: 0;
1307
+ display: grid;
1308
+ grid-template-columns: minmax(0, 1fr);
1309
+ gap: clamp(0.75rem, 1.8cqi, 1rem);
1310
+ padding-top: clamp(0.75rem, 1.8cqi, 1rem);
1311
+ }
1312
+
1313
+ @container (min-width: 62rem) {
1314
+ .cm-playground__grid {
1315
+ grid-template-columns: minmax(0, 2fr) minmax(19rem, 0.82fr);
1316
+ }
1317
+
1318
+ .cm-playground__grid--collapsed {
1319
+ grid-template-columns: minmax(0, 1fr);
1320
+ }
1321
+ }
1322
+
1323
+ .cm-playground__chat-cell,
1324
+ .cm-playground__pane-cell {
1325
+ min-width: 0;
1326
+ min-height: 0;
1327
+ display: flex;
1328
+ flex-direction: column;
1329
+ position: relative;
1330
+ }
1331
+
1332
+ .cm-playground__chat-cell {
1333
+ overflow: hidden;
1334
+ border: 1px solid hsl(var(--primary) / 0.16);
1335
+ border-radius: 16px;
1336
+ background:
1337
+ linear-gradient(145deg, hsl(226 21% 23% / 0.34), hsl(221 50% 9% / 0.26)),
1338
+ hsl(224 36% 13% / 0.18);
1339
+ box-shadow: inset 0 1px 0 hsl(0 0% 100% / 0.045);
1340
+ backdrop-filter: blur(16px) saturate(1.1);
1341
+ }
1342
+
1343
+ .cm-playground__pane-cell {
1344
+ display: none;
1345
+ }
1346
+
1347
+ @container (min-width: 62rem) {
1348
+ .cm-playground__pane-cell {
1349
+ display: flex;
1350
+ }
1351
+ }
1352
+
1353
+ .cm-playground__chat-toolbar {
1354
+ flex: 0 0 auto;
1355
+ padding: clamp(0.55rem, 1.5cqi, 0.85rem);
1356
+ border-bottom: 1px solid hsl(var(--primary) / 0.1);
1357
+ background: hsl(221 50% 9% / 0.24);
1358
+ flex-wrap: wrap;
1359
+ }
1360
+
1361
+ .cm-playground__filter-wrap {
1362
+ display: flex;
1363
+ align-items: center;
1364
+ gap: 0.45rem;
1365
+ min-width: min(100%, 13rem);
1366
+ flex: 1 1 13rem;
1367
+ flex-wrap: wrap;
1368
+ }
1369
+
1370
+ .cm-playground__filter-select {
1371
+ min-width: 0;
1372
+ flex: 1 1 8rem;
1373
+ min-height: 2.15rem;
1374
+ border: 1px solid hsl(var(--primary) / 0.16);
1375
+ border-radius: 999px;
1376
+ background: hsl(221 50% 9% / 0.46);
1377
+ color: hsl(var(--foreground));
1378
+ font-family: var(--font-mono), monospace;
1379
+ font-size: 0.72rem;
1380
+ padding: 0 0.75rem;
1381
+ }
1382
+
1383
+ .cm-playground__filter-select:hover,
1384
+ .cm-playground__filter-select:focus,
1385
+ .cm-playground__filter-select--active {
1386
+ outline: none;
1387
+ border-color: hsl(var(--primary) / 0.42);
1388
+ box-shadow: 0 0 16px hsl(var(--primary) / 0.08);
1389
+ }
1390
+
1391
+ .cm-playground__model-count,
1392
+ .cm-playground__caps-label {
1393
+ color: hsl(var(--muted-foreground));
1394
+ font-family: var(--font-mono), monospace;
1395
+ font-size: 0.68rem;
1396
+ letter-spacing: 0.1em;
1397
+ text-transform: uppercase;
1398
+ white-space: nowrap;
1399
+ }
1400
+
1401
+ .cm-playground__caps-row {
1402
+ flex: 0 0 auto;
1403
+ padding: 0.45rem clamp(0.55rem, 1.5cqi, 0.85rem);
1404
+ border-bottom: 1px solid hsl(var(--primary) / 0.08);
1405
+ overflow: auto hidden;
1406
+ }
1407
+
1408
+ .cm-playground__cap-tag,
1409
+ .cm-playground__chip,
1410
+ .cm-playground__badge,
1411
+ .cm-model-badge,
1412
+ .cm-tool-chip,
1413
+ .cm-receipt-chip {
1414
+ display: inline-flex;
1415
+ align-items: center;
1416
+ gap: 0.35rem;
1417
+ border: 1px solid hsl(var(--primary) / 0.18);
1418
+ border-radius: 999px;
1419
+ background: hsl(221 50% 9% / 0.38);
1420
+ color: hsl(var(--foreground) / 0.78);
1421
+ font-family: var(--font-mono), monospace;
1422
+ font-size: 0.68rem;
1423
+ font-weight: 700;
1424
+ line-height: 1;
1425
+ text-transform: uppercase;
1426
+ transition:
1427
+ transform 160ms ease,
1428
+ border-color 180ms ease,
1429
+ box-shadow 180ms ease,
1430
+ color 180ms ease,
1431
+ background-color 180ms ease;
1432
+ }
1433
+
1434
+ .cm-playground__cap-tag {
1435
+ min-height: 1.55rem;
1436
+ padding: 0 0.58rem;
1437
+ }
1438
+
1439
+ .cm-playground__badge,
1440
+ .cm-model-badge {
1441
+ min-width: 0;
1442
+ max-width: min(100%, 24rem);
1443
+ min-height: 2.2rem;
1444
+ padding: 0 0.72rem;
1445
+ cursor: pointer;
1446
+ }
1447
+
1448
+ .cm-playground__badge:hover,
1449
+ .cm-playground__badge:focus-visible,
1450
+ .cm-model-badge:hover,
1451
+ .cm-model-badge:focus-visible,
1452
+ .cm-playground__chip:hover,
1453
+ .cm-playground__chip:focus-visible,
1454
+ .cm-playground__chip--active {
1455
+ transform: translateY(-1px);
1456
+ outline: none;
1457
+ border-color: hsl(var(--primary) / 0.44);
1458
+ background: hsl(var(--primary) / 0.09);
1459
+ color: hsl(var(--foreground));
1460
+ box-shadow: 0 0 18px hsl(var(--primary) / 0.12);
1461
+ }
1462
+
1463
+ .cm-model-badge[data-placeholder="true"] {
1464
+ color: hsl(var(--muted-foreground));
1465
+ font-weight: 500;
1466
+ }
1467
+
1468
+ .cm-playground__badge-dot,
1469
+ .cm-model-badge__dot {
1470
+ width: 0.48rem;
1471
+ height: 0.48rem;
1472
+ border-radius: 999px;
1473
+ background: hsl(var(--primary));
1474
+ box-shadow: 0 0 12px hsl(var(--primary) / 0.56);
1475
+ flex: 0 0 auto;
1476
+ }
1477
+
1478
+ .cm-playground__badge-name,
1479
+ .cm-model-badge__name {
1480
+ min-width: 0;
1481
+ overflow: hidden;
1482
+ text-overflow: ellipsis;
1483
+ white-space: nowrap;
1484
+ }
1485
+
1486
+ .cm-playground__badge-price,
1487
+ .cm-playground__badge-shortcut,
1488
+ .cm-model-badge__price,
1489
+ .cm-model-badge__shortcut,
1490
+ .cm-playground__chip-count {
1491
+ color: hsl(var(--muted-foreground));
1492
+ font-size: 0.62rem;
1493
+ }
1494
+
1495
+ .cm-playground__pane-toggle,
1496
+ .cm-playground__pane-expand {
1497
+ display: inline-grid;
1498
+ place-items: center;
1499
+ border: 1px solid hsl(var(--primary) / 0.22);
1500
+ background: hsl(221 50% 9% / 0.72);
1501
+ color: hsl(var(--primary));
1502
+ box-shadow: 0 0 18px hsl(var(--primary) / 0.08);
1503
+ cursor: pointer;
1504
+ }
1505
+
1506
+ .cm-playground__pane-toggle {
1507
+ position: absolute;
1508
+ left: -0.7rem;
1509
+ top: 0.85rem;
1510
+ z-index: 4;
1511
+ width: 1.55rem;
1512
+ height: 1.55rem;
1513
+ border-radius: 999px;
1514
+ }
1515
+
1516
+ .cm-playground__pane-expand {
1517
+ display: none;
1518
+ position: fixed;
1519
+ right: 0.2rem;
1520
+ top: 50%;
1521
+ z-index: 45;
1522
+ width: 2rem;
1523
+ height: 3.25rem;
1524
+ border-radius: 999px 0 0 999px;
1525
+ }
1526
+
1527
+ @container (min-width: 62rem) {
1528
+ .cm-playground__pane-expand {
1529
+ display: inline-grid;
1530
+ }
1531
+ }
1532
+
1533
+ .cm-playground__cmd-backdrop,
1534
+ .cm-command-overlay {
1535
+ position: fixed;
1536
+ inset: 0;
1537
+ z-index: 90;
1538
+ display: flex;
1539
+ align-items: flex-start;
1540
+ justify-content: center;
1541
+ padding: max(8vh, 4rem) 1rem 1rem;
1542
+ background:
1543
+ radial-gradient(circle at 50% 18%, hsl(var(--primary) / 0.09), transparent 30rem),
1544
+ hsl(240 30% 2% / 0.72);
1545
+ backdrop-filter: blur(14px);
1546
+ }
1547
+
1548
+ .cm-playground__cmd-panel,
1549
+ .cm-command-panel {
1550
+ width: min(42rem, 100%);
1551
+ max-height: min(70dvh, 42rem);
1552
+ display: flex;
1553
+ flex-direction: column;
1554
+ overflow: hidden;
1555
+ border: 1px solid hsl(var(--primary) / 0.24);
1556
+ border-radius: 18px;
1557
+ background:
1558
+ linear-gradient(145deg, hsl(226 21% 23% / 0.58), hsl(221 50% 9% / 0.78)),
1559
+ hsl(var(--background));
1560
+ box-shadow:
1561
+ 0 0 44px hsl(var(--primary) / 0.12),
1562
+ inset 0 1px 0 hsl(0 0% 100% / 0.08);
1563
+ }
1564
+
1565
+ .cm-playground__cmd-header,
1566
+ .cm-playground__cmd-footer,
1567
+ .cm-command-header,
1568
+ .cm-command-footer {
1569
+ flex: 0 0 auto;
1570
+ padding: 0.75rem 0.95rem;
1571
+ border-color: hsl(var(--primary) / 0.12);
1572
+ }
1573
+
1574
+ .cm-playground__cmd-header,
1575
+ .cm-command-header {
1576
+ border-bottom: 1px solid hsl(var(--primary) / 0.12);
1577
+ }
1578
+
1579
+ .cm-playground__cmd-footer,
1580
+ .cm-command-footer {
1581
+ display: flex;
1582
+ align-items: center;
1583
+ justify-content: space-between;
1584
+ gap: 0.75rem;
1585
+ border-top: 1px solid hsl(var(--primary) / 0.12);
1586
+ color: hsl(var(--muted-foreground));
1587
+ font-family: var(--font-mono), monospace;
1588
+ font-size: 0.68rem;
1589
+ flex-wrap: wrap;
1590
+ }
1591
+
1592
+ .cm-playground__cmd-input,
1593
+ .cm-command-input {
1594
+ width: 100%;
1595
+ border: 0;
1596
+ outline: none;
1597
+ background: transparent;
1598
+ color: hsl(var(--foreground));
1599
+ font-family: var(--font-mono), monospace;
1600
+ font-size: clamp(0.92rem, 2.2vw, 1.1rem);
1601
+ }
1602
+
1603
+ .cm-playground__cmd-list,
1604
+ .cm-command-list {
1605
+ flex: 1;
1606
+ min-height: 0;
1607
+ overflow: auto;
1608
+ padding: 0.35rem;
1609
+ }
1610
+
1611
+ .cm-playground__cmd-group,
1612
+ .cm-command-group {
1613
+ padding: 0.55rem 0.7rem 0.28rem;
1614
+ color: hsl(var(--primary));
1615
+ font-family: var(--font-mono), monospace;
1616
+ font-size: 0.68rem;
1617
+ font-weight: 800;
1618
+ letter-spacing: 0.12em;
1619
+ text-transform: uppercase;
1620
+ }
1621
+
1622
+ .cm-playground__cmd-item,
1623
+ .cm-command-item {
1624
+ display: flex;
1625
+ align-items: center;
1626
+ gap: 0.65rem;
1627
+ min-height: 2.55rem;
1628
+ border: 1px solid transparent;
1629
+ border-radius: 12px;
1630
+ padding: 0 0.75rem;
1631
+ cursor: pointer;
1632
+ }
1633
+
1634
+ .cm-playground__cmd-item:hover,
1635
+ .cm-playground__cmd-item--selected,
1636
+ .cm-playground__cmd-item--current,
1637
+ .cm-command-item:hover,
1638
+ .cm-command-item[data-selected="true"],
1639
+ .cm-command-item[data-current="true"] {
1640
+ border-color: hsl(var(--primary) / 0.22);
1641
+ background: hsl(var(--primary) / 0.08);
1642
+ }
1643
+
1644
+ .cm-playground__cmd-item-name,
1645
+ .cm-command-item__name {
1646
+ min-width: 0;
1647
+ flex: 1;
1648
+ overflow: hidden;
1649
+ text-overflow: ellipsis;
1650
+ white-space: nowrap;
1651
+ color: hsl(var(--foreground));
1652
+ font-family: var(--font-mono), monospace;
1653
+ font-size: 0.82rem;
1654
+ }
1655
+
1656
+ .cm-playground__cmd-item-meta,
1657
+ .cm-playground__cmd-footer-hints,
1658
+ .cm-command-item__meta,
1659
+ .cm-command-footer__hints {
1660
+ display: flex;
1661
+ align-items: center;
1662
+ gap: 0.4rem;
1663
+ flex-wrap: wrap;
1664
+ }
1665
+
1666
+ .cm-playground__cmd-item-provider,
1667
+ .cm-playground__cmd-item-type,
1668
+ .cm-playground__cmd-item-price,
1669
+ .cm-playground__cmd-hint kbd,
1670
+ .cm-command-item__provider,
1671
+ .cm-command-item__type,
1672
+ .cm-command-item__price,
1673
+ .cm-command-hint kbd {
1674
+ border-radius: 999px;
1675
+ background: hsl(221 50% 9% / 0.52);
1676
+ color: hsl(var(--muted-foreground));
1677
+ font-family: var(--font-mono), monospace;
1678
+ font-size: 0.62rem;
1679
+ padding: 0.22rem 0.45rem;
1680
+ }
1681
+
1682
+ .cm-playground__cmd-empty,
1683
+ .cm-command-empty {
1684
+ padding: 2rem 1rem;
1685
+ color: hsl(var(--muted-foreground));
1686
+ text-align: center;
1687
+ }
1688
+
1689
+ .cm-chat {
1690
+ display: flex;
1691
+ min-width: 0;
1692
+ min-height: 0;
1693
+ flex-direction: column;
1694
+ overflow: hidden;
1695
+ border: 1px solid hsl(var(--primary) / 0.16);
1696
+ border-radius: 16px;
1697
+ background: hsl(221 50% 9% / 0.24);
1698
+ }
1699
+
1700
+ .cm-chat--bare {
1701
+ border: 0;
1702
+ border-radius: 0;
1703
+ background: transparent;
1704
+ }
1705
+
1706
+ .cm-chat__header,
1707
+ .cm-chat__activity,
1708
+ .cm-chat__composer {
1709
+ flex: 0 0 auto;
1710
+ border-color: hsl(var(--primary) / 0.1);
1711
+ }
1712
+
1713
+ .cm-chat__header {
1714
+ display: flex;
1715
+ align-items: center;
1716
+ gap: 0.55rem;
1717
+ padding: 0.75rem 0.9rem;
1718
+ border-bottom: 1px solid hsl(var(--primary) / 0.1);
1719
+ color: hsl(var(--primary));
1720
+ font-family: var(--font-mono), monospace;
1721
+ }
1722
+
1723
+ .cm-chat__body {
1724
+ flex: 1;
1725
+ min-height: 0;
1726
+ overflow: auto;
1727
+ padding: clamp(0.85rem, 2cqi, 1.15rem);
1728
+ }
1729
+
1730
+ .cm-chat__empty {
1731
+ display: grid;
1732
+ place-items: center;
1733
+ gap: 0.35rem;
1734
+ min-height: 14rem;
1735
+ color: hsl(var(--muted-foreground));
1736
+ text-align: center;
1737
+ }
1738
+
1739
+ .cm-chat__messages {
1740
+ display: grid;
1741
+ gap: 1rem;
1742
+ }
1743
+
1744
+ .cm-chat-message {
1745
+ display: flex;
1746
+ align-items: flex-start;
1747
+ gap: 0.7rem;
1748
+ min-width: 0;
1749
+ }
1750
+
1751
+ .cm-chat-message--user {
1752
+ justify-content: flex-end;
1753
+ }
1754
+
1755
+ .cm-chat-message__avatar {
1756
+ width: 2rem;
1757
+ height: 2rem;
1758
+ flex: 0 0 auto;
1759
+ }
1760
+
1761
+ .cm-chat-message__avatar-assistant,
1762
+ .cm-chat-message__avatar-user {
1763
+ background: hsl(var(--primary) / 0.14);
1764
+ color: hsl(var(--primary));
1765
+ }
1766
+
1767
+ .cm-chat-message__avatar-user {
1768
+ background: hsl(var(--accent) / 0.15);
1769
+ color: hsl(var(--accent));
1770
+ }
1771
+
1772
+ .cm-chat-message__bubble {
1773
+ position: relative;
1774
+ max-width: min(44rem, 82%);
1775
+ min-width: 0;
1776
+ border: 1px solid hsl(var(--primary) / 0.14);
1777
+ border-radius: 16px;
1778
+ padding: 0.75rem 0.85rem;
1779
+ background:
1780
+ linear-gradient(145deg, hsl(226 21% 23% / 0.34), hsl(221 50% 9% / 0.28));
1781
+ color: hsl(var(--foreground));
1782
+ box-shadow: inset 0 1px 0 hsl(0 0% 100% / 0.045);
1783
+ }
1784
+
1785
+ .cm-chat-message__bubble--user {
1786
+ border-color: hsl(var(--accent) / 0.22);
1787
+ background:
1788
+ linear-gradient(145deg, hsl(var(--accent) / 0.24), hsl(var(--primary) / 0.08));
1789
+ }
1790
+
1791
+ .cm-chat-message__actions {
1792
+ position: absolute;
1793
+ right: 0;
1794
+ top: -2.1rem;
1795
+ display: none;
1796
+ align-items: center;
1797
+ gap: 0.25rem;
1798
+ border: 1px solid hsl(var(--primary) / 0.16);
1799
+ border-radius: 999px;
1800
+ background: hsl(var(--background) / 0.86);
1801
+ padding: 0.18rem;
1802
+ backdrop-filter: blur(12px);
1803
+ }
1804
+
1805
+ .cm-chat-message__bubble:hover .cm-chat-message__actions,
1806
+ .cm-chat-message__bubble:focus-within .cm-chat-message__actions {
1807
+ display: flex;
1808
+ }
1809
+
1810
+ .cm-chat__activity {
1811
+ display: flex;
1812
+ align-items: center;
1813
+ gap: 0.55rem;
1814
+ border-top: 1px dashed hsl(var(--primary) / 0.16);
1815
+ background: hsl(221 50% 9% / 0.34);
1816
+ padding: 0.55rem 0.8rem;
1817
+ color: hsl(var(--muted-foreground));
1818
+ font-family: var(--font-mono), monospace;
1819
+ font-size: 0.72rem;
1820
+ }
1821
+
1822
+ .cm-chat__composer {
1823
+ border-top: 1px solid hsl(var(--primary) / 0.1);
1824
+ padding: clamp(0.7rem, 1.7cqi, 0.9rem);
1825
+ }
1826
+
1827
+ .cm-chat__attachments {
1828
+ display: flex;
1829
+ flex-wrap: wrap;
1830
+ gap: 0.5rem;
1831
+ margin-bottom: 0.6rem;
1832
+ }
1833
+
1834
+ .cm-chat__attachment {
1835
+ position: relative;
1836
+ display: grid;
1837
+ width: 3rem;
1838
+ height: 3rem;
1839
+ place-items: center;
1840
+ overflow: hidden;
1841
+ border: 1px solid hsl(var(--primary) / 0.16);
1842
+ border-radius: 12px;
1843
+ background: hsl(221 50% 9% / 0.48);
1844
+ }
1845
+
1846
+ .cm-chat__composer-row {
1847
+ display: flex;
1848
+ align-items: flex-end;
1849
+ gap: 0.55rem;
1850
+ min-width: 0;
1851
+ }
1852
+
1853
+ .cm-chat__composer-row textarea {
1854
+ min-height: 2.55rem;
1855
+ border-color: hsl(var(--primary) / 0.16);
1856
+ border-radius: 14px;
1857
+ background: hsl(221 50% 9% / 0.4);
1858
+ }
1859
+
1860
+ .cm-chat__icon-action {
1861
+ color: hsl(var(--muted-foreground));
1862
+ }
1863
+
1864
+ .cm-chat__icon-action:hover {
1865
+ color: hsl(var(--primary));
1866
+ }
1867
+
1868
+ @media (max-width: 820px) {
1869
+ .cm-playground {
1870
+ height: calc(100dvh - var(--cm-chrome-mobile) - var(--cm-chrome-gutter) * 3 - env(safe-area-inset-top));
1871
+ min-height: 30rem;
1872
+ }
1873
+
1874
+ .cm-playground__title-text {
1875
+ display: none;
1876
+ }
1877
+
1878
+ .cm-chat-message__bubble {
1879
+ max-width: 88%;
1880
+ }
1881
+ }
1882
+
1883
+ @media (prefers-reduced-motion: reduce) {
1884
+ .cm-app-chrome__sidebar,
1885
+ .cm-app-chrome__topbar,
1886
+ .cm-app-chrome__drawer,
1887
+ .cm-app-nav__item,
1888
+ .cm-playground__badge,
1889
+ .cm-playground__chip,
1890
+ .cm-chat-message__bubble {
1891
+ transition-duration: 0.01ms !important;
1892
+ }
1893
+ }
824
1894
  `;
825
1895
  //# sourceMappingURL=styles.js.map