@websolutespa/bom-mixer-llm 1.8.1 → 1.8.3

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 (79) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/index.css +387 -11
  3. package/dist/cjs/index.js +456 -228
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/esm/index.css +387 -11
  6. package/dist/esm/llm/components/Chunk/chunk.js +9 -0
  7. package/dist/esm/llm/components/Chunk/chunk.js.map +1 -1
  8. package/dist/esm/llm/components/Grid/grid.js +25 -0
  9. package/dist/esm/llm/components/Grid/grid.js.map +1 -0
  10. package/dist/esm/llm/components/Product/product.js +115 -0
  11. package/dist/esm/llm/components/Product/product.js.map +1 -0
  12. package/dist/esm/llm/components/ProductGroup/product-group.js +24 -0
  13. package/dist/esm/llm/components/ProductGroup/product-group.js.map +1 -0
  14. package/dist/esm/llm/components/Prompt/prompt.js +2 -2
  15. package/dist/esm/llm/components/Prompt/prompt.js.map +1 -1
  16. package/dist/esm/llm/components/Scroller/scroller.js +8 -2
  17. package/dist/esm/llm/components/Scroller/scroller.js.map +1 -1
  18. package/dist/esm/llm/components/Text/text.js +34 -2
  19. package/dist/esm/llm/components/Text/text.js.map +1 -1
  20. package/dist/esm/llm/theme.js +2 -235
  21. package/dist/esm/llm/theme.js.map +1 -1
  22. package/dist/esm/llm/theme.json.js +267 -0
  23. package/dist/esm/llm/theme.json.js.map +1 -0
  24. package/dist/esm/useLlm/message.service.js +11 -1
  25. package/dist/esm/useLlm/message.service.js.map +1 -1
  26. package/dist/esm/useLlm/useLlmView.js +1 -1
  27. package/dist/esm/useLlm/useLlmView.js.map +1 -1
  28. package/dist/types/llm/components/Chunk/chunk.d.ts.map +1 -1
  29. package/dist/types/llm/components/Grid/grid.d.ts +19 -0
  30. package/dist/types/llm/components/Grid/grid.d.ts.map +1 -0
  31. package/dist/types/llm/components/Product/product-cta.d.ts +7 -0
  32. package/dist/types/llm/components/Product/product-cta.d.ts.map +1 -0
  33. package/dist/types/llm/components/Product/product.d.ts +7 -0
  34. package/dist/types/llm/components/Product/product.d.ts.map +1 -0
  35. package/dist/types/llm/components/ProductGroup/product-group.d.ts +3 -0
  36. package/dist/types/llm/components/ProductGroup/product-group.d.ts.map +1 -0
  37. package/dist/types/llm/components/ProductGroupSlider/product-group-slider.d.ts +3 -0
  38. package/dist/types/llm/components/ProductGroupSlider/product-group-slider.d.ts.map +1 -0
  39. package/dist/types/llm/components/Prompt/prompt.d.ts.map +1 -1
  40. package/dist/types/llm/components/Scroller/scroller.d.ts.map +1 -1
  41. package/dist/types/llm/components/Text/text.d.ts.map +1 -1
  42. package/dist/types/llm/theme.d.ts +38 -245
  43. package/dist/types/llm/theme.d.ts.map +1 -1
  44. package/dist/types/types.d.ts +32 -1
  45. package/dist/types/types.d.ts.map +1 -1
  46. package/dist/types/useLlm/message.service.d.ts.map +1 -1
  47. package/dist/types/useLlm/mock-app.silicon.d.ts +3 -0
  48. package/dist/types/useLlm/mock-app.silicon.d.ts.map +1 -0
  49. package/dist/types/useLlm/mock-thread.lfo.d.ts.map +1 -1
  50. package/dist/types/useLlm/mock-thread.silicon.d.ts +3 -0
  51. package/dist/types/useLlm/mock-thread.silicon.d.ts.map +1 -0
  52. package/package.json +1 -1
  53. package/src/llm/components/Chunk/chunk.tsx +12 -0
  54. package/src/llm/components/Dialog/dialog.tsx +1 -1
  55. package/src/llm/components/Grid/_style.scss +35 -0
  56. package/src/llm/components/Grid/grid.tsx +39 -0
  57. package/src/llm/components/Product/_style.scss +127 -0
  58. package/src/llm/components/Product/product-cta.tsx +17 -0
  59. package/src/llm/components/Product/product.tsx +90 -0
  60. package/src/llm/components/ProductGroup/_style.scss +10 -0
  61. package/src/llm/components/ProductGroup/product-group.tsx +20 -0
  62. package/src/llm/components/ProductGroupSlider/_style.scss +55 -0
  63. package/src/llm/components/ProductGroupSlider/product-group-slider.tsx +65 -0
  64. package/src/llm/components/Prompt/_style.scss +8 -8
  65. package/src/llm/components/Prompt/prompt.tsx +2 -7
  66. package/src/llm/components/Scroller/scroller.tsx +4 -0
  67. package/src/llm/components/Text/_style.scss +5 -0
  68. package/src/llm/components/Text/text.tsx +31 -3
  69. package/src/llm/components/Thread/_style.scss +1 -1
  70. package/src/llm/components/Trigger/_style.scss +2 -2
  71. package/src/llm/scss/style.scss +3 -0
  72. package/src/llm/theme.json +247 -0
  73. package/src/llm/theme.ts +2 -228
  74. package/src/types.ts +42 -0
  75. package/src/useLlm/message.service.ts +11 -1
  76. package/src/useLlm/mock-app.silicon.ts +170 -0
  77. package/src/useLlm/mock-thread.lfo.ts +2 -0
  78. package/src/useLlm/mock-thread.silicon.ts +291 -0
  79. package/src/useLlm/useLlmView.tsx +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @websolutespa/bom-mixer-llm
