@hraness/design-kit 0.31.1 → 0.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/AGENT_SETUP.md +89 -0
  2. package/ARTICLE_COPY.md +1 -1
  3. package/MARKETING_COPY.md +13 -1
  4. package/README.md +13 -4
  5. package/dist/{chunk-7b1586eb.js → chunk-4d79eskk.js} +62 -33
  6. package/dist/{chunk-44djxk16.js → chunk-95p0j72v.js} +643 -612
  7. package/dist/{chunk-eh71jz57.js → chunk-vst6p4wd.js} +96 -9
  8. package/dist/index.js +6 -2
  9. package/dist/mockups/client.js +19 -18
  10. package/dist/provider-marks.js +1 -1
  11. package/dist/react/index.js +1615 -649
  12. package/dist/react/server.js +4 -2
  13. package/dist/stylex-manifest.json +1 -1
  14. package/dist/stylex.css +180 -4
  15. package/package.json +7 -3
  16. package/portfolio-inventory.json +1 -1
  17. package/src/agent-setup.ts +47 -0
  18. package/src/index.ts +1 -0
  19. package/src/mockups/client.tsx +26 -22
  20. package/src/mockups.css +44 -13
  21. package/src/provider-marks.generated.ts +16 -0
  22. package/src/provider-marks.ts +14 -15
  23. package/src/react/agent-setup-prompt.stylex.ts +196 -0
  24. package/src/react/agent-setup-prompt.tsx +413 -0
  25. package/src/react/article.tsx +12 -20
  26. package/src/react/design-gallery.tsx +28 -1
  27. package/src/react/index.ts +1 -0
  28. package/src/react/launch-beats.tsx +7 -4
  29. package/src/react/product-marketing.stylex.ts +8 -0
  30. package/src/react/product-marketing.tsx +37 -10
  31. package/src/react/provider-mark.stylex.ts +17 -10
  32. package/src/react/provider-mark.tsx +6 -16
  33. package/vendor/provider-marks/MEM0-LICENSE +201 -0
  34. package/vendor/provider-marks/SUPERMEMORY-LICENSE +21 -0
  35. package/vendor/provider-marks/UPSTREAM.md +12 -1
  36. package/vendor/provider-marks/lobehub/githubcopilot.svg +1 -0
  37. package/vendor/provider-marks/lobehub/obsidian-color.svg +1 -0
  38. package/vendor/provider-marks/lobehub/obsidian.svg +1 -0
  39. package/vendor/provider-marks/mem0-art.svg +1 -0
  40. package/vendor/provider-marks/mem0-glyph.svg +1 -0
  41. package/vendor/provider-marks/mem0.svg +1 -0
  42. package/vendor/provider-marks/supermemory.svg +1 -0
package/src/mockups.css CHANGED
@@ -8,7 +8,9 @@
8
8
  *
9
9
  * Theming: colors use light-dark() and follow the inherited color-scheme.
10
10
  * `data-hkm-theme="light|dark"` pins one mockup. Products retheme through
11
- * --hkm-accent, --hkm-font, --hkm-mono, and --hkm-serif.
11
+ * the --hkm-accent / --hkm-accent-foreground pair, --hkm-font, --hkm-mono,
12
+ * and --hkm-serif. Custom accent fills must supply their readable foreground;
13
+ * filled controls and their details always consume the pair together.
12
14
  *
13
15
  * Motion: nothing animates on first paint. Transitions turn on under
14
16
  * `[data-hkm-animated]`, which the client shells set after the first user
@@ -22,6 +24,7 @@
22
24
 
