nuxt-og-image 2.0.0-beta.2 → 2.0.0-beta.22

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 (72) hide show
  1. package/README.md +172 -44
  2. package/dist/client/200.html +2 -2
  3. package/dist/client/404.html +2 -2
  4. package/dist/client/_nuxt/IconCSS.779331aa.js +1 -0
  5. package/dist/client/_nuxt/{ImageLoader.9bf39d71.js → ImageLoader.9ed308b0.js} +1 -1
  6. package/dist/client/_nuxt/entry.acc10163.css +1 -0
  7. package/dist/client/_nuxt/entry.e7270163.js +5 -0
  8. package/dist/client/_nuxt/{error-404.1ff52902.js → error-404.dcc06a80.js} +1 -1
  9. package/dist/client/_nuxt/{error-500.f7d30da5.js → error-500.fb40d400.js} +1 -1
  10. package/dist/client/_nuxt/{error-component.cf7543e5.js → error-component.9702a511.js} +2 -2
  11. package/dist/client/_nuxt/{index.3f356409.js → index.6a247c9d.js} +1 -1
  12. package/dist/client/_nuxt/{options.56a3e5f9.js → options.481faa9f.js} +1 -1
  13. package/dist/client/_nuxt/{png.37f3e77b.js → png.7e62d84b.js} +1 -1
  14. package/dist/client/_nuxt/{shiki.3a930bb8.js → shiki.0c927d45.js} +1 -1
  15. package/dist/client/_nuxt/{svg.186c6bd1.js → svg.81bf3f5a.js} +1 -1
  16. package/dist/client/_nuxt/{vnodes.a799f183.js → vnodes.096af306.js} +1 -1
  17. package/dist/client/index.html +2 -2
  18. package/dist/client/options/index.html +2 -2
  19. package/dist/client/png/index.html +2 -2
  20. package/dist/client/svg/index.html +2 -2
  21. package/dist/client/vnodes/index.html +2 -2
  22. package/dist/module.d.ts +15 -6
  23. package/dist/module.json +1 -1
  24. package/dist/module.mjs +239 -117
  25. package/dist/runtime/browserUtil.d.ts +1 -0
  26. package/dist/runtime/browserUtil.mjs +10 -5
  27. package/dist/runtime/composables/defineOgImage.mjs +14 -12
  28. package/dist/runtime/nitro/middleware/og.png.mjs +50 -7
  29. package/dist/runtime/nitro/middleware/playground.mjs +4 -3
  30. package/dist/runtime/nitro/plugins/prerender.d.ts +3 -0
  31. package/dist/runtime/nitro/plugins/prerender.mjs +18 -0
  32. package/dist/runtime/nitro/providers/browser/lambda.d.ts +1 -1
  33. package/dist/runtime/nitro/providers/browser/lambda.mjs +5 -5
  34. package/dist/runtime/nitro/providers/browser/{node.mjs → playwright.mjs} +0 -9
  35. package/dist/runtime/nitro/providers/browser/universal.d.ts +1 -0
  36. package/dist/runtime/nitro/providers/browser/universal.mjs +33 -0
  37. package/dist/runtime/nitro/providers/png/resvg.d.ts +4 -0
  38. package/dist/runtime/nitro/providers/png/resvg.mjs +11 -0
  39. package/dist/runtime/nitro/providers/png/svg2png.mjs +11 -0
  40. package/dist/runtime/nitro/providers/satori/{webworker.mjs → yoga-wasm.mjs} +4 -5
  41. package/dist/runtime/nitro/renderers/browser.mjs +12 -6
  42. package/dist/runtime/nitro/renderers/satori/index.mjs +3 -3
  43. package/dist/runtime/nitro/renderers/satori/plugins/encoding.mjs +2 -1
  44. package/dist/runtime/nitro/renderers/satori/utils.mjs +1 -0
  45. package/dist/runtime/nitro/routes/debug.d.ts +4 -0
  46. package/dist/runtime/nitro/routes/debug.mjs +9 -0
  47. package/dist/runtime/nitro/routes/html.mjs +11 -8
  48. package/dist/runtime/nitro/routes/options.mjs +9 -6
  49. package/dist/runtime/nitro/routes/svg.mjs +3 -1
  50. package/dist/runtime/nitro/routes/vnode.mjs +3 -1
  51. package/dist/runtime/nitro/util-hostname.d.ts +2 -0
  52. package/dist/runtime/nitro/util-hostname.mjs +15 -0
  53. package/dist/runtime/nitro/utils-pure.d.ts +3 -2
  54. package/dist/runtime/nitro/utils-pure.mjs +16 -13
  55. package/dist/runtime/nitro/utils.d.ts +6 -4
  56. package/dist/runtime/nitro/utils.mjs +44 -33
  57. package/dist/runtime/public-assets/__nuxt_og_image__/browser-provider-not-supported.png +0 -0
  58. package/dist/runtime/public-assets-optional/resvg/resvg.wasm +0 -0
  59. package/package.json +27 -19
  60. package/dist/client/_nuxt/IconCSS.a041aca0.js +0 -1
  61. package/dist/client/_nuxt/entry.74018bda.js +0 -5
  62. package/dist/client/_nuxt/entry.7a8c1ab2.css +0 -1
  63. package/dist/runtime/nitro/providers/svg2png/universal.mjs +0 -9
  64. /package/dist/runtime/nitro/providers/browser/{node.d.ts → playwright.d.ts} +0 -0
  65. /package/dist/runtime/nitro/providers/{svg2png/universal.d.ts → png/svg2png.d.ts} +0 -0
  66. /package/dist/runtime/nitro/providers/satori/{node.d.ts → default.d.ts} +0 -0
  67. /package/dist/runtime/nitro/providers/satori/{node.mjs → default.mjs} +0 -0
  68. /package/dist/runtime/nitro/providers/satori/{webworker.d.ts → yoga-wasm.d.ts} +0 -0
  69. /package/dist/runtime/{public-assets → public-assets-optional/inter-font}/inter-latin-ext-400-normal.woff +0 -0
  70. /package/dist/runtime/{public-assets → public-assets-optional/inter-font}/inter-latin-ext-700-normal.woff +0 -0
  71. /package/dist/runtime/{public-assets → public-assets-optional/svg2png}/svg2png.wasm +0 -0
  72. /package/dist/runtime/{public-assets → public-assets-optional/yoga}/yoga.wasm +0 -0