2
2
 
3
+ ## 1.8.3
4
+
5
+ ### Patch Changes
6
+
7
+ - f5d0129: Added: Product Card & Product Card Group
8
+
9
+ ## 1.8.2
10
+
11
+ ### Patch Changes
12
+
13
+ - Added: markdown llm_pill click handler
14
+
3
15
  ## 1.8.1
4
16
 
5
17
  ### Patch Changes
@@ -922,8 +922,8 @@ llm-embed {
922
922
  margin: 12px auto 0 auto;
923
923
  padding: 10px 20px;
924
924
  border-radius: 40px;
925
- background: var(--llm-color-neutral-100);
926
- color: var(--llm-color-base-100);
925
+ background: var(--llm-trigger-cta-background);
926
+ color: var(--llm-trigger-cta-foreground);
927
927
  font-weight: 800;
928
928
  font-size: inherit;
929
929
  }
@@ -1337,6 +1337,14 @@ llm-embed {
1337
1337
  background: var(--llm-input-background);
1338
1338
  width: 100%;
1339
1339
  }
1340
+ .llm .llm__prompt-input.-speech-supported > .llm__prompt-textarea {
1341
+ padding: 10px 40px;
1342
+ }
1343
+ @media (min-width: 1024px) {
1344
+ .llm .llm__prompt-input.-speech-supported > .llm__prompt-textarea {
1345
+ padding: 18px 40px;
1346
+ }
1347
+ }
1340
1348
  .llm .llm__prompt-textarea {
1341
1349
  appearance: none;
1342
1350
  display: block;
@@ -1374,14 +1382,6 @@ llm-embed {
1374
1382
  max-height: 220px;
1375
1383
  }
1376
1384
  }
