@compose-market/theme 0.0.92 → 0.0.93

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.
@@ -193,306 +193,334 @@ export const shellCss = `/**
193
193
  }
194
194
 
195
195
  .cm-app-chrome {
196
- --cm-chrome-active-sidebar: var(--cm-chrome-sidebar);
196
+ --cm-chrome-safe: clamp(0.62rem, 1.25vw, 1rem);
197
+ --cm-chrome-gap: clamp(0.34rem, 0.75vw, 0.55rem);
198
+ --cm-hud-size: clamp(2.65rem, 4.1vw, 3rem);
199
+ --cm-hud-radius: 999px;
197
200
  position: relative;
198
201
  min-height: 100dvh;
202
+ isolation: isolate;
199
203
  }
200
204
 
201
- .cm-app-chrome[data-sidebar="collapsed"] {
202
- --cm-chrome-active-sidebar: var(--cm-chrome-sidebar-collapsed);
205
+ .cm-app-chrome__main {
206
+ min-width: 0;
207
+ min-height: 100dvh;
208
+ padding:
209
+ calc(env(safe-area-inset-top) + clamp(4.6rem, 7vw, 5.6rem))
210
+ clamp(0.85rem, 2.3vw, 2rem)
211
+ calc(env(safe-area-inset-bottom) + clamp(5.1rem, 7.4vw, 6.1rem));
203
212
  }
204
213
 
205
- .cm-app-chrome__sidebar,
206
- .cm-app-chrome__topbar,
207
- .cm-app-chrome__mobilebar,
208
- .cm-app-chrome__drawer {
214
+ .cm-app-chrome__navdock {
215
+ position: fixed;
216
+ inset-block-start: 50%;
217
+ inset-inline-start: calc(env(safe-area-inset-left) + var(--cm-chrome-safe));
218
+ z-index: 55;
219
+ display: grid;
220
+ gap: var(--cm-chrome-gap);
221
+ transform: translate3d(0, -50%, 0);
222
+ pointer-events: none;
223
+ }
224
+
225
+ .cm-app-chrome__navitem,
226
+ .cm-hud-button {
227
+ position: relative;
228
+ display: inline-grid;
229
+ place-items: center;
230
+ width: var(--cm-hud-size);
231
+ min-width: var(--cm-hud-size);
232
+ height: var(--cm-hud-size);
233
+ min-height: var(--cm-hud-size);
209
234
  border: 1px solid hsl(var(--primary) / 0.18);
235
+ border-radius: var(--cm-hud-radius);
210
236
  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%);
237
+ radial-gradient(circle at 30% 14%, hsl(var(--primary) / 0.15), transparent 38%),
238
+ radial-gradient(circle at 78% 90%, hsl(var(--accent) / 0.12), transparent 42%),
239
+ linear-gradient(145deg, hsl(226 21% 23% / 0.48), hsl(221 50% 9% / 0.38));
240
+ color: hsl(var(--muted-foreground));
214
241
  box-shadow:
215
242
  inset 0 1px 0 hsl(0 0% 100% / 0.07),
216
243
  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;
244
+ 0 0 26px hsl(var(--primary) / 0.065);
245
+ backdrop-filter: blur(18px) saturate(1.16);
246
+ cursor: pointer;
247
+ pointer-events: auto;
248
+ text-decoration: none;
232
249
  transition:
233
- width 240ms ease,
250
+ transform 160ms ease,
234
251
  border-color 180ms ease,
235
- box-shadow 180ms ease;
252
+ background-color 180ms ease,
253
+ color 180ms ease,
254
+ box-shadow 180ms ease,
255
+ opacity 180ms ease;
236
256
  }
237
257
 
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);
258
+ .cm-app-chrome__navitem::before {
259
+ content: "";
260
+ position: absolute;
261
+ inset-inline-start: -0.28rem;
262
+ top: 50%;
263
+ width: 0.17rem;
264
+ height: 48%;
265
+ border-radius: 999px;
266
+ background: linear-gradient(180deg, hsl(var(--primary)), hsl(var(--accent)));
267
+ box-shadow:
268
+ 0 0 12px hsl(var(--primary) / 0.72),
269
+ 0 0 18px hsl(var(--accent) / 0.35);
270
+ opacity: 0;
271
+ transform: translateY(-50%) scaleY(0.45);
251
272
  transition:
252
- left 240ms ease,
253
- border-color 180ms ease,
254
- box-shadow 180ms ease;
273
+ opacity 180ms ease,
274
+ transform 180ms ease;
255
275
  }
256
276
 
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;
277
+ .cm-app-chrome__navitem:hover,
278
+ .cm-app-chrome__navitem:focus-visible,
279
+ .cm-app-chrome__navitem[data-active="true"],
280
+ .cm-hud-button:hover,
281
+ .cm-hud-button:focus-visible,
282
+ .cm-hud-button[data-active="true"] {
283
+ color: hsl(var(--foreground));
284
+ border-color: hsl(var(--primary) / 0.42);
285
+ outline: none;
286
+ transform: translate3d(0, -1px, 0);
287
+ box-shadow:
288
+ inset 0 0 24px hsl(var(--primary) / 0.075),
289
+ 0 0 24px hsl(var(--primary) / 0.14),
290
+ 0 0 18px hsl(var(--accent) / 0.08);
269
291
  }
270
292
 
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;
293
+ .cm-app-chrome__navitem[data-active="true"] {
294
+ color: hsl(var(--primary));
295
+ border-color: hsl(var(--primary) / 0.52);
280
296
  }
281
297
 
282
- .cm-app-chrome__brand {
283
- display: flex;
284
- align-items: center;
285
- gap: 0.7rem;
286
- min-width: 0;
287
- padding: 1rem;
298
+ .cm-app-chrome__navitem[data-active="true"]::before {
299
+ opacity: 1;
300
+ transform: translateY(-50%) scaleY(1);
288
301
  }
289
302
 
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));
303
+ .cm-app-chrome__navitem-icon,
304
+ .cm-hud-icon,
305
+ .cm-app-nav__icon {
306
+ display: inline-flex;
307
+ width: 1.12rem;
308
+ height: 1.12rem;
309
+ align-items: center;
310
+ justify-content: center;
311
+ color: currentColor;
298
312
  }
299
313
 
300
- .cm-app-chrome__brand-copy {
301
- min-width: 0;
314
+ .cm-app-chrome__tooltip {
315
+ position: absolute;
316
+ inset-inline-start: calc(100% + 0.55rem);
317
+ top: 50%;
318
+ max-width: min(14rem, 52vw);
319
+ padding: 0.42rem 0.58rem;
320
+ border: 1px solid hsl(var(--primary) / 0.22);
321
+ border-radius: 999px;
322
+ background: hsl(221 50% 8% / 0.84);
323
+ color: hsl(var(--foreground));
324
+ font-family: var(--font-mono), monospace;
325
+ font-size: 0.64rem;
326
+ font-weight: 700;
327
+ letter-spacing: 0.1em;
328
+ line-height: 1;
329
+ text-transform: uppercase;
330
+ white-space: nowrap;
331
+ box-shadow: 0 0 18px hsl(var(--primary) / 0.12);
332
+ opacity: 0;
333
+ pointer-events: none;
334
+ transform: translate3d(-0.18rem, -50%, 0);
302
335
  transition:
303
- opacity 180ms ease,
304
- transform 180ms ease;
336
+ opacity 150ms ease,
337
+ transform 150ms ease;
305
338
  }
306
339
 
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;
340
+ .cm-app-chrome__navitem:hover .cm-app-chrome__tooltip,
341
+ .cm-app-chrome__navitem:focus-visible .cm-app-chrome__tooltip {
342
+ opacity: 1;
343
+ transform: translate3d(0, -50%, 0);
344
+ }
345
+
346
+ .cm-app-chrome__hud {
347
+ position: fixed;
348
+ inset-block-start: calc(env(safe-area-inset-top) + var(--cm-chrome-safe));
349
+ inset-inline: calc(env(safe-area-inset-left) + var(--cm-chrome-safe)) calc(env(safe-area-inset-right) + var(--cm-chrome-safe));
350
+ z-index: 60;
351
+ display: flex;
352
+ align-items: flex-start;
353
+ justify-content: flex-end;
354
+ gap: var(--cm-chrome-gap);
312
355
  pointer-events: none;
313
356
  }
314
357
 
315
- .cm-app-chrome[data-sidebar="collapsed"] .cm-app-chrome__brand {
316
- justify-content: center;
317
- padding-inline: 0.65rem;
358
+ .cm-app-chrome__hud-group {
359
+ container-type: inline-size;
360
+ display: flex;
361
+ max-width: min(100%, 47rem);
362
+ min-width: 0;
363
+ align-items: center;
364
+ justify-content: flex-end;
365
+ gap: var(--cm-chrome-gap);
366
+ pointer-events: auto;
318
367
  }
319
368
 
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;
369
+ .cm-app-chrome__hud-item,
370
+ .cm-app-chrome__hud-fold {
371
+ position: relative;
372
+ min-width: 0;
373
+ flex: 0 1 auto;
328
374
  }
329
375
 
330
- .cm-app-chrome__brand-title span {
331
- color: hsl(var(--primary));
376
+ .cm-app-chrome__hud-item[data-priority="low"] {
377
+ flex-shrink: 1;
332
378
  }
333
379
 
334
- .cm-app-chrome__brand-subtitle {
335
- margin-top: 0.25rem;
336
- color: hsl(var(--accent));
380
+ .cm-hud-button {
381
+ display: inline-flex;
382
+ width: auto;
383
+ max-width: min(15.5rem, 52vw);
384
+ justify-content: center;
385
+ gap: 0.52rem;
386
+ padding-inline: clamp(0.72rem, 1.4vw, 0.92rem);
387
+ color: hsl(var(--foreground));
337
388
  font-family: var(--font-mono), monospace;
338
- font-size: 0.55rem;
339
- letter-spacing: 0.14em;
389
+ font-size: 0.72rem;
390
+ font-weight: 700;
391
+ letter-spacing: 0.06em;
392
+ line-height: 1;
340
393
  text-transform: uppercase;
394
+ white-space: nowrap;
341
395
  }
342
396
 
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;
397
+ .cm-hud-button--icon,
398
+ .cm-hud-button[data-icon-only="true"] {
399
+ width: var(--cm-hud-size);
400
+ padding-inline: 0;
358
401
  }
359
402
 
360
- .cm-app-nav__group {
361
- display: grid;
362
- gap: 0.32rem;
403
+ .cm-hud-value,
404
+ .cm-hud-address {
405
+ display: inline-block;
363
406
  min-width: 0;
407
+ overflow: hidden;
408
+ text-overflow: ellipsis;
409
+ white-space: nowrap;
364
410
  }
365
411
 
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;
412
+ .cm-hud-value {
413
+ color: hsl(var(--foreground));
375
414
  }
376
415
 
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;
416
+ .cm-hud-address {
417
+ color: hsl(var(--primary));
418
+ max-width: 8.8rem;
400
419
  }
401
420
 
402
- .cm-app-nav__item::before {
403
- content: "";
404
- position: absolute;
405
- left: 0.42rem;
406
- width: 0.16rem;
407
- height: 42%;
421
+ .cm-hud-status {
422
+ width: 0.48rem;
423
+ height: 0.48rem;
408
424
  border-radius: 999px;
409
425
  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;
426
+ box-shadow: 0 0 12px hsl(var(--primary) / 0.62);
427
+ flex: 0 0 auto;
416
428
  }
417
429
 
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;
430
+ .cm-hud-status[data-tone="red"] {
431
+ background: hsl(0 84% 66%);
432
+ box-shadow: 0 0 12px hsl(0 84% 66% / 0.54);
426
433
  }
427
434
 
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);
435
+ .cm-hud-status[data-tone="blue"] {
436
+ background: hsl(211 100% 64%);
437
+ box-shadow: 0 0 12px hsl(211 100% 64% / 0.54);
434
438
  }
435
439
 
436
- .cm-app-nav__item[data-active="true"]::before {
437
- opacity: 1;
438
- transform: scaleY(1);
440
+ .cm-hud-status[data-state="muted"] {
441
+ background: hsl(var(--muted-foreground));
442
+ box-shadow: none;
439
443
  }
440
444
 
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;
445
+ .cm-hud-overflow {
446
+ display: none;
448
447
  }
449
448
 
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;
449
+ .cm-app-chrome__hud-popover {
450
+ position: absolute;
451
+ top: calc(100% + 0.58rem);
452
+ right: 0;
453
+ z-index: 90;
454
+ width: min(21rem, calc(100vw - var(--cm-chrome-safe) * 2));
455
+ max-height: min(74dvh, 34rem);
456
+ overflow: auto;
457
+ border: 1px solid hsl(var(--primary) / 0.2);
458
+ border-radius: 18px;
459
+ background:
460
+ radial-gradient(circle at 20% 0%, hsl(var(--primary) / 0.11), transparent 34%),
461
+ radial-gradient(circle at 92% 100%, hsl(var(--accent) / 0.12), transparent 36%),
462
+ linear-gradient(145deg, hsl(226 21% 20% / 0.78), hsl(221 50% 7% / 0.86));
463
+ box-shadow:
464
+ inset 0 1px 0 hsl(0 0% 100% / 0.07),
465
+ 0 0 36px hsl(var(--primary) / 0.12);
466
+ backdrop-filter: blur(22px) saturate(1.16);
456
467
  }
457
468
 
458
- .cm-app-chrome[data-sidebar="collapsed"] .cm-app-nav__item {
459
- justify-content: center;
460
- padding-inline: 0;
469
+ .cm-hud-menu {
470
+ border: 1px solid hsl(var(--primary) / 0.2);
471
+ border-radius: 16px;
472
+ background:
473
+ radial-gradient(circle at 20% 0%, hsl(var(--primary) / 0.11), transparent 34%),
474
+ linear-gradient(145deg, hsl(226 21% 20% / 0.82), hsl(221 50% 7% / 0.9));
475
+ color: hsl(var(--foreground));
476
+ box-shadow:
477
+ inset 0 1px 0 hsl(0 0% 100% / 0.07),
478
+ 0 0 28px hsl(var(--primary) / 0.12);
479
+ backdrop-filter: blur(20px) saturate(1.14);
461
480
  }
462
481
 
463
- .cm-app-chrome[data-sidebar="collapsed"] .cm-app-nav__item::before {
464
- left: 0.26rem;
482
+ .cm-app-chrome__hud-popover--wide {
483
+ width: min(25rem, calc(100vw - var(--cm-chrome-safe) * 2));
465
484
  }
466
485
 
467
- .cm-app-chrome__sidebar-footer {
486
+ .cm-app-chrome__hud-popover-body {
468
487
  display: grid;
469
- gap: 0.45rem;
470
- padding: 0.85rem;
471
- transition: opacity 180ms ease;
488
+ gap: 0.58rem;
489
+ padding: 0.75rem;
472
490
  }
473
491
 
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;
492
+ .cm-app-chrome__hud-popover-title {
493
+ color: hsl(var(--foreground));
494
+ font-family: var(--font-display), sans-serif;
495
+ font-size: 0.82rem;
496
+ font-weight: 800;
497
+ letter-spacing: 0.04em;
482
498
  }
483
499
 
484
- .cm-app-chrome__toolbar-left {
485
- flex: 1;
500
+ .cm-app-chrome__hud-popover-copy {
501
+ color: hsl(var(--muted-foreground));
502
+ font-size: 0.78rem;
503
+ line-height: 1.45;
486
504
  }
487
505
 
488
- .cm-app-chrome__toolbar-right,
489
- .cm-app-chrome__mobile-right {
490
- flex: 0 0 auto;
506
+ .cm-app-chrome__hud-row {
507
+ display: flex;
508
+ align-items: center;
509
+ justify-content: space-between;
510
+ gap: 0.75rem;
511
+ min-height: 2.65rem;
512
+ padding: 0.42rem;
513
+ border-radius: 14px;
514
+ background: hsl(var(--primary) / 0.055);
515
+ }
516
+
517
+ .cm-app-chrome__hud-stack {
518
+ display: grid;
519
+ gap: 0.58rem;
491
520
  }
492
521
 
493
522
  .cm-search {
494
523
  display: flex;
495
- width: min(100%, 28rem);
496
524
  min-width: 0;
497
525
  align-items: center;
498
526
  gap: 0.6rem;
@@ -522,39 +550,15 @@ export const shellCss = `/**
522
550
  color: hsl(var(--muted-foreground) / 0.72);
523
551
  }
524
552
 
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
-
553
+ .cm-app-chrome__sidebar,
554
+ .cm-app-chrome__topbar,
555
+ .cm-app-chrome__mobilebar,
541
556
  .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
557
  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
558
  }
555
559
 
556
- .cm-app-chrome__drawer[data-open="true"] {
557
- transform: translate3d(0, 0, 0);
560
+ .cm-app-chrome__brand {
561
+ display: none;
558
562
  }
559
563
 
560
564
  .cm-shell-panel--muted {
@@ -827,6 +831,30 @@ export const shellCss = `/**
827
831
  padding: 1rem;
828
832
  }
829
833
 
834
+ @container (max-width: 42rem) {
835
+ .cm-app-chrome__hud-item[data-priority="low"] {
836
+ display: none;
837
+ }
838
+
839
+ .cm-hud-overflow {
840
+ display: inline-flex;
841
+ }
842
+ }
843
+
844
+ @container (max-width: 31rem) {
845
+ .cm-app-chrome__hud-item[data-priority="medium"] .cm-hud-value,
846
+ .cm-app-chrome__hud-item[data-priority="medium"] .cm-hud-address,
847
+ .cm-app-chrome__hud-item[data-priority="medium"] .cm-hud-label {
848
+ display: none;
849
+ }
850
+
851
+ .cm-app-chrome__hud-item[data-priority="medium"] .cm-hud-button,
852
+ .cm-app-chrome__hud-item[data-priority="medium"] .cm-session-trigger {
853
+ width: var(--cm-hud-size);
854
+ padding-inline: 0;
855
+ }
856
+ }
857
+
830
858
  @media (max-width: 820px) {
831
859
  .cm-shell-page-header,
832
860
  .cm-shell-banner {
@@ -843,29 +871,69 @@ export const shellCss = `/**
843
871
  overflow-x: auto;
844
872
  }
845
873
 
846
- .cm-app-chrome {
847
- --cm-chrome-active-sidebar: 0rem;
874
+ .cm-app-chrome__main {
875
+ padding:
876
+ calc(env(safe-area-inset-top) + clamp(4.25rem, 14vw, 4.85rem))
877
+ clamp(0.75rem, 4.2vw, 1.05rem)
878
+ calc(env(safe-area-inset-bottom) + clamp(5.55rem, 16vw, 6.55rem));
848
879
  }
849
880
 
850
- .cm-app-chrome__sidebar,
851
- .cm-app-chrome__topbar {
852
- display: none;
881
+ .cm-app-chrome__hud {
882
+ justify-content: flex-end;
853
883
  }
854
884
 
855
- .cm-app-chrome__mobilebar,
856
- .cm-app-chrome__drawer {
885
+ .cm-app-chrome__hud-group {
886
+ max-width: min(100%, 100vw - var(--cm-chrome-safe) * 2);
887
+ }
888
+
889
+ .cm-app-chrome__navdock {
890
+ inset-block-start: auto;
891
+ inset-block-end: calc(env(safe-area-inset-bottom) + var(--cm-chrome-safe));
892
+ inset-inline: calc(env(safe-area-inset-left) + var(--cm-chrome-safe)) calc(env(safe-area-inset-right) + var(--cm-chrome-safe));
857
893
  display: flex;
894
+ justify-content: center;
895
+ overflow-x: auto;
896
+ padding: 0.22rem;
897
+ transform: none;
898
+ scrollbar-width: none;
858
899
  }
859
900
 
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));
901
+ .cm-app-chrome__navdock::-webkit-scrollbar {
902
+ display: none;
903
+ }
904
+
905
+ .cm-app-chrome__navitem {
906
+ flex: 0 0 auto;
907
+ }
908
+
909
+ .cm-app-chrome__navitem::before {
910
+ inset-inline-start: 50%;
911
+ top: auto;
912
+ bottom: -0.22rem;
913
+ width: 46%;
914
+ height: 0.16rem;
915
+ transform: translateX(-50%) scaleX(0.45);
916
+ }
917
+
918
+ .cm-app-chrome__navitem[data-active="true"]::before {
919
+ transform: translateX(-50%) scaleX(1);
920
+ }
921
+
922
+ .cm-app-chrome__tooltip {
923
+ display: none;
924
+ }
925
+
926
+ .cm-hud-address,
927
+ .cm-hud-label {
928
+ display: none;
929
+ }
930
+
931
+ .cm-app-chrome__hud-item[data-priority="low"] {
932
+ display: none;
865
933
  }
866
934
 
867
- .cm-app-nav__item {
868
- min-height: 2.85rem;
935
+ .cm-hud-overflow {
936
+ display: inline-flex;
869
937
  }
870
938
  }
871
939
 
@@ -1244,7 +1312,7 @@ export const shellCss = `/**
1244
1312
  display: flex;
1245
1313
  flex-direction: column;
1246
1314
  min-width: 0;
1247
- height: calc(100dvh - var(--cm-chrome-topbar) - var(--cm-chrome-gutter) * 3);
1315
+ height: min(58rem, calc(100dvh - clamp(8.5rem, 14vw, 10rem)));
1248
1316
  min-height: 34rem;
1249
1317
  overflow: hidden;
1250
1318
  border-radius: 16px;
@@ -1867,7 +1935,7 @@ export const shellCss = `/**
1867
1935
 
1868
1936
  @media (max-width: 820px) {
1869
1937
  .cm-playground {
1870
- height: calc(100dvh - var(--cm-chrome-mobile) - var(--cm-chrome-gutter) * 3 - env(safe-area-inset-top));
1938
+ height: calc(100dvh - clamp(10rem, 28vw, 11.75rem) - env(safe-area-inset-top) - env(safe-area-inset-bottom));
1871
1939
  min-height: 30rem;
1872
1940
  }
1873
1941
 
@@ -1881,10 +1949,9 @@ export const shellCss = `/**
1881
1949
  }
1882
1950
 
1883
1951
  @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,
1952
+ .cm-app-chrome__navitem,
1953
+ .cm-hud-button,
1954
+ .cm-app-chrome__hud-popover,
1888
1955
  .cm-playground__badge,
1889
1956
  .cm-playground__chip,
1890
1957
  .cm-chat-message__bubble {