package/README.md CHANGED
@@ -38,7 +38,7 @@ Enlightened OG Image generation for Nuxt 3.
38
38
  - ▲ Render using [Satori](https://github.com/vercel/satori): Tailwind classes, Google fonts, emoji support and more!
39
39
  - 🤖 Or prerender using the Browser: Supporting painless, complex templates
40
40
  - 📸 Feeling lazy? Just generate screenshots for every page: hide elements, wait for animations, and more
41
- - ⚙️ Works on the edge: Vercel Edge and Cloudflare Workers
41
+ - ⚙️ Works on the edge: Vercel Edge, Netlify Edge and Cloudflare Workers
42
42
 
43
43
  ## Demos
44
44
 
@@ -46,6 +46,23 @@ Enlightened OG Image generation for Nuxt 3.
46
46
  - [StackBlitz - Minimal Playground Example](https://stackblitz.com/edit/nuxt-starter-pxs3wk?file=pages/index.vue)
47
47
  - [StackBlitz - Alpine Theme](https://stackblitz.com/edit/github-hgunsf?file=package.json)
48
48
 
49
+ ## Runtime Provider Compatibility
50
+
51
+ Both Satori and Browser will work in Node based environments. Prerendering is fully supported.
52
+
53
+ When you want to generate dynamic images at runtime there are certain nitro runtime limitations.
54
+
55
+ | Provider | Satori | Browser |
56
+ | --- |----------------|-----------------| -- |
57
+ | StackBlitz | ✅ | ❌ |
58
+ | Vercel | ✅ | ✅ |
59
+ | Cloudflare Workers (requires paid) | ✅ | ❌ |
60
+ | Cloudflare Pages (requires paid) | ✅ | ❌ |
61
+ | Netlify (TBC) | ❌ | ❌ |
62
+ | Netlify Edge (TBC) | ❌ | ❌ |
63
+
64
+ Other providers are yet to be tested. Please create an issue if you have tested one.
65
+
49
66
  ## Install
50
67
 
51
68
  ```bash
@@ -71,27 +88,6 @@ export default defineNuxtConfig({
71
88
 
72
89
  This feature uses Nuxt Islands, which requires Nuxt >= 3.1.
73
90
 
74
- ### Add your host name
75
-
76
- The `og:image` meta tag requires the full URL, so you must provide your site host.
77
-
78
- _nuxt.config.ts_
79
-
80
- ```ts
81
- export default defineNuxtConfig({
82
- // Recommended
83
- runtimeConfig: {
84
- public: {
85
- siteUrl: process.env.NUXT_PUBLIC_SITE_URL || 'https://example.com',
86
- }
87
- },
88
- // OR
89
- ogImage: {
90
- host: 'https://example.com',
91
- },
92
- })
93
- ```
94
-
95
91
  # Guides
96
92
 
97
93
  ## Your first Satori `og:image`
@@ -241,6 +237,78 @@ Out of the box, this module provides support for the following:
241
237
 
242
238
  If you find Satori is too limiting for your needs, you can always use the `browser` provider to capture browser screenshots instead.
243
239
 
240
+ ## SSG Images
241
+
242
+ When using `nuxt generate`, you will need to provide some additional configuration.
243
+
244
+ - You must provide a `siteUrl` so that the meta tags can be generated correctly as absolute URLs.
245
+
246
+ ```ts
247
+ export default defineNuxtConfig({
248
+ // Recommended
249
+ runtimeConfig: {
250
+ public: {
251
+ siteUrl: process.env.NUXT_PUBLIC_SITE_URL || 'https://example.com',
252
+ }
253
+ },
254
+ // OR
255
+ ogImage: {
256
+ host: 'https://example.com',
257
+ },
258
+ })
259
+ ```
260
+
261
+ - You must prerender all pages that use `og:image`.
262
+
263
+ ```ts
264
+ export default defineNuxtConfig({
265
+ nitro: {
266
+ prerender: {
267
+ crawlLinks: true, // recommended
268
+ routes: [
269
+ '/',
270
+ // list all routes that use og:image if you're not using crawlLinks
271
+ '/about',
272
+ '/blog',
273
+ '/blog/my-first-post',
274
+ ]
275
+ }
276
+ }
277
+ })
278
+ ```
279
+
280
+ ## SSR Images
281
+
282
+ When using `nuxt build`, you can only use the `browser` provider with the `node` Nitro preset.
283
+
284
+ If you intend to use the `browser` provider in production, make sure you include the `playwright` dependency.
285
+
286
+ ```bash
287
+ npm i playwright
288
+ ```
289
+
290
+ You can get around this by prerendering any pages that use `og:image`. Note that dynamic browser generated images are not supported at all,
291
+ you should use the Satori provider.
292
+
293
+
294
+ ```ts
295
+ export default defineNuxtConfig({
296
+ nitro: {
297
+ prerender: {
298
+ crawlLinks: true, // recommended
299
+ routes: [
300
+ '/',
301
+ // list all routes that use og:image if you're not using crawlLinks
302
+ '/about',
303
+ '/blog',
304
+ '/blog/my-first-post',
305
+ ]
306
+ }
307
+ }
308
+ })
309
+ ```
310
+
311
+
244
312
  ## Taking screenshots
245
313
 
246
314
  If you want to simply take a screenshot of your page, you can use the `OgImageScreenshot` component or `defineOgImageScreenshot` composable.
@@ -282,6 +350,68 @@ _package.json_
282
350
  }
283
351
  ```
284
352
 
353
+ ## Custom Fonts / Supporting non-english characters
354
+
355
+ When creating your OG Image, you'll probably want to use a font custom to your project. The module allows you to use any Google font
356
+ with minimal config.
357
+
358
+ This also lets you support non-english characters by adding the appropriate font to your config.
359
+
360
+ For example, to support Hebrew characters, you can use the config:
361
+
362
+ ```ts
363
+ export default defineNuxtConfig({
364
+ ogImage: {
365
+ fonts: [
366
+ // will load this font from Google fonts
367
+ 'Noto+Sans+Hebrew:400'
368
+ ]
369
+ }
370
+ })
371
+ ````
372
+
373
+ ## Caching
374
+
375
+ It's recommended to cache your images to reduce the load on your server. This can be achieved
376
+ by providing a `runtimeCacheStorage` option to the `ogImage` config.
377
+
378
+ For example:
379
+
380
+ ```ts
381
+ export default defineNuxtConfig({
382
+ ogImage: {
383
+ // cloudflare kv binding example, set your own config
384
+ runtimeCacheStorage: {
385
+ driver: 'cloudflare-kv-binding',
386
+ binding: 'OG_IMAGE_CACHE'
387
+ }
388
+ }
389
+ })
390
+ ````
391
+
392
+ By default, images will be cached for 24 hours. You can change the image TTL by providing `cacheTtl` when defining the image.
393
+
394
+ ```ts
395
+ defineOgImageStatic({
396
+ // ...
397
+ cacheTtl: 60 * 60 * 24 * 7 // 7 days
398
+ })
399
+ ```
400
+
401
+ Alternatively, you can change the default cacheTtl time in your nuxt.config.
402
+
403
+
404
+ ```ts
405
+ export default defineNuxtConfig({
406
+ ogImage: {
407
+ defaults: {
408
+ cacheTtl: 60 * 60 * 24 * 7 // 7 days
409
+ }
410
+ }
411
+ })
412
+ ````
413
+
414
+
285
415
  # API
286
416
 
287
417
  The module exposes a composition and component API to implement your `og:image` generation. You should pick
@@ -290,7 +420,7 @@ whichever one you prefer using.
290
420
  ## OgImageStatic / defineOgImageStatic
291
421
 
292
422
  The `OgImageStatic` component and the `defineOgImageStatic` composable creates a static image
293
- that will be pre-rendered.
423
+ that will be prerendered.
294
424
 
295
425
  The options follow the [OgImageOptions](#OgImageOptions) interface,
296
426
  any additional options will be passed to the `component` as props.
@@ -322,7 +452,7 @@ defineOgImageStatic({
322
452
 
323
453
  ## OgImageDynamic / defineOgImageDynamic
324
454
 
325
- The `OgImageDynamic` component and the `defineOgImageDynamic` composable creates a dynamic image. They are not pre-rendered and will
455
+ The `OgImageDynamic` component and the `defineOgImageDynamic` composable creates a dynamic image. They are not prerendered and will
326
456
  be generated at runtime.
327
457
 
328
458
  The options follow the [OgImageOptions](#OgImageOptions) interface,
@@ -396,12 +526,14 @@ The name of the component to use as the template. By default, it uses OgImageBas
396
526
  - Required: `false`
397
527
 
398
528
  The provider to use to generate the image. The default provider is `satori`.
399
- When you use `browser` it will use Puppeteer to generate the image.
529
+ When you use `browser` it will use Playwright to generate the image.
400
530
 
401
- ### `prerender`
531
+ ### `static`
402
532
 
403
533
  - Type: `boolean`
404
- - Default: `true` when static, `false` when dynamic
534
+ - Default: `true` when using `defineOgImageStatic`, `false` when dynamic
535
+
536
+ Controls the prerendering of the image. A non-static image is one that will be generated at runtime and not cached.
405
537
 
406
538
 
407
539
  ## OgImageScreenshot / defineOgImageScreenshot
@@ -495,13 +627,13 @@ defineOgImageScreenshot({
495
627
 
496
628
  ## Module Config
497
629
 
498
- ### `host`
630
+ ### `siteUrl`
499
631
 
500
632
  - Type: `string`
501
633
  - Default: `undefined`
502
634
  - Required: `true`
503
635
 
504
- The host of your site. This is required to generate the absolute path of the `og:image`.
636
+ The site URL of your site. This is required when prerendering to generate the absolute path of the `og:image`.
505
637
 
506
638
  ### `defaults`
507
639
 
@@ -511,15 +643,6 @@ The host of your site. This is required to generate the absolute path of the `og
511
643
 
512
644
  The default options to use when generating images.
513
645
 
514
- ### `forcePrerender`
515
-
516
- - Type: `boolean`
517
- - Default: `false`
518
- - Required: `false`
519
-
520
- This is enabled when you run `nuxi generate`. It forces all OG images to be pre-rendered as the server is not available to generate
521
- runtime images.
522
-
523
646
  ### `fonts`
524
647
 
525
648
  - Type: ``${string}:${number}`[]`
@@ -546,16 +669,21 @@ export default defineNuxtConfig({
546
669
 
547
670
  Options to pass to Satori when generating images. See the [Satori docs](https://github.com/vercel/satori).
548
671
 
549
- ### `experimentalNitroBrowser` (experimental)
672
+ ### `runtimeSatori`
550
673
 
551
674
  - Type: `boolean`
552
- - Default: `false`
553
- - Required: `false`
675
+ - Default: `true`
676
+
677
+ Whether to use Satori at runtime. This is useful to disable if you're prerendering all your images.
678
+
679
+ ### `runtimeBrowser`
680
+
681
+ - Type: `boolean`
682
+ - Default: `process.dev`
554
683
 
555
- In a server runtime, the default behaviour is to generate images using Satori. If you'd like to generate runtime images using the a browser instance
556
- for screenshots, you can enable this setting.
684
+ Whether to use Playwright at runtime. You will need to enable this for production environments and ensure you are using
685
+ a supported nitro preset and have the required dependencies.
557
686
 
558
- This is experimental and may not work in all environments.
559
687
 
560
688
  ## Examples
561
689
 
@@ -1,7 +1,7 @@
1
1
  <!DOCTYPE html>
2
2
  <html >
3
3
  <head><meta charset="utf-8">
4
- <meta name="viewport" content="width=device-width, initial-scale=1"><link rel="modulepreload" as="script" crossorigin href="/__nuxt_og_image__/client/_nuxt/entry.74018bda.js"><link rel="preload" as="style" href="/__nuxt_og_image__/client/_nuxt/entry.7a8c1ab2.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_og_image__/client/_nuxt/error-component.cf7543e5.js"><link rel="stylesheet" href="/__nuxt_og_image__/client/_nuxt/entry.7a8c1ab2.css"><script>"use strict";const w=window,de=document.documentElement,knownColorSchemes=["dark","light"],preference=window.localStorage.getItem("nuxt-color-mode")||"system";let value=preference==="system"?getColorScheme():preference;const forcedColorMode=de.getAttribute("data-color-mode-forced");forcedColorMode&&(value=forcedColorMode),addColorScheme(value),w["__NUXT_COLOR_MODE__"]={preference,value,getColorScheme,addColorScheme,removeColorScheme};function addColorScheme(e){const o=""+e+"",t="";de.classList?de.classList.add(o):de.className+=" "+o,t&&de.setAttribute("data-"+t,e)}function removeColorScheme(e){const o=""+e+"",t="";de.classList?de.classList.remove(o):de.className=de.className.replace(new RegExp(o,"g"),""),t&&de.removeAttribute("data-"+t)}function prefersColorScheme(e){return w.matchMedia("(prefers-color-scheme"+e+")")}function getColorScheme(){if(w.matchMedia&&prefersColorScheme("").media!=="not all"){for(const e of knownColorSchemes)if(prefersColorScheme(":"+e).matches)return e}return"light"}
4
+ <meta name="viewport" content="width=device-width, initial-scale=1"><link rel="modulepreload" as="script" crossorigin href="/__nuxt_og_image__/client/_nuxt/entry.e7270163.js"><link rel="preload" as="style" href="/__nuxt_og_image__/client/_nuxt/entry.acc10163.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_og_image__/client/_nuxt/error-component.9702a511.js"><link rel="stylesheet" href="/__nuxt_og_image__/client/_nuxt/entry.acc10163.css"><script>"use strict";const w=window,de=document.documentElement,knownColorSchemes=["dark","light"],preference=window.localStorage.getItem("nuxt-color-mode")||"system";let value=preference==="system"?getColorScheme():preference;const forcedColorMode=de.getAttribute("data-color-mode-forced");forcedColorMode&&(value=forcedColorMode),addColorScheme(value),w["__NUXT_COLOR_MODE__"]={preference,value,getColorScheme,addColorScheme,removeColorScheme};function addColorScheme(e){const o=""+e+"",t="";de.classList?de.classList.add(o):de.className+=" "+o,t&&de.setAttribute("data-"+t,e)}function removeColorScheme(e){const o=""+e+"",t="";de.classList?de.classList.remove(o):de.className=de.className.replace(new RegExp(o,"g"),""),t&&de.removeAttribute("data-"+t)}function prefersColorScheme(e){return w.matchMedia("(prefers-color-scheme"+e+")")}function getColorScheme(){if(w.matchMedia&&prefersColorScheme("").media!=="not all"){for(const e of knownColorSchemes)if(prefersColorScheme(":"+e).matches)return e}return"light"}
5
5
  </script></head>
6
- <body ><div id="__nuxt"></div><script>window.__NUXT__={serverRendered:false,config:{public:{},app:{baseURL:"\u002F__nuxt_og_image__\u002Fclient",buildAssetsDir:"\u002F_nuxt\u002F",cdnURL:""}},data:{},state:{}}</script><script type="module" src="/__nuxt_og_image__/client/_nuxt/entry.74018bda.js" crossorigin></script></body>
6
+ <body ><div id="__nuxt"></div><script>window.__NUXT__={_errors:{},serverRendered:false,data:{},state:{},config:{public:{},app:{baseURL:"\u002F__nuxt_og_image__\u002Fclient",buildAssetsDir:"\u002F_nuxt\u002F",cdnURL:""}}}</script><script type="module" src="/__nuxt_og_image__/client/_nuxt/entry.e7270163.js" crossorigin></script></body>
7
7
  </html>
@@ -1,7 +1,7 @@
1
1
  <!DOCTYPE html>
2
2
  <html >
3
3
  <head><meta charset="utf-8">
4
- <meta name="viewport" content="width=device-width, initial-scale=1"><link rel="modulepreload" as="script" crossorigin href="/__nuxt_og_image__/client/_nuxt/entry.74018bda.js"><link rel="preload" as="style" href="/__nuxt_og_image__/client/_nuxt/entry.7a8c1ab2.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_og_image__/client/_nuxt/error-component.cf7543e5.js"><link rel="stylesheet" href="/__nuxt_og_image__/client/_nuxt/entry.7a8c1ab2.css"><script>"use strict";const w=window,de=document.documentElement,knownColorSchemes=["dark","light"],preference=window.localStorage.getItem("nuxt-color-mode")||"system";let value=preference==="system"?getColorScheme():preference;const forcedColorMode=de.getAttribute("data-color-mode-forced");forcedColorMode&&(value=forcedColorMode),addColorScheme(value),w["__NUXT_COLOR_MODE__"]={preference,value,getColorScheme,addColorScheme,removeColorScheme};function addColorScheme(e){const o=""+e+"",t="";de.classList?de.classList.add(o):de.className+=" "+o,t&&de.setAttribute("data-"+t,e)}function removeColorScheme(e){const o=""+e+"",t="";de.classList?de.classList.remove(o):de.className=de.className.replace(new RegExp(o,"g"),""),t&&de.removeAttribute("data-"+t)}function prefersColorScheme(e){return w.matchMedia("(prefers-color-scheme"+e+")")}function getColorScheme(){if(w.matchMedia&&prefersColorScheme("").media!=="not all"){for(const e of knownColorSchemes)if(prefersColorScheme(":"+e).matches)return e}return"light"}
4
+ <meta name="viewport" content="width=device-width, initial-scale=1"><link rel="modulepreload" as="script" crossorigin href="/__nuxt_og_image__/client/_nuxt/entry.e7270163.js"><link rel="preload" as="style" href="/__nuxt_og_image__/client/_nuxt/entry.acc10163.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_og_image__/client/_nuxt/error-component.9702a511.js"><link rel="stylesheet" href="/__nuxt_og_image__/client/_nuxt/entry.acc10163.css"><script>"use strict";const w=window,de=document.documentElement,knownColorSchemes=["dark","light"],preference=window.localStorage.getItem("nuxt-color-mode")||"system";let value=preference==="system"?getColorScheme():preference;const forcedColorMode=de.getAttribute("data-color-mode-forced");forcedColorMode&&(value=forcedColorMode),addColorScheme(value),w["__NUXT_COLOR_MODE__"]={preference,value,getColorScheme,addColorScheme,removeColorScheme};function addColorScheme(e){const o=""+e+"",t="";de.classList?de.classList.add(o):de.className+=" "+o,t&&de.setAttribute("data-"+t,e)}function removeColorScheme(e){const o=""+e+"",t="";de.classList?de.classList.remove(o):de.className=de.className.replace(new RegExp(o,"g"),""),t&&de.removeAttribute("data-"+t)}function prefersColorScheme(e){return w.matchMedia("(prefers-color-scheme"+e+")")}function getColorScheme(){if(w.matchMedia&&prefersColorScheme("").media!=="not all"){for(const e of knownColorSchemes)if(prefersColorScheme(":"+e).matches)return e}return"light"}
5
5
  </script></head>
6
- <body ><div id="__nuxt"></div><script>window.__NUXT__={serverRendered:false,config:{public:{},app:{baseURL:"\u002F__nuxt_og_image__\u002Fclient",buildAssetsDir:"\u002F_nuxt\u002F",cdnURL:""}},data:{},state:{}}</script><script type="module" src="/__nuxt_og_image__/client/_nuxt/entry.74018bda.js" crossorigin></script></body>
6
+ <body ><div id="__nuxt"></div><script>window.__NUXT__={_errors:{},serverRendered:false,data:{},state:{},config:{public:{},app:{baseURL:"\u002F__nuxt_og_image__\u002Fclient",buildAssetsDir:"\u002F_nuxt\u002F",cdnURL:""}}}</script><script type="module" src="/__nuxt_og_image__/client/_nuxt/entry.e7270163.js" crossorigin></script></body>
7
7
  </html>
@@ -0,0 +1 @@
1
+ import{a as p,b as u,e as l,f as t,o as f,h as m,i as _,u as a,j as d}from"./entry.e7270163.js";const x=p({__name:"IconCSS",props:{name:{type:String,required:!0},size:{type:String,default:""}},setup(c){const s=c;u(e=>({"6f0cee94":a(r)}));const n=l();n?.nuxtIcon?.aliases;const i=t(()=>(n?.nuxtIcon?.aliases||{})[s.name]||s.name),r=t(()=>`url('https://api.iconify.design/${i.value.replace(":","/")}.svg')`),o=t(()=>{if(!s.size&&typeof n.nuxtIcon?.size=="boolean"&&!n.nuxtIcon?.size)return;const e=s.size||n.nuxtIcon?.size||"1em";return String(Number(e))===e?`${e}px`:e});return(e,z)=>(f(),m("span",{style:_({width:a(o),height:a(o)})},null,4))}}),g=d(x,[["__scopeId","data-v-72c2aaaa"]]);export{g as default};
@@ -1 +1 @@
1
- import{a as m,r as c,m as u,w as r,f as d,s as _,o as f,h as g,i as y,j as v}from"./entry.74018bda.js";const h=m({__name:"ImageLoader",props:{src:String,aspectRatio:Number,description:String},setup(a){const s=a,n=c(),o=c(0);function i(e){const t=n.value,p=Date.now();t.src="",o.value=0,t.style.opacity="0",t.onload=()=>{t.style.opacity="1",o.value=Date.now()-p},t.src=e}u(()=>{r(()=>s.src,e=>{i(e)},{immediate:!0})});const l=d(()=>s.description.replace("%s",o.value.toString()));return r(l,e=>{_.value=e}),(e,t)=>(f(),g("img",{ref_key:"image",ref:n,class:"max-h-full border-1 border-light-500 rounded",style:y({aspectRatio:a.aspectRatio})},null,4))}}),x=v(h,[["__scopeId","data-v-23ec6856"]]);export{x as _};
1
+ import{a as m,r as c,m as u,w as r,f as d,s as _,o as f,h as g,i as y,j as v}from"./entry.e7270163.js";const h=m({__name:"ImageLoader",props:{src:String,aspectRatio:Number,description:String},setup(a){const s=a,n=c(),o=c(0);function i(e){const t=n.value,p=Date.now();t.src="",o.value=0,t.style.opacity="0",t.onload=()=>{t.style.opacity="1",o.value=Date.now()-p},t.src=e}u(()=>{r(()=>s.src,e=>{i(e)},{immediate:!0})});const l=d(()=>s.description.replace("%s",o.value.toString()));return r(l,e=>{_.value=e}),(e,t)=>(f(),g("img",{ref_key:"image",ref:n,class:"max-h-full border-1 border-light-500 rounded",style:y({aspectRatio:a.aspectRatio})},null,4))}}),x=v(h,[["__scopeId","data-v-23ec6856"]]);export{x as _};
@@ -0,0 +1 @@
1
+ :root{--nui-c-context: 125,125,125}html{background-color:#fff}html.dark{background-color:#151515;color:#fff;color-scheme:dark}iframe[data-v-85f41f36]{height:auto;margin:0 auto;max-width:100%;transition:.4s ease-in-out;width:auto}img[data-v-23ec6856]{height:auto!important;margin:0 auto;max-width:100%;transition:.4s ease-in-out;width:auto!important}.n-code-block-lines .shiki code{counter-increment:step calc(var(--start, 1) - 1);counter-reset:step}.n-code-block-lines .shiki code .line:before{color:#a3a3a380;content:counter(step);counter-increment:step;display:inline-block;margin-right:.5rem;padding-right:.5rem;text-align:right;width:2rem}details[data-v-67db1d81]{border-style:none}summary[data-v-67db1d81]{border-style:none;list-style:none}details[open] summary[data-v-67db1d81]{border-style:none}details summary[data-v-67db1d81]::-webkit-details-marker{display:none}details[open] .chevron[data-v-67db1d81]{opacity:.75;transform:rotate(180deg)}@media (prefers-color-scheme:light){.get-started-gradient-border[data-v-c886fa13]{background:linear-gradient(90deg,#fff,#fff),linear-gradient(90deg,#00dc82,#1de0b1,#36e4da)}.gradient-border-modules[data-v-c886fa13]{background:linear-gradient(var(--gradient-angle),#f7d14c,rgba(247,209,76,.6),hsla(0,0%,100%,.8),#f7d14c)}.gradient-border-examples[data-v-c886fa13]{background:linear-gradient(var(--gradient-angle),#8deaff,rgba(141,234,255,.6),hsla(0,0%,100%,.8),#8deaff)}.gradient-border-documentation[data-v-c886fa13]{background:linear-gradient(var(--gradient-angle),#00dc82,rgba(0,220,130,.6),hsla(0,0%,100%,.8),#00dc82)}}@media (prefers-color-scheme:dark){.get-started-gradient-border[data-v-c886fa13]{background:linear-gradient(90deg,#18181b,#18181b),linear-gradient(90deg,#00dc82,#1de0b1,#36e4da)}.gradient-border-modules[data-v-c886fa13]{background:linear-gradient(var(--gradient-angle),#f7d14c,#a38108,hsla(0,0%,100%,.3),#a38108)}.gradient-border-examples[data-v-c886fa13]{background:linear-gradient(var(--gradient-angle),#8deaff,#008aa9,hsla(0,0%,100%,.3),#008aa9)}.gradient-border-documentation[data-v-c886fa13]{background:linear-gradient(var(--gradient-angle),#00dc82,#003f25,hsla(0,0%,100%,.2),#003f25)}}.get-started-gradient-border[data-v-c886fa13]{background-clip:padding-box,border-box;background-origin:padding-box,border-box;border-color:transparent;border-radius:12px;border-width:1px}.get-started-gradient-border[data-v-c886fa13]:hover>:is(.get-started-gradient-left,.get-started-gradient-right){opacity:.2}.get-started-gradient-left[data-v-c886fa13],.get-started-gradient-right[data-v-c886fa13]{opacity:0}.gradient-border[data-v-c886fa13]{border-radius:12px;left:0;opacity:0;position:absolute;top:0;transform:translate(-1px,-1px);width:calc(100% + 2px);z-index:-1}.gradient-border-rect[data-v-c886fa13]{height:calc(100% + 2px)}@media (min-width:1024px){.gradient-border-rect[data-v-c886fa13]{height:calc(100% + 1px)}}.gradient-border-square[data-v-c886fa13]{height:calc(100% + 2px)}.modules-gradient-right[data-v-c886fa13]{opacity:0}.documentation-container:hover>.gradient-border[data-v-c886fa13],.examples-container:hover>.gradient-border[data-v-c886fa13],.modules-container:hover>.gradient-border[data-v-c886fa13]{animation:gradient-rotate 5s linear 0s infinite reverse;opacity:1;transition:all .3s linear}.modules-container:hover>.modules-gradient-right[data-v-c886fa13]{opacity:.2}.examples-container:hover>.examples-gradient-right[data-v-c886fa13]{opacity:.2}.examples-gradient-right[data-v-c886fa13]{opacity:0}.documentation-image-color-dark[data-v-c886fa13],.documentation-image-color-light[data-v-c886fa13],.modules-image-color-dark[data-v-c886fa13],.modules-image-color-light[data-v-c886fa13],.examples-image-color-dark[data-v-c886fa13],.examples-image-color-light[data-v-c886fa13]{display:none}@media (prefers-color-scheme:light){.modules-image-light[data-v-c886fa13]{display:block}.modules-image-dark[data-v-c886fa13]{display:none}.modules-container:hover>a>.modules-image-light[data-v-c886fa13]{display:none}.modules-container:hover>a>.modules-image-color-light[data-v-c886fa13]{display:block}.examples-image-light[data-v-c886fa13]{display:block}.examples-image-dark[data-v-c886fa13]{display:none}.examples-container:hover>a>.examples-image-light[data-v-c886fa13]{display:none}.examples-container:hover>a>.examples-image-color-light[data-v-c886fa13]{display:block}.documentation-image-light[data-v-c886fa13]{display:block}.documentation-image-dark[data-v-c886fa13]{display:none}.documentation-container:hover>a>div>.documentation-image-light[data-v-c886fa13]{display:none}.documentation-container:hover>a>div>.documentation-image-color-light[data-v-c886fa13]{display:block}}@media (prefers-color-scheme:dark){.modules-image-dark[data-v-c886fa13]{display:block}.modules-image-light[data-v-c886fa13]{display:none}.modules-container:hover>a>.modules-image-color-dark[data-v-c886fa13]{display:block}.modules-container:hover>a>.modules-image-dark[data-v-c886fa13]{display:none}.examples-image-dark[data-v-c886fa13]{display:block}.examples-image-light[data-v-c886fa13]{display:none}.examples-container:hover>a>.examples-image-color-dark[data-v-c886fa13]{display:block}.examples-container:hover>a>.examples-image-dark[data-v-c886fa13]{display:none}.documentation-image-dark[data-v-c886fa13]{display:block}.documentation-image-light[data-v-c886fa13]{display:none}.documentation-container:hover>a>div>.documentation-image-color-dark[data-v-c886fa13]{display:block}.documentation-container:hover>a>div>.documentation-image-dark[data-v-c886fa13]{display:none}}.bg-white[data-v-c886fa13]{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.bg-gray-100[data-v-c886fa13]{--tw-bg-opacity:1;background-color:rgba(238,238,238,var(--tw-bg-opacity))}.bg-gradient-to-r[data-v-c886fa13]{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-l[data-v-c886fa13]{background-image:linear-gradient(to left,var(--tw-gradient-stops))}.from-green-400[data-v-c886fa13]{--tw-gradient-from:rgba(55, 233, 144, var(--tw-from-opacity, 1));--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, hsla(0,0%,100%,0))}.from-blue-400[data-v-c886fa13]{--tw-gradient-from:rgba(56, 189, 248, var(--tw-from-opacity, 1));--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, hsla(0,0%,100%,0))}.from-yellow-400[data-v-c886fa13]{--tw-gradient-from:rgba(251, 191, 36, var(--tw-from-opacity, 1));--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, hsla(0,0%,100%,0))}.to-transparent[data-v-c886fa13]{--tw-gradient-to:transparent}.border-gray-200[data-v-c886fa13]{--tw-border-opacity:1;border-color:rgba(224,224,224,var(--tw-border-opacity))}.hover\:border-transparent[data-v-c886fa13]:hover{border-color:transparent}.rounded-xl[data-v-c886fa13]{border-radius:.75rem}.rounded[data-v-c886fa13]{border-radius:.25rem}.border[data-v-c886fa13]{border-width:1px}.border-t[data-v-c886fa13]{border-top-width:1px}.flex[data-v-c886fa13]{display:flex}.grid[data-v-c886fa13]{display:grid}.hidden[data-v-c886fa13]{display:none}.flex-col[data-v-c886fa13]{flex-direction:column}.flex-col-reverse[data-v-c886fa13]{flex-direction:column-reverse}.place-content-center[data-v-c886fa13]{place-content:center}.items-center[data-v-c886fa13]{align-items:center}.justify-end[data-v-c886fa13]{justify-content:flex-end}.justify-center[data-v-c886fa13]{justify-content:center}.flex-1[data-v-c886fa13]{flex:1 1 0%}.order-last[data-v-c886fa13]{order:9999}.font-mono[data-v-c886fa13]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-semibold[data-v-c886fa13]{font-weight:600}.font-bold[data-v-c886fa13]{font-weight:700}.h-32[data-v-c886fa13]{height:8rem}.h-\[70px\][data-v-c886fa13]{height:70px}.text-4xl[data-v-c886fa13]{font-size:2.25rem;line-height:2.5rem}.text-xl[data-v-c886fa13]{font-size:1.25rem;line-height:1.75rem}.text-sm[data-v-c886fa13]{font-size:.875rem;line-height:1.25rem}.text-2xl[data-v-c886fa13]{font-size:1.5rem;line-height:2rem}.mx-auto[data-v-c886fa13]{margin-left:auto;margin-right:auto}.mb-2[data-v-c886fa13]{margin-bottom:.5rem}.max-w-\[960px\][data-v-c886fa13]{max-width:960px}.min-h-screen[data-v-c886fa13]{min-height:100vh}.p-1[data-v-c886fa13]{padding:.25rem}.px-4[data-v-c886fa13]{padding-left:1rem;padding-right:1rem}.py-14[data-v-c886fa13]{padding-bottom:3.5rem;padding-top:3.5rem}.py-6[data-v-c886fa13]{padding-bottom:1.5rem;padding-top:1.5rem}.px-5[data-v-c886fa13]{padding-left:1.25rem;padding-right:1.25rem}.pt-\[58px\][data-v-c886fa13]{padding-top:58px}.pb-6[data-v-c886fa13]{padding-bottom:1.5rem}.absolute[data-v-c886fa13]{position:absolute}.relative[data-v-c886fa13]{position:relative}.inset-y-0[data-v-c886fa13]{bottom:0;top:0}.inset-x-0[data-v-c886fa13]{left:0;right:0}.left-0[data-v-c886fa13]{left:0}.right-0[data-v-c886fa13]{right:0}.-top-\[58px\][data-v-c886fa13]{top:-58px}.-top-3[data-v-c886fa13]{top:-.75rem}.focus-visible\:ring-2[data-v-c886fa13]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.text-center[data-v-c886fa13]{text-align:center}.text-black[data-v-c886fa13]{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.text-gray-700[data-v-c886fa13]{--tw-text-opacity:1;color:rgba(66,66,66,var(--tw-text-opacity))}.hover\:text-black[data-v-c886fa13]:hover{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.antialiased[data-v-c886fa13]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.w-full[data-v-c886fa13]{width:100%}.w-\[20\%\][data-v-c886fa13]{width:20%}.z-10[data-v-c886fa13]{z-index:10}.z-1[data-v-c886fa13]{z-index:1}.gap-6[data-v-c886fa13]{grid-gap:1.5rem;gap:1.5rem}.gap-3[data-v-c886fa13]{grid-gap:.75rem;gap:.75rem}.gap-x-4[data-v-c886fa13]{grid-column-gap:1rem;-webkit-column-gap:1rem;-moz-column-gap:1rem;column-gap:1rem}.gap-y-16[data-v-c886fa13]{grid-row-gap:4rem;-webkit-row-gap:4rem;-moz-row-gap:4rem;row-gap:4rem}.gap-y-4[data-v-c886fa13]{grid-row-gap:1rem;-webkit-row-gap:1rem;-moz-row-gap:1rem;row-gap:1rem}.gap-y-2[data-v-c886fa13]{grid-row-gap:.5rem;-webkit-row-gap:.5rem;-moz-row-gap:.5rem;row-gap:.5rem}.grid-cols-2[data-v-c886fa13]{grid-template-columns:repeat(2,minmax(0,1fr))}.col-span-2[data-v-c886fa13]{-ms-grid-column-span:span 2 / span 2;grid-column:span 2 / span 2}.row-span-2[data-v-c886fa13]{-ms-grid-row-span:span 2 / span 2;grid-row:span 2 / span 2}.transition-opacity[data-v-c886fa13]{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300[data-v-c886fa13]{transition-duration:.3s}@media (min-width:640px){.sm\:flex-row[data-v-c886fa13]{flex-direction:row}.sm\:justify-between[data-v-c886fa13]{justify-content:space-between}.sm\:h-34[data-v-c886fa13]{height:8.5rem}.sm\:text-base[data-v-c886fa13]{font-size:1rem;line-height:1.5rem}.sm\:text-5xl[data-v-c886fa13]{font-size:3rem;line-height:1}.sm\:min-h-\[220px\][data-v-c886fa13]{min-height:220px}.sm\:px-6[data-v-c886fa13]{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-28[data-v-c886fa13]{padding-left:7rem;padding-right:7rem}.sm\:col-span-1[data-v-c886fa13]{-ms-grid-column-span:span 1 / span 1;grid-column:span 1 / span 1}}@media (min-width:768px){.md\:min-h-\[180px\][data-v-c886fa13]{min-height:180px}}@media (min-width:1024px){.lg\:flex-col[data-v-c886fa13]{flex-direction:column}.lg\:order-none[data-v-c886fa13]{order:0}.lg\:min-h-min[data-v-c886fa13]{min-height:-moz-min-content;min-height:min-content}.lg\:py-7[data-v-c886fa13]{padding-bottom:1.75rem;padding-top:1.75rem}.lg\:px-8[data-v-c886fa13]{padding-left:2rem;padding-right:2rem}.lg\:grid-cols-10[data-v-c886fa13]{grid-template-columns:repeat(10,minmax(0,1fr))}.lg\:col-span-10[data-v-c886fa13]{-ms-grid-column-span:span 10 / span 10;grid-column:span 10 / span 10}.lg\:col-span-6[data-v-c886fa13]{-ms-grid-column-span:span 6 / span 6;grid-column:span 6 / span 6}.lg\:col-span-4[data-v-c886fa13]{-ms-grid-column-span:span 4 / span 4;grid-column:span 4 / span 4}}@media (prefers-color-scheme:dark){.dark\:bg-black[data-v-c886fa13]{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.dark\:bg-white\/10[data-v-c886fa13]{--tw-bg-opacity:.1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.dark\:bg-gray-900[data-v-c886fa13]{--tw-bg-opacity:1;background-color:rgba(24,24,27,var(--tw-bg-opacity))}.dark\:border-transparent[data-v-c886fa13]{border-color:transparent}.dark\:border-gray-900[data-v-c886fa13]{--tw-border-opacity:1;border-color:rgba(24,24,27,var(--tw-border-opacity))}.dark\:border-none[data-v-c886fa13]{border-style:none}.dark\:block[data-v-c886fa13]{display:block}.dark\:hidden[data-v-c886fa13]{display:none}.dark\:text-white[data-v-c886fa13]{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.dark\:text-gray-300[data-v-c886fa13]{--tw-text-opacity:1;color:rgba(189,189,189,var(--tw-text-opacity))}.dark\:hover\:text-white[data-v-c886fa13]:hover{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}}.icon[data-v-6e473d0a]{display:inline-block;vertical-align:middle}span[data-v-72c2aaaa]{background-color:currentColor;display:inline-block;-webkit-mask-image:var(--6f0cee94);mask-image:var(--6f0cee94);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle}*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.carbon-chevron-down{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M16 22L6 12l1.4-1.4l8.6 8.6l8.6-8.6L26 12z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon-sun{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M16 12.005a4 4 0 1 1-4 4a4.005 4.005 0 0 1 4-4m0-2a6 6 0 1 0 6 6a6 6 0 0 0-6-6ZM5.394 6.813L6.81 5.399l3.505 3.506L8.9 10.319zM2 15.005h5v2H2zm3.394 10.193L8.9 21.692l1.414 1.414l-3.505 3.506zM15 25.005h2v5h-2zm6.687-1.9l1.414-1.414l3.506 3.506l-1.414 1.414zm3.313-8.1h5v2h-5zm-3.313-6.101l3.506-3.506l1.414 1.414l-3.506 3.506zM15 2.005h2v5h-2z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:ibm-cloud-pak-manta-automated-data-lineage{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M30 11V5h-6v2H14V4a2.002 2.002 0 0 0-2-2H4a2.002 2.002 0 0 0-2 2v8a2.002 2.002 0 0 0 2 2h8a2.002 2.002 0 0 0 2-2V9a3.003 3.003 0 0 1 3 3v9h-6v-2H5v6h6v-2h6v2a2.002 2.002 0 0 0 2 2h5v2h6v-6h-6v2h-5v-7h5v2h6v-6h-6v2h-5v-4a4.952 4.952 0 0 0-1.025-3H24v2ZM4 12V4h8v8Zm5 11H7v-2h2Zm17 2h2v2h-2Zm0-9h2v2h-2Zm0-9h2v2h-2Z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:image-search{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M24 14a5.99 5.99 0 0 0-4.885 9.471L14 28.586L15.414 30l5.115-5.115A5.997 5.997 0 1 0 24 14zm0 10a4 4 0 1 1 4-4a4.005 4.005 0 0 1-4 4zm-7-12a3 3 0 1 0-3-3a3.003 3.003 0 0 0 3 3zm0-4a1 1 0 1 1-1 1a1 1 0 0 1 1-1z'/%3E%3Cpath fill='currentColor' d='M12 24H4v-6.003L9 13l5.586 5.586L16 17.168l-5.586-5.585a2 2 0 0 0-2.828 0L4 15.168V4h20v6h2V4a2.002 2.002 0 0 0-2-2H4a2.002 2.002 0 0 0-2 2v20a2.002 2.002 0 0 0 2 2h8Z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:laptop{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M26 24.005H6a2.002 2.002 0 0 1-2-2v-14a2.002 2.002 0 0 1 2-2h20a2.002 2.002 0 0 1 2 2v14a2.003 2.003 0 0 1-2 2Zm-20-16v14h20v-14Zm-4 18h28v2H2z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:mobile{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M22 4H10a2.002 2.002 0 0 0-2 2v22a2.002 2.002 0 0 0 2 2h12a2.003 2.003 0 0 0 2-2V6a2.002 2.002 0 0 0-2-2Zm0 2v2H10V6ZM10 28V10h12v18Z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:operations-record{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M20 20h10v2H20zm0 4h10v2H20zm0 4h10v2H20zm-4-8a3.912 3.912 0 0 1-4-4a3.912 3.912 0 0 1 4-4a3.912 3.912 0 0 1 4 4h2a6 6 0 1 0-6 6z'/%3E%3Cpath fill='currentColor' d='m29.305 11.044l-2.36-4.088a1.998 1.998 0 0 0-2.374-.895l-2.434.824a11.042 11.042 0 0 0-1.312-.758l-.504-2.52A2 2 0 0 0 18.36 2h-4.72a2 2 0 0 0-1.961 1.608l-.504 2.518a10.967 10.967 0 0 0-1.327.754l-2.42-.819a1.998 1.998 0 0 0-2.372.895l-2.36 4.088a2 2 0 0 0 .411 2.502l1.931 1.697C5.021 15.495 5 15.745 5 16c0 .258.01.513.028.766l-1.92 1.688a2 2 0 0 0-.413 2.502l2.36 4.088a1.998 1.998 0 0 0 2.374.895l2.434-.824a10.974 10.974 0 0 0 1.312.759l.503 2.518A2 2 0 0 0 13.64 30H16v-2h-2.36l-.71-3.55a9.095 9.095 0 0 1-2.695-1.572l-3.447 1.166l-2.36-4.088l2.725-2.395a8.926 8.926 0 0 1-.007-3.128l-2.718-2.39l2.36-4.087l3.427 1.16A9.03 9.03 0 0 1 12.93 7.55L13.64 4h4.72l.71 3.55a9.098 9.098 0 0 1 2.695 1.572l3.447-1.166l2.36 4.088l-2.798 2.452L26.092 16l2.8-2.454a2 2 0 0 0 .413-2.502Z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:png{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M30 23h-6a2 2 0 0 1-2-2V11a2 2 0 0 1 2-2h6v2h-6v10h4v-4h-2v-2h4zm-12-4L14.32 9H12v14h2V13l3.68 10H20V9h-2v10zM4 23H2V9h6a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H4zm0-7h4v-5H4z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:svg{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M30 23h-6a2 2 0 0 1-2-2V11a2 2 0 0 1 2-2h6v2h-6v10h4v-4h-2v-2h4zM18 9l-2 13l-2-13h-2l2.52 14h2.96L20 9h-2zM8 23H2v-2h6v-4H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h6v2H4v4h4a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.dark .dark\:carbon-moon{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3Z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.i-carbon-circle-dash{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M7.7 4.7a14.7 14.7 0 0 0-3 3.1L6.3 9a13.26 13.26 0 0 1 2.6-2.7zm-3.1 7.6l-1.9-.6A12.51 12.51 0 0 0 2 16h2a11.48 11.48 0 0 1 .6-3.7zm-1.9 8.1a14.4 14.4 0 0 0 2 3.9l1.6-1.2a12.89 12.89 0 0 1-1.7-3.3zm5.1 6.9a14.4 14.4 0 0 0 3.9 2l.6-1.9A12.89 12.89 0 0 1 9 25.7zm3.9-24.6l.6 1.9A11.48 11.48 0 0 1 16 4V2a12.51 12.51 0 0 0-4.3.7zm12.5 24.6a15.18 15.18 0 0 0 3.1-3.1L25.7 23a11.53 11.53 0 0 1-2.7 2.7zm3.2-7.6l1.9.6A15.47 15.47 0 0 0 30 16h-2a11.48 11.48 0 0 1-.6 3.7zm1.8-8.1a14.4 14.4 0 0 0-2-3.9l-1.6 1.2a12.89 12.89 0 0 1 1.7 3.3zm-5.1-7a14.4 14.4 0 0 0-3.9-2l-.6 1.9a12.89 12.89 0 0 1 3.3 1.7zm-3.8 24.7l-.6-1.9a11.48 11.48 0 0 1-3.7.6v2a21.42 21.42 0 0 0 4.3-.7z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.n-checkbox-icon{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m13 24l-9-9l1.414-1.414L13 21.171L26.586 7.586L28 9L13 24z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;height:1em;margin:auto;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em;width:1em}.n-switch-slider{border-color:#9ca3af33;border-radius:9999px;border-width:1px;margin-right:.25rem;padding:2px;position:relative}.n-radio-inner{background-color:rgba(var(--nui-c-context),1);border-radius:50%;height:0;margin:auto;width:0}.n-button-icon{font-size:1.1em;margin-left:-.2em;margin-right:.2em}.n-checkbox-box{--un-text-opacity:1;align-items:center;border-color:#9ca3af33;border-radius:.125rem;border-width:1px;color:rgba(255,255,255,var(--un-text-opacity));display:flex;flex:none;height:1.1em;margin-right:.25rem;overflow:visible;width:1.1em}.n-radio-box{--un-text-opacity:1;border-color:#9ca3af33;border-radius:9999px;border-width:1px;color:rgba(255,255,255,var(--un-text-opacity));display:flex;flex:none;height:1.2em;margin-right:.25rem;overflow:visible;width:1.2em}.n-switch-thumb{border-color:#9ca3af33;border-radius:50%;border-width:1px;height:1em;margin-left:0;margin-right:.8em;width:1em}.n-checked\:n-switch-thumb-checked[checked],[checked] .n-checked\:n-switch-thumb-checked{background-color:rgba(var(--nui-c-context),1);border-color:rgba(var(--nui-c-context),1);margin-left:.8em;margin-right:0}.n-icon-button{align-items:center;aspect-ratio:1/1;border-radius:.25rem;display:flex;height:1.6em;justify-content:center;opacity:.5;width:1.6em}.n-loading{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.n-panel-grids-center{grid-gap:.5rem;align-items:center;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' transform='scale(3)'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cpath fill='none' stroke='hsla(0, 0%25, 98%25, 1)' stroke-width='.2' d='M10 0v20ZM0 10h20Z'/%3E%3C/svg%3E");background-size:40px 40px;display:flex;flex-direction:column;gap:.5rem;height:100%;justify-content:center}.n-checked\:n-radio-inner-checked[checked],[checked] .n-checked\:n-radio-inner-checked{height:.8em;width:.8em}.n-tip-base{grid-gap:.5rem;align-items:center;background-color:rgba(var(--nui-c-context),.04);border-radius:.25rem;color:rgba(var(--nui-c-context),1);display:flex;gap:.5rem;padding:.4em 1em}.n-button-base{grid-gap:.25rem;--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgba(0,0,0,.05));align-items:center;border-color:#9ca3af33;border-radius:.25rem;border-width:1px;box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow);display:inline-flex;gap:.25rem;opacity:.8;outline:2px solid transparent!important;outline-offset:2px!important;padding:.25em 1em;touch-action:manipulation}.n-checkbox{grid-gap:.25rem;align-items:center;display:inline-flex;gap:.25rem}.n-switch-base{align-items:center;display:inline-flex;-webkit-user-select:none;-moz-user-select:none;user-select:none}.n-icon{flex:none}.n-card-base{--un-bg-opacity:1;--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgba(0,0,0,.05));background-color:rgba(255,255,255,var(--un-bg-opacity));border-color:#9ca3af33;border-radius:.25rem;border-width:1px;box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.n-border-base{border-color:#9ca3af33}[n~=borderless]{--un-shadow:0 0 var(--un-shadow-color, transparent) !important;border-color:transparent!important;box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)!important}.hover\:n-button-hover:hover{border-color:rgba(var(--nui-c-context),1)!important;color:rgba(var(--nui-c-context),1);opacity:1}.n-checked\:n-checkbox-box-checked[checked],[checked] .n-checked\:n-checkbox-box-checked{background-color:rgba(var(--nui-c-context),1);border-color:rgba(var(--nui-c-context),1)}.n-checked\:n-radio-box-checked[checked],[checked] .n-checked\:n-radio-box-checked{border-color:rgba(var(--nui-c-context),1)}.n-checked\:n-switch-slider-checked[checked],[checked] .n-checked\:n-switch-slider-checked{background-color:rgba(var(--nui-c-context),.1);border-color:rgba(var(--nui-c-context),.2)}.dark .n-bg-base,.dark .n-card-base{--un-bg-opacity:1;background-color:rgba(21,21,21,var(--un-bg-opacity))}.n-bg-base,.n-code-block{--un-bg-opacity:1;background-color:rgba(255,255,255,var(--un-bg-opacity))}.dark .n-code-block{--un-bg-opacity:1;background-color:rgba(18,18,18,var(--un-bg-opacity))}.n-icon-button:hover{background-color:#9ca3af0d;opacity:1}.dark .n-tip-base{background-color:rgba(var(--nui-c-context),.12)}.active\:n-button-active:active{--un-ring-width:3px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);--un-ring-color:rgba(var(--nui-c-context),.1);background-color:rgba(var(--nui-c-context),.05);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.hover\:n-link-hover:hover{color:rgba(var(--nui-c-context),1);text-decoration-color:rgba(var(--nui-c-context),1);text-decoration-style:dotted}.n-link-base{text-decoration-color:#0003;text-decoration-line:underline;text-underline-offset:2px}.dark .n-link-base{text-decoration-color:#fff6}.focus-visible\:n-focus-base:focus-visible,.focus-within\:n-focus-base:focus-within,.peer:focus-visible~.peer-focus-visible\:n-focus-base{--un-ring-width:2px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);--un-ring-color:rgba(var(--nui-c-context),.5);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.peer:active~.peer-active\:n-active-base{--un-ring-width:3px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);--un-ring-color:rgba(var(--nui-c-context),.1);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.n-transition{transition-duration:.15s;transition-duration:.2s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.dark .n-panel-grids-center{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' transform='scale(3)'%3E%3Crect width='100%25' height='100%25' fill='hsl(0, 0%25, 8.5%25)'/%3E%3Cpath fill='none' stroke='hsl(0, 0%25, 11.0%25)' stroke-width='.2' d='M10 0v20ZM0 10h20Z'/%3E%3C/svg%3E");background-size:40px 40px}.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{bottom:0;top:0}.-bottom-1\/2{bottom:-50%}.-top-\[58px\]{top:-58px}.-top-3{top:-.75rem}.left-0{left:0}.right-0{right:0}.-z-1{z-index:-1}.z-1{z-index:1}.z-10{z-index:10}.z-100{z-index:100}.z-20{z-index:20}.z-5{z-index:5}.order-last{order:9999}.grid{display:grid}.col-span-2{grid-column:span 2 / span 2}.row-span-2{grid-row:span 2 / span 2}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.hover\:ml-1:hover{margin-left:.25rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0\.3em{margin-left:.3em}.ml-0\.4em{margin-left:.4em}.mr-0\.1em{margin-right:.1em}.mr-0\.4em{margin-right:.4em}.mr-1{margin-right:.25rem}.mt1{margin-top:.25rem}.block,.dark .dark\:block{display:block}.inline-block{display:inline-block}.dark .dark\:hidden,.hidden,[hidden=""]{display:none}.h-\[70px\]{height:70px}.h-1\/2{height:50%}.h-32{height:8rem}.h-auto{height:auto}.h-full,[h-full=""]{height:100%}.h-screen{height:100vh}.h1{height:.25rem}.max-h-630px{max-height:630px}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.max-w-\[960px\]{max-width:960px}.max-w-1200px{max-width:1200px}.max-w-520px{max-width:520px}.max-w-full{max-width:100%}.min-h-screen{min-height:100vh}.w-\[20\%\]{width:20%}.w-40{width:10rem}.w-full{width:100%}.flex,[flex~="~"]{display:flex}.inline-flex{display:inline-flex}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-grow{flex-grow:1}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.-translate-y-1{--un-translate-y:-.25rem;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.scale-0{--un-scale-x:0;--un-scale-y:0;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.n-checked\:scale-100[checked],[checked] .n-checked\:scale-100{--un-scale-x:1;--un-scale-y:1;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.transform{transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer,[cursor-pointer=""]{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.place-content-center{place-content:center}.place-self-start,[place-self-start=""]{place-self:start}.items-start{align-items:flex-start}.items-center,[items-center=""]{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.flex-gap2{grid-gap:.5rem;gap:.5rem}.gap-3,[flex~=gap-3]{grid-gap:.75rem;gap:.75rem}.gap-6{grid-gap:1.5rem;gap:1.5rem}.gap-x-4{grid-column-gap:1rem;-moz-column-gap:1rem;column-gap:1rem}.gap-y-16{grid-row-gap:4rem;row-gap:4rem}.gap-y-2{grid-row-gap:.5rem;row-gap:.5rem}.gap-y-4{grid-row-gap:1rem;row-gap:1rem}.space-x-1>:not([hidden])~:not([hidden]){--un-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--un-space-x-reverse)));margin-right:calc(.25rem*var(--un-space-x-reverse))}.space-x-5>:not([hidden])~:not([hidden]){--un-space-x-reverse:0;margin-left:calc(1.25rem*(1 - var(--un-space-x-reverse)));margin-right:calc(1.25rem*var(--un-space-x-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--un-space-y-reverse:0;margin-bottom:calc(.75rem*var(--un-space-y-reverse));margin-top:calc(.75rem*(1 - var(--un-space-y-reverse)))}.of-auto,[of-auto=""]{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-nowrap{white-space:nowrap}.border,.border-1{border-width:1px}.border-r-1{border-right-width:1px}.border-t{border-top-width:1px}.border-gray-200{--un-border-opacity:1;border-color:rgba(229,231,235,var(--un-border-opacity))}.border-light-400{--un-border-opacity:1;border-color:rgba(246,246,246,var(--un-border-opacity))}.border-light-500{--un-border-opacity:1;border-color:rgba(242,242,242,var(--un-border-opacity))}.dark .dark\:border-dark-400{--un-border-opacity:1;border-color:rgba(34,34,34,var(--un-border-opacity))}.dark .dark\:border-gray-900{--un-border-opacity:1;border-color:rgba(17,24,39,var(--un-border-opacity))}.dark .dark\:border-transparent,.hover\:border-transparent:hover{border-color:transparent}.focus-within\:border-context:focus-within{border-color:rgba(var(--nui-c-context),1)}.rounded{border-radius:.25rem}.rounded-xl{border-radius:.75rem}.rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.border-none,.dark .dark\:border-none{border-style:none}.bg-black\/5{background-color:#0000000d}.bg-black\/50{background-color:#00000080}.bg-gray-100{--un-bg-opacity:1;background-color:rgba(243,244,246,var(--un-bg-opacity))}.bg-light-200{--un-bg-opacity:1;background-color:rgba(250,250,250,var(--un-bg-opacity))}.bg-white{--un-bg-opacity:1;background-color:rgba(255,255,255,var(--un-bg-opacity))}.dark .dark\:bg-black{--un-bg-opacity:1;background-color:rgba(0,0,0,var(--un-bg-opacity))}.dark .dark\:bg-dark-700{--un-bg-opacity:1;background-color:rgba(27,27,27,var(--un-bg-opacity))}.dark .dark\:bg-dark-800{--un-bg-opacity:1;background-color:rgba(24,24,24,var(--un-bg-opacity))}.dark .dark\:bg-dark-900{--un-bg-opacity:1;background-color:rgba(15,15,15,var(--un-bg-opacity))}.dark .dark\:bg-gray-900{--un-bg-opacity:1;background-color:rgba(17,24,39,var(--un-bg-opacity))}.dark .dark\:bg-white\/10{background-color:#ffffff1a}.from-blue-400{--un-gradient-from-position:0%;--un-gradient-from:rgba(96,165,250,var(--un-from-opacity, 1)) var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:rgba(96,165,250,0) var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from), var(--un-gradient-to)}.from-green-400{--un-gradient-from-position:0%;--un-gradient-from:rgba(74,222,128,var(--un-from-opacity, 1)) var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:rgba(74,222,128,0) var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from), var(--un-gradient-to)}.from-yellow-400{--un-gradient-from-position:0%;--un-gradient-from:rgba(250,204,21,var(--un-from-opacity, 1)) var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:rgba(250,204,21,0) var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from), var(--un-gradient-to)}.to-transparent{--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position)}.bg-gradient-to-l{--un-gradient-shape:to left;--un-gradient:var(--un-gradient-shape), var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient))}.bg-gradient-to-r{--un-gradient-shape:to right;--un-gradient:var(--un-gradient-shape), var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient))}.p-0,[p-0=""]{padding:0}.p-1{padding:.25rem}.p-3{padding:.75rem}.p-8{padding:2rem}.p4{padding:1rem}.px,.px-4,.px4{padding-left:1rem;padding-right:1rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-14{padding-bottom:3.5rem;padding-top:3.5rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-7{padding-bottom:1.75rem;padding-top:1.75rem}.py-9px{padding-bottom:9px;padding-top:9px}.pb-6,.pb6{padding-bottom:1.5rem}.pl-1{padding-left:.25rem}.pr-2{padding-right:.5rem}.pt-\[58px\]{padding-top:58px}.pt-14{padding-top:3.5rem}.pt2{padding-top:.5rem}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:Avenir,Helvetica,Arial,sans-serif}.text-1\.1em{font-size:1.1em}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-6xl{font-size:3.75rem;line-height:1}.text-8xl{font-size:6rem;line-height:1}.text-base,[text-base=""]{font-size:1rem;line-height:1.5rem}.text-lg,[n~=lg]{font-size:1.125rem;line-height:1.75rem}.text-sm,[text-sm=""]{font-size:.875rem;line-height:1.25rem}.text-xl,[text-xl=""]{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-tight{line-height:1.25}.dark .dark\:hover\:text-white:hover,.dark .dark\:text-white{--un-text-opacity:1;color:rgba(255,255,255,var(--un-text-opacity))}.dark .dark\:text-gray-300{--un-text-opacity:1;color:rgba(209,213,219,var(--un-text-opacity))}.dark .dark\:text-light{--un-text-opacity:1;color:rgba(246,246,246,var(--un-text-opacity))}.hover\:text-black:hover,.text-black{--un-text-opacity:1;color:rgba(0,0,0,var(--un-text-opacity))}.text-dark-800{--un-text-opacity:1;color:rgba(24,24,24,var(--un-text-opacity))}.text-gray-700{--un-text-opacity:1;color:rgba(55,65,81,var(--un-text-opacity))}.text-truegray\:50{color:#a3a3a380}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smoothing:grayscale}.n-checked\:op100[checked],.op-100,.op100,[checked] .n-checked\:op100{opacity:1}.op0{opacity:0}.op50,[op50=""]{opacity:.5}.op60,.opacity-60{opacity:.6}.op75,[op75=""]{opacity:.75}.opacity-40{opacity:.4}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow{--un-shadow:var(--un-shadow-inset) 0 1px 3px 0 var(--un-shadow-color, rgba(0,0,0,.1)),var(--un-shadow-inset) 0 1px 2px -1px var(--un-shadow-color, rgba(0,0,0,.1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.\!outline-none{outline:2px solid transparent!important;outline-offset:2px!important}.focus-visible\:ring-2:focus-visible{--un-ring-width:2px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.transition,[transition=""]{transition-duration:.15s;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.duration-500,[duration-500=""]{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.n-disabled\:n-disabled[disabled],[disabled] .n-disabled\:n-disabled{filter:saturate(0);opacity:.4;pointer-events:none}@media (min-width:640px){.sm\:col-span-1{grid-column:span 1 / span 1}.sm\:h-34{height:8.5rem}.sm\:min-h-\[220px\]{min-height:220px}.sm\:flex-row{flex-direction:row}.sm\:justify-between{justify-content:space-between}.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-28{padding-left:7rem;padding-right:7rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-3{padding-bottom:.75rem;padding-top:.75rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-8xl{font-size:6rem;line-height:1}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:768px){.md\:block{display:block}.md\:min-h-\[180px\]{min-height:180px}}@media (min-width:1024px){.lg\:order-none{order:0}.lg\:col-span-10{grid-column:span 10 / span 10}.lg\:col-span-4{grid-column:span 4 / span 4}.lg\:col-span-6{grid-column:span 6 / span 6}.lg\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lg\:min-h-min{min-height:-moz-min-content;min-height:min-content}.lg\:flex-col{flex-direction:column}.lg\:p-10{padding:2.5rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-7{padding-bottom:1.75rem;padding-top:1.75rem}}.tab-panels{width:100%}div[role=tabpanel]{display:flex;width:100%}