@compose-market/theme 0.0.95 → 0.0.97

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.
@@ -192,6 +192,596 @@ export const shellCss = `/**
192
192
  min-width: 0;
193
193
  }
194
194
 
195
+ .cm-workspace {
196
+ --cm-workspace-pad: clamp(0.85rem, 2.2vw, 1.45rem);
197
+ --cm-workspace-gap: clamp(0.85rem, 1.8vw, 1.25rem);
198
+ --cm-workspace-max: var(--cm-page-max, 88rem);
199
+ container-type: inline-size;
200
+ display: grid;
201
+ grid-template-rows: minmax(0, 1fr);
202
+ width: 100%;
203
+ height: 100%;
204
+ min-height: 0;
205
+ min-width: 0;
206
+ overflow: hidden;
207
+ }
208
+
209
+ .cm-workspace--page {
210
+ grid-template-rows: minmax(0, 1fr);
211
+ }
212
+
213
+ .cm-workspace--canvas {
214
+ overflow: hidden;
215
+ }
216
+
217
+ .cm-workspace-canvas {
218
+ min-width: 0;
219
+ min-height: 0;
220
+ overflow: auto;
221
+ overscroll-behavior: contain;
222
+ scrollbar-width: thin;
223
+ padding: var(--cm-workspace-pad);
224
+ }
225
+
226
+ .cm-workspace-canvas--fade {
227
+ -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 1.6%, #000 98.4%, transparent 100%);
228
+ mask-image: linear-gradient(180deg, transparent 0, #000 1.6%, #000 98.4%, transparent 100%);
229
+ }
230
+
231
+ .cm-workspace__body {
232
+ display: grid;
233
+ gap: var(--cm-workspace-gap);
234
+ width: min(100%, var(--cm-workspace-max));
235
+ min-width: 0;
236
+ margin-inline: auto;
237
+ }
238
+
239
+ .cm-page-stack {
240
+ display: grid;
241
+ grid-template-rows: auto auto minmax(0, 1fr);
242
+ align-content: stretch;
243
+ gap: var(--cm-workspace-gap, clamp(0.85rem, 1.8vw, 1.25rem));
244
+ width: min(100%, var(--cm-workspace-max, var(--cm-page-max, 88rem)));
245
+ height: 100%;
246
+ max-height: 100%;
247
+ min-width: 0;
248
+ min-height: 0;
249
+ margin-inline: auto;
250
+ overflow: hidden;
251
+ }
252
+
253
+ .cm-page-stack--simple {
254
+ grid-template-rows: auto minmax(0, 1fr);
255
+ }
256
+
257
+ .cm-page-stack__header,
258
+ .cm-page-stack__controls {
259
+ min-width: 0;
260
+ min-height: 0;
261
+ }
262
+
263
+ .cm-page-stack__controls {
264
+ display: grid;
265
+ gap: clamp(0.5rem, 1.1vw, 0.75rem);
266
+ }
267
+
268
+ .cm-page-list {
269
+ min-width: 0;
270
+ min-height: 0;
271
+ overflow-x: hidden;
272
+ overflow-y: auto;
273
+ overscroll-behavior: contain;
274
+ scrollbar-width: thin;
275
+ padding-block: clamp(0.1rem, 0.5vw, 0.3rem);
276
+ }
277
+
278
+ .cm-page-tabs {
279
+ display: flex;
280
+ min-width: 0;
281
+ min-height: 0;
282
+ flex-direction: column;
283
+ gap: clamp(0.6rem, 1.2vw, 0.85rem);
284
+ overflow: hidden;
285
+ }
286
+
287
+ .cm-page-tabs > [role="tablist"] {
288
+ flex: 0 0 auto;
289
+ }
290
+
291
+ .cm-page-tab-panel {
292
+ flex: 1 1 auto;
293
+ min-width: 0;
294
+ min-height: 0;
295
+ margin-top: 0;
296
+ overflow-x: hidden;
297
+ overflow-y: auto;
298
+ overscroll-behavior: contain;
299
+ scrollbar-width: thin;
300
+ padding-block: 0.05rem 0.35rem;
301
+ }
302
+
303
+ .cm-page-tab-panel[data-state="inactive"] {
304
+ display: none;
305
+ }
306
+
307
+ .cm-chat-workspace,
308
+ .cm-compose-workspace {
309
+ display: flex;
310
+ width: 100%;
311
+ height: 100%;
312
+ min-width: 0;
313
+ min-height: 0;
314
+ overflow: hidden;
315
+ }
316
+
317
+ .cm-chat-workspace {
318
+ flex-direction: column;
319
+ }
320
+
321
+ .cm-compose-workspace {
322
+ gap: clamp(0.7rem, 1.4vw, 1rem);
323
+ flex-direction: column;
324
+ }
325
+
326
+ @media (min-width: 1024px) {
327
+ .cm-compose-workspace {
328
+ flex-direction: row;
329
+ }
330
+ }
331
+
332
+ .cm-control-rail {
333
+ container-type: inline-size;
334
+ display: flex;
335
+ align-items: center;
336
+ justify-content: space-between;
337
+ gap: clamp(0.5rem, 1.4cqi, 0.85rem);
338
+ min-width: 0;
339
+ padding: clamp(0.48rem, 1.2cqi, 0.68rem);
340
+ border: 1px solid hsl(var(--primary) / 0.18);
341
+ border-radius: 16px;
342
+ background:
343
+ radial-gradient(circle at 8% 0%, hsl(var(--primary) / 0.12), transparent 32%),
344
+ radial-gradient(circle at 92% 100%, hsl(var(--accent) / 0.1), transparent 34%),
345
+ linear-gradient(145deg, hsl(226 21% 23% / 0.42), hsl(221 50% 9% / 0.34));
346
+ box-shadow:
347
+ inset 0 1px 0 hsl(0 0% 100% / 0.06),
348
+ 0 0 24px hsl(var(--primary) / 0.06);
349
+ backdrop-filter: blur(16px) saturate(1.12);
350
+ }
351
+
352
+ .cm-control-rail--compact {
353
+ padding: clamp(0.36rem, 0.9cqi, 0.52rem);
354
+ border-radius: 14px;
355
+ }
356
+
357
+ .cm-control-rail__main,
358
+ .cm-control-rail__actions,
359
+ .cm-control-rail__tabs {
360
+ display: flex;
361
+ align-items: center;
362
+ gap: clamp(0.42rem, 1.1cqi, 0.7rem);
363
+ min-width: 0;
364
+ }
365
+
366
+ .cm-control-rail__main {
367
+ flex: 1 1 22rem;
368
+ }
369
+
370
+ .cm-control-rail__actions,
371
+ .cm-control-rail__tabs {
372
+ flex: 0 1 auto;
373
+ flex-wrap: wrap;
374
+ justify-content: flex-end;
375
+ }
376
+
377
+ .cm-responsive-pair {
378
+ --cm-pair-side: clamp(17rem, 27cqi, 22rem);
379
+ display: grid;
380
+ grid-template-columns: minmax(0, 1fr) minmax(min(100%, 16rem), var(--cm-pair-side));
381
+ align-items: start;
382
+ gap: clamp(0.85rem, 2cqi, 1.25rem);
383
+ min-width: 0;
384
+ }
385
+
386
+ .cm-responsive-pair--reverse {
387
+ grid-template-columns: minmax(min(100%, 16rem), var(--cm-pair-side)) minmax(0, 1fr);
388
+ }
389
+
390
+ .cm-choice-card {
391
+ display: grid;
392
+ gap: clamp(0.75rem, 2cqi, 1rem);
393
+ align-content: start;
394
+ min-width: 0;
395
+ width: 100%;
396
+ padding: clamp(1rem, 3cqi, 1.45rem);
397
+ border: 1px solid hsl(var(--primary) / 0.2);
398
+ border-radius: 16px;
399
+ background:
400
+ radial-gradient(circle at 50% 0%, hsl(var(--primary) / 0.12), transparent 34%),
401
+ linear-gradient(145deg, hsl(226 21% 23% / 0.42), hsl(221 50% 9% / 0.36));
402
+ color: hsl(var(--foreground));
403
+ text-align: left;
404
+ box-shadow: var(--cm-shell-shadow);
405
+ cursor: pointer;
406
+ backdrop-filter: blur(16px) saturate(1.12);
407
+ transition:
408
+ transform 170ms ease,
409
+ border-color 170ms ease,
410
+ box-shadow 170ms ease;
411
+ }
412
+
413
+ .cm-choice-card[data-tone="fuchsia"] {
414
+ border-color: hsl(var(--accent) / 0.22);
415
+ background:
416
+ radial-gradient(circle at 50% 0%, hsl(var(--accent) / 0.12), transparent 34%),
417
+ linear-gradient(145deg, hsl(226 21% 23% / 0.42), hsl(221 50% 9% / 0.36));
418
+ }
419
+
420
+ .cm-choice-card:hover,
421
+ .cm-choice-card:focus-visible {
422
+ outline: none;
423
+ transform: translateY(-2px);
424
+ border-color: hsl(var(--primary) / 0.45);
425
+ box-shadow:
426
+ 0 0 0 1px hsl(var(--primary) / 0.16),
427
+ 0 0 28px hsl(var(--primary) / 0.14),
428
+ inset 0 1px 0 hsl(0 0% 100% / 0.07);
429
+ }
430
+
431
+ .cm-choice-card[data-tone="fuchsia"]:hover,
432
+ .cm-choice-card[data-tone="fuchsia"]:focus-visible {
433
+ border-color: hsl(var(--accent) / 0.44);
434
+ box-shadow:
435
+ 0 0 0 1px hsl(var(--accent) / 0.14),
436
+ 0 0 28px hsl(var(--accent) / 0.13),
437
+ inset 0 1px 0 hsl(0 0% 100% / 0.07);
438
+ }
439
+
440
+ .cm-choice-card__icon {
441
+ display: grid;
442
+ width: clamp(2.75rem, 7cqi, 3.55rem);
443
+ height: clamp(2.75rem, 7cqi, 3.55rem);
444
+ place-items: center;
445
+ border-radius: 999px;
446
+ border: 1px solid hsl(var(--primary) / 0.26);
447
+ background: hsl(var(--primary) / 0.1);
448
+ color: hsl(var(--primary));
449
+ box-shadow: 0 0 20px hsl(var(--primary) / 0.12);
450
+ }
451
+
452
+ .cm-choice-card[data-tone="fuchsia"] .cm-choice-card__icon {
453
+ border-color: hsl(var(--accent) / 0.28);
454
+ background: hsl(var(--accent) / 0.1);
455
+ color: hsl(var(--accent));
456
+ box-shadow: 0 0 20px hsl(var(--accent) / 0.12);
457
+ }
458
+
459
+ .cm-choice-card__title {
460
+ color: hsl(var(--foreground));
461
+ font-family: var(--font-display), sans-serif;
462
+ font-size: clamp(1rem, 2.5cqi, 1.25rem);
463
+ letter-spacing: 0.05em;
464
+ line-height: 1.05;
465
+ text-transform: uppercase;
466
+ }
467
+
468
+ .cm-choice-card__copy {
469
+ color: hsl(var(--muted-foreground));
470
+ font-size: clamp(0.82rem, 1.9cqi, 0.92rem);
471
+ line-height: 1.45;
472
+ }
473
+
474
+ .cm-fold {
475
+ border: 1px solid hsl(var(--primary) / 0.17);
476
+ border-radius: 14px;
477
+ background:
478
+ radial-gradient(circle at 12% 0%, hsl(var(--primary) / 0.08), transparent 32%),
479
+ hsl(221 50% 9% / 0.36);
480
+ overflow: hidden;
481
+ }
482
+
483
+ .cm-fold__summary {
484
+ display: flex;
485
+ align-items: center;
486
+ gap: 0.55rem;
487
+ min-height: 2.75rem;
488
+ padding: 0.72rem 0.9rem;
489
+ color: hsl(var(--foreground));
490
+ font-family: var(--font-mono), monospace;
491
+ font-size: 0.74rem;
492
+ font-weight: 700;
493
+ letter-spacing: 0.1em;
494
+ text-transform: uppercase;
495
+ cursor: pointer;
496
+ }
497
+
498
+ .cm-fold__summary:focus-visible {
499
+ outline: 2px solid hsl(var(--primary) / 0.68);
500
+ outline-offset: -2px;
501
+ }
502
+
503
+ .cm-fold__body {
504
+ display: grid;
505
+ gap: 0.75rem;
506
+ padding: 0 0.9rem 0.9rem;
507
+ color: hsl(var(--muted-foreground));
508
+ font-size: 0.88rem;
509
+ line-height: 1.5;
510
+ }
511
+
512
+ .cm-fold:not([open]) > .cm-fold__body {
513
+ display: none;
514
+ }
515
+
516
+ .cm-setting-row {
517
+ display: grid;
518
+ grid-template-columns: auto minmax(0, 1fr) auto;
519
+ align-items: center;
520
+ gap: 0.78rem;
521
+ min-width: 0;
522
+ padding: 0.72rem;
523
+ border: 1px solid hsl(var(--primary) / 0.16);
524
+ border-radius: 14px;
525
+ background:
526
+ linear-gradient(145deg, hsl(226 21% 20% / 0.42), hsl(221 50% 9% / 0.34));
527
+ box-shadow: inset 0 1px 0 hsl(0 0% 100% / 0.05);
528
+ }
529
+
530
+ .cm-setting-row__icon {
531
+ display: grid;
532
+ width: 2.35rem;
533
+ height: 2.35rem;
534
+ place-items: center;
535
+ border-radius: 12px;
536
+ background: hsl(var(--primary) / 0.1);
537
+ color: hsl(var(--primary));
538
+ }
539
+
540
+ .cm-setting-row__copy {
541
+ display: grid;
542
+ gap: 0.16rem;
543
+ min-width: 0;
544
+ }
545
+
546
+ .cm-setting-row__label {
547
+ color: hsl(var(--foreground));
548
+ font-size: 0.88rem;
549
+ font-weight: 700;
550
+ line-height: 1.15;
551
+ }
552
+
553
+ .cm-setting-row__description {
554
+ color: hsl(var(--muted-foreground));
555
+ font-size: 0.76rem;
556
+ line-height: 1.35;
557
+ }
558
+
559
+ .cm-setting-row__control {
560
+ display: flex;
561
+ align-items: center;
562
+ justify-content: flex-end;
563
+ min-width: max-content;
564
+ }
565
+
566
+ .cm-field {
567
+ display: grid;
568
+ gap: 0.42rem;
569
+ min-width: 0;
570
+ }
571
+
572
+ .cm-field__label,
573
+ .cm-field label,
574
+ .cm-field .cm-field-label {
575
+ color: hsl(var(--muted-foreground));
576
+ font-family: var(--font-mono), monospace;
577
+ font-size: 0.68rem;
578
+ font-weight: 700;
579
+ letter-spacing: 0.12em;
580
+ line-height: 1.15;
581
+ text-transform: uppercase;
582
+ }
583
+
584
+ .cm-field__hint {
585
+ color: hsl(var(--muted-foreground));
586
+ font-size: 0.76rem;
587
+ line-height: 1.35;
588
+ }
589
+
590
+ .cm-surface-card,
591
+ .cm-builder-panel {
592
+ min-width: 0;
593
+ border: 1px solid hsl(var(--primary) / 0.17);
594
+ border-radius: 16px;
595
+ background:
596
+ radial-gradient(circle at 10% 0%, hsl(var(--primary) / 0.1), transparent 34%),
597
+ radial-gradient(circle at 96% 100%, hsl(var(--accent) / 0.08), transparent 34%),
598
+ linear-gradient(145deg, hsl(226 21% 22% / 0.42), hsl(221 50% 9% / 0.34));
599
+ box-shadow:
600
+ 0 0 28px hsl(var(--primary) / 0.045),
601
+ inset 0 1px 0 hsl(0 0% 100% / 0.055);
602
+ backdrop-filter: blur(16px) saturate(1.12);
603
+ }
604
+
605
+ .cm-builder-panel {
606
+ display: grid;
607
+ align-content: start;
608
+ gap: clamp(0.72rem, 1.55cqi, 1rem);
609
+ padding: clamp(0.86rem, 1.8cqi, 1.15rem);
610
+ }
611
+
612
+ .cm-builder-panel[data-tone="green"] {
613
+ border-color: hsl(142 71% 45% / 0.2);
614
+ background:
615
+ radial-gradient(circle at 10% 0%, hsl(142 71% 45% / 0.1), transparent 34%),
616
+ radial-gradient(circle at 96% 100%, hsl(var(--primary) / 0.08), transparent 34%),
617
+ linear-gradient(145deg, hsl(226 21% 22% / 0.42), hsl(221 50% 9% / 0.34));
618
+ }
619
+
620
+ .cm-builder-panel[data-tone="fuchsia"] {
621
+ border-color: hsl(var(--accent) / 0.22);
622
+ background:
623
+ radial-gradient(circle at 10% 0%, hsl(var(--accent) / 0.1), transparent 34%),
624
+ radial-gradient(circle at 96% 100%, hsl(var(--primary) / 0.08), transparent 34%),
625
+ linear-gradient(145deg, hsl(226 21% 22% / 0.42), hsl(221 50% 9% / 0.34));
626
+ }
627
+
628
+ .cm-builder-panel__title {
629
+ display: flex;
630
+ align-items: center;
631
+ gap: 0.48rem;
632
+ color: hsl(var(--primary));
633
+ font-family: var(--font-display), sans-serif;
634
+ font-size: 0.82rem;
635
+ font-weight: 800;
636
+ letter-spacing: 0.06em;
637
+ line-height: 1.1;
638
+ text-transform: uppercase;
639
+ }
640
+
641
+ .cm-builder-panel[data-tone="green"] .cm-builder-panel__title {
642
+ color: hsl(142 71% 45%);
643
+ }
644
+
645
+ .cm-builder-panel[data-tone="fuchsia"] .cm-builder-panel__title {
646
+ color: hsl(var(--accent));
647
+ }
648
+
649
+ .cm-stat-strip {
650
+ display: grid;
651
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, 8rem), 1fr));
652
+ gap: clamp(0.45rem, 1cqi, 0.68rem);
653
+ min-width: 0;
654
+ }
655
+
656
+ .cm-stat-strip--dense {
657
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, 6.75rem), 1fr));
658
+ }
659
+
660
+ .cm-stat-cell,
661
+ .cm-stat-grid__cell {
662
+ min-width: 0;
663
+ border: 1px solid hsl(var(--primary) / 0.15);
664
+ border-radius: 12px;
665
+ background:
666
+ radial-gradient(circle at 0% 0%, hsl(var(--primary) / 0.08), transparent 42%),
667
+ hsl(221 50% 9% / 0.34);
668
+ box-shadow: inset 0 1px 0 hsl(0 0% 100% / 0.045);
669
+ }
670
+
671
+ .cm-stat-cell {
672
+ display: grid;
673
+ gap: 0.25rem;
674
+ padding: clamp(0.5rem, 1.2cqi, 0.68rem);
675
+ }
676
+
677
+ .cm-stat-cell__label,
678
+ .cm-stat-grid__cell-label {
679
+ color: hsl(var(--muted-foreground));
680
+ font-family: var(--font-mono), monospace;
681
+ font-size: 0.58rem;
682
+ letter-spacing: 0.1em;
683
+ line-height: 1.1;
684
+ text-transform: uppercase;
685
+ }
686
+
687
+ .cm-stat-cell__value-row {
688
+ display: flex;
689
+ align-items: center;
690
+ gap: 0.38rem;
691
+ min-width: 0;
692
+ }
693
+
694
+ .cm-stat-cell__value,
695
+ .cm-stat-grid__cell-value {
696
+ min-width: 0;
697
+ color: hsl(var(--foreground));
698
+ font-family: var(--font-mono), monospace;
699
+ font-size: 0.75rem;
700
+ font-weight: 800;
701
+ line-height: 1.2;
702
+ overflow: hidden;
703
+ text-overflow: ellipsis;
704
+ white-space: nowrap;
705
+ }
706
+
707
+ .cm-popover-panel {
708
+ overflow: hidden;
709
+ border: 1px solid hsl(var(--primary) / 0.2);
710
+ border-radius: 14px;
711
+ background:
712
+ radial-gradient(circle at 8% 0%, hsl(var(--primary) / 0.1), transparent 32%),
713
+ hsl(221 50% 8% / 0.92);
714
+ box-shadow:
715
+ 0 18px 50px hsl(240 30% 2% / 0.42),
716
+ 0 0 28px hsl(var(--primary) / 0.1);
717
+ backdrop-filter: blur(18px) saturate(1.14);
718
+ }
719
+
720
+ .cm-popover-panel__header,
721
+ .cm-popover-panel__footer {
722
+ display: flex;
723
+ align-items: center;
724
+ justify-content: space-between;
725
+ gap: 0.65rem;
726
+ padding: 0.48rem 0.68rem;
727
+ border-color: hsl(var(--primary) / 0.13);
728
+ }
729
+
730
+ .cm-popover-panel__header {
731
+ border-bottom: 1px solid hsl(var(--primary) / 0.13);
732
+ }
733
+
734
+ .cm-popover-panel__footer {
735
+ border-top: 1px solid hsl(var(--primary) / 0.13);
736
+ }
737
+
738
+ .cm-popover-panel__label {
739
+ color: hsl(var(--muted-foreground));
740
+ font-family: var(--font-mono), monospace;
741
+ font-size: 0.62rem;
742
+ font-weight: 800;
743
+ letter-spacing: 0.1em;
744
+ text-transform: uppercase;
745
+ }
746
+
747
+ .cm-switch,
748
+ .cm-checkbox,
749
+ .cm-radio-item {
750
+ border-color: hsl(var(--primary) / 0.34);
751
+ background:
752
+ linear-gradient(145deg, hsl(221 50% 8% / 0.92), hsl(226 21% 18% / 0.72));
753
+ box-shadow:
754
+ inset 0 0 0 1px hsl(0 0% 100% / 0.04),
755
+ 0 0 14px hsl(var(--primary) / 0.055);
756
+ }
757
+
758
+ .cm-switch[data-state="checked"],
759
+ .cm-checkbox[data-state="checked"],
760
+ .cm-radio-item[data-state="checked"] {
761
+ border-color: hsl(var(--primary) / 0.72);
762
+ background:
763
+ radial-gradient(circle at 76% 50%, hsl(var(--accent) / 0.28), transparent 42%),
764
+ linear-gradient(135deg, hsl(var(--primary) / 0.92), hsl(var(--accent) / 0.76));
765
+ color: hsl(var(--primary-foreground));
766
+ box-shadow:
767
+ 0 0 0 1px hsl(var(--primary) / 0.22),
768
+ 0 0 18px hsl(var(--primary) / 0.24);
769
+ }
770
+
771
+ .cm-switch:focus-visible,
772
+ .cm-checkbox:focus-visible,
773
+ .cm-radio-item:focus-visible {
774
+ outline: 2px solid hsl(var(--primary) / 0.78);
775
+ outline-offset: 2px;
776
+ }
777
+
778
+ .cm-switch:disabled,
779
+ .cm-checkbox:disabled,
780
+ .cm-radio-item[data-disabled] {
781
+ opacity: 0.55;
782
+ cursor: not-allowed;
783
+ }
784
+
195
785
  .cm-app-chrome {
196
786
  --cm-chrome-safe: clamp(0.62rem, 1.25vw, 1rem);
197
787
  --cm-chrome-gap: clamp(0.34rem, 0.75vw, 0.55rem);
@@ -222,6 +812,18 @@ export const shellCss = `/**
222
812
  pointer-events: none;
223
813
  }
224
814
 
815
+ .cm-app-chrome__navgroup,
816
+ .cm-app-chrome__navutility {
817
+ display: grid;
818
+ gap: var(--cm-chrome-gap);
819
+ pointer-events: none;
820
+ }
821
+
822
+ .cm-app-chrome__navutility {
823
+ margin-top: clamp(0.45rem, 1vw, 0.7rem);
824
+ padding-top: clamp(0.45rem, 1vw, 0.7rem);
825
+ }
826
+
225
827
  .cm-app-chrome__navitem,
226
828
  .cm-hud-button {
227
829
  position: relative;
@@ -258,20 +860,21 @@ export const shellCss = `/**
258
860
  .cm-app-chrome__navitem::before {
259
861
  content: "";
260
862
  position: absolute;
261
- inset-inline-start: -0.28rem;
262
- top: 50%;
263
- width: 0.17rem;
264
- height: 48%;
863
+ inset: -0.18rem;
265
864
  border-radius: 999px;
266
- background: linear-gradient(180deg, hsl(var(--primary)), hsl(var(--accent)));
865
+ background:
866
+ radial-gradient(circle at 50% 18%, hsl(var(--primary) / 0.28), transparent 46%),
867
+ radial-gradient(circle at 50% 86%, hsl(var(--accent) / 0.18), transparent 42%);
267
868
  box-shadow:
268
- 0 0 12px hsl(var(--primary) / 0.72),
269
- 0 0 18px hsl(var(--accent) / 0.35);
869
+ 0 0 0 1px hsl(var(--primary) / 0.42),
870
+ 0 0 18px hsl(var(--primary) / 0.2),
871
+ 0 0 22px hsl(var(--accent) / 0.1);
270
872
  opacity: 0;
271
- transform: translateY(-50%) scaleY(0.45);
873
+ transform: scale(0.72);
272
874
  transition:
273
875
  opacity 180ms ease,
274
876
  transform 180ms ease;
877
+ pointer-events: none;
275
878
  }
276
879
 
277
880
  .cm-app-chrome__navitem:hover,
@@ -293,11 +896,15 @@ export const shellCss = `/**
293
896
  .cm-app-chrome__navitem[data-active="true"] {
294
897
  color: hsl(var(--primary));
295
898
  border-color: hsl(var(--primary) / 0.52);
899
+ background:
900
+ radial-gradient(circle at 30% 14%, hsl(var(--primary) / 0.24), transparent 42%),
901
+ radial-gradient(circle at 78% 90%, hsl(var(--accent) / 0.18), transparent 44%),
902
+ linear-gradient(145deg, hsl(226 21% 25% / 0.58), hsl(221 50% 9% / 0.48));
296
903
  }
297
904
 
298
905
  .cm-app-chrome__navitem[data-active="true"]::before {
299
906
  opacity: 1;
300
- transform: translateY(-50%) scaleY(1);
907
+ transform: scale(1);
301
908
  }
302
909
 
303
910
  .cm-app-chrome__navitem-icon,
@@ -458,6 +1065,18 @@ export const shellCss = `/**
458
1065
  letter-spacing: 0.04em;
459
1066
  }
460
1067
 
1068
+ .cm-app-chrome__navselect {
1069
+ width: var(--cm-hud-size);
1070
+ min-width: var(--cm-hud-size);
1071
+ max-width: var(--cm-hud-size);
1072
+ padding-inline: 0;
1073
+ pointer-events: auto;
1074
+ }
1075
+
1076
+ .cm-app-chrome__navselect .cm-hud-value {
1077
+ display: none;
1078
+ }
1079
+
461
1080
  .cm-hud-status {
462
1081
  width: 0.48rem;
463
1082
  height: 0.48rem;
@@ -986,21 +1605,30 @@ export const shellCss = `/**
986
1605
  display: none;
987
1606
  }
988
1607
 
1608
+ .cm-app-chrome__navgroup,
1609
+ .cm-app-chrome__navutility {
1610
+ display: flex;
1611
+ gap: var(--cm-chrome-gap);
1612
+ }
1613
+
1614
+ .cm-app-chrome__navutility {
1615
+ margin-top: 0;
1616
+ padding-top: 0;
1617
+ }
1618
+
989
1619
  .cm-app-chrome__navitem {
990
1620
  flex: 0 0 auto;
991
1621
  }
992
1622
 
993
1623
  .cm-app-chrome__navitem::before {
994
- inset-inline-start: 50%;
995
- top: auto;
996
- bottom: -0.22rem;
997
- width: 46%;
998
- height: 0.16rem;
999
- transform: translateX(-50%) scaleX(0.45);
1624
+ inset: -0.16rem;
1625
+ width: auto;
1626
+ height: auto;
1627
+ transform: scale(0.72);
1000
1628
  }
1001
1629
 
1002
1630
  .cm-app-chrome__navitem[data-active="true"]::before {
1003
- transform: translateX(-50%) scaleX(1);
1631
+ transform: scale(1);
1004
1632
  }
1005
1633
 
1006
1634
  .cm-app-chrome__tooltip {
@@ -1033,6 +1661,51 @@ export const shellCss = `/**
1033
1661
  .cm-app-chrome__search[data-open="true"] .cm-search--hud {
1034
1662
  width: min(100%, calc(100vw - var(--cm-chrome-safe) * 2 - var(--cm-hud-size) - var(--cm-chrome-gap)));
1035
1663
  }
1664
+
1665
+ .cm-workspace-canvas {
1666
+ padding: clamp(0.7rem, 3.6vw, 1rem);
1667
+ }
1668
+
1669
+ .cm-control-rail {
1670
+ align-items: stretch;
1671
+ flex-direction: column;
1672
+ }
1673
+
1674
+ .cm-control-rail__main,
1675
+ .cm-control-rail__actions,
1676
+ .cm-control-rail__tabs {
1677
+ width: 100%;
1678
+ flex: 1 1 auto;
1679
+ justify-content: stretch;
1680
+ }
1681
+
1682
+ .cm-control-rail__tabs > *,
1683
+ .cm-control-rail__actions > * {
1684
+ min-width: 0;
1685
+ }
1686
+
1687
+ .cm-responsive-pair,
1688
+ .cm-responsive-pair--reverse {
1689
+ grid-template-columns: minmax(0, 1fr);
1690
+ }
1691
+
1692
+ .cm-setting-row {
1693
+ grid-template-columns: auto minmax(0, 1fr);
1694
+ }
1695
+
1696
+ .cm-setting-row__control {
1697
+ grid-column: 1 / -1;
1698
+ justify-content: stretch;
1699
+ }
1700
+ }
1701
+
1702
+ @media (prefers-reduced-motion: reduce) {
1703
+ .cm-choice-card,
1704
+ .cm-app-chrome__navitem,
1705
+ .cm-hud-button,
1706
+ .cm-shell-button {
1707
+ transition-duration: 1ms;
1708
+ }
1036
1709
  }
1037
1710
 
1038
1711
  /* ── Form Controls ── */
