@compose-market/theme 0.0.92 → 0.0.94

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,335 @@ 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.8rem, 7vw, 5.9rem))
210
+ clamp(5.25rem, 6vw, 7rem)
211
+ calc(env(safe-area-inset-bottom) + clamp(5.35rem, 7.4vw, 6.35rem));
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%, 68rem);
362
+ min-width: 0;
363
+ align-items: center;
364
+ justify-content: flex-end;
365
+ gap: var(--cm-chrome-gap);
366
+ flex-wrap: nowrap;
367
+ pointer-events: auto;
318
368
  }
319
369
 
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;
370
+ .cm-app-chrome__hud-item,
371
+ .cm-app-chrome__hud-fold {
372
+ position: relative;
373
+ min-width: max-content;
374
+ flex: 0 0 auto;
328
375
  }
329
376
 
330
- .cm-app-chrome__brand-title span {
331
- color: hsl(var(--primary));
377
+ .cm-app-chrome__hud-item[data-priority="low"] {
378
+ flex-shrink: 0;
332
379
  }
333
380
 
334
- .cm-app-chrome__brand-subtitle {
335
- margin-top: 0.25rem;
336
- color: hsl(var(--accent));
381
+ .cm-hud-button {
382
+ display: inline-flex;
383
+ width: auto;
384
+ max-width: min(15.5rem, 52vw);
385
+ justify-content: center;
386
+ gap: 0.52rem;
387
+ padding-inline: clamp(0.72rem, 1.4vw, 0.92rem);
388
+ color: hsl(var(--foreground));
337
389
  font-family: var(--font-mono), monospace;
338
- font-size: 0.55rem;
339
- letter-spacing: 0.14em;
390
+ font-size: 0.72rem;
391
+ font-weight: 700;
392
+ letter-spacing: 0.06em;
393
+ line-height: 1;
340
394
  text-transform: uppercase;
395
+ white-space: nowrap;
341
396
  }
342
397
 
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;
398
+ .cm-hud-button--icon,
399
+ .cm-hud-button[data-icon-only="true"] {
400
+ width: var(--cm-hud-size);
401
+ padding-inline: 0;
358
402
  }
359
403
 
360
- .cm-app-nav__group {
361
- display: grid;
362
- gap: 0.32rem;
404
+ .cm-hud-value,
405
+ .cm-hud-address {
406
+ display: inline-block;
363
407
  min-width: 0;
408
+ overflow: hidden;
409
+ text-overflow: ellipsis;
410
+ white-space: nowrap;
364
411
  }
365
412
 
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;
413
+ .cm-hud-value {
414
+ color: hsl(var(--foreground));
375
415
  }
376
416
 
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;
417
+ .cm-hud-address {
418
+ color: hsl(var(--primary));
419
+ max-width: 8.8rem;
400
420
  }
401
421
 
402
- .cm-app-nav__item::before {
403
- content: "";
404
- position: absolute;
405
- left: 0.42rem;
406
- width: 0.16rem;
407
- height: 42%;
422
+ .cm-hud-status {
423
+ width: 0.48rem;
424
+ height: 0.48rem;
408
425
  border-radius: 999px;
409
426
  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;
427
+ box-shadow: 0 0 12px hsl(var(--primary) / 0.62);
428
+ flex: 0 0 auto;
416
429
  }
417
430
 
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;
431
+ .cm-hud-status[data-tone="red"] {
432
+ background: hsl(0 84% 66%);
433
+ box-shadow: 0 0 12px hsl(0 84% 66% / 0.54);
426
434
  }
427
435
 
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);
436
+ .cm-hud-status[data-tone="blue"] {
437
+ background: hsl(211 100% 64%);
438
+ box-shadow: 0 0 12px hsl(211 100% 64% / 0.54);
434
439
  }
435
440
 
436
- .cm-app-nav__item[data-active="true"]::before {
437
- opacity: 1;
438
- transform: scaleY(1);
441
+ .cm-hud-status[data-state="muted"] {
442
+ background: hsl(var(--muted-foreground));
443
+ box-shadow: none;
439
444
  }
440
445
 
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;
446
+ .cm-hud-overflow {
447
+ display: none;
448
448
  }
449
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;
450
+ .cm-app-chrome__hud-popover {
451
+ position: absolute;
452
+ top: calc(100% + 0.58rem);
453
+ right: 0;
454
+ z-index: 90;
455
+ width: min(21rem, calc(100vw - var(--cm-chrome-safe) * 2));
456
+ max-height: min(74dvh, 34rem);
457
+ overflow: auto;
458
+ border: 1px solid hsl(var(--primary) / 0.2);
459
+ border-radius: 18px;
460
+ background:
461
+ radial-gradient(circle at 20% 0%, hsl(var(--primary) / 0.11), transparent 34%),
462
+ radial-gradient(circle at 92% 100%, hsl(var(--accent) / 0.12), transparent 36%),
463
+ linear-gradient(145deg, hsl(226 21% 20% / 0.78), hsl(221 50% 7% / 0.86));
464
+ box-shadow:
465
+ inset 0 1px 0 hsl(0 0% 100% / 0.07),
466
+ 0 0 36px hsl(var(--primary) / 0.12);
467
+ backdrop-filter: blur(22px) saturate(1.16);
456
468
  }
457
469
 
458
- .cm-app-chrome[data-sidebar="collapsed"] .cm-app-nav__item {
459
- justify-content: center;
460
- padding-inline: 0;
470
+ .cm-hud-menu {
471
+ border: 1px solid hsl(var(--primary) / 0.2);
472
+ border-radius: 16px;
473
+ background:
474
+ radial-gradient(circle at 20% 0%, hsl(var(--primary) / 0.11), transparent 34%),
475
+ linear-gradient(145deg, hsl(226 21% 20% / 0.82), hsl(221 50% 7% / 0.9));
476
+ color: hsl(var(--foreground));
477
+ box-shadow:
478
+ inset 0 1px 0 hsl(0 0% 100% / 0.07),
479
+ 0 0 28px hsl(var(--primary) / 0.12);
480
+ backdrop-filter: blur(20px) saturate(1.14);
461
481
  }
462
482
 
463
- .cm-app-chrome[data-sidebar="collapsed"] .cm-app-nav__item::before {
464
- left: 0.26rem;
483
+ .cm-app-chrome__hud-popover--wide {
484
+ width: min(25rem, calc(100vw - var(--cm-chrome-safe) * 2));
465
485
  }
466
486
 
467
- .cm-app-chrome__sidebar-footer {
487
+ .cm-app-chrome__hud-popover-body {
468
488
  display: grid;
469
- gap: 0.45rem;
470
- padding: 0.85rem;
471
- transition: opacity 180ms ease;
489
+ gap: 0.58rem;
490
+ padding: 0.75rem;
472
491
  }
473
492
 
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;
493
+ .cm-app-chrome__hud-popover-title {
494
+ color: hsl(var(--foreground));
495
+ font-family: var(--font-display), sans-serif;
496
+ font-size: 0.82rem;
497
+ font-weight: 800;
498
+ letter-spacing: 0.04em;
482
499
  }
483
500
 
484
- .cm-app-chrome__toolbar-left {
485
- flex: 1;
501
+ .cm-app-chrome__hud-popover-copy {
502
+ color: hsl(var(--muted-foreground));
503
+ font-size: 0.78rem;
504
+ line-height: 1.45;
486
505
  }
487
506
 
488
- .cm-app-chrome__toolbar-right,
489
- .cm-app-chrome__mobile-right {
490
- flex: 0 0 auto;
507
+ .cm-app-chrome__hud-row {
508
+ display: flex;
509
+ align-items: center;
510
+ justify-content: space-between;
511
+ gap: 0.75rem;
512
+ min-height: 2.65rem;
513
+ padding: 0.42rem;
514
+ border-radius: 14px;
515
+ background: hsl(var(--primary) / 0.055);
516
+ }
517
+
518
+ .cm-app-chrome__hud-stack {
519
+ display: grid;
520
+ gap: 0.58rem;
491
521
  }
492
522
 
493
523
  .cm-search {
494
524
  display: flex;
495
- width: min(100%, 28rem);
496
525
  min-width: 0;
497
526
  align-items: center;
498
527
  gap: 0.6rem;
@@ -522,39 +551,15 @@ export const shellCss = `/**
522
551
  color: hsl(var(--muted-foreground) / 0.72);
523
552
  }
524
553
 
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
-
554
+ .cm-app-chrome__sidebar,
555
+ .cm-app-chrome__topbar,
556
+ .cm-app-chrome__mobilebar,
541
557
  .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
558
  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
559
  }
555
560
 
556
- .cm-app-chrome__drawer[data-open="true"] {
557
- transform: translate3d(0, 0, 0);
561
+ .cm-app-chrome__brand {
562
+ display: none;
558
563
  }
559
564
 
560
565
  .cm-shell-panel--muted {
@@ -827,6 +832,30 @@ export const shellCss = `/**
827
832
  padding: 1rem;
828
833
  }
829
834
 
835
+ @container (max-width: 42rem) {
836
+ .cm-app-chrome__hud-item[data-priority="low"] {
837
+ display: none;
838
+ }
839
+
840
+ .cm-hud-overflow {
841
+ display: inline-flex;
842
+ }
843
+ }
844
+
845
+ @container (max-width: 31rem) {
846
+ .cm-app-chrome__hud-item[data-priority="medium"] .cm-hud-value,
847
+ .cm-app-chrome__hud-item[data-priority="medium"] .cm-hud-address,
848
+ .cm-app-chrome__hud-item[data-priority="medium"] .cm-hud-label {
849
+ display: none;
850
+ }
851
+
852
+ .cm-app-chrome__hud-item[data-priority="medium"] .cm-hud-button,
853
+ .cm-app-chrome__hud-item[data-priority="medium"] .cm-session-trigger {
854
+ width: var(--cm-hud-size);
855
+ padding-inline: 0;
856
+ }
857
+ }
858
+
830
859
  @media (max-width: 820px) {
831
860
  .cm-shell-page-header,
832
861
  .cm-shell-banner {
@@ -843,29 +872,74 @@ export const shellCss = `/**
843
872
  overflow-x: auto;
844
873
  }
845
874
 
846
- .cm-app-chrome {
847
- --cm-chrome-active-sidebar: 0rem;
875
+ .cm-app-chrome__main {
876
+ padding:
877
+ calc(env(safe-area-inset-top) + clamp(4.25rem, 14vw, 4.85rem))
878
+ clamp(0.75rem, 4.2vw, 1.05rem)
879
+ calc(env(safe-area-inset-bottom) + clamp(5.55rem, 16vw, 6.55rem));
848
880
  }
849
881
 
850
- .cm-app-chrome__sidebar,
851
- .cm-app-chrome__topbar {
852
- display: none;
882
+ .cm-app-chrome__hud {
883
+ justify-content: flex-end;
853
884
  }
854
885
 
855
- .cm-app-chrome__mobilebar,
856
- .cm-app-chrome__drawer {
886
+ .cm-app-chrome__hud-group {
887
+ max-width: min(100%, 100vw - var(--cm-chrome-safe) * 2);
888
+ }
889
+
890
+ .cm-app-chrome__hud-item,
891
+ .cm-app-chrome__hud-fold {
892
+ min-width: auto;
893
+ }
894
+
895
+ .cm-app-chrome__navdock {
896
+ inset-block-start: auto;
897
+ inset-block-end: calc(env(safe-area-inset-bottom) + var(--cm-chrome-safe));
898
+ inset-inline: calc(env(safe-area-inset-left) + var(--cm-chrome-safe)) calc(env(safe-area-inset-right) + var(--cm-chrome-safe));
857
899
  display: flex;
900
+ justify-content: center;
901
+ overflow-x: auto;
902
+ padding: 0.22rem;
903
+ transform: none;
904
+ scrollbar-width: none;
858
905
  }
859
906
 
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));
907
+ .cm-app-chrome__navdock::-webkit-scrollbar {
908
+ display: none;
909
+ }
910
+
911
+ .cm-app-chrome__navitem {
912
+ flex: 0 0 auto;
913
+ }
914
+
915
+ .cm-app-chrome__navitem::before {
916
+ inset-inline-start: 50%;
917
+ top: auto;
918
+ bottom: -0.22rem;
919
+ width: 46%;
920
+ height: 0.16rem;
921
+ transform: translateX(-50%) scaleX(0.45);
922
+ }
923
+
924
+ .cm-app-chrome__navitem[data-active="true"]::before {
925
+ transform: translateX(-50%) scaleX(1);
926
+ }
927
+
928
+ .cm-app-chrome__tooltip {
929
+ display: none;
930
+ }
931
+
932
+ .cm-hud-address,
933
+ .cm-hud-label {
934
+ display: none;
935
+ }
936
+
937
+ .cm-app-chrome__hud-item[data-priority="low"] {
938
+ display: none;
865
939
  }
866
940
 
867
- .cm-app-nav__item {
868
- min-height: 2.85rem;
941
+ .cm-hud-overflow {
942
+ display: inline-flex;
869
943
  }
870
944
  }
871
945
 
@@ -1244,7 +1318,7 @@ export const shellCss = `/**
1244
1318
  display: flex;
1245
1319
  flex-direction: column;
1246
1320
  min-width: 0;
1247
- height: calc(100dvh - var(--cm-chrome-topbar) - var(--cm-chrome-gutter) * 3);
1321
+ height: min(58rem, calc(100dvh - clamp(8.5rem, 14vw, 10rem)));
1248
1322
  min-height: 34rem;
1249
1323
  overflow: hidden;
1250
1324
  border-radius: 16px;
@@ -1867,7 +1941,7 @@ export const shellCss = `/**
1867
1941
 
1868
1942
  @media (max-width: 820px) {
1869
1943
  .cm-playground {
1870
- height: calc(100dvh - var(--cm-chrome-mobile) - var(--cm-chrome-gutter) * 3 - env(safe-area-inset-top));
1944
+ height: calc(100dvh - clamp(10rem, 28vw, 11.75rem) - env(safe-area-inset-top) - env(safe-area-inset-bottom));
1871
1945
  min-height: 30rem;
1872
1946
  }
1873
1947
 
@@ -1881,10 +1955,9 @@ export const shellCss = `/**
1881
1955
  }
1882
1956
 
1883
1957
  @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,
1958
+ .cm-app-chrome__navitem,
1959
+ .cm-hud-button,
1960
+ .cm-app-chrome__hud-popover,
1888
1961
  .cm-playground__badge,
1889
1962
  .cm-playground__chip,
1890
1963
  .cm-chat-message__bubble {