23
25
  :where(.hkm-root, .hkm-showcase) {
24
26
  --hkm-accent: var(--hraness-site-accent, var(--primary, #2f6fed));
27
+ --hkm-accent-foreground: var(--hraness-site-accent-ink, var(--primary-foreground, #ffffff));
25
28
  --hkm-font: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, Roboto, "Helvetica Neue", Arial, sans-serif;
26
29
  --hkm-mono: var(--font-mono, ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace);
27
30
  --hkm-serif: "Iowan Old Style", Charter, Georgia, "Times New Roman", serif;
@@ -550,7 +553,7 @@
550
553
 
551
554
  .hkm-root .hkm-popover-item[data-hkm-selected] {
552
555
  background: var(--hkm-accent);
553
- color: #ffffff;
556
+ color: var(--hkm-accent-foreground);
554
557
  }
555
558
 
556
559
  .hkm-root .hkm-popover-dot {
@@ -575,7 +578,7 @@
575
578
  }
576
579
 
577
580
  .hkm-root .hkm-popover-item[data-hkm-selected] .hkm-popover-dot {
578
- background: #ffffff;
581
+ background: currentColor;
579
582
  }
580
583
 
581
584
  .hkm-root .hkm-popover-text {
@@ -594,7 +597,7 @@
594
597
  }
595
598
 
596
599
  .hkm-root .hkm-popover-item[data-hkm-selected] .hkm-popover-detail {
597
- color: rgb(255 255 255 / 0.82);
600
+ color: inherit;
598
601
  }
599
602
 
600
603
  .hkm-root .hkm-popover-footer {
@@ -1486,7 +1489,7 @@
1486
1489
  block-size: 34px;
1487
1490
  border-radius: 7px;
1488
1491
  background: var(--hkm-accent);
1489
- color: #ffffff;
1492
+ color: var(--hkm-accent-foreground);
1490
1493
  }
1491
1494
 
1492
1495
  .hkm-root .hkm-work-top .hkm-search-field {
@@ -2238,11 +2241,11 @@
2238
2241
  /* ---------------------------------------------------------------- */
2239
2242
 
2240
2243
  .hkm-showcase {
2241
- --hkm-sc-bg: light-dark(#fafafa, #141518);
2242
- --hkm-sc-field: light-dark(#ffffff, #1e1f23);
2244
+ --hkm-sc-bg: var(--background, light-dark(#fafafa, #141518));
2245
+ --hkm-sc-field: var(--surface-raised, light-dark(#ffffff, #1e1f23));
2243
2246
  --hkm-sc-fg: var(--foreground, light-dark(#15171a, #eceef1));
2244
- --hkm-sc-muted: var(--muted-foreground, light-dark(#5e6570, #9ba2ac));
2245
- --hkm-sc-line: light-dark(#e3e5e8, #2c2e34);
2247
+ --hkm-sc-muted: var(--muted, var(--muted-foreground, light-dark(#5e6570, #9ba2ac)));
2248
+ --hkm-sc-line: var(--line, light-dark(#e3e5e8, #2c2e34));
2246
2249
  --hkm-sc-radius: var(--radius-lg, 14px);
2247
2250
 
2248
2251
  container: hkm-showcase / inline-size;
@@ -2330,7 +2333,7 @@
2330
2333
  .hkm-showcase .hkm-tab[data-hkm-done] .hkm-step-number {
2331
2334
  border-color: var(--hkm-accent);
2332
2335
  background: var(--hkm-accent);
2333
- color: #ffffff;
2336
+ color: var(--hkm-accent-foreground);
2334
2337
  }
2335
2338
 
2336
2339
  .hkm-showcase .hkm-showcase-settings {
@@ -2369,7 +2372,7 @@
2369
2372
 
2370
2373
  .hkm-showcase .hkm-segmented button[aria-pressed="true"] {
2371
2374
  background: var(--hkm-accent);
2372
- color: #ffffff;
2375
+ color: var(--hkm-accent-foreground);
2373
2376
  }
2374
2377
 
2375
2378
  /* Disabled segments keep a readable muted label instead of fading the whole button. */
@@ -2396,6 +2399,10 @@
2396
2399
  box-shadow: inset 0 0 0 2px var(--hkm-sc-field);
2397
2400
  }
2398
2401
 
2402
+ .hkm-showcase .hkm-segmented button[aria-pressed="true"]:focus-visible {
2403
+ outline-color: var(--hkm-accent-foreground);
2404
+ }
2405
+
2399
2406
  .hkm-showcase .hkm-showcase-hint {
2400
2407
  min-block-size: 2.9em;
2401
2408
  margin: 0;
@@ -2450,7 +2457,8 @@
2450
2457
  }
2451
2458
 
2452
2459
  .hkm-showcase .hkm-step-button:disabled {
2453
- opacity: 0.45;
2460
+ background: var(--hkm-sc-field);
2461
+ color: var(--hkm-sc-muted);
2454
2462
  cursor: default;
2455
2463
  }
2456
2464
 
@@ -2598,10 +2606,33 @@
2598
2606
  }
2599
2607
 
2600
2608
  .hkm-showcase .hkm-tab[aria-selected="true"],
2601
- .hkm-showcase .hkm-segmented button[aria-pressed="true"] {
2609
+ .hkm-showcase .hkm-segmented button[aria-pressed="true"],
2610
+ .hkm-showcase .hkm-tab[data-hkm-done] .hkm-step-number,
2611
+ .hkm-root .hkm-popover-item[data-hkm-selected],
2612
+ .hkm-root .hkm-work-mark {
2602
2613
  forced-color-adjust: none;
2603
2614
  background: Highlight;
2604
2615
  color: HighlightText;
2605
2616
  }
2617
+
2618
+ .hkm-showcase .hkm-segmented button[aria-pressed="true"]:disabled {
2619
+ background: ButtonFace;
2620
+ color: GrayText;
2621
+ }
2622
+
2623
+ .hkm-showcase .hkm-step-button:disabled {
2624
+ color: GrayText;
2625
+ }
2626
+
2627
+ .hkm-showcase .hkm-tab:focus-visible,
2628
+ .hkm-showcase .hkm-step-button:focus-visible,
2629
+ .hkm-showcase .hkm-segmented button:focus-visible {
2630
+ outline-color: Highlight;
2631
+ box-shadow: none;
2632
+ }
2633
+
2634
+ .hkm-showcase .hkm-segmented button[aria-pressed="true"]:focus-visible {
2635
+ outline-color: HighlightText;
2636
+ }
2606
2637
  }
2607
2638
  }
@@ -65,10 +65,18 @@ export const providerMarkAssets = {
65
65
  glyph: { viewBox: "0 0 24 24", body: "<path d=\"M16.793 10.358v3.867L7.236 18.82v-2.8l7.751-3.728-7.75-3.728V5.763l9.556 4.595z\"></path><path clip-rule=\"evenodd\" d=\"M19.608 0A4.392 4.392 0 0124 4.392v15.216A4.392 4.392 0 0119.608 24H4.392A4.392 4.392 0 010 19.608V4.392A4.392 4.392 0 014.392 0h15.216zM4.26 1.444A2.816 2.816 0 001.444 4.26v15.48a2.816 2.816 0 002.816 2.816h15.48a2.816 2.816 0 002.816-2.816V4.26a2.816 2.816 0 00-2.816-2.816H4.26z\"></path>" },
66
66
  art: { viewBox: "0 0 24 24", body: "<path d=\"M0 4.391A4.391 4.391 0 014.391 0h15.217A4.391 4.391 0 0124 4.391v15.217A4.391 4.391 0 0119.608 24H4.391A4.391 4.391 0 010 19.608V4.391z\" fill=\"url(#lobe-icons-gemini-cli-_R_0_)\"></path><path clip-rule=\"evenodd\" d=\"M19.74 1.444a2.816 2.816 0 012.816 2.816v15.48a2.816 2.816 0 01-2.816 2.816H4.26a2.816 2.816 0 01-2.816-2.816V4.26A2.816 2.816 0 014.26 1.444h15.48zM7.236 8.564l7.752 3.728-7.752 3.727v2.802l9.557-4.596v-3.866L7.236 5.763v2.801z\" fill=\"#1E1E2E\" fill-rule=\"evenodd\"></path><defs><linearGradient gradientUnits=\"userSpaceOnUse\" id=\"lobe-icons-gemini-cli-_R_0_\" x1=\"24\" x2=\"0\" y1=\"6.587\" y2=\"16.494\"><stop stop-color=\"#EE4D5D\"></stop><stop offset=\".328\" stop-color=\"#B381DD\"></stop><stop offset=\".476\" stop-color=\"#207CFE\"></stop></linearGradient></defs>" },
67
67
  },
68
+ "githubcopilot": {
69
+ glyph: { viewBox: "0 0 24 24", body: "<path d=\"M19.245 5.364c1.322 1.36 1.877 3.216 2.11 5.817.622 0 1.2.135 1.592.654l.73.964c.21.278.323.61.323.955v2.62c0 .339-.173.669-.453.868C20.239 19.602 16.157 21.5 12 21.5c-4.6 0-9.205-2.583-11.547-4.258-.28-.2-.452-.53-.453-.868v-2.62c0-.345.113-.679.321-.956l.73-.963c.392-.517.974-.654 1.593-.654l.029-.297c.25-2.446.81-4.213 2.082-5.52 2.461-2.54 5.71-2.851 7.146-2.864h.198c1.436.013 4.685.323 7.146 2.864zm-7.244 4.328c-.284 0-.613.016-.962.05-.123.447-.305.85-.57 1.108-1.05 1.023-2.316 1.18-2.994 1.18-.638 0-1.306-.13-1.851-.464-.516.165-1.012.403-1.044.996a65.882 65.882 0 00-.063 2.884l-.002.48c-.002.563-.005 1.126-.013 1.69.002.326.204.63.51.765 2.482 1.102 4.83 1.657 6.99 1.657 2.156 0 4.504-.555 6.985-1.657a.854.854 0 00.51-.766c.03-1.682.006-3.372-.076-5.053-.031-.596-.528-.83-1.046-.996-.546.333-1.212.464-1.85.464-.677 0-1.942-.157-2.993-1.18-.266-.258-.447-.661-.57-1.108-.32-.032-.64-.049-.96-.05zm-2.525 4.013c.539 0 .976.426.976.95v1.753c0 .525-.437.95-.976.95a.964.964 0 01-.976-.95v-1.752c0-.525.437-.951.976-.951zm5 0c.539 0 .976.426.976.95v1.753c0 .525-.437.95-.976.95a.964.964 0 01-.976-.95v-1.752c0-.525.437-.951.976-.951zM7.635 5.087c-1.05.102-1.935.438-2.385.906-.975 1.037-.765 3.668-.21 4.224.405.394 1.17.657 1.995.657h.09c.649-.013 1.785-.176 2.73-1.11.435-.41.705-1.433.675-2.47-.03-.834-.27-1.52-.63-1.813-.39-.336-1.275-.482-2.265-.394zm6.465.394c-.36.292-.6.98-.63 1.813-.03 1.037.24 2.06.675 2.47.968.957 2.136 1.104 2.776 1.11h.044c.825 0 1.59-.263 1.995-.657.555-.556.765-3.187-.21-4.224-.45-.468-1.335-.804-2.385-.906-.99-.088-1.875.058-2.265.394zM12 7.615c-.24 0-.525.015-.84.044.03.16.045.336.06.526l-.001.159a2.94 2.94 0 01-.014.25c.225-.022.425-.027.612-.028h.366c.187 0 .387.006.612.028-.015-.146-.015-.277-.015-.409.015-.19.03-.365.06-.526a9.29 9.29 0 00-.84-.044z\"></path>" },
70
+ art: null,
71
+ },
68
72
  "goose": {
69
73
  glyph: { viewBox: "0 0 24 24", body: "<path d=\"M21.595 23.61c1.167-.254 2.405-.944 2.405-.944l-2.167-1.784a12.124 12.124 0 01-2.695-3.131 12.127 12.127 0 00-3.97-4.049l-.794-.462a1.115 1.115 0 01-.488-.815.844.844 0 01.154-.575c.413-.582 2.548-3.115 2.94-3.44.503-.416 1.065-.762 1.586-1.159.074-.056.148-.112.221-.17.003-.002.007-.004.009-.007.167-.131.325-.272.45-.438.453-.524.563-.988.59-1.193-.061-.197-.244-.639-.753-1.148.319.02.705.272 1.056.569.235-.376.481-.773.727-1.171.165-.266-.08-.465-.086-.471h-.001V3.22c-.007-.007-.206-.25-.471-.086-.567.35-1.134.702-1.639 1.021 0 0-.597-.012-1.305.599a2.464 2.464 0 00-.438.45l-.007.009c-.058.072-.114.147-.17.221-.397.521-.743 1.083-1.16 1.587-.323.391-2.857 2.526-3.44 2.94a.842.842 0 01-.574.153 1.115 1.115 0 01-.815-.488l-.462-.794a12.123 12.123 0 00-4.049-3.97 12.133 12.133 0 01-3.13-2.695L1.332 0S.643 1.238.39 2.405c.352.428 1.27 1.49 2.34 2.302C1.58 4.167.73 3.75.06 3.4c-.103.765-.063 1.92.043 2.816.726.317 1.961.806 3.219 1.066-1.006.236-2.11.278-2.961.262.15.554.358 1.119.64 1.688.119.263.25.52.39.77.452.125 2.222.383 3.164.171l-2.51.897a27.776 27.776 0 002.544 2.726c2.031-1.092 2.494-1.241 4.018-2.238-2.467 2.008-3.108 2.828-3.8 3.67l-.483.678c-.25.351-.469.725-.65 1.117-.61 1.31-1.47 4.1-1.47 4.1-.154.486.202.842.674.674 0 0 2.79-.861 4.1-1.47.392-.182.766-.4 1.118-.65l.677-.483c.227-.187.453-.37.701-.586 0 0 1.705 2.02 3.458 3.349l.896-2.511c-.211.942.046 2.712.17 3.163.252.142.509.272.772.392.569.28 1.134.49 1.688.64-.016-.853.026-1.956.261-2.962.26 1.258.75 2.493 1.067 3.219.895.106 2.051.146 2.816.043a73.87 73.87 0 01-1.308-2.67c.811 1.07 1.874 1.988 2.302 2.34h-.001z\"></path>" },
70
74
  art: null,
71
75
  },
76
+ "mem0": {
77
+ glyph: { viewBox: "0 0 100 100", body: "<g fill=\"currentColor\" clip-path=\"url(#mem0-clip)\"><path d=\"M50.004 41.547a8.446 8.446 0 0 0-8.45 8.449 8.446 8.446 0 0 0 8.45 8.449 8.447 8.447 0 0 0 8.449-8.45 8.446 8.446 0 0 0-8.45-8.448m.042-16.531a2.513 2.513 0 0 0 2.463-2.553A2.486 2.486 0 0 0 49.955 20a2.486 2.486 0 0 0-2.462 2.553 2.486 2.486 0 0 0 2.552 2.463m-.089 49.963a2.486 2.486 0 0 0-2.463 2.552 2.486 2.486 0 0 0 2.552 2.463 2.513 2.513 0 0 0 2.463-2.552 2.486 2.486 0 0 0-2.553-2.463M32.372 32.3a2.513 2.513 0 0 0-.065-3.547 2.487 2.487 0 0 0-3.548.065 2.487 2.487 0 0 0 .065 3.548 2.487 2.487 0 0 0 3.548-.065m35.262 35.394a2.487 2.487 0 0 0 .065 3.548 2.487 2.487 0 0 0 3.548-.065 2.513 2.513 0 0 0-.065-3.548 2.487 2.487 0 0 0-3.548.065m.065-35.329c.98.944 2.572.946 3.548-.065a2.487 2.487 0 0 0-.065-3.548 2.487 2.487 0 0 0-3.548.065 2.487 2.487 0 0 0 .065 3.548M32.307 67.63a2.487 2.487 0 0 0-3.548.065 2.487 2.487 0 0 0 .065 3.548c.98.944 2.572.946 3.548-.065a2.487 2.487 0 0 0-.065-3.548m45.046-20.136a2.487 2.487 0 0 0-2.364 2.647 2.514 2.514 0 0 0 2.646 2.364 2.487 2.487 0 0 0 2.364-2.646 2.484 2.484 0 0 0-2.646-2.362zM22.65 52.501a2.487 2.487 0 0 0 2.365-2.646 2.485 2.485 0 0 0-2.646-2.362 2.487 2.487 0 0 0-2.365 2.646 2.515 2.515 0 0 0 2.646 2.364zm23.463-16.915a4.37 4.37 0 0 0 6.053 1.152c1.125-.765 1.819-2.005 1.904-3.403.062-.908.261-2.196 1.268-2.89 1.03-.655 2.293-.335 3.154-.04 1.32.467 2.732.313 3.875-.425a4.32 4.32 0 0 0 1.894-2.743 4.32 4.32 0 0 0-.597-3.28l-.174-.26a4.37 4.37 0 0 0-6.053-1.152c-1.126.764-1.82 2.003-1.904 3.402-.063.908-.262 2.196-1.269 2.89-1.029.655-2.293.335-3.154.04-1.317-.467-2.731-.313-3.874.425a4.36 4.36 0 0 0-1.3 6.022l.175.262zm-9.602 40.709a4.37 4.37 0 0 0 6.053 1.152c1.126-.765 1.82-2.005 1.904-3.403.063-.908.262-2.197 1.269-2.89 1.029-.655 2.292-.335 3.154-.04 1.32.467 2.731.313 3.874-.425a4.32 4.32 0 0 0 1.895-2.743 4.32 4.32 0 0 0-.597-3.28l-.175-.26a4.37 4.37 0 0 0-6.053-1.152c-1.125.764-1.819 2.003-1.904 3.401-.062.909-.261 2.197-1.268 2.89-1.03.656-2.293.336-3.154.041-1.318-.468-2.732-.313-3.875.425a4.36 4.36 0 0 0-1.3 6.022l.175.262zM57.42 37.048q-.08.434-.076.872a4.37 4.37 0 0 0 3.548 4.217c1.338.252 2.705-.137 3.75-1.067.686-.6 1.735-1.372 2.939-1.15 1.19.261 1.86 1.38 2.261 2.199.604 1.261 1.714 2.15 3.045 2.434a4.33 4.33 0 0 0 3.28-.604 4.32 4.32 0 0 0 1.892-2.745l.062-.309q.082-.435.076-.872a4.37 4.37 0 0 0-3.548-4.217c-1.337-.253-2.702.137-3.749 1.067-.687.6-1.738 1.371-2.94 1.15-1.19-.262-1.86-1.38-2.26-2.2-.605-1.26-1.714-2.149-3.043-2.433a4.36 4.36 0 0 0-5.172 3.349l-.062.309zm-35.539 22.05q-.08.435-.076.873a4.37 4.37 0 0 0 3.548 4.216c1.338.253 2.704-.136 3.75-1.067.686-.6 1.735-1.37 2.938-1.15 1.19.262 1.862 1.38 2.262 2.2.604 1.261 1.714 2.15 3.045 2.433A4.33 4.33 0 0 0 40.627 66a4.32 4.32 0 0 0 1.892-2.744l.063-.31q.081-.433.076-.871a4.37 4.37 0 0 0-3.548-4.217c-1.337-.253-2.702.136-3.749 1.067-.686.6-1.738 1.371-2.94 1.15-1.19-.262-1.86-1.38-2.26-2.2-.605-1.261-1.714-2.149-3.043-2.433a4.36 4.36 0 0 0-5.172 3.349l-.062.308zm42.525-13.01a4.5 4.5 0 0 0-.671.563 4.37 4.37 0 0 0-.472 5.49c.767 1.125 2.009 1.816 3.404 1.897.909.06 2.197.26 2.893 1.264.657 1.027.34 2.29.045 3.154-.466 1.32-.31 2.731.431 3.874a4.33 4.33 0 0 0 2.745 1.89 4.33 4.33 0 0 0 3.28-.601l.261-.175q.365-.25.671-.563a4.37 4.37 0 0 0 .472-5.49c-.767-1.123-2.006-1.816-3.404-1.897-.909-.06-2.2-.26-2.893-1.264-.657-1.026-.34-2.29-.044-3.154.465-1.32.308-2.731-.432-3.872a4.36 4.36 0 0 0-6.024-1.288l-.262.174zM23.687 36.55a4.5 4.5 0 0 0-.671.564 4.37 4.37 0 0 0-.472 5.49c.767 1.125 2.009 1.816 3.405 1.897.908.06 2.196.26 2.892 1.264.658 1.026.34 2.29.045 3.154-.465 1.32-.309 2.731.432 3.874a4.32 4.32 0 0 0 2.744 1.89 4.33 4.33 0 0 0 3.28-.601l.261-.175q.365-.25.672-.563a4.37 4.37 0 0 0 .472-5.49c-.768-1.123-2.007-1.816-3.405-1.897-.908-.06-2.2-.26-2.892-1.264-.658-1.027-.34-2.29-.045-3.154.465-1.32.308-2.731-.432-3.872a4.36 4.36 0 0 0-6.024-1.289l-.262.175zm39.268 20.868a4.4 4.4 0 0 0-.873-.076 4.37 4.37 0 0 0-4.217 3.548c-.252 1.338.137 2.705 1.067 3.75.6.686 1.372 1.735 1.15 2.939-.261 1.19-1.38 1.86-2.199 2.261-1.261.604-2.15 1.714-2.433 3.045a4.33 4.33 0 0 0 .603 3.28 4.32 4.32 0 0 0 2.745 1.892l.309.062q.435.082.872.076a4.37 4.37 0 0 0 4.217-3.547c.253-1.338-.136-2.703-1.067-3.75-.6-.686-1.371-1.738-1.15-2.94.262-1.19 1.38-1.86 2.2-2.26 1.26-.605 2.149-1.714 2.433-3.043a4.36 4.36 0 0 0-3.349-5.172l-.308-.062zM40.9 21.88a4.4 4.4 0 0 0-.872-.077 4.37 4.37 0 0 0-4.217 3.548c-.253 1.338.136 2.704 1.067 3.75.6.686 1.371 1.735 1.15 2.939-.262 1.19-1.38 1.86-2.2 2.261-1.26.604-2.149 1.714-2.433 3.045a4.33 4.33 0 0 0 .604 3.28 4.32 4.32 0 0 0 2.745 1.892l.308.062q.435.081.873.076a4.37 4.37 0 0 0 4.216-3.548c.253-1.337-.136-2.702-1.067-3.749-.6-.687-1.37-1.738-1.15-2.94.262-1.19 1.38-1.86 2.2-2.26 1.261-.605 2.15-1.714 2.433-3.043a4.36 4.36 0 0 0-3.348-5.172l-.31-.062z\"/></g><defs><clipPath id=\"mem0-clip\"><path fill=\"currentColor\" d=\"M20 20h60v59.998H20z\"/></clipPath></defs>" },
78
+ art: { viewBox: "0 0 100 100", body: "<rect width=\"100\" height=\"100\" fill=\"#CBB2FF\" rx=\"12\"/><g fill=\"#09090B\" clip-path=\"url(#mem0-clip)\"><path d=\"M50.004 41.547a8.446 8.446 0 0 0-8.45 8.449 8.446 8.446 0 0 0 8.45 8.449 8.447 8.447 0 0 0 8.449-8.45 8.446 8.446 0 0 0-8.45-8.448m.042-16.531a2.513 2.513 0 0 0 2.463-2.553A2.486 2.486 0 0 0 49.955 20a2.486 2.486 0 0 0-2.462 2.553 2.486 2.486 0 0 0 2.552 2.463m-.089 49.963a2.486 2.486 0 0 0-2.463 2.552 2.486 2.486 0 0 0 2.552 2.463 2.513 2.513 0 0 0 2.463-2.552 2.486 2.486 0 0 0-2.553-2.463M32.372 32.3a2.513 2.513 0 0 0-.065-3.547 2.487 2.487 0 0 0-3.548.065 2.487 2.487 0 0 0 .065 3.548 2.487 2.487 0 0 0 3.548-.065m35.262 35.394a2.487 2.487 0 0 0 .065 3.548 2.487 2.487 0 0 0 3.548-.065 2.513 2.513 0 0 0-.065-3.548 2.487 2.487 0 0 0-3.548.065m.065-35.329c.98.944 2.572.946 3.548-.065a2.487 2.487 0 0 0-.065-3.548 2.487 2.487 0 0 0-3.548.065 2.487 2.487 0 0 0 .065 3.548M32.307 67.63a2.487 2.487 0 0 0-3.548.065 2.487 2.487 0 0 0 .065 3.548c.98.944 2.572.946 3.548-.065a2.487 2.487 0 0 0-.065-3.548m45.046-20.136a2.487 2.487 0 0 0-2.364 2.647 2.514 2.514 0 0 0 2.646 2.364 2.487 2.487 0 0 0 2.364-2.646 2.484 2.484 0 0 0-2.646-2.362zM22.65 52.501a2.487 2.487 0 0 0 2.365-2.646 2.485 2.485 0 0 0-2.646-2.362 2.487 2.487 0 0 0-2.365 2.646 2.515 2.515 0 0 0 2.646 2.364zm23.463-16.915a4.37 4.37 0 0 0 6.053 1.152c1.125-.765 1.819-2.005 1.904-3.403.062-.908.261-2.196 1.268-2.89 1.03-.655 2.293-.335 3.154-.04 1.32.467 2.732.313 3.875-.425a4.32 4.32 0 0 0 1.894-2.743 4.32 4.32 0 0 0-.597-3.28l-.174-.26a4.37 4.37 0 0 0-6.053-1.152c-1.126.764-1.82 2.003-1.904 3.402-.063.908-.262 2.196-1.269 2.89-1.029.655-2.293.335-3.154.04-1.317-.467-2.731-.313-3.874.425a4.36 4.36 0 0 0-1.3 6.022l.175.262zm-9.602 40.709a4.37 4.37 0 0 0 6.053 1.152c1.126-.765 1.82-2.005 1.904-3.403.063-.908.262-2.197 1.269-2.89 1.029-.655 2.292-.335 3.154-.04 1.32.467 2.731.313 3.874-.425a4.32 4.32 0 0 0 1.895-2.743 4.32 4.32 0 0 0-.597-3.28l-.175-.26a4.37 4.37 0 0 0-6.053-1.152c-1.125.764-1.819 2.003-1.904 3.401-.062.909-.261 2.197-1.268 2.89-1.03.656-2.293.336-3.154.041-1.318-.468-2.732-.313-3.875.425a4.36 4.36 0 0 0-1.3 6.022l.175.262zM57.42 37.048q-.08.434-.076.872a4.37 4.37 0 0 0 3.548 4.217c1.338.252 2.705-.137 3.75-1.067.686-.6 1.735-1.372 2.939-1.15 1.19.261 1.86 1.38 2.261 2.199.604 1.261 1.714 2.15 3.045 2.434a4.33 4.33 0 0 0 3.28-.604 4.32 4.32 0 0 0 1.892-2.745l.062-.309q.082-.435.076-.872a4.37 4.37 0 0 0-3.548-4.217c-1.337-.253-2.702.137-3.749 1.067-.687.6-1.738 1.371-2.94 1.15-1.19-.262-1.86-1.38-2.26-2.2-.605-1.26-1.714-2.149-3.043-2.433a4.36 4.36 0 0 0-5.172 3.349l-.062.309zm-35.539 22.05q-.08.435-.076.873a4.37 4.37 0 0 0 3.548 4.216c1.338.253 2.704-.136 3.75-1.067.686-.6 1.735-1.37 2.938-1.15 1.19.262 1.862 1.38 2.262 2.2.604 1.261 1.714 2.15 3.045 2.433A4.33 4.33 0 0 0 40.627 66a4.32 4.32 0 0 0 1.892-2.744l.063-.31q.081-.433.076-.871a4.37 4.37 0 0 0-3.548-4.217c-1.337-.253-2.702.136-3.749 1.067-.686.6-1.738 1.371-2.94 1.15-1.19-.262-1.86-1.38-2.26-2.2-.605-1.261-1.714-2.149-3.043-2.433a4.36 4.36 0 0 0-5.172 3.349l-.062.308zm42.525-13.01a4.5 4.5 0 0 0-.671.563 4.37 4.37 0 0 0-.472 5.49c.767 1.125 2.009 1.816 3.404 1.897.909.06 2.197.26 2.893 1.264.657 1.027.34 2.29.045 3.154-.466 1.32-.31 2.731.431 3.874a4.33 4.33 0 0 0 2.745 1.89 4.33 4.33 0 0 0 3.28-.601l.261-.175q.365-.25.671-.563a4.37 4.37 0 0 0 .472-5.49c-.767-1.123-2.006-1.816-3.404-1.897-.909-.06-2.2-.26-2.893-1.264-.657-1.026-.34-2.29-.044-3.154.465-1.32.308-2.731-.432-3.872a4.36 4.36 0 0 0-6.024-1.288l-.262.174zM23.687 36.55a4.5 4.5 0 0 0-.671.564 4.37 4.37 0 0 0-.472 5.49c.767 1.125 2.009 1.816 3.405 1.897.908.06 2.196.26 2.892 1.264.658 1.026.34 2.29.045 3.154-.465 1.32-.309 2.731.432 3.874a4.32 4.32 0 0 0 2.744 1.89 4.33 4.33 0 0 0 3.28-.601l.261-.175q.365-.25.672-.563a4.37 4.37 0 0 0 .472-5.49c-.768-1.123-2.007-1.816-3.405-1.897-.908-.06-2.2-.26-2.892-1.264-.658-1.027-.34-2.29-.045-3.154.465-1.32.308-2.731-.432-3.872a4.36 4.36 0 0 0-6.024-1.289l-.262.175zm39.268 20.868a4.4 4.4 0 0 0-.873-.076 4.37 4.37 0 0 0-4.217 3.548c-.252 1.338.137 2.705 1.067 3.75.6.686 1.372 1.735 1.15 2.939-.261 1.19-1.38 1.86-2.199 2.261-1.261.604-2.15 1.714-2.433 3.045a4.33 4.33 0 0 0 .603 3.28 4.32 4.32 0 0 0 2.745 1.892l.309.062q.435.082.872.076a4.37 4.37 0 0 0 4.217-3.547c.253-1.338-.136-2.703-1.067-3.75-.6-.686-1.371-1.738-1.15-2.94.262-1.19 1.38-1.86 2.2-2.26 1.26-.605 2.149-1.714 2.433-3.043a4.36 4.36 0 0 0-3.349-5.172l-.308-.062zM40.9 21.88a4.4 4.4 0 0 0-.872-.077 4.37 4.37 0 0 0-4.217 3.548c-.253 1.338.136 2.704 1.067 3.75.6.686 1.371 1.735 1.15 2.939-.262 1.19-1.38 1.86-2.2 2.261-1.26.604-2.149 1.714-2.433 3.045a4.33 4.33 0 0 0 .604 3.28 4.32 4.32 0 0 0 2.745 1.892l.308.062q.435.081.873.076a4.37 4.37 0 0 0 4.216-3.548c.253-1.337-.136-2.702-1.067-3.749-.6-.687-1.37-1.738-1.15-2.94.262-1.19 1.38-1.86 2.2-2.26 1.261-.605 2.15-1.714 2.433-3.043a4.36 4.36 0 0 0-3.348-5.172l-.31-.062z\"/></g><defs><clipPath id=\"mem0-clip\"><path fill=\"#fff\" d=\"M20 20h60v59.998H20z\"/></clipPath></defs>" },
79
+ },
72
80
  "meta": {
73
81
  glyph: { viewBox: "0 0 24 24", body: "<path d=\"M6.897 4c1.915 0 3.516.932 5.43 3.376l.282-.373c.19-.246.383-.484.58-.71l.313-.35C14.588 4.788 15.792 4 17.225 4c1.273 0 2.469.557 3.491 1.516l.218.213c1.73 1.765 2.917 4.71 3.053 8.026l.011.392.002.25c0 1.501-.28 2.759-.818 3.7l-.14.23-.108.153c-.301.42-.664.758-1.086 1.009l-.265.142-.087.04a3.493 3.493 0 01-.302.118 4.117 4.117 0 01-1.33.208c-.524 0-.996-.067-1.438-.215-.614-.204-1.163-.56-1.726-1.116l-.227-.235c-.753-.812-1.534-1.976-2.493-3.586l-1.43-2.41-.544-.895-1.766 3.13-.343.592C7.597 19.156 6.227 20 4.356 20c-1.21 0-2.205-.42-2.936-1.182l-.168-.184c-.484-.573-.837-1.311-1.043-2.189l-.067-.32a8.69 8.69 0 01-.136-1.288L0 14.468c.002-.745.06-1.49.174-2.23l.1-.573c.298-1.53.828-2.958 1.536-4.157l.209-.34c1.177-1.83 2.789-3.053 4.615-3.16L6.897 4zm-.033 2.615l-.201.01c-.83.083-1.606.673-2.252 1.577l-.138.199-.01.018c-.67 1.017-1.185 2.378-1.456 3.845l-.004.022a12.591 12.591 0 00-.207 2.254l.002.188c.004.18.017.36.04.54l.043.291c.092.503.257.908.486 1.208l.117.137c.303.323.698.492 1.17.492 1.1 0 1.796-.676 3.696-3.641l2.175-3.4.454-.701-.139-.198C9.11 7.3 8.084 6.616 6.864 6.616zm10.196-.552l-.176.007c-.635.048-1.223.359-1.82.933l-.196.198c-.439.462-.887 1.064-1.367 1.807l.266.398c.18.274.362.56.55.858l.293.475 1.396 2.335.695 1.114c.583.926 1.03 1.6 1.408 2.082l.213.262c.282.326.529.54.777.673l.102.05c.227.1.457.138.718.138.176.002.35-.023.518-.073.338-.104.61-.32.813-.637l.095-.163.077-.162c.194-.459.29-1.06.29-1.785l-.006-.449c-.08-2.871-.938-5.372-2.2-6.798l-.176-.189c-.67-.683-1.444-1.074-2.27-1.074z\"></path>" },
74
82
  art: { viewBox: "0 0 24 24", body: "<path d=\"M6.897 4h-.024l-.031 2.615h.022c1.715 0 3.046 1.357 5.94 6.246l.175.297.012.02 1.62-2.438-.012-.019a48.763 48.763 0 00-1.098-1.716 28.01 28.01 0 00-1.175-1.629C10.413 4.932 8.812 4 6.896 4z\" fill=\"url(#lobe-icons-meta-0-_R_0_)\"></path><path d=\"M6.873 4C4.95 4.01 3.247 5.258 2.02 7.17a4.352 4.352 0 00-.01.017l2.254 1.231.011-.017c.718-1.083 1.61-1.774 2.568-1.785h.021L6.896 4h-.023z\" fill=\"url(#lobe-icons-meta-1-_R_0_)\"></path><path d=\"M2.019 7.17l-.011.017C1.2 8.447.598 9.995.274 11.664l-.005.022 2.534.6.004-.022c.27-1.467.786-2.828 1.456-3.845l.011-.017L2.02 7.17z\" fill=\"url(#lobe-icons-meta-2-_R_0_)\"></path><path d=\"M2.807 12.264l-2.533-.6-.005.022c-.177.918-.267 1.851-.269 2.786v.023l2.598.233v-.023a12.591 12.591 0 01.21-2.44z\" fill=\"url(#lobe-icons-meta-3-_R_0_)\"></path><path d=\"M2.677 15.537a5.462 5.462 0 01-.079-.813v-.022L0 14.468v.024a8.89 8.89 0 00.146 1.652l2.535-.585a4.106 4.106 0 01-.004-.022z\" fill=\"url(#lobe-icons-meta-4-_R_0_)\"></path><path d=\"M3.27 16.89c-.284-.31-.484-.756-.589-1.328l-.004-.021-2.535.585.004.021c.192 1.01.568 1.85 1.106 2.487l.014.017 2.018-1.745a2.106 2.106 0 01-.015-.016z\" fill=\"url(#lobe-icons-meta-5-_R_0_)\"></path><path d=\"M10.78 9.654c-1.528 2.35-2.454 3.825-2.454 3.825-2.035 3.2-2.739 3.917-3.871 3.917a1.545 1.545 0 01-1.186-.508l-2.017 1.744.014.017C2.01 19.518 3.058 20 4.356 20c1.963 0 3.374-.928 5.884-5.33l1.766-3.13a41.283 41.283 0 00-1.227-1.886z\" fill=\"#0082FB\"></path><path d=\"M13.502 5.946l-.016.016c-.4.43-.786.908-1.16 1.416.378.483.768 1.024 1.175 1.63.48-.743.928-1.345 1.367-1.807l.016-.016-1.382-1.24z\" fill=\"url(#lobe-icons-meta-6-_R_0_)\"></path><path d=\"M20.918 5.713C19.853 4.633 18.583 4 17.225 4c-1.432 0-2.637.787-3.723 1.944l-.016.016 1.382 1.24.016-.017c.715-.747 1.408-1.12 2.176-1.12.826 0 1.6.39 2.27 1.075l.015.016 1.589-1.425-.016-.016z\" fill=\"#0082FB\"></path><path d=\"M23.998 14.125c-.06-3.467-1.27-6.566-3.064-8.396l-.016-.016-1.588 1.424.015.016c1.35 1.392 2.277 3.98 2.361 6.971v.023h2.292v-.022z\" fill=\"url(#lobe-icons-meta-7-_R_0_)\"></path><path d=\"M23.998 14.15v-.023h-2.292v.022c.004.14.006.282.006.424 0 .815-.121 1.474-.368 1.95l-.011.022 1.708 1.782.013-.02c.62-.96.946-2.293.946-3.91 0-.083 0-.165-.002-.247z\" fill=\"url(#lobe-icons-meta-8-_R_0_)\"></path><path d=\"M21.344 16.52l-.011.02c-.214.402-.519.67-.917.787l.778 2.462a3.493 3.493 0 00.438-.182 3.558 3.558 0 001.366-1.218l.044-.065.012-.02-1.71-1.784z\" fill=\"url(#lobe-icons-meta-9-_R_0_)\"></path><path d=\"M19.92 17.393c-.262 0-.492-.039-.718-.14l-.798 2.522c.449.153.927.222 1.46.222.492 0 .943-.073 1.352-.215l-.78-2.462c-.167.05-.341.075-.517.073z\" fill=\"url(#lobe-icons-meta-10-_R_0_)\"></path><path d=\"M18.323 16.534l-.014-.017-1.836 1.914.016.017c.637.682 1.246 1.105 1.937 1.337l.797-2.52c-.291-.125-.573-.353-.9-.731z\" fill=\"url(#lobe-icons-meta-11-_R_0_)\"></path><path d=\"M18.309 16.515c-.55-.642-1.232-1.712-2.303-3.44l-1.396-2.336-.011-.02-1.62 2.438.012.02.989 1.668c.959 1.61 1.74 2.774 2.493 3.585l.016.016 1.834-1.914a2.353 2.353 0 01-.014-.017z\" fill=\"url(#lobe-icons-meta-12-_R_0_)\"></path><defs><linearGradient id=\"lobe-icons-meta-0-_R_0_\" x1=\"75.897%\" x2=\"26.312%\" y1=\"89.199%\" y2=\"12.194%\"><stop offset=\".06%\" stop-color=\"#0867DF\"></stop><stop offset=\"45.39%\" stop-color=\"#0668E1\"></stop><stop offset=\"85.91%\" stop-color=\"#0064E0\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-1-_R_0_\" x1=\"21.67%\" x2=\"97.068%\" y1=\"75.874%\" y2=\"23.985%\"><stop offset=\"13.23%\" stop-color=\"#0064DF\"></stop><stop offset=\"99.88%\" stop-color=\"#0064E0\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-2-_R_0_\" x1=\"38.263%\" x2=\"60.895%\" y1=\"89.127%\" y2=\"16.131%\"><stop offset=\"1.47%\" stop-color=\"#0072EC\"></stop><stop offset=\"68.81%\" stop-color=\"#0064DF\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-3-_R_0_\" x1=\"47.032%\" x2=\"52.15%\" y1=\"90.19%\" y2=\"15.745%\"><stop offset=\"7.31%\" stop-color=\"#007CF6\"></stop><stop offset=\"99.43%\" stop-color=\"#0072EC\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-4-_R_0_\" x1=\"52.155%\" x2=\"47.591%\" y1=\"58.301%\" y2=\"37.004%\"><stop offset=\"7.31%\" stop-color=\"#007FF9\"></stop><stop offset=\"100%\" stop-color=\"#007CF6\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-5-_R_0_\" x1=\"37.689%\" x2=\"61.961%\" y1=\"12.502%\" y2=\"63.624%\"><stop offset=\"7.31%\" stop-color=\"#007FF9\"></stop><stop offset=\"100%\" stop-color=\"#0082FB\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-6-_R_0_\" x1=\"34.808%\" x2=\"62.313%\" y1=\"68.859%\" y2=\"23.174%\"><stop offset=\"27.99%\" stop-color=\"#007FF8\"></stop><stop offset=\"91.41%\" stop-color=\"#0082FB\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-7-_R_0_\" x1=\"43.762%\" x2=\"57.602%\" y1=\"6.235%\" y2=\"98.514%\"><stop offset=\"0%\" stop-color=\"#0082FB\"></stop><stop offset=\"99.95%\" stop-color=\"#0081FA\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-8-_R_0_\" x1=\"60.055%\" x2=\"39.88%\" y1=\"4.661%\" y2=\"69.077%\"><stop offset=\"6.19%\" stop-color=\"#0081FA\"></stop><stop offset=\"100%\" stop-color=\"#0080F9\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-9-_R_0_\" x1=\"30.282%\" x2=\"61.081%\" y1=\"59.32%\" y2=\"33.244%\"><stop offset=\"0%\" stop-color=\"#027AF3\"></stop><stop offset=\"100%\" stop-color=\"#0080F9\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-10-_R_0_\" x1=\"20.433%\" x2=\"82.112%\" y1=\"50.001%\" y2=\"50.001%\"><stop offset=\"0%\" stop-color=\"#0377EF\"></stop><stop offset=\"99.94%\" stop-color=\"#0279F1\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-11-_R_0_\" x1=\"40.303%\" x2=\"72.394%\" y1=\"35.298%\" y2=\"57.811%\"><stop offset=\".19%\" stop-color=\"#0471E9\"></stop><stop offset=\"100%\" stop-color=\"#0377EF\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-12-_R_0_\" x1=\"32.254%\" x2=\"68.003%\" y1=\"19.719%\" y2=\"84.908%\"><stop offset=\"27.65%\" stop-color=\"#0867DF\"></stop><stop offset=\"100%\" stop-color=\"#0471E9\"></stop></linearGradient></defs>" },
@@ -85,6 +93,10 @@ export const providerMarkAssets = {
85
93
  glyph: { viewBox: "0 0 24 24", body: "<path d=\"M10.212 8.976V7.62c.127-.01.256-.017.388-.021 3.596-.117 5.957 3.184 5.957 3.184s-2.548 3.647-5.282 3.647a3.227 3.227 0 01-1.063-.175v-4.109c1.4.174 1.681.812 2.523 2.258l1.873-1.627a4.905 4.905 0 00-3.67-1.846 6.594 6.594 0 00-.729.044m0-4.476v2.025c.13-.01.259-.019.388-.024 5.002-.174 8.261 4.226 8.261 4.226s-3.743 4.69-7.643 4.69c-.338 0-.675-.031-1.007-.092v1.25c.278.038.558.057.838.057 3.629 0 6.253-1.91 8.794-4.169.421.347 2.146 1.193 2.501 1.564-2.416 2.083-8.048 3.763-11.24 3.763-.308 0-.603-.02-.894-.048V19.5H24v-15H10.21zm0 9.756v1.068c-3.356-.616-4.287-4.21-4.287-4.21a7.173 7.173 0 014.287-2.138v1.172h-.005a3.182 3.182 0 00-2.502 1.178s.615 2.276 2.507 2.931m-5.961-3.3c1.436-1.935 3.604-3.148 5.961-3.336V6.523C5.81 6.887 2 10.723 2 10.723s2.158 6.427 8.21 7.015v-1.166C5.77 16 4.25 10.958 4.25 10.958h-.002z\"></path>" },
86
94
  art: { viewBox: "0 0 24 24", body: "<path d=\"M10.212 8.976V7.62c.127-.01.256-.017.388-.021 3.596-.117 5.957 3.184 5.957 3.184s-2.548 3.647-5.282 3.647a3.227 3.227 0 01-1.063-.175v-4.109c1.4.174 1.681.812 2.523 2.258l1.873-1.627a4.905 4.905 0 00-3.67-1.846 6.594 6.594 0 00-.729.044m0-4.476v2.025c.13-.01.259-.019.388-.024 5.002-.174 8.261 4.226 8.261 4.226s-3.743 4.69-7.643 4.69c-.338 0-.675-.031-1.007-.092v1.25c.278.038.558.057.838.057 3.629 0 6.253-1.91 8.794-4.169.421.347 2.146 1.193 2.501 1.564-2.416 2.083-8.048 3.763-11.24 3.763-.308 0-.603-.02-.894-.048V19.5H24v-15H10.21zm0 9.756v1.068c-3.356-.616-4.287-4.21-4.287-4.21a7.173 7.173 0 014.287-2.138v1.172h-.005a3.182 3.182 0 00-2.502 1.178s.615 2.276 2.507 2.931m-5.961-3.3c1.436-1.935 3.604-3.148 5.961-3.336V6.523C5.81 6.887 2 10.723 2 10.723s2.158 6.427 8.21 7.015v-1.166C5.77 16 4.25 10.958 4.25 10.958h-.002z\" fill=\"#74B71B\" fill-rule=\"nonzero\"></path>" },
87
95
  },
96
+ "obsidian": {
97
+ glyph: { viewBox: "0 0 24 24", body: "<path d=\"M9.643 14.012c.615-.183 1.605-.465 2.745-.534-.684-1.725-.849-3.235-.716-4.579.153-1.552.7-2.847 1.234-3.95.114-.235.223-.454.328-.664.149-.297.289-.577.42-.86.217-.47.378-.885.46-1.27.08-.38.08-.719-.014-1.044-.095-.325-.297-.675-.681-1.06a1.6 1.6 0 00-1.475.36l-4.95 4.453a1.602 1.602 0 00-.512.952l-.427 2.83c.67.592 2.327 2.317 3.335 4.71.09.213.174.432.253.656zM5.855 9.937c-.024.1-.057.197-.099.29L3.14 16.058a1.602 1.602 0 00.313 1.772l4.117 4.24c2.102-3.102 1.795-6.02.835-8.3-.728-1.73-1.832-3.083-2.55-3.833z\"></path><path d=\"M8.52 22.57c.073.01.146.018.22.02.781.023 2.095.091 3.16.288.87.16 2.593.642 4.011 1.056 1.082.316 2.197-.548 2.354-1.664.115-.814.33-1.735.725-2.58l-.009.004c-.67-1.87-1.523-3.077-2.417-3.847a5.294 5.294 0 00-2.777-1.258c-1.541-.216-2.952.189-3.841.45.532 2.218.368 4.828-1.425 7.53z\"></path><path d=\"M19.676 18.538a69.072 69.072 0 001.858-2.952.811.811 0 00-.061-.901c-.516-.684-1.504-2.075-2.042-3.362-.554-1.323-.636-3.378-.64-4.378a1.708 1.708 0 00-.359-1.051L15.235 1.83a3.757 3.757 0 01-.076.545c-.107.503-.307 1.004-.536 1.498-.135.29-.29.601-.446.915-.105.21-.21.42-.31.626-.517 1.068-.998 2.227-1.132 3.59-.125 1.262.046 2.73.814 4.484.128.01.257.025.386.043a6.364 6.364 0 013.327 1.506c.916.79 1.743 1.921 2.414 3.5z\"></path>" },
98
+ art: { viewBox: "0 0 24 24", body: "<path d=\"M9.643 14.012c.615-.183 1.605-.465 2.745-.534-.684-1.725-.849-3.235-.716-4.579.153-1.552.7-2.847 1.234-3.95.114-.235.223-.454.328-.664.149-.297.289-.577.42-.86.217-.47.378-.885.46-1.27.08-.38.08-.719-.014-1.044-.095-.325-.297-.675-.681-1.06a1.6 1.6 0 00-1.475.36l-4.95 4.453a1.602 1.602 0 00-.512.952l-.427 2.83c.67.592 2.327 2.317 3.335 4.71.09.213.174.432.253.656zM5.855 9.937c-.024.1-.057.197-.099.29L3.14 16.058a1.602 1.602 0 00.313 1.772l4.117 4.24c2.102-3.102 1.795-6.02.835-8.3-.728-1.73-1.832-3.083-2.55-3.833z\" fill=\"#A88BFA\"></path><path d=\"M8.52 22.57c.073.01.146.018.22.02.781.023 2.095.091 3.16.288.87.16 2.593.642 4.011 1.056 1.082.316 2.197-.548 2.354-1.664.115-.814.33-1.735.725-2.58l-.009.004c-.67-1.87-1.523-3.077-2.417-3.847a5.294 5.294 0 00-2.777-1.258c-1.541-.216-2.952.189-3.841.45.532 2.218.368 4.828-1.425 7.53z\" fill=\"#A88BFA\"></path><path d=\"M19.676 18.538a69.072 69.072 0 001.858-2.952.811.811 0 00-.061-.901c-.516-.684-1.504-2.075-2.042-3.362-.554-1.323-.636-3.378-.64-4.378a1.708 1.708 0 00-.359-1.051L15.235 1.83a3.757 3.757 0 01-.076.545c-.107.503-.307 1.004-.536 1.498-.135.29-.29.601-.446.915-.105.21-.21.42-.31.626-.517 1.068-.998 2.227-1.132 3.59-.125 1.262.046 2.73.814 4.484.128.01.257.025.386.043a6.364 6.364 0 013.327 1.506c.916.79 1.743 1.921 2.414 3.5z\" fill=\"#A88BFA\"></path>" },
99
+ },
88
100
  "openai": {
89
101
  glyph: { viewBox: "0 0 24 24", body: "<path d=\"M9.205 8.658v-2.26c0-.19.072-.333.238-.428l4.543-2.616c.619-.357 1.356-.523 2.117-.523 2.854 0 4.662 2.212 4.662 4.566 0 .167 0 .357-.024.547l-4.71-2.759a.797.797 0 00-.856 0l-5.97 3.473zm10.609 8.8V12.06c0-.333-.143-.57-.429-.737l-5.97-3.473 1.95-1.118a.433.433 0 01.476 0l4.543 2.617c1.309.76 2.189 2.378 2.189 3.948 0 1.808-1.07 3.473-2.76 4.163zM7.802 12.703l-1.95-1.142c-.167-.095-.239-.238-.239-.428V5.899c0-2.545 1.95-4.472 4.591-4.472 1 0 1.927.333 2.712.928L8.23 5.067c-.285.166-.428.404-.428.737v6.898zM12 15.128l-2.795-1.57v-3.33L12 8.658l2.795 1.57v3.33L12 15.128zm1.796 7.23c-1 0-1.927-.332-2.712-.927l4.686-2.712c.285-.166.428-.404.428-.737v-6.898l1.974 1.142c.167.095.238.238.238.428v5.233c0 2.545-1.974 4.472-4.614 4.472zm-5.637-5.303l-4.544-2.617c-1.308-.761-2.188-2.378-2.188-3.948A4.482 4.482 0 014.21 6.327v5.423c0 .333.143.571.428.738l5.947 3.449-1.95 1.118a.432.432 0 01-.476 0zm-.262 3.9c-2.688 0-4.662-2.021-4.662-4.519 0-.19.024-.38.047-.57l4.686 2.71c.286.167.571.167.856 0l5.97-3.448v2.26c0 .19-.07.333-.237.428l-4.543 2.616c-.619.357-1.356.523-2.117.523zm5.899 2.83a5.947 5.947 0 005.827-4.756C22.287 18.339 24 15.84 24 13.296c0-1.665-.713-3.282-1.998-4.448.119-.5.19-.999.19-1.498 0-3.401-2.759-5.947-5.946-5.947-.642 0-1.26.095-1.88.31A5.962 5.962 0 0010.205 0a5.947 5.947 0 00-5.827 4.757C1.713 5.447 0 7.945 0 10.49c0 1.666.713 3.283 1.998 4.448-.119.5-.19 1-.19 1.499 0 3.401 2.759 5.946 5.946 5.946.642 0 1.26-.095 1.88-.309a5.96 5.96 0 004.162 1.713z\"></path>" },
90
102
  art: null,
@@ -101,6 +113,10 @@ export const providerMarkAssets = {
101
113
  glyph: { viewBox: "0 0 24 24", body: "<path d=\"M12.604 1.34c.393.69.784 1.382 1.174 2.075a.18.18 0 00.157.091h5.552c.174 0 .322.11.446.327l1.454 2.57c.19.337.24.478.024.837-.26.43-.513.864-.76 1.3l-.367.658c-.106.196-.223.28-.04.512l2.652 4.637c.172.301.111.494-.043.77-.437.785-.882 1.564-1.335 2.34-.159.272-.352.375-.68.37-.777-.016-1.552-.01-2.327.016a.099.099 0 00-.081.05 575.097 575.097 0 01-2.705 4.74c-.169.293-.38.363-.725.364-.997.003-2.002.004-3.017.002a.537.537 0 01-.465-.271l-1.335-2.323a.09.09 0 00-.083-.049H4.982c-.285.03-.553-.001-.805-.092l-1.603-2.77a.543.543 0 01-.002-.54l1.207-2.12a.198.198 0 000-.197 550.951 550.951 0 01-1.875-3.272l-.79-1.395c-.16-.31-.173-.496.095-.965.465-.813.927-1.625 1.387-2.436.132-.234.304-.334.584-.335a338.3 338.3 0 012.589-.001.124.124 0 00.107-.063l2.806-4.895a.488.488 0 01.422-.246c.524-.001 1.053 0 1.583-.006L11.704 1c.341-.003.724.032.9.34zm-3.432.403a.06.06 0 00-.052.03L6.254 6.788a.157.157 0 01-.135.078H3.253c-.056 0-.07.025-.041.074l5.81 10.156c.025.042.013.062-.034.063l-2.795.015a.218.218 0 00-.2.116l-1.32 2.31c-.044.078-.021.118.068.118l5.716.008c.046 0 .08.02.104.061l1.403 2.454c.046.081.092.082.139 0l5.006-8.76.783-1.382a.055.055 0 01.096 0l1.424 2.53a.122.122 0 00.107.062l2.763-.02a.04.04 0 00.035-.02.041.041 0 000-.04l-2.9-5.086a.108.108 0 010-.113l.293-.507 1.12-1.977c.024-.041.012-.062-.035-.062H9.2c-.059 0-.073-.026-.043-.077l1.434-2.505a.107.107 0 000-.114L9.225 1.774a.06.06 0 00-.053-.031zm6.29 8.02c.046 0 .058.02.034.06l-.832 1.465-2.613 4.585a.056.056 0 01-.05.029.058.058 0 01-.05-.029L8.498 9.841c-.02-.034-.01-.052.028-.054l.216-.012 6.722-.012z\"></path>" },
102
114
  art: { viewBox: "0 0 24 24", body: "<path d=\"M12.604 1.34c.393.69.784 1.382 1.174 2.075a.18.18 0 00.157.091h5.552c.174 0 .322.11.446.327l1.454 2.57c.19.337.24.478.024.837-.26.43-.513.864-.76 1.3l-.367.658c-.106.196-.223.28-.04.512l2.652 4.637c.172.301.111.494-.043.77-.437.785-.882 1.564-1.335 2.34-.159.272-.352.375-.68.37-.777-.016-1.552-.01-2.327.016a.099.099 0 00-.081.05 575.097 575.097 0 01-2.705 4.74c-.169.293-.38.363-.725.364-.997.003-2.002.004-3.017.002a.537.537 0 01-.465-.271l-1.335-2.323a.09.09 0 00-.083-.049H4.982c-.285.03-.553-.001-.805-.092l-1.603-2.77a.543.543 0 01-.002-.54l1.207-2.12a.198.198 0 000-.197 550.951 550.951 0 01-1.875-3.272l-.79-1.395c-.16-.31-.173-.496.095-.965.465-.813.927-1.625 1.387-2.436.132-.234.304-.334.584-.335a338.3 338.3 0 012.589-.001.124.124 0 00.107-.063l2.806-4.895a.488.488 0 01.422-.246c.524-.001 1.053 0 1.583-.006L11.704 1c.341-.003.724.032.9.34zm-3.432.403a.06.06 0 00-.052.03L6.254 6.788a.157.157 0 01-.135.078H3.253c-.056 0-.07.025-.041.074l5.81 10.156c.025.042.013.062-.034.063l-2.795.015a.218.218 0 00-.2.116l-1.32 2.31c-.044.078-.021.118.068.118l5.716.008c.046 0 .08.02.104.061l1.403 2.454c.046.081.092.082.139 0l5.006-8.76.783-1.382a.055.055 0 01.096 0l1.424 2.53a.122.122 0 00.107.062l2.763-.02a.04.04 0 00.035-.02.041.041 0 000-.04l-2.9-5.086a.108.108 0 010-.113l.293-.507 1.12-1.977c.024-.041.012-.062-.035-.062H9.2c-.059 0-.073-.026-.043-.077l1.434-2.505a.107.107 0 000-.114L9.225 1.774a.06.06 0 00-.053-.031zm6.29 8.02c.046 0 .058.02.034.06l-.832 1.465-2.613 4.585a.056.056 0 01-.05.029.058.058 0 01-.05-.029L8.498 9.841c-.02-.034-.01-.052.028-.054l.216-.012 6.722-.012z\" fill=\"url(#lobe-icons-qwen-_R_0_)\" fill-rule=\"nonzero\"></path><defs><linearGradient id=\"lobe-icons-qwen-_R_0_\" x1=\"0%\" x2=\"100%\" y1=\"0%\" y2=\"0%\"><stop offset=\"0%\" stop-color=\"#6336E7\" stop-opacity=\".84\"></stop><stop offset=\"100%\" stop-color=\"#6F69F7\" stop-opacity=\".84\"></stop></linearGradient></defs>" },
103
115
  },
116
+ "supermemory": {
117
+ glyph: { viewBox: "0 0 206 168", body: "<path fill=\"currentColor\" d=\"M205.864 66.263h-76.401V0h-24.684v71.897c0 7.636 3.021 14.97 8.391 20.373l62.383 62.777 17.454-17.564-46.076-46.365h58.948v-24.84l-.015-.015ZM12.872 30.517l46.075 46.365H0v24.84h76.4v66.264h24.685V96.089c0-7.637-3.021-14.97-8.39-20.374l-62.37-62.762-17.453 17.564Z\"/>" },
118
+ art: null,
119
+ },
104
120
  "xai": {
105
121
  glyph: { viewBox: "0 0 24 24", body: "<path d=\"M6.469 8.776L16.512 23h-4.464L2.005 8.776H6.47zm-.004 7.9l2.233 3.164L6.467 23H2l4.465-6.324zM22 2.582V23h-3.659V7.764L22 2.582zM22 1l-9.952 14.095-2.233-3.163L17.533 1H22z\"></path>" },
106
122
  art: null,
@@ -1,4 +1,5 @@
1
1
  import { providerMarkAssets, type ProviderMarkArtwork } from "./provider-marks.generated.js";
2
+ import { paletteContrast } from "./palette-color.js";
2
3
 
3
4
  /**
4
5
  * Canonical provider and agent identity for product surfaces. Each mark pairs
@@ -39,15 +40,19 @@ const MARK_SPECS = {
39
40
  devin: { accent: "#3969ca", aliases: ["devin", "cognition"], kind: "agent", name: "Devin" },
40
41
  gemini: { accent: "#3186ff", aliases: ["gemini", "google", "google deepmind", "google ai"], kind: "vendor", name: "Gemini" },
41
42
  geminicli: { accent: "#3186ff", aliases: ["gemini cli", "gemini-cli"], kind: "agent", name: "Gemini CLI" },
43
+ githubcopilot: { accent: "#1f2328", aliases: ["github copilot", "github-copilot", "copilot"], kind: "agent", name: "GitHub Copilot" },
42
44
  goose: { accent: "#0e7c86", aliases: ["goose", "block goose"], kind: "agent", name: "Goose" },
45
+ mem0: { accent: "#cbb2ff", aliases: ["mem0", "memzero"], kind: "vendor", name: "Mem0" },
43
46
  meta: { accent: "#0082fb", aliases: ["meta", "meta ai", "llama"], kind: "vendor", name: "Meta" },
44
47
  mistral: { accent: "#fa500f", aliases: ["mistral", "mistral ai"], kind: "vendor", name: "Mistral" },
45
48
  moonshot: { accent: "#5b5bd6", aliases: ["moonshot", "moonshot ai", "kimi"], kind: "vendor", name: "Moonshot AI" },
46
49
  nvidia: { accent: "#74b71b", aliases: ["nvidia"], kind: "vendor", name: "NVIDIA" },
50
+ obsidian: { accent: "#7c3aed", aliases: ["obsidian", "obsidian md"], kind: "vendor", name: "Obsidian" },
47
51
  openai: { accent: "#0f1014", aliases: ["openai", "chatgpt", "gpt"], kind: "vendor", name: "OpenAI" },
48
52
  perplexity: { accent: "#22b8cd", aliases: ["perplexity", "perplexity ai"], kind: "vendor", name: "Perplexity" },
49
53
  opencode: { accent: "#d97706", aliases: ["opencode", "open code"], kind: "agent", name: "opencode" },
50
54
  qwen: { accent: "#615ced", aliases: ["qwen", "tongyi"], kind: "vendor", name: "Qwen" },
55
+ supermemory: { accent: "#2563eb", aliases: ["supermemory", "supermemory ai"], kind: "vendor", name: "Supermemory" },
51
56
  xai: { accent: "#1a1a1a", aliases: ["xai", "x.ai", "grok", "spacexai"], kind: "vendor", name: "xAI" },
52
57
  zai: { accent: "#2d4d9e", aliases: ["zai", "z.ai", "z ai", "zhipu"], kind: "vendor", name: "Z.AI" },
53
58
  } as const satisfies Record<keyof typeof providerMarkAssets, ProviderMarkSpec>;
@@ -58,22 +63,16 @@ function foldedIdentity(identity: string): string {
58
63
  return identity.toLowerCase().replaceAll(/[^a-z0-9]/gu, "");
59
64
  }
60
65
 
61
- /** Perceived brightness (0-255) from the YIQ transform of one hex color. */
62
- function perceivedBrightness(hexColor: string): number | null {
63
- const match = /^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/u.exec(hexColor.toLowerCase());
64
- if (match === null) return null;
65
- return (
66
- (Number.parseInt(match[1] ?? "0", 16) * 299 +
67
- Number.parseInt(match[2] ?? "0", 16) * 587 +
68
- Number.parseInt(match[3] ?? "0", 16) * 114) /
69
- 1000
70
- );
71
- }
72
-
73
- /** A readable glyph color on top of the mark's accent. */
66
+ /** An opaque glyph color at 4.5:1 or better on a six-digit brand accent. */
74
67
  export function providerMarkOnAccent(mark: Pick<ProviderMarkDescriptor, "accent">): string {
75
- const brightness = perceivedBrightness(mark.accent);
76
- return brightness !== null && brightness > 168 ? "#1c1917" : "#f7f6f2";
68
+ if (!/^#[0-9a-f]{6}$/iu.test(mark.accent)) throw new RangeError("Solid provider mark accents must be opaque six-digit hex colors.");
69
+ const moreReadable = (light: string, dark: string): string =>
70
+ paletteContrast(light, mark.accent) >= paletteContrast(dark, mark.accent) ? light : dark;
71
+ const preferred = moreReadable("#f7f6f2", "#1c1917");
72
+ // Retain warm ink where it passes; middle luminances may need pure ink.
73
+ return paletteContrast(preferred, mark.accent) >= 4.5
74
+ ? preferred
75
+ : moreReadable("#ffffff", "#000000");
77
76
  }
78
77
 
79
78
  /** Two-letter uppercase monogram from a display name, for uncovered marks. */
@@ -0,0 +1,196 @@
1
+ import * as stylex from "@stylexjs/stylex";
2
+
3
+ // These opaque neutral pairs remain readable inside an accent-colored section.
4
+ const ink = "var(--foreground, CanvasText)";
5
+ const muted = "var(--muted, GrayText)";
6
+ const surface = "var(--surface, Canvas)";
7
+ const background = "var(--background, Canvas)";
8
+ const line = `color-mix(in srgb, ${ink} 15%, transparent)`;
9
+ const focus = "var(--focus, Highlight)";
10
+ const mono = "var(--font-mono, ui-monospace, monospace)";
11
+ const forced = "@media (forced-colors: active)";
12
+ const noScript = "@media (scripting: none)";
13
+ const wide = "@container hraness-agent-setup (min-width: 42rem)";
14
+
15
+ export const agentSetupStyles = stylex.create({
16
+ root: {
17
+ color: { default: ink, [forced]: "CanvasText" },
18
+ containerName: "hraness-agent-setup",
19
+ containerType: "inline-size",
20
+ fontFamily: "var(--font-text, ui-sans-serif, system-ui, sans-serif)",
21
+ inlineSize: "100%",
22
+ minInlineSize: 0,
23
+ },
24
+ layout: {
25
+ alignItems: "start",
26
+ display: "grid",
27
+ gap: "1rem",
28
+ gridTemplateColumns: "minmax(0, 1fr)",
29
+ minInlineSize: 0,
30
+ },
31
+ withTargets: {
32
+ gridTemplateColumns: "var(--_hraness-agent-setup-columns, minmax(0, 1fr))",
33
+ "--_hraness-agent-setup-columns": { default: null, [wide]: "minmax(0, 1fr) minmax(11rem, 14rem)" },
34
+ },
35
+ frame: {
36
+ backgroundColor: { default: surface, [forced]: "Canvas" },
37
+ borderColor: { default: line, [forced]: "CanvasText" },
38
+ borderRadius: "0.75rem",
39
+ borderStyle: "solid",
40
+ borderWidth: "1px",
41
+ boxSizing: "border-box",
42
+ minInlineSize: 0,
43
+ overflow: "hidden",
44
+ position: "relative",
45
+ },
46
+ preview: {
47
+ maxBlockSize: "11rem",
48
+ minInlineSize: 0,
49
+ overflow: "hidden",
50
+ padding: "1rem 1rem 0",
51
+ },
52
+ previewText: {
53
+ maskImage: { default: "linear-gradient(black 55%, transparent)", [forced]: "none" },
54
+ maxBlockSize: "10rem",
55
+ overflow: "hidden",
56
+ },
57
+ pre: {
58
+ backgroundColor: "transparent",
59
+ borderRadius: 0,
60
+ color: { default: ink, [forced]: "CanvasText" },
61
+ fontFamily: mono,
62
+ fontSize: "0.8125rem",
63
+ lineHeight: 1.65,
64
+ margin: 0,
65
+ maxInlineSize: "100%",
66
+ minInlineSize: 0,
67
+ overflowWrap: "anywhere",
68
+ padding: 0,
69
+ tabSize: 2,
70
+ whiteSpace: "pre-wrap",
71
+ wordBreak: "normal",
72
+ },
73
+ full: {
74
+ padding: "0.5rem 1rem 4rem",
75
+ },
76
+ details: {
77
+ minInlineSize: 0,
78
+ },
79
+ summary: {
80
+ color: { default: muted, [forced]: "CanvasText" },
81
+ cursor: "pointer",
82
+ fontSize: "0.8125rem",
83
+ lineHeight: 1.4,
84
+ listStyle: "none",
85
+ minBlockSize: "3.5rem",
86
+ outline: { default: "none", ":focus-visible": `2px solid ${focus}` },
87
+ outlineOffset: "-3px",
88
+ padding: "1.1rem 7rem 1rem 1rem",
89
+ ":hover": { color: ink },
90
+ "::marker": { content: '""' },
91
+ },
92
+ copy: {
93
+ alignItems: "center",
94
+ appearance: "none",
95
+ backgroundColor: { default: background, ":hover": surface, [forced]: "ButtonFace" },
96
+ borderColor: { default: line, [forced]: "ButtonText" },
97
+ borderRadius: "0.5rem",
98
+ borderStyle: "solid",
99
+ borderWidth: "1px",
100
+ boxSizing: "border-box",
101
+ color: { default: ink, [forced]: "ButtonText" },
102
+ cursor: "pointer",
103
+ display: { default: "inline-flex", [noScript]: "none" },
104
+ flexShrink: 0,
105
+ fontFamily: "inherit",
106
+ fontSize: "0.8125rem",
107
+ gap: "0.4rem",
108
+ justifyContent: "center",
109
+ lineHeight: 1,
110
+ margin: 0,
111
+ minBlockSize: "2.75rem",
112
+ outline: { default: "none", ":focus-visible": `2px solid ${focus}` },
113
+ outlineOffset: "2px",
114
+ padding: "0.65rem 0.8rem",
115
+ },
116
+ copyOverlay: {
117
+ insetBlockEnd: "0.5rem",
118
+ insetInlineEnd: "0.5rem",
119
+ position: "absolute",
120
+ },
121
+ copyIcon: { blockSize: "1rem", flexShrink: 0, inlineSize: "1rem" },
122
+ targets: { display: "grid", gap: "0.6rem", minInlineSize: 0 },
123
+ targetsLabel: { color: { default: muted, [forced]: "CanvasText" }, fontSize: "0.8125rem", fontWeight: 500, margin: 0 },
124
+ targetList: { display: "grid", gap: "0.45rem", gridTemplateColumns: "repeat(auto-fit, minmax(min(100%, 10rem), 1fr))", listStyle: "none", margin: 0, padding: 0 },
125
+ target: {
126
+ alignItems: "center",
127
+ backgroundColor: { default: surface, ":hover": background, [forced]: "ButtonFace" },
128
+ borderColor: { default: line, [forced]: "ButtonText" },
129
+ borderRadius: "0.5rem",
130
+ borderStyle: "solid",
131
+ borderWidth: "1px",
132
+ boxSizing: "border-box",
133
+ color: { default: ink, [forced]: "ButtonText" },
134
+ display: "flex",
135
+ fontSize: "0.875rem",
136
+ gap: "0.65rem",
137
+ lineHeight: 1.3,
138
+ minBlockSize: "2.75rem",
139
+ minInlineSize: 0,
140
+ outline: { default: "none", ":focus-visible": `2px solid ${focus}` },
141
+ outlineOffset: "2px",
142
+ padding: "0.65rem 0.8rem",
143
+ textDecoration: "none",
144
+ },
145
+ commandRoot: { display: "grid", gap: "0.6rem", minInlineSize: 0 },
146
+ tablist: {
147
+ display: { default: "flex", [noScript]: "none" },
148
+ flexWrap: "wrap",
149
+ gap: "0.3rem",
150
+ minInlineSize: 0,
151
+ },
152
+ tab: {
153
+ alignItems: "center",
154
+ appearance: "none",
155
+ backgroundColor: { default: surface, ":hover": background, [forced]: "ButtonFace" },
156
+ borderColor: { default: "transparent", [forced]: "ButtonText" },
157
+ borderRadius: "0.5rem",
158
+ borderStyle: "solid",
159
+ borderWidth: "1px",
160
+ boxSizing: "border-box",
161
+ color: { default: ink, ":hover": ink, [forced]: "ButtonText" },
162
+ cursor: "pointer",
163
+ display: "inline-flex",
164
+ fontFamily: "inherit",
165
+ fontSize: "0.875rem",
166
+ gap: "0.55rem",
167
+ lineHeight: 1.3,
168
+ margin: 0,
169
+ minBlockSize: "2.75rem",
170
+ minInlineSize: 0,
171
+ outline: { default: "none", ":focus-visible": `2px solid ${focus}` },
172
+ outlineOffset: "2px",
173
+ padding: "0.6rem 0.8rem",
174
+ },
175
+ tabSelected: {
176
+ backgroundColor: { default: ink, ":hover": ink, [forced]: "Highlight" },
177
+ color: { default: background, ":hover": background, [forced]: "HighlightText" },
178
+ forcedColorAdjust: { default: null, [forced]: "none" },
179
+ },
180
+ panel: { display: { default: null, [noScript]: "block" }, minInlineSize: 0 },
181
+ commandBar: { alignItems: "center", display: "flex", justifyContent: "space-between", minInlineSize: 0, padding: "0.4rem 0.4rem 0 1rem" },
182
+ commandLabels: { display: "grid", gap: "0.25rem", minInlineSize: 0 },
183
+ filename: { color: { default: muted, [forced]: "CanvasText" }, fontFamily: mono, fontSize: "0.75rem", overflowWrap: "anywhere" },
184
+ panelLabel: { alignItems: "center", display: { default: "none", [noScript]: "flex" }, fontSize: "0.875rem", gap: "0.5rem", margin: 0 },
185
+ commandText: { padding: "0.5rem 1rem 1rem" },
186
+ code: { backgroundColor: "transparent", color: "inherit", fontFamily: "inherit", fontSize: "inherit", padding: 0 },
187
+ status: { blockSize: "1px", borderWidth: 0, clipPath: "inset(50%)", inlineSize: "1px", margin: "-1px", overflow: "hidden", padding: 0, position: "absolute", whiteSpace: "nowrap" },
188
+ });
189
+
190
+ type Part = keyof typeof agentSetupStyles;
191
+
192
+ export function agentSetupClassName(parts: readonly (Part | false | undefined)[], caller?: string): string {
193
+ const active = parts.filter((part): part is Part => part !== false && part !== undefined);
194
+ const atoms = stylex.props(...active.map((part) => agentSetupStyles[part])).className;
195
+ return [...active.map((part) => `hraness-agent-setup__${part}`), atoms, caller].filter(Boolean).join(" ");
196
+ }