@@ -1533,6 +2206,54 @@ export const shellCss = `/**
1533
2206
  flex-wrap: wrap;
1534
2207
  }
1535
2208
 
2209
+ .cm-playground__chips {
2210
+ display: flex;
2211
+ align-items: center;
2212
+ gap: 0.42rem;
2213
+ min-width: 0;
2214
+ flex: 1 1 18rem;
2215
+ overflow: hidden;
2216
+ }
2217
+
2218
+ .cm-playground__chip-section {
2219
+ display: flex;
2220
+ align-items: center;
2221
+ gap: 0.36rem;
2222
+ min-width: 0;
2223
+ overflow: auto hidden;
2224
+ scrollbar-width: none;
2225
+ }
2226
+
2227
+ .cm-playground__chip-section::-webkit-scrollbar {
2228
+ display: none;
2229
+ }
2230
+
2231
+ .cm-playground__chip-section--types {
2232
+ flex: 1 1 auto;
2233
+ }
2234
+
2235
+ .cm-playground__chip-section--providers {
2236
+ flex: 0 1 38%;
2237
+ }
2238
+
2239
+ .cm-playground__chip-label {
2240
+ color: hsl(var(--muted-foreground));
2241
+ font-family: var(--font-mono), monospace;
2242
+ font-size: 0.62rem;
2243
+ font-weight: 800;
2244
+ letter-spacing: 0.12em;
2245
+ text-transform: uppercase;
2246
+ white-space: nowrap;
2247
+ }
2248
+
2249
+ .cm-playground__divider {
2250
+ width: 1px;
2251
+ align-self: stretch;
2252
+ min-height: 1.45rem;
2253
+ background: linear-gradient(180deg, transparent, hsl(var(--primary) / 0.18), transparent);
2254
+ flex: 0 0 auto;
2255
+ }
2256
+
1536
2257
  .cm-playground__filter-select {
1537
2258
  min-width: 0;
1538
2259
  flex: 1 1 8rem;
@@ -1602,6 +2323,65 @@ export const shellCss = `/**
1602
2323
  padding: 0 0.58rem;
1603
2324
  }
1604
2325
 
2326
+ .cm-playground__chip {
2327
+ min-height: 1.9rem;
2328
+ max-width: min(13rem, 42vw);
2329
+ flex: 0 0 auto;
2330
+ padding: 0 0.58rem;
2331
+ white-space: nowrap;
2332
+ }
2333
+
2334
+ .cm-playground__chip-icon {
2335
+ width: 0.78rem;
2336
+ height: 0.78rem;
2337
+ flex: 0 0 auto;
2338
+ }
2339
+
2340
+ .cm-playground__chip--type-text {
2341
+ border-color: hsl(188 95% 43% / 0.26);
2342
+ background: hsl(188 95% 43% / 0.08);
2343
+ color: hsl(188 95% 74%);
2344
+ }
2345
+
2346
+ .cm-playground__chip--type-image {
2347
+ border-color: hsl(292 85% 55% / 0.28);
2348
+ background: hsl(292 85% 55% / 0.09);
2349
+ color: hsl(292 85% 78%);
2350
+ }
2351
+
2352
+ .cm-playground__chip--type-audio {
2353
+ border-color: hsl(148 75% 46% / 0.28);
2354
+ background: hsl(148 75% 46% / 0.09);
2355
+ color: hsl(148 75% 72%);
2356
+ }
2357
+
2358
+ .cm-playground__chip--type-video {
2359
+ border-color: hsl(42 100% 52% / 0.3);
2360
+ background: hsl(42 100% 52% / 0.09);
2361
+ color: hsl(42 100% 72%);
2362
+ }
2363
+
2364
+ .cm-playground__chip--type-embedding,
2365
+ .cm-playground__chip--type-conversational {
2366
+ border-color: hsl(211 100% 64% / 0.3);
2367
+ background: hsl(211 100% 64% / 0.09);
2368
+ color: hsl(211 100% 78%);
2369
+ }
2370
+
2371
+ .cm-playground__chip--type-classification,
2372
+ .cm-playground__chip--type-translation,
2373
+ .cm-playground__chip--type-summarization,
2374
+ .cm-playground__chip--type-research {
2375
+ border-color: hsl(270 80% 68% / 0.28);
2376
+ background: hsl(270 80% 68% / 0.09);
2377
+ color: hsl(270 80% 82%);
2378
+ }
2379
+
2380
+ .cm-playground__chip--provider {
2381
+ border-color: hsl(var(--primary) / 0.18);
2382
+ background: hsl(221 50% 9% / 0.42);
2383
+ }
2384
+
1605
2385
  .cm-playground__badge,
1606
2386
  .cm-model-badge {
1607
2387
  min-width: 0;
@@ -1887,6 +2667,7 @@ export const shellCss = `/**
1887
2667
  }
1888
2668
 
1889
2669
  .cm-chat__body {
2670
+ position: relative;
1890
2671
  flex: 1;
1891
2672
  min-height: 0;
1892
2673
  overflow: auto;
@@ -2018,11 +2799,36 @@ export const shellCss = `/**
2018
2799
 
2019
2800
  .cm-chat__composer-row textarea {
2020
2801
  min-height: 2.55rem;
2802
+ max-height: calc(1.45em * 4 + 1rem);
2803
+ overflow-y: auto;
2021
2804
  border-color: hsl(var(--primary) / 0.16);
2022
2805
  border-radius: 14px;
2023
2806
  background: hsl(221 50% 9% / 0.4);
2024
2807
  }
2025
2808
 
2809
+ .cm-chat__jump {
2810
+ position: sticky;
2811
+ bottom: 0.35rem;
2812
+ z-index: 3;
2813
+ display: inline-flex;
2814
+ align-items: center;
2815
+ gap: 0.38rem;
2816
+ width: max-content;
2817
+ margin: 0.5rem auto 0;
2818
+ padding: 0.42rem 0.68rem;
2819
+ border: 1px solid hsl(var(--primary) / 0.28);
2820
+ border-radius: 999px;
2821
+ background: hsl(221 50% 8% / 0.86);
2822
+ color: hsl(var(--primary));
2823
+ font-family: var(--font-mono), monospace;
2824
+ font-size: 0.68rem;
2825
+ font-weight: 800;
2826
+ letter-spacing: 0.08em;
2827
+ text-transform: uppercase;
2828
+ box-shadow: 0 0 18px hsl(var(--primary) / 0.16);
2829
+ backdrop-filter: blur(14px);
2830
+ }
2831
+
2026
2832
  .cm-chat__icon-action {
2027
2833
  color: hsl(var(--muted-foreground));
2028
2834
  }
@@ -2041,6 +2847,20 @@ export const shellCss = `/**
2041
2847
  display: none;
2042
2848
  }
2043
2849
 
2850
+ .cm-playground__chips {
2851
+ flex-basis: 100%;
2852
+ order: 4;
2853
+ }
2854
+
2855
+ .cm-playground__chip-label,
2856
+ .cm-playground__divider {
2857
+ display: none;
2858
+ }
2859
+
2860
+ .cm-playground__chip-section--providers {
2861
+ flex-basis: 42%;
2862
+ }
2863
+
2044
2864
  .cm-chat-message__bubble {
2045
2865
  max-width: 88%;
2046
2866
  }