1377
- .-speech-supported .llm .llm__prompt-textarea {
1378
- padding: 10px 40px;
1379
- }
1380
- @media (min-width: 1024px) {
1381
- .-speech-supported .llm .llm__prompt-textarea {
1382
- padding: 18px 40px;
1383
- }
1384
- }
1385
1385
  .llm .llm__prompt-speak, .llm .llm__prompt-microphone {
1386
1386
  position: absolute;
1387
1387
  display: flex;
@@ -1683,6 +1683,10 @@ llm-embed {
1683
1683
  height: 320px;
1684
1684
  object-fit: cover;
1685
1685
  }
1686
+ .llm .llm__message--assistant .llm__inner--string .llm__text .llm__text-body .llm__pill {
1687
+ max-width: max(400px, 30vw);
1688
+ margin-bottom: 1em;
1689
+ }
1686
1690
  .llm .llm__text-disclaimer {
1687
1691
  line-height: 1;
1688
1692
  font-family: var(--llm-font-secondary);
@@ -2072,6 +2076,379 @@ llm-embed {
2072
2076
  z-index: 10000;
2073
2077
  }
2074
2078
 
2079
+ .llm .llm__gridrow {
2080
+ --grid-columns: var(--llm-grid-columns, 12);
2081
+ --grid-size: var(--llm-grid-size, 1fr);
2082
+ --grid-column-gap: var(--llm-grid-column-gap, 2rem);
2083
+ --grid-row-gap: var(--llm-grid-row-gap, 2rem);
2084
+ display: grid;
2085
+ grid-template-columns: repeat(var(--grid-columns), var(--grid-size));
2086
+ grid-column-gap: var(--grid-column-gap);
2087
+ grid-row-gap: var(--grid-row-gap);
2088
+ }
2089
+ .llm .llm__grid {
2090
+ --grid-column: var(--llm-grid-columns, 12);
2091
+ grid-column: span var(--grid-column);
2092
+ }
2093
+ .llm .llm__grid.--xs-1 {
2094
+ --grid-column: 1;
2095
+ }
2096
+ .llm .llm__grid.--xs-2 {
2097
+ --grid-column: 2;
2098
+ }
2099
+ .llm .llm__grid.--xs-3 {
2100
+ --grid-column: 3;
2101
+ }
2102
+ .llm .llm__grid.--xs-4 {
2103
+ --grid-column: 4;
2104
+ }
2105
+ @media (min-width: 768px) {
2106
+ .llm .llm__grid.--sm-1 {
2107
+ --grid-column: 1;
2108
+ }
2109
+ }
2110
+ @media (min-width: 768px) {
2111
+ .llm .llm__grid.--sm-2 {
2112
+ --grid-column: 2;
2113
+ }
2114
+ }
2115
+ @media (min-width: 768px) {
2116
+ .llm .llm__grid.--sm-3 {
2117
+ --grid-column: 3;
2118
+ }
2119
+ }
2120
+ @media (min-width: 768px) {
2121
+ .llm .llm__grid.--sm-4 {
2122
+ --grid-column: 4;
2123
+ }
2124
+ }
2125
+ @media (min-width: 1024px) {
2126
+ .llm .llm__grid.--md-1 {
2127
+ --grid-column: 1;
2128
+ }
2129
+ }
2130
+ @media (min-width: 1024px) {
2131
+ .llm .llm__grid.--md-2 {
2132
+ --grid-column: 2;
2133
+ }
2134
+ }
2135
+ @media (min-width: 1024px) {
2136
+ .llm .llm__grid.--md-3 {
2137
+ --grid-column: 3;
2138
+ }
2139
+ }
2140
+ @media (min-width: 1024px) {
2141
+ .llm .llm__grid.--md-4 {
2142
+ --grid-column: 4;
2143
+ }
2144
+ }
2145
+ @media (min-width: 1024px) {
2146
+ .llm .llm__grid.--md-5 {
2147
+ --grid-column: 5;
2148
+ }
2149
+ }
2150
+ @media (min-width: 1024px) {
2151
+ .llm .llm__grid.--md-6 {
2152
+ --grid-column: 6;
2153
+ }
2154
+ }
2155
+ @media (min-width: 1024px) {
2156
+ .llm .llm__grid.--md-7 {
2157
+ --grid-column: 7;
2158
+ }
2159
+ }
2160
+ @media (min-width: 1024px) {
2161
+ .llm .llm__grid.--md-8 {
2162
+ --grid-column: 8;
2163
+ }
2164
+ }
2165
+ @media (min-width: 1024px) {
2166
+ .llm .llm__grid.--md-9 {
2167
+ --grid-column: 9;
2168
+ }
2169
+ }
2170
+ @media (min-width: 1024px) {
2171
+ .llm .llm__grid.--md-10 {
2172
+ --grid-column: 10;
2173
+ }
2174
+ }
2175
+ @media (min-width: 1024px) {
2176
+ .llm .llm__grid.--md-11 {
2177
+ --grid-column: 11;
2178
+ }
2179
+ }
2180
+ @media (min-width: 1024px) {
2181
+ .llm .llm__grid.--md-12 {
2182
+ --grid-column: 12;
2183
+ }
2184
+ }
2185
+ @media (min-width: 1440px) {
2186
+ .llm .llm__grid.--lg-1 {
2187
+ --grid-column: 1;
2188
+ }
2189
+ }
2190
+ @media (min-width: 1440px) {
2191
+ .llm .llm__grid.--lg-2 {
2192
+ --grid-column: 2;
2193
+ }
2194
+ }
2195
+ @media (min-width: 1440px) {
2196
+ .llm .llm__grid.--lg-3 {
2197
+ --grid-column: 3;
2198
+ }
2199
+ }
2200
+ @media (min-width: 1440px) {
2201
+ .llm .llm__grid.--lg-4 {
2202
+ --grid-column: 4;
2203
+ }
2204
+ }
2205
+ @media (min-width: 1440px) {
2206
+ .llm .llm__grid.--lg-5 {
2207
+ --grid-column: 5;
2208
+ }
2209
+ }
2210
+ @media (min-width: 1440px) {
2211
+ .llm .llm__grid.--lg-6 {
2212
+ --grid-column: 6;
2213
+ }
2214
+ }
2215
+ @media (min-width: 1440px) {
2216
+ .llm .llm__grid.--lg-7 {
2217
+ --grid-column: 7;
2218
+ }
2219
+ }
2220
+ @media (min-width: 1440px) {
2221
+ .llm .llm__grid.--lg-8 {
2222
+ --grid-column: 8;
2223
+ }
2224
+ }
2225
+ @media (min-width: 1440px) {
2226
+ .llm .llm__grid.--lg-9 {
2227
+ --grid-column: 9;
2228
+ }
2229
+ }
2230
+ @media (min-width: 1440px) {
2231
+ .llm .llm__grid.--lg-10 {
2232
+ --grid-column: 10;
2233
+ }
2234
+ }
2235
+ @media (min-width: 1440px) {
2236
+ .llm .llm__grid.--lg-11 {
2237
+ --grid-column: 11;
2238
+ }
2239
+ }
2240
+ @media (min-width: 1440px) {
2241
+ .llm .llm__grid.--lg-12 {
2242
+ --grid-column: 12;
2243
+ }
2244
+ }
2245
+ @media (min-width: 1600px) {
2246
+ .llm .llm__grid.--xl-1 {
2247
+ --grid-column: 1;
2248
+ }
2249
+ }
2250
+ @media (min-width: 1600px) {
2251
+ .llm .llm__grid.--xl-2 {
2252
+ --grid-column: 2;
2253
+ }
2254
+ }
2255
+ @media (min-width: 1600px) {
2256
+ .llm .llm__grid.--xl-3 {
2257
+ --grid-column: 3;
2258
+ }
2259
+ }
2260
+ @media (min-width: 1600px) {
2261
+ .llm .llm__grid.--xl-4 {
2262
+ --grid-column: 4;
2263
+ }
2264
+ }
2265
+ @media (min-width: 1600px) {
2266
+ .llm .llm__grid.--xl-5 {
2267
+ --grid-column: 5;
2268
+ }
2269
+ }
2270
+ @media (min-width: 1600px) {
2271
+ .llm .llm__grid.--xl-6 {
2272
+ --grid-column: 6;
2273
+ }
2274
+ }
2275
+ @media (min-width: 1600px) {
2276
+ .llm .llm__grid.--xl-7 {
2277
+ --grid-column: 7;
2278
+ }
2279
+ }
2280
+ @media (min-width: 1600px) {
2281
+ .llm .llm__grid.--xl-8 {
2282
+ --grid-column: 8;
2283
+ }
2284
+ }
2285
+ @media (min-width: 1600px) {
2286
+ .llm .llm__grid.--xl-9 {
2287
+ --grid-column: 9;
2288
+ }
2289
+ }
2290
+ @media (min-width: 1600px) {
2291
+ .llm .llm__grid.--xl-10 {
2292
+ --grid-column: 10;
2293
+ }
2294
+ }
2295
+ @media (min-width: 1600px) {
2296
+ .llm .llm__grid.--xl-11 {
2297
+ --grid-column: 11;
2298
+ }
2299
+ }
2300
+ @media (min-width: 1600px) {
2301
+ .llm .llm__grid.--xl-12 {
2302
+ --grid-column: 12;
2303
+ }
2304
+ }
2305
+
2306
+ .llm .llm__product {
2307
+ position: relative;
2308
+ display: flex;
2309
+ flex-direction: column;
2310
+ justify-content: flex-end;
2311
+ border-radius: 0.6rem;
2312
+ border: 1px solid var(--llm-product-border);
2313
+ background: var(--llm-product-background);
2314
+ color: var(--llm-product-foreground);
2315
+ overflow: hidden;
2316
+ font-weight: 100;
2317
+ }
2318
+ .llm .llm__product-media {
2319
+ position: relative;
2320
+ padding: 1rem;
2321
+ }
2322
+ .llm .llm__product-asset {
2323
+ display: flex;
2324
+ justify-content: center;
2325
+ align-items: center;
2326
+ aspect-ratio: var(--llm-product-aspect-ratio);
2327
+ overflow: hidden;
2328
+ background: var(--llm-color-neutral-200);
2329
+ }
2330
+ .llm .llm__product-asset > img {
2331
+ width: 100%;
2332
+ height: 100%;
2333
+ object-fit: cover;
2334
+ background: var(--llm-color-neutral-200);
2335
+ }
2336
+ .llm .llm__product-content {
2337
+ position: relative;
2338
+ display: flex;
2339
+ flex-direction: column;
2340
+ padding: 1rem;
2341
+ row-gap: 0.5em;
2342
+ height: 100%;
2343
+ }
2344
+ .llm .llm__product-label {
2345
+ font-size: 0.8rem;
2346
+ line-height: 1.25;
2347
+ position: absolute;
2348
+ top: 1rem;
2349
+ left: 1rem;
2350
+ padding: 0.4rem 0.8rem;
2351
+ border-radius: 0.5rem;
2352
+ letter-spacing: 0.05rem;
2353
+ font-weight: 400;
2354
+ background: var(--llm-product-label-background);
2355
+ color: var(--llm-product-label-foreground);
2356
+ }
2357
+ .llm .llm__product-sku {
2358
+ line-height: 1;
2359
+ font-family: var(--llm-font-primary);
2360
+ font-weight: var(--llm-typography-label1-font-weight);
2361
+ line-height: var(--llm-typography-label1-line-height);
2362
+ letter-spacing: var(--llm-typography-label1-letter-spacing);
2363
+ font-size: clamp(var(--llm-typography-label1-font-size-min) * 1px, var(--llm-typography-label1-font-size-min) * 1px + (100vw - 375px) / 1545 * (var(--llm-typography-label1-font-size-max) - var(--llm-typography-label1-font-size-min)), var(--llm-typography-label1-font-size-max) * 1px);
2364
+ font-weight: 700;
2365
+ }
2366
+ .llm .llm__product-title {
2367
+ line-height: 1;
2368
+ font-family: var(--llm-font-primary);
2369
+ font-weight: var(--llm-typography-body4-font-weight);
2370
+ line-height: var(--llm-typography-body4-line-height);
2371
+ letter-spacing: var(--llm-typography-body4-letter-spacing);
2372
+ font-size: clamp(var(--llm-typography-body4-font-size-min) * 1px, var(--llm-typography-body4-font-size-min) * 1px + (100vw - 375px) / 1545 * (var(--llm-typography-body4-font-size-max) - var(--llm-typography-body4-font-size-min)), var(--llm-typography-body4-font-size-max) * 1px);
2373
+ font-weight: 100;
2374
+ flex-grow: 1;
2375
+ }
2376
+ .llm .llm__product-title:hover {
2377
+ text-decoration: underline;
2378
+ }
2379
+ .llm .llm__product-abstract {
2380
+ line-height: 1;
2381
+ font-family: var(--llm-font-secondary);
2382
+ font-weight: var(--llm-typography-body5-font-weight);
2383
+ line-height: var(--llm-typography-body5-line-height);
2384
+ letter-spacing: var(--llm-typography-body5-letter-spacing);
2385
+ font-size: clamp(var(--llm-typography-body5-font-size-min) * 1px, var(--llm-typography-body5-font-size-min) * 1px + (100vw - 375px) / 1545 * (var(--llm-typography-body5-font-size-max) - var(--llm-typography-body5-font-size-min)), var(--llm-typography-body5-font-size-max) * 1px);
2386
+ font-weight: 100;
2387
+ flex-grow: 1;
2388
+ }
2389
+ .llm .llm__product-prices {
2390
+ display: flex;
2391
+ column-gap: 1em;
2392
+ }
2393
+ .llm .llm__product-price {
2394
+ line-height: 1;
2395
+ font-family: var(--llm-font-primary);
2396
+ font-weight: var(--llm-typography-label1-font-weight);
2397
+ line-height: var(--llm-typography-label1-line-height);
2398
+ letter-spacing: var(--llm-typography-label1-letter-spacing);
2399
+ font-size: clamp(var(--llm-typography-label1-font-size-min) * 1px, var(--llm-typography-label1-font-size-min) * 1px + (100vw - 375px) / 1545 * (var(--llm-typography-label1-font-size-max) - var(--llm-typography-label1-font-size-min)), var(--llm-typography-label1-font-size-max) * 1px);
2400
+ font-weight: 400;
2401
+ }
2402
+ .llm .llm__product-fullprice {
2403
+ line-height: 1;
2404
+ font-family: var(--llm-font-primary);
2405
+ font-weight: var(--llm-typography-label1-font-weight);
2406
+ line-height: var(--llm-typography-label1-line-height);
2407
+ letter-spacing: var(--llm-typography-label1-letter-spacing);
2408
+ font-size: clamp(var(--llm-typography-label1-font-size-min) * 1px, var(--llm-typography-label1-font-size-min) * 1px + (100vw - 375px) / 1545 * (var(--llm-typography-label1-font-size-max) - var(--llm-typography-label1-font-size-min)), var(--llm-typography-label1-font-size-max) * 1px);
2409
+ text-decoration: line-through;
2410
+ opacity: 0.5;
2411
+ }
2412
+ .llm .llm__product-available {
2413
+ color: var(--llm-product-available);
2414
+ }
2415
+ .llm .llm__product-soldout {
2416
+ color: var(--llm-product-soldout);
2417
+ }
2418
+ .llm .llm__product-ctas {
2419
+ display: flex;
2420
+ justify-content: center;
2421
+ gap: clamp(24px, 24px + (100vw - 375px) / 1545 * 8, 32px);
2422
+ padding-top: clamp(8px, 8px + (100vw - 375px) / 1545 * 8, 16px);
2423
+ margin-top: auto;
2424
+ }
2425
+ .llm .llm__product-cta {
2426
+ display: flex;
2427
+ align-items: center;
2428
+ gap: 0.5em;
2429
+ margin: 0 auto;
2430
+ line-height: 1;
2431
+ font-family: var(--llm-font-primary);
2432
+ font-weight: var(--llm-typography-body4-font-weight);
2433
+ line-height: var(--llm-typography-body4-line-height);
2434
+ letter-spacing: var(--llm-typography-body4-letter-spacing);
2435
+ font-size: clamp(var(--llm-typography-body4-font-size-min) * 1px, var(--llm-typography-body4-font-size-min) * 1px + (100vw - 375px) / 1545 * (var(--llm-typography-body4-font-size-max) - var(--llm-typography-body4-font-size-min)), var(--llm-typography-body4-font-size-max) * 1px);
2436
+ font-weight: 700;
2437
+ }
2438
+ .llm .llm__product-cta svg {
2439
+ fill: currentColor;
2440
+ width: 24px;
2441
+ height: 24px;
2442
+ }
2443
+
2444
+ .llm .llm__products {
2445
+ width: 100%;
2446
+ margin: 3rem 0;
2447
+ }
2448
+ .llm .llm__product {
2449
+ height: 100%;
2450
+ }
2451
+
2075
2452
  .llm .llm__event-inner {
2076
2453
  border-radius: 5px;
2077
2454
  background: rgba(0, 60, 140, 0.8);
@@ -2562,7 +2939,6 @@ llm-embed {
2562
2939
  margin-bottom: 20vh;
2563
2940
  }
2564
2941
  .llm .llm__inner {
2565
- width: 100%;
2566
2942
  margin: 0 clamp(20px, 20px + (100vw - 375px) / 1545 * 90, 110px);
2567
2943
  }
2568
2944
  .llm .llm__inner--cardGroup {