kss-modern 1.3.0-beta.2 → 1.3.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.
package/README.md CHANGED
@@ -6,6 +6,7 @@ A modern, KSS-compatible styleguide generator. Parses KSS comment blocks from CS
6
6
 
7
7
  - KSS-compatible comment parsing from CSS/SCSS files
8
8
  - Live component previews with modifier variants
9
+ - Per-section theme dropdown (`Themes:`) to switch previews between the default and themed views
9
10
  - Pug template support via worker thread pool
10
11
  - Color palette and icon gallery documentation
11
12
  - Figma embed integration with light/dark theme sync
@@ -47,7 +48,7 @@ This scans all `.css` and `.scss` files in `contentDir` for KSS comment blocks a
47
48
  ## Documentation
48
49
 
49
50
  - **[Setup Guide](docs/setup.md)** — Installation, configuration reference, watch mode, project structure, and API reference
50
- - **[Usage Guide](docs/usage.md)** — Writing KSS comments, all available properties (markup, modifiers, colors, icons, Markdown, Figma, status, wrapper, html/body classes, etc.), and styleguide UI features
51
+ - **[Usage Guide](docs/usage.md)** — Writing KSS comments, all available properties (markup, modifiers, colors, icons, Markdown, Figma, status, wrapper, html/body classes, themes, etc.), and styleguide UI features
51
52
  - **[Changelog](CHANGELOG.md)** — Version history and release notes
52
53
 
53
54
  ## Basic KSS Example
@@ -4,6 +4,14 @@ interface SectionMeta {
4
4
  }[];
5
5
  }
6
6
 
7
+ /**
8
+ * One entry of a section's `Themes:` block — a theme class (or class list, e.g. `.theme-a.compact`)
9
+ * written as in the KSS comment, plus the label shown in the theme dropdown.
10
+ */
11
+ interface ThemeOption {
12
+ value: string;
13
+ description: string;
14
+ }
7
15
  interface ColorObject {
8
16
  name?: string;
9
17
  color: string;
@@ -31,6 +39,8 @@ interface in2Section {
31
39
  wrapper?: string;
32
40
  htmlclass?: string;
33
41
  bodyclass?: string;
42
+ /** Theme contexts offered by the section's theme dropdown; classes are applied to the preview's <html>. */
43
+ themes?: ThemeOption[];
34
44
  source: {
35
45
  css: {
36
46
  file: string;
@@ -4,6 +4,14 @@ interface SectionMeta {
4
4
  }[];
5
5
  }
6
6
 
7
+ /**
8
+ * One entry of a section's `Themes:` block — a theme class (or class list, e.g. `.theme-a.compact`)
9
+ * written as in the KSS comment, plus the label shown in the theme dropdown.
10
+ */
11
+ interface ThemeOption {
12
+ value: string;
13
+ description: string;
14
+ }
7
15
  interface ColorObject {
8
16
  name?: string;
9
17
  color: string;
@@ -31,6 +39,8 @@ interface in2Section {
31
39
  wrapper?: string;
32
40
  htmlclass?: string;
33
41
  bodyclass?: string;
42
+ /** Theme contexts offered by the section's theme dropdown; classes are applied to the preview's <html>. */
43
+ themes?: ThemeOption[];
34
44
  source: {
35
45
  css: {
36
46
  file: string;
@@ -3,8 +3,8 @@ import process from 'node:process';
3
3
  import { fileURLToPath } from 'node:url';
4
4
  import fs from 'fs-extra';
5
5
  import { glob } from 'tinyglobby';
6
- import { l as logger, s as sanitizeSpecialCharacters, I as INSERT_VITE_PUG_TAG_RE, P as PUG_SRC_RE, a as PUG_ERROR_OVERLAY_TAG, c as compileMarkup, p as pugErrorFile, b as slugify, d as sectionSanitizeId, e as stripPugErrorOverlay, f as ensureStartingSlash, g as generateId, r as replaceWrapperContent, h as htmlToSearchText } from '../shared/kss-modern.BQiL0d8K.mjs';
7
- export { i as createLogger } from '../shared/kss-modern.BQiL0d8K.mjs';
6
+ import { l as logger, s as sanitizeSpecialCharacters, I as INSERT_VITE_PUG_TAG_RE, P as PUG_SRC_RE, t as themeClassList, a as PUG_ERROR_OVERLAY_TAG, c as compileMarkup, p as pugErrorFile, b as slugify, d as sectionSanitizeId, e as stripPugErrorOverlay, f as ensureStartingSlash, g as generateId, r as replaceWrapperContent, h as htmlToSearchText } from '../shared/kss-modern.DQ_V-57G.mjs';
7
+ export { i as createLogger } from '../shared/kss-modern.DQ_V-57G.mjs';
8
8
  import htmlLang from '@shikijs/langs/html';
9
9
  import markdownLang from '@shikijs/langs/markdown';
10
10
  import scssLang from '@shikijs/langs/scss';
@@ -506,6 +506,16 @@ function parseIcons(text) {
506
506
  });
507
507
  return icons;
508
508
  }
509
+ function parseThemes(text) {
510
+ return text.split("\n").map((line) => line.trim()).filter((line) => line.length > 0).map((line) => {
511
+ const [value, ...labelParts] = line.split(/\s+-\s+/);
512
+ const description = labelParts.join(" - ").trim();
513
+ return {
514
+ value: value.trim(),
515
+ description: description.length > 0 ? description : themeClassList(value)
516
+ };
517
+ });
518
+ }
509
519
  function toFloat(value) {
510
520
  return Number.isNaN(Number(value)) ? 0 : Number.parseFloat(value);
511
521
  }
@@ -563,6 +573,7 @@ function kssParser(input, options = {}) {
563
573
  processProperty(sectionRecord, paragraphs, "Wrapper", (x) => x.trim());
564
574
  processProperty(sectionRecord, paragraphs, "htmlclass", (x) => x.trim());
565
575
  processProperty(sectionRecord, paragraphs, "bodyclass", (x) => x.trim());
576
+ processProperty(sectionRecord, paragraphs, "Themes", parseThemes);
566
577
  processProperty(sectionRecord, paragraphs, "Icons", parseIcons);
567
578
  processProperty(sectionRecord, paragraphs, "Figma", (x) => x.trim());
568
579
  processProperty(sectionRecord, paragraphs, "Status", (x) => x.trim().toLowerCase());
@@ -867,6 +878,7 @@ async function parse(input, contentDir) {
867
878
  wrapper: section.wrapper,
868
879
  htmlclass: section.htmlclass,
869
880
  bodyclass: section.bodyclass,
881
+ themes: section.themes,
870
882
  source: computeSource(section),
871
883
  previewFileName: `preview-${section.reference}.html`,
872
884
  fullpageFileName: `fullpage-${section.reference}.html`
@@ -905,6 +917,7 @@ async function parse(input, contentDir) {
905
917
  wrapper: section.wrapper,
906
918
  htmlclass: section.htmlclass,
907
919
  bodyclass: section.bodyclass,
920
+ themes: section.themes,
908
921
  source: computeSource(section),
909
922
  previewFileName: `preview-${section.reference}.html`,
910
923
  fullpageFileName: `fullpage-${section.reference}.html`
@@ -934,6 +947,7 @@ async function parse(input, contentDir) {
934
947
  wrapper: section.wrapper,
935
948
  htmlclass: section.htmlclass,
936
949
  bodyclass: section.bodyclass,
950
+ themes: section.themes,
937
951
  sections: [],
938
952
  source: computeSource(section),
939
953
  previewFileName: `preview-${section.reference}.html`,
@@ -1354,7 +1368,7 @@ async function generateFullPageFile(data) {
1354
1368
  <meta name="theme-color" media="(prefers-color-scheme: light)" content="${data.theme.light}">
1355
1369
  <meta name="theme-color" media="(prefers-color-scheme: dark)" content="${data.theme.dark}">
1356
1370
  ` : `<meta name="theme-color" content="${data.theme}">`}
1357
- <script type="module" src="/styleguide-assets/fullpage-D-fU_bAa.js"><\/script>
1371
+ <script type="module" src="/styleguide-assets/fullpage-B7IV3eSt.js"><\/script>
1358
1372
  ${computedStyleTags}
1359
1373
  </head>
1360
1374
  <body${data.page.bodyclass ? ` class="${data.page.bodyclass}"` : ""}>
@@ -1554,30 +1568,34 @@ function getCodeAuditDialog() {
1554
1568
  </dialog>
1555
1569
  `;
1556
1570
  }
1557
- function renderTab(data) {
1571
+ function renderTab(data, aside = "") {
1558
1572
  const tabId = generateId();
1559
1573
  return `
1560
1574
  <div class="tabs">
1561
- <div
1562
- class="inline-flex relative justify-start flex-wrap rounded-md p-0.5 bg-styleguide-bg-highlight"
1563
- role="tablist"
1564
- >
1575
+ <div class="flex flex-wrap items-center justify-between gap-3">
1565
1576
  <div
1566
- class="tab-trigger-background absolute inset-y-0.5 left-0 bg-[rgb(242,242,242)] dark:bg-[rgb(26,26,26)] rounded"
1567
- ></div>
1568
-
1569
- ${data.map((tab, index) => `
1570
- <button
1571
- id="tab-trigger-${tabId}-${index}"
1572
- role="tab"
1573
- aria-selected="${(index === 0).toString()}"
1574
- aria-controls="tab-panel-${tabId}-${index}"
1575
- class="inline-flex gap-1 items-center relative px-4 py-2 text-sm cursor-pointer aria-selected:text-styleguide-highlight transition duration-400"
1576
- >
1577
- ${tab.icon ?? ""}
1578
- ${tab.title}
1579
- </button>
1580
- `).join("\n")}
1577
+ class="inline-flex relative justify-start flex-wrap rounded-md p-0.5 bg-styleguide-bg-highlight"
1578
+ role="tablist"
1579
+ >
1580
+ <div
1581
+ class="tab-trigger-background absolute inset-y-0.5 left-0 bg-[rgb(242,242,242)] dark:bg-[rgb(26,26,26)] rounded"
1582
+ ></div>
1583
+
1584
+ ${data.map((tab, index) => `
1585
+ <button
1586
+ id="tab-trigger-${tabId}-${index}"
1587
+ role="tab"
1588
+ aria-selected="${(index === 0).toString()}"
1589
+ aria-controls="tab-panel-${tabId}-${index}"
1590
+ class="inline-flex gap-1 items-center relative px-4 py-2 text-sm cursor-pointer aria-selected:text-styleguide-highlight transition duration-400"
1591
+ >
1592
+ ${tab.icon ?? ""}
1593
+ ${tab.title}
1594
+ </button>
1595
+ `).join("\n")}
1596
+ </div>
1597
+
1598
+ ${aside}
1581
1599
  </div>
1582
1600
 
1583
1601
  ${data.map((tab, index) => `
@@ -1594,6 +1612,27 @@ function renderTab(data) {
1594
1612
  </div>
1595
1613
  `;
1596
1614
  }
1615
+ function renderThemeSelect(section, themes) {
1616
+ const selectId = `theme-select-${sectionSanitizeId(section.id)}`;
1617
+ return `
1618
+ <div class="inline-flex items-center gap-2 text-sm">
1619
+ <label for="${selectId}" class="select-none">Theme</label>
1620
+ <span class="relative inline-flex">
1621
+ <select
1622
+ id="${selectId}"
1623
+ class="section-theme-select appearance-none cursor-pointer rounded-md border py-1.5 pl-3 pr-8 text-sm transition duration-200 border-styleguide-border bg-styleguide-bg-highlight hover:text-styleguide-highlight focus:text-styleguide-highlight focus-visible:outline focus-visible:outline-blue-600"
1624
+ data-section-theme-select
1625
+ >
1626
+ <option value="">Default</option>
1627
+ ${themes.map((theme) => `<option value="${sanitizeSpecialCharacters(themeClassList(theme.value))}">${sanitizeSpecialCharacters(theme.description)}</option>`).join("\n")}
1628
+ </select>
1629
+ <svg class="pointer-events-none absolute top-1/2 right-2.5 size-3.5 -translate-y-1/2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true">
1630
+ <path fill-rule="evenodd" d="M4.22 6.22a.75.75 0 0 1 1.06 0L8 8.94l2.72-2.72a.75.75 0 1 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0L4.22 7.28a.75.75 0 0 1 0-1.06Z" clip-rule="evenodd"/>
1631
+ </svg>
1632
+ </span>
1633
+ </div>
1634
+ `;
1635
+ }
1597
1636
  function getMainContentHtml(secondLevelSection, config) {
1598
1637
  let output = "";
1599
1638
  function renderSection(section) {
@@ -1728,6 +1767,7 @@ function getMainContentRegular(section, config) {
1728
1767
  >
1729
1768
  </a>
1730
1769
  `;
1770
+ const themeSelectMarkup = section.markup && section.themes && section.themes.length > 0 ? renderThemeSelect(section, section.themes) : "";
1731
1771
  const codePreviewMarkup = `
1732
1772
  <!-- Preview Box -->
1733
1773
  <div class="mt-4 overflow-hidden rounded-2xl border border-styleguide-border">
@@ -1933,8 +1973,16 @@ function getMainContentRegular(section, config) {
1933
1973
  }
1934
1974
  return `
1935
1975
  <div class="mt-4">
1936
- ${renderTab(tabs).replaceAll("<replace-figma-iframe-loading-strategy>", tabs.length > 1 ? "lazy" : "eager")}
1976
+ ${renderTab(tabs, themeSelectMarkup).replaceAll("<replace-figma-iframe-loading-strategy>", tabs.length > 1 ? "lazy" : "eager")}
1977
+ </div>
1978
+ `;
1979
+ }
1980
+ if (themeSelectMarkup) {
1981
+ return `
1982
+ <div class="mt-4 flex flex-wrap items-center justify-end gap-3">
1983
+ ${themeSelectMarkup}
1937
1984
  </div>
1985
+ ${codePreviewMarkup}
1938
1986
  `;
1939
1987
  }
1940
1988
  return codePreviewMarkup;
@@ -2173,7 +2221,7 @@ async function generatePreviewFile(data) {
2173
2221
  <meta name="theme-color" media="(prefers-color-scheme: light)" content="${data.theme.light}">
2174
2222
  <meta name="theme-color" media="(prefers-color-scheme: dark)" content="${data.theme.dark}">
2175
2223
  ` : `<meta name="theme-color" content="${data.theme}">`}
2176
- <link rel="stylesheet" type="text/css" href="/styleguide-assets/kss-modern-BJ971T05.css">
2224
+ <link rel="stylesheet" type="text/css" href="/styleguide-assets/kss-modern-Cg1aeKi1.css">
2177
2225
  <script>
2178
2226
  //#region client/lib/iframe-resize.ts
2179
2227
  var e = [
@@ -2336,7 +2384,7 @@ document.addEventListener("DOMContentLoaded", () => {
2336
2384
  //#endregion
2337
2385
  ;
2338
2386
  <\/script>
2339
- <script type="module" src="/styleguide-assets/preview-DEipbLLB.js"><\/script>
2387
+ <script type="module" src="/styleguide-assets/preview-CWqxR9nN.js"><\/script>
2340
2388
  <link rel="preload" href="/styleguide-assets/fonts/geist-mono-latin-400-normal.woff2" as="font" type="font/woff2" crossorigin="anonymous">
2341
2389
  <link rel="preload" href="/styleguide-assets/fonts/geist-mono-latin-600-normal.woff2" as="font" type="font/woff2" crossorigin="anonymous">
2342
2390
  <link rel="preload" href="/styleguide-assets/fonts/geist-mono-latin-300-normal.woff2" as="font" type="font/woff2" crossorigin="anonymous">
@@ -2747,7 +2795,7 @@ async function buildContext(config) {
2747
2795
  }
2748
2796
  const ASSETS_MARKER_FILE = ".kss-modern-assets";
2749
2797
  function getAssetsBuildId(theme) {
2750
- return `kss-modern-BJ971T05.css
2798
+ return `kss-modern-Cg1aeKi1.css
2751
2799
  ${JSON.stringify(theme)}
2752
2800
  `;
2753
2801
  }
@@ -1,5 +1,5 @@
1
1
  import { parentPort } from 'node:worker_threads';
2
- import { c as compileMarkup, p as pugErrorFile } from '../../shared/kss-modern.BQiL0d8K.mjs';
2
+ import { c as compileMarkup, p as pugErrorFile } from '../../shared/kss-modern.DQ_V-57G.mjs';
3
3
  import 'node:fs';
4
4
  import 'node:fs/promises';
5
5
  import 'node:path';
@@ -80,6 +80,9 @@ const WRAPPER_CONTENT_RE = /<wrapper-content\s*\/>|\{\{\s*wrapper-content\s*\}\}
80
80
  function replaceWrapperContent(wrapper, content) {
81
81
  return wrapper.replace(WRAPPER_CONTENT_RE, () => content);
82
82
  }
83
+ function themeClassList(value) {
84
+ return value.split(/[.\s]+/).filter(Boolean).join(" ");
85
+ }
83
86
  function* idGenerator() {
84
87
  let id = 0;
85
88
  while (true) {
@@ -251,4 +254,4 @@ async function compileMarkup(contentDir, mode, html, sectionId) {
251
254
  return { html: result, dependencies: [...new Set(dependencies)] };
252
255
  }
253
256
 
254
- export { INSERT_VITE_PUG_TAG_RE as I, PUG_SRC_RE as P, PUG_ERROR_OVERLAY_TAG as a, slugify as b, compileMarkup as c, sectionSanitizeId as d, stripPugErrorOverlay as e, ensureStartingSlash as f, generateId as g, htmlToSearchText as h, createLogger as i, logger as l, pugErrorFile as p, replaceWrapperContent as r, sanitizeSpecialCharacters as s };
257
+ export { INSERT_VITE_PUG_TAG_RE as I, PUG_SRC_RE as P, PUG_ERROR_OVERLAY_TAG as a, slugify as b, compileMarkup as c, sectionSanitizeId as d, stripPugErrorOverlay as e, ensureStartingSlash as f, generateId as g, htmlToSearchText as h, createLogger as i, logger as l, pugErrorFile as p, replaceWrapperContent as r, sanitizeSpecialCharacters as s, themeClassList as t };
@@ -3,6 +3,10 @@
3
3
  "file": "animate-x_9xNIEv.js",
4
4
  "name": "animate"
5
5
  },
6
+ "_audit-runner-Ch009v98.js": {
7
+ "file": "audit-runner-Ch009v98.js",
8
+ "name": "audit-runner"
9
+ },
6
10
  "_code-highlight-Fm7cxf-E.js": {
7
11
  "file": "code-highlight-Fm7cxf-E.js",
8
12
  "name": "code-highlight"
@@ -11,8 +15,8 @@
11
15
  "file": "rolldown-runtime-B1bRi_D7.js",
12
16
  "name": "rolldown-runtime"
13
17
  },
14
- "_section-previews-D-Mr2eVX.js": {
15
- "file": "section-previews-D-Mr2eVX.js",
18
+ "_section-previews-V4M5aSu6.js": {
19
+ "file": "section-previews-V4M5aSu6.js",
16
20
  "name": "section-previews"
17
21
  },
18
22
  "_shared-hGcWlnRM.js": {
@@ -28,7 +32,7 @@
28
32
  "name": "utils"
29
33
  },
30
34
  "client/fullpage.ts": {
31
- "file": "fullpage-D-fU_bAa.js",
35
+ "file": "fullpage-B7IV3eSt.js",
32
36
  "name": "fullpage",
33
37
  "src": "client/fullpage.ts",
34
38
  "isEntry": true,
@@ -42,13 +46,14 @@
42
46
  ]
43
47
  },
44
48
  "client/lib/a11y-report.ts": {
45
- "file": "a11y-report-BgeWSrYe.js",
49
+ "file": "a11y-report-DJQyYaLp.js",
46
50
  "name": "a11y-report",
47
51
  "src": "client/lib/a11y-report.ts",
48
52
  "isDynamicEntry": true,
49
53
  "imports": [
50
54
  "_utils-DtB-AzJa.js",
51
- "_section-previews-D-Mr2eVX.js"
55
+ "_audit-runner-Ch009v98.js",
56
+ "_section-previews-V4M5aSu6.js"
52
57
  ]
53
58
  },
54
59
  "client/lib/clipboard.ts": {
@@ -69,7 +74,7 @@
69
74
  "isDynamicEntry": true
70
75
  },
71
76
  "client/lib/html-validator.ts": {
72
- "file": "html-validator-DJGwslsw.js",
77
+ "file": "html-validator-Cp2OkhS9.js",
73
78
  "name": "html-validator",
74
79
  "src": "client/lib/html-validator.ts",
75
80
  "isDynamicEntry": true,
@@ -77,7 +82,8 @@
77
82
  "_code-highlight-Fm7cxf-E.js",
78
83
  "_utils-DtB-AzJa.js",
79
84
  "_shared-hGcWlnRM.js",
80
- "_section-previews-D-Mr2eVX.js"
85
+ "_audit-runner-Ch009v98.js",
86
+ "_section-previews-V4M5aSu6.js"
81
87
  ]
82
88
  },
83
89
  "client/lib/icons.ts": {
@@ -90,6 +96,15 @@
90
96
  "_utils-DtB-AzJa.js"
91
97
  ]
92
98
  },
99
+ "client/lib/section-theme-select.ts": {
100
+ "file": "section-theme-select-ygaSXIuK.js",
101
+ "name": "section-theme-select",
102
+ "src": "client/lib/section-theme-select.ts",
103
+ "isDynamicEntry": true,
104
+ "imports": [
105
+ "_section-previews-V4M5aSu6.js"
106
+ ]
107
+ },
93
108
  "client/preview-inline.ts": {
94
109
  "file": "preview-inline-ByTkw_pt.js",
95
110
  "name": "preview-inline",
@@ -97,7 +112,7 @@
97
112
  "isEntry": true
98
113
  },
99
114
  "client/preview.ts": {
100
- "file": "preview-DEipbLLB.js",
115
+ "file": "preview-CWqxR9nN.js",
101
116
  "name": "preview",
102
117
  "src": "client/preview.ts",
103
118
  "isEntry": true,
@@ -113,6 +128,7 @@
113
128
  "client/lib/html-validator.ts",
114
129
  "client/lib/icons.ts",
115
130
  "client/lib/clipboard.ts",
131
+ "client/lib/section-theme-select.ts",
116
132
  "client/lib/editor-select.ts"
117
133
  ]
118
134
  },
@@ -135,7 +151,7 @@
135
151
  ]
136
152
  },
137
153
  "style.css": {
138
- "file": "kss-modern-BJ971T05.css",
154
+ "file": "kss-modern-Cg1aeKi1.css",
139
155
  "src": "style.css"
140
156
  }
141
157
  }
@@ -1,5 +1,6 @@
1
1
  import { r as e } from "./utils-DtB-AzJa.js";
2
- import { a as t, c as n, i as r, n as i, o as a, s as o, t as s } from "./section-previews-D-Mr2eVX.js";
2
+ import { a as t, i as n, n as r, o as i, r as a } from "./audit-runner-Ch009v98.js";
3
+ import { n as o, t as s } from "./section-previews-V4M5aSu6.js";
3
4
  //#region client/lib/a11y-report.ts
4
5
  var c = {
5
6
  violations: ["violations", "incomplete"],
@@ -10,7 +11,7 @@ function l(t) {
10
11
  }
11
12
  function u() {
12
13
  return Array.from(document.querySelectorAll(s)).flatMap((e) => {
13
- let { base: t, modifiers: n } = i(e);
14
+ let { base: t, modifiers: n } = o(e);
14
15
  if (!t) return [];
15
16
  let r = Number.parseInt(e.dataset.sourceLine ?? "", 10);
16
17
  return [{
@@ -37,7 +38,7 @@ function d(e, t) {
37
38
  }
38
39
  function f(e) {
39
40
  return {
40
- target: t(e.target),
41
+ target: a(e.target),
41
42
  html: e.html || void 0,
42
43
  failureSummary: e.failureSummary || void 0,
43
44
  measured: e.measured,
@@ -60,24 +61,24 @@ function p(e, t, n = {}) {
60
61
  function m(e) {
61
62
  let t = /* @__PURE__ */ new Map();
62
63
  return e.forEach((e) => {
63
- let n = {
64
+ let r = {
64
65
  target: e.selector ?? void 0,
65
66
  failureSummary: e.message,
66
67
  line: e.line,
67
68
  column: e.column
68
- }, r = t.get(e.ruleId);
69
- if (r) {
70
- r.nodes.push(n);
69
+ }, i = t.get(e.ruleId);
70
+ if (i) {
71
+ i.nodes.push(r);
71
72
  return;
72
73
  }
73
74
  t.set(e.ruleId, {
74
75
  source: "html-validate",
75
76
  group: "violations",
76
77
  id: e.ruleId,
77
- impact: a(e.severity.toString()),
78
+ impact: n(e.severity.toString()),
78
79
  description: e.ruleDescription || e.message,
79
80
  helpUrl: e.ruleUrl || "",
80
- nodes: [n]
81
+ nodes: [r]
81
82
  });
82
83
  }), Array.from(t.values());
83
84
  }
@@ -128,8 +129,8 @@ async function b(e) {
128
129
  for (; !e.every(t) && Date.now() < n;) await new Promise((e) => setTimeout(e, 100));
129
130
  }
130
131
  var x = {
131
- runAccessibilityAudit: o,
132
- runModifierContrastAudit: n,
132
+ runAccessibilityAudit: t,
133
+ runModifierContrastAudit: i,
133
134
  waitForIframes: b
134
135
  };
135
136
  async function S(e = {}, t = x) {
@@ -37,13 +37,4 @@ function s(e, t) {
37
37
  return a(e, "runColorContrastAudit", t);
38
38
  }
39
39
  //#endregion
40
- //#region client/lib/section-previews.ts
41
- var c = ".styleguide-section";
42
- function l(e) {
43
- return {
44
- base: e?.querySelector("iframe.preview-iframe:not([data-modifier])") ?? null,
45
- modifiers: Array.from(e?.querySelectorAll("iframe.preview-iframe[data-modifier]") ?? [])
46
- };
47
- }
48
- //#endregion
49
- export { n as a, s as c, t as i, l as n, r as o, e as r, o as s, c as t };
40
+ export { o as a, r as i, t as n, s as o, n as r, e as t };
@@ -412,7 +412,7 @@ function re(e) {
412
412
  return { kind: "unsupported" };
413
413
  });
414
414
  }
415
- function I(e, t, n) {
415
+ function ie(e, t, n) {
416
416
  let r = e.trim().toLowerCase(), i = {
417
417
  width: n.width || t.width,
418
418
  height: n.height || t.height
@@ -439,7 +439,7 @@ function I(e, t, n) {
439
439
  height: c
440
440
  };
441
441
  }
442
- function L(e, t, n) {
442
+ function I(e, t, n) {
443
443
  let r = e.trim().toLowerCase();
444
444
  switch (r) {
445
445
  case "left":
@@ -453,7 +453,7 @@ function L(e, t, n) {
453
453
  let i = Number.parseFloat(r);
454
454
  return Number.isNaN(i) ? 0 : i;
455
455
  }
456
- function R(e, t) {
456
+ function L(e, t) {
457
457
  let n = e.map((e) => typeof e.position == "number" ? e.position : typeof e.positionPx == "number" ? t > 0 ? e.positionPx / t : 0 : null);
458
458
  n[0] === null && (n[0] = 0), n[n.length - 1] === null && (n[n.length - 1] = 1);
459
459
  let r = 0;
@@ -474,7 +474,7 @@ function R(e, t) {
474
474
  return i = t, t;
475
475
  });
476
476
  }
477
- function z(e) {
477
+ function R(e) {
478
478
  if (e.startsWith("data:") || e.startsWith("blob:")) return !1;
479
479
  try {
480
480
  return new URL(e, window.location.href).origin !== window.location.origin;
@@ -482,16 +482,16 @@ function z(e) {
482
482
  return !1;
483
483
  }
484
484
  }
485
- function B(e, t) {
485
+ function z(e, t) {
486
486
  let n = t.get(e);
487
487
  if (n) return n;
488
488
  let r = new Promise((t) => {
489
489
  let n = new Image();
490
- n.crossOrigin = "anonymous", n.onload = () => t(n), n.onerror = () => t({ error: z(e) ? "cross-origin" : "load" }), n.src = e;
490
+ n.crossOrigin = "anonymous", n.onload = () => t(n), n.onerror = () => t({ error: R(e) ? "cross-origin" : "load" }), n.src = e;
491
491
  });
492
492
  return t.set(e, r), r;
493
493
  }
494
- var V = {
494
+ var B = {
495
495
  "cross-origin-image": "The background image is served from another origin without CORS headers, so its pixels can't be read to measure contrast. Add `Access-Control-Allow-Origin` (or a `crossorigin` attribute on the source) to enable automatic checking, or verify the contrast manually.",
496
496
  "image-load-failed": "The background image couldn't be loaded for pixel sampling. Verify the contrast manually.",
497
497
  "unsupported-gradient": "This element sits over a radial, conic or otherwise unsupported gradient that isn't measured automatically yet. Verify the contrast manually.",
@@ -501,13 +501,13 @@ var V = {
501
501
  "no-background-found": "Couldn't locate a background image behind this text to sample. Verify the contrast manually.",
502
502
  "measurement-error": "The background behind this text couldn't be sampled automatically. Verify the contrast manually."
503
503
  };
504
- function H(e) {
504
+ function V(e) {
505
505
  return {
506
506
  code: e,
507
- message: V[e]
507
+ message: B[e]
508
508
  };
509
509
  }
510
- function U(e) {
510
+ function H(e) {
511
511
  return {
512
512
  left: e.left,
513
513
  top: e.top,
@@ -515,7 +515,7 @@ function U(e) {
515
515
  height: e.height
516
516
  };
517
517
  }
518
- async function W(e, t, n) {
518
+ async function U(e, t, n) {
519
519
  let r = [], i = e, a = null, o = async (e, t) => {
520
520
  let r = [], i = k(e.backgroundColor);
521
521
  i && i.a > 0 && r.push({
@@ -526,7 +526,7 @@ async function W(e, t, n) {
526
526
  let a = re(e.backgroundImage), o = P(e.backgroundSize || "auto"), s = P(e.backgroundPosition || "0% 0%"), c = P(e.backgroundRepeat || "repeat");
527
527
  for (let e = a.length - 1; e >= 0; e--) {
528
528
  let i = a[e], l = o[e % o.length] ?? "auto", u = s[e % s.length] ?? "0% 0%", d = c[e % c.length] ?? "repeat";
529
- if (i.kind === "unsupported") return H("unsupported-gradient");
529
+ if (i.kind === "unsupported") return V("unsupported-gradient");
530
530
  if (i.kind === "linear-gradient") {
531
531
  r.push({
532
532
  kind: "gradient",
@@ -535,8 +535,8 @@ async function W(e, t, n) {
535
535
  });
536
536
  continue;
537
537
  }
538
- let f = await B(i.url, n);
539
- if ("error" in f) return H(f.error === "cross-origin" ? "cross-origin-image" : "image-load-failed");
538
+ let f = await z(i.url, n);
539
+ if ("error" in f) return V(f.error === "cross-origin" ? "cross-origin-image" : "image-load-failed");
540
540
  r.push({
541
541
  kind: "image",
542
542
  box: t,
@@ -550,8 +550,8 @@ async function W(e, t, n) {
550
550
  };
551
551
  for (; i && i.nodeType === Node.ELEMENT_NODE;) {
552
552
  let e = getComputedStyle(i), t = e.getPropertyValue("backdrop-filter"), n = P(e.backgroundBlendMode || "normal").some((e) => e.trim() !== "normal");
553
- if (e.mixBlendMode !== "normal" || n || e.filter !== "none" || t !== "" && t !== "none" || Number.parseFloat(e.opacity) < 1) return H("overlay-element");
554
- let s = U(i.getBoundingClientRect()), c = [], l = await o(e, s);
553
+ if (e.mixBlendMode !== "normal" || n || e.filter !== "none" || t !== "" && t !== "none" || Number.parseFloat(e.opacity) < 1) return V("overlay-element");
554
+ let s = H(i.getBoundingClientRect()), c = [], l = await o(e, s);
555
555
  if (!Array.isArray(l)) return l;
556
556
  c.push(...l);
557
557
  for (let e of ["::before", "::after"]) {
@@ -595,8 +595,8 @@ async function W(e, t, n) {
595
595
  base: a
596
596
  };
597
597
  }
598
- var G = 256;
599
- function K(e, t, n, r) {
598
+ var W = 256;
599
+ function G(e, t, n, r) {
600
600
  let i = {
601
601
  left: Math.min(...t.map((e) => e.left)),
602
602
  top: Math.min(...t.map((e) => e.top)),
@@ -604,10 +604,10 @@ function K(e, t, n, r) {
604
604
  height: 0
605
605
  };
606
606
  i.width = Math.max(...t.map((e) => e.left + e.width)) - i.left, i.height = Math.max(...t.map((e) => e.top + e.height)) - i.top;
607
- let a = Math.min(1, G / Math.max(i.width, i.height, 1)), o = Math.max(1, Math.ceil(i.width * a)), s = Math.max(1, Math.ceil(i.height * a)), c = document.createElement("canvas");
607
+ let a = Math.min(1, W / Math.max(i.width, i.height, 1)), o = Math.max(1, Math.ceil(i.width * a)), s = Math.max(1, Math.ceil(i.height * a)), c = document.createElement("canvas");
608
608
  c.width = o, c.height = s;
609
609
  let l = c.getContext("2d", { willReadFrequently: !0 });
610
- if (!l) return H("measurement-error");
610
+ if (!l) return V("measurement-error");
611
611
  let u = (e) => (e - i.left) * a, d = (e) => (e - i.top) * a;
612
612
  l.fillStyle = `rgb(${r.r}, ${r.g}, ${r.b})`, l.fillRect(0, 0, o, s);
613
613
  for (let e of n) {
@@ -616,7 +616,7 @@ function K(e, t, n, r) {
616
616
  continue;
617
617
  }
618
618
  if (e.kind === "gradient") {
619
- let t = e.gradient.angleDeg * Math.PI / 180, n = Math.sin(t), r = -Math.cos(t), i = Math.abs(e.box.width * n) + Math.abs(e.box.height * r), a = e.box.left + e.box.width / 2, c = e.box.top + e.box.height / 2, f = l.createLinearGradient(u(a - n * i / 2), d(c - r * i / 2), u(a + n * i / 2), d(c + r * i / 2)), p = R(e.gradient.stops, i);
619
+ let t = e.gradient.angleDeg * Math.PI / 180, n = Math.sin(t), r = -Math.cos(t), i = Math.abs(e.box.width * n) + Math.abs(e.box.height * r), a = e.box.left + e.box.width / 2, c = e.box.top + e.box.height / 2, f = l.createLinearGradient(u(a - n * i / 2), d(c - r * i / 2), u(a + n * i / 2), d(c + r * i / 2)), p = L(e.gradient.stops, i);
620
620
  e.gradient.stops.forEach((e, t) => {
621
621
  f.addColorStop(p[t], `rgba(${e.color.r}, ${e.color.g}, ${e.color.b}, ${e.color.a})`);
622
622
  }), l.fillStyle = f, l.fillRect(0, 0, o, s);
@@ -628,9 +628,9 @@ function K(e, t, n, r) {
628
628
  }, n = {
629
629
  width: e.box.width,
630
630
  height: e.box.height
631
- }, r = I(e.size, n, t);
631
+ }, r = ie(e.size, n, t);
632
632
  if (r.width <= 0 || r.height <= 0) continue;
633
- let [c = "0%", f = "0%"] = e.position.split(/\s+/), p = e.box.left + L(c, n.width, r.width), m = e.box.top + L(f, n.height, r.height), h = e.repeat, g = h === "repeat" || h === "repeat-x" || h === "round" || h === "space", _ = h === "repeat" || h === "repeat-y" || h === "round" || h === "space", v = g ? p - Math.ceil((p - i.left) / r.width) * r.width : p, y = _ ? m - Math.ceil((m - i.top) / r.height) * r.height : m, b = g ? i.left + i.width : p, x = _ ? i.top + i.height : m, S = 0;
633
+ let [c = "0%", f = "0%"] = e.position.split(/\s+/), p = e.box.left + I(c, n.width, r.width), m = e.box.top + I(f, n.height, r.height), h = e.repeat, g = h === "repeat" || h === "repeat-x" || h === "round" || h === "space", _ = h === "repeat" || h === "repeat-y" || h === "round" || h === "space", v = g ? p - Math.ceil((p - i.left) / r.width) * r.width : p, y = _ ? m - Math.ceil((m - i.top) / r.height) * r.height : m, b = g ? i.left + i.width : p, x = _ ? i.top + i.height : m, S = 0;
634
634
  for (let t = y; t <= x; t += r.height) {
635
635
  for (let n = v; n <= b && (l.drawImage(e.img, u(n), d(t), r.width * a, r.height * a), !(++S > 4096)); n += r.width);
636
636
  if (S > 4096) break;
@@ -640,7 +640,7 @@ function K(e, t, n, r) {
640
640
  try {
641
641
  f = l.getImageData(0, 0, o, s).data;
642
642
  } catch {
643
- return H("cross-origin-image");
643
+ return V("cross-origin-image");
644
644
  }
645
645
  let p = t.map((e) => ({
646
646
  x0: u(e.left),
@@ -659,12 +659,12 @@ function K(e, t, n, r) {
659
659
  }
660
660
  return _;
661
661
  }
662
- async function q(e, t, n = /* @__PURE__ */ new Map()) {
662
+ async function K(e, t, n = /* @__PURE__ */ new Map()) {
663
663
  try {
664
664
  let r = getComputedStyle(e), i = k(r.color);
665
665
  if (!i || i.a < .999) return {
666
666
  status: "unknown",
667
- reason: H("measurement-error")
667
+ reason: V("measurement-error")
668
668
  };
669
669
  let a = {
670
670
  r: i.r,
@@ -681,18 +681,18 @@ async function q(e, t, n = /* @__PURE__ */ new Map()) {
681
681
  }).filter((e) => e.width > 0 && e.height > 0);
682
682
  if (l.length === 0) return {
683
683
  status: "unknown",
684
- reason: H("no-geometry")
684
+ reason: V("no-geometry")
685
685
  };
686
- let u = await W(e, t, n);
686
+ let u = await U(e, t, n);
687
687
  if ("code" in u) return {
688
688
  status: "unknown",
689
689
  reason: u
690
690
  };
691
691
  if (!u.ops.some((e) => e.kind === "image" || e.kind === "gradient")) return {
692
692
  status: "unknown",
693
- reason: H("no-background-found")
693
+ reason: V("no-background-found")
694
694
  };
695
- let d = K(a, l, u.ops, u.base);
695
+ let d = G(a, l, u.ops, u.base);
696
696
  if ("code" in d) return {
697
697
  status: "unknown",
698
698
  reason: d
@@ -708,21 +708,21 @@ async function q(e, t, n = /* @__PURE__ */ new Map()) {
708
708
  } catch {
709
709
  return {
710
710
  status: "unknown",
711
- reason: H("measurement-error")
711
+ reason: V("measurement-error")
712
712
  };
713
713
  }
714
714
  }
715
- function J(e, t) {
715
+ function q(e, t) {
716
716
  return [
717
717
  ...e.any,
718
718
  ...e.all,
719
719
  ...e.none
720
720
  ].find((e) => e.id === t);
721
721
  }
722
- function Y(e) {
723
- return J(e, "color-contrast")?.data?.messageKey;
722
+ function J(e) {
723
+ return q(e, "color-contrast")?.data?.messageKey;
724
724
  }
725
- function ie(e) {
725
+ function ae(e) {
726
726
  switch (e) {
727
727
  case "fgAlpha": return {
728
728
  code: "measurement-error",
@@ -734,43 +734,43 @@ function ie(e) {
734
734
  };
735
735
  case "elmPartiallyObscured":
736
736
  case "elmPartiallyObscuring":
737
- case "bgOverlap": return H("overlay-element");
738
- default: return H("measurement-error");
737
+ case "bgOverlap": return V("overlay-element");
738
+ default: return V("measurement-error");
739
739
  }
740
740
  }
741
- function X(e, t) {
741
+ function Y(e, t) {
742
742
  return Object.assign(e, t);
743
743
  }
744
- function Z(e) {
744
+ function X(e) {
745
745
  return e.find((e) => e.id === "color-contrast");
746
746
  }
747
- function Q(e, t) {
747
+ function Z(e, t) {
748
748
  return {
749
749
  ...e,
750
750
  nodes: t
751
751
  };
752
752
  }
753
- async function ae(e, t) {
754
- let n = Z(e.incomplete);
753
+ async function oe(e, t) {
754
+ let n = X(e.incomplete);
755
755
  if (!n || n.nodes.length === 0) return e;
756
756
  let r = /* @__PURE__ */ new Map(), i = [], a = [], o = [];
757
757
  for (let e of n.nodes) {
758
- let n = Y(e);
758
+ let n = J(e);
759
759
  if (!n || !T.has(n)) {
760
- i.push(X(e, { reviewReason: ie(n) }));
760
+ i.push(Y(e, { reviewReason: ae(n) }));
761
761
  continue;
762
762
  }
763
763
  let s = t.resolve(e.target);
764
764
  if (!s) {
765
- i.push(X(e, { reviewReason: H("no-geometry") }));
765
+ i.push(Y(e, { reviewReason: V("no-geometry") }));
766
766
  continue;
767
767
  }
768
- let c = await q(s, t.mode, r);
768
+ let c = await K(s, t.mode, r);
769
769
  if (c.status === "unknown") {
770
- i.push(X(e, { reviewReason: c.reason }));
770
+ i.push(Y(e, { reviewReason: c.reason }));
771
771
  continue;
772
772
  }
773
- X(e, { measured: {
773
+ Y(e, { measured: {
774
774
  ratio: c.ratio,
775
775
  required: c.required,
776
776
  passed: c.status === "pass",
@@ -779,14 +779,14 @@ async function ae(e, t) {
779
779
  } }), c.status === "pass" ? o.push(e) : a.push(e);
780
780
  }
781
781
  let s = e.incomplete.filter((e) => e !== n);
782
- i.length > 0 && s.push(Q(n, i));
782
+ i.length > 0 && s.push(Z(n, i));
783
783
  let c = (e, t) => {
784
784
  if (t.length === 0) return e;
785
- let r = Z(e);
785
+ let r = X(e);
786
786
  return r ? e.map((e) => e === r ? {
787
787
  ...e,
788
788
  nodes: [...e.nodes, ...t]
789
- } : e) : [...e, Q(n, t)];
789
+ } : e) : [...e, Z(n, t)];
790
790
  };
791
791
  return {
792
792
  ...e,
@@ -797,7 +797,7 @@ async function ae(e, t) {
797
797
  }
798
798
  //#endregion
799
799
  //#region client/fullpage.ts
800
- var $ = class e {
800
+ var Q = class e {
801
801
  modifier;
802
802
  placeholder;
803
803
  constructor(e) {
@@ -845,9 +845,9 @@ var $ = class e {
845
845
  t !== n && (e.value = n);
846
846
  });
847
847
  }
848
- };
849
- if (window.frameElement) {
850
- window.frameElement.getAttribute("data-preview") === "true" && document.documentElement.classList.add("styleguide-preview"), window.frameElement.hasAttribute("data-modifier") && $.fromIframe();
848
+ }, $ = window.frameElement ? window.frameElement.getAttribute("data-theme-class") : new URLSearchParams(window.location.search).get("theme");
849
+ if ($ && document.documentElement.classList.add(...$.split(/\s+/).filter(Boolean)), window.frameElement) {
850
+ window.frameElement.getAttribute("data-preview") === "true" && document.documentElement.classList.add("styleguide-preview"), window.frameElement.hasAttribute("data-modifier") && Q.fromIframe();
851
851
  let n = (e, t) => {
852
852
  let n = /* @__PURE__ */ new Map();
853
853
  return t.forEach((t) => {
@@ -862,7 +862,7 @@ if (window.frameElement) {
862
862
  });
863
863
  });
864
864
  }), n;
865
- }, o = (e) => a(e, i(), document.documentElement, (t, n) => ae(t, {
865
+ }, o = (e) => a(e, i(), document.documentElement, (t, n) => oe(t, {
866
866
  mode: n,
867
867
  resolve: (t) => e.utils.shadowSelect(t[t.length - 1])
868
868
  }));
@@ -908,6 +908,6 @@ if (window.frameElement) {
908
908
  targetMap: i
909
909
  };
910
910
  };
911
- } else new URLSearchParams(window.location.search).get("modifier") && $.fromUrl();
911
+ } else new URLSearchParams(window.location.search).get("modifier") && Q.fromUrl();
912
912
  x(), window.querySelectorAnywhere = (e) => w(document, e);
913
913
  //#endregion
@@ -1,7 +1,8 @@
1
1
  import { t as e } from "./code-highlight-Fm7cxf-E.js";
2
2
  import { n as t, t as n } from "./utils-DtB-AzJa.js";
3
3
  import { n as r } from "./shared-hGcWlnRM.js";
4
- import { a as i, c as a, i as o, n as s, o as c, s as l, t as u } from "./section-previews-D-Mr2eVX.js";
4
+ import { a as i, i as a, n as o, o as s, r as c } from "./audit-runner-Ch009v98.js";
5
+ import { n as l, t as u } from "./section-previews-V4M5aSu6.js";
5
6
  //#region lib/template-utils.ts
6
7
  var d = (e, t) => e ? t() : "";
7
8
  function f(e, t) {
@@ -65,11 +66,11 @@ async function g(g, _, v) {
65
66
  }, 2e3);
66
67
  }
67
68
  };
68
- let S = await l(b), { modifiers: C } = s(b.closest(u)), w = (await Promise.all(C.map(async (e) => {
69
+ let S = await i(b), { modifiers: C } = l(b.closest(u)), w = (await Promise.all(C.map(async (e) => {
69
70
  try {
70
71
  return {
71
72
  iframe: e,
72
- detail: await a(e)
73
+ detail: await s(e)
73
74
  };
74
75
  } catch (t) {
75
76
  return console.error(`Modifier audit failed for "${e.getAttribute("data-modifier")}"`, t), null;
@@ -133,40 +134,40 @@ async function g(g, _, v) {
133
134
  id: e.ruleId,
134
135
  description: e.ruleDescription || e.message,
135
136
  helpUrl: e.ruleUrl || "",
136
- impact: c(e.severity.toString()),
137
+ impact: a(e.severity.toString()),
137
138
  nodes: [{
138
139
  type: "htmlvalidate",
139
140
  selector: e.selector ?? void 0
140
141
  }]
141
142
  });
142
143
  });
143
- let k = (e, t, a) => {
144
- let o = e.charAt(0).toUpperCase() + e.slice(1), s = [
144
+ let k = (e, t, i) => {
145
+ let a = e.charAt(0).toUpperCase() + e.slice(1), o = [
145
146
  "critical",
146
147
  "serious",
147
148
  "moderate",
148
149
  "minor"
149
- ], c = a.toSorted((e, t) => s.indexOf(e.impact || "minor") - s.indexOf(t.impact || "minor")), l = (e, t) => {
150
+ ], s = i.toSorted((e, t) => o.indexOf(e.impact || "minor") - o.indexOf(t.impact || "minor")), l = (e, t) => {
150
151
  if (e.isConnected) return;
151
152
  let n = t.contentDocument?.querySelectorAll("template");
152
153
  if (n) return Array.from(n).find((t) => t.content.contains(e));
153
154
  }, u = (e, t) => {
154
- let r = h(e), a = E[t] ?? E[0], o = e.target.map((e) => a.targetMap.get(e)).filter(Boolean);
155
- return o.length === 0 ? `
155
+ let r = h(e), i = E[t] ?? E[0], a = e.target.map((e) => i.targetMap.get(e)).filter(Boolean);
156
+ return a.length === 0 ? `
156
157
  ${r}
157
158
  <span class="block font-mono py-1.5 text-[13px] text-styleguide-regular">
158
- ${i(e.target)}
159
+ ${c(e.target)}
159
160
  </span>
160
161
  ` : `
161
162
  ${r}
162
- ${f(o, (t) => {
163
- let r = n.next().value, o = { element: t };
164
- return o.templateParent = l(t, a.iframe), window.validator.referenceMap.set(r, o), `
163
+ ${f(a, (t) => {
164
+ let r = n.next().value, a = { element: t };
165
+ return a.templateParent = l(t, i.iframe), window.validator.referenceMap.set(r, a), `
165
166
  <button
166
167
  class="block font-mono py-1.5 text-[13px] text-blue-600 text-sm cursor-pointer text-left"
167
168
  onclick="window.validator.logReference(window.validator.referenceMap.get('${r}')); window.validator.logReferenceAlert(this)"
168
169
  >
169
- ${i(e.target)}
170
+ ${c(e.target)}
170
171
  </button>
171
172
  `;
172
173
  })}
@@ -193,20 +194,20 @@ async function g(g, _, v) {
193
194
  `;
194
195
  };
195
196
  return `
196
- ${d(c.length > 0, () => `
197
+ ${d(s.length > 0, () => `
197
198
  <li>
198
199
  <details${["violations", "incomplete"].includes(e) ? " open" : ""}>
199
200
  <summary class="cursor-pointer">
200
201
  <h3 class="px-6 py-4 text-sm font-semibold leading-[1]">
201
202
  <span class="mr-2" aria-hidden="true">${t}</span>
202
- <span class="text-styleguide-highlight">${o}:</span>
203
- <span class="ml-2">(${a.length})</span>
203
+ <span class="text-styleguide-highlight">${a}:</span>
204
+ <span class="ml-2">(${i.length})</span>
204
205
  </h3>
205
206
  </summary>
206
207
 
207
208
  <div class="px-6 pb-6 text-sm code-audit-container">
208
209
  <ol>
209
- ${f(c, (t) => `
210
+ ${f(s, (t) => `
210
211
  <li class="ml-6 border-b border-styleguide-border">
211
212
  <details class="group">
212
213
  <summary class="flex cursor-pointer group-open:text-styleguide-highlight justify-between items-center py-4 text-sm gap-2 transition">
@@ -0,0 +1,3 @@
1
+ /*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:"Geist Sans";--font-mono:"Geist Mono";--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-800:oklch(47.6% .114 61.907);--color-yellow-900:oklch(42.1% .095 57.708);--color-green-700:oklch(52.7% .154 150.069);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-neutral-50:oklch(98.5% 0 0);--color-neutral-100:oklch(97% 0 0);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-600:oklch(43.9% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-neutral-900:oklch(20.5% 0 0);--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wider:.05em;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-styleguide:var(--styleguide-color-regular);--color-styleguide-highlight:var(--styleguide-color-highlight);--color-styleguide-theme-highlight:var(--styleguide-color-theme-highlight);--color-styleguide-bg:var(--styleguide-color-background);--color-styleguide-bg-highlight:var(--styleguide-color-background-highlight);--color-styleguide-border:var(--styleguide-color-border);--cp-neutral-0:#000;--cp-neutral-04:#0a0a0a;--cp-neutral-12:#1f1f1f;--cp-neutral-40:#666;--cp-neutral-64:#a3a3a3;--cp-neutral-92:#ebebeb;--cp-neutral-98:#fafafa;--cp-neutral-100:#fff;--cp-blue-11:#111827;--ca-theme-highlight:var(--cp-blue-11);--styleguide-color-background:light-dark(var(--cp-neutral-98),var(--cp-neutral-0));--styleguide-color-background-highlight:light-dark(var(--cp-neutral-100),var(--cp-neutral-04));--styleguide-color-highlight:light-dark(var(--ca-theme-highlight),var(--cp-neutral-100));--styleguide-color-regular:light-dark(var(--cp-neutral-40),var(--cp-neutral-64));--styleguide-color-border:light-dark(var(--cp-neutral-92),var(--cp-neutral-12))}:root{color-scheme:light dark}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\@container{container-type:inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-y-0\.5{inset-block:calc(var(--spacing) * .5)}.inset-y-2{inset-block:calc(var(--spacing) * 2)}.top-0{top:0}.top-1\/2{top:50%}.top-8{top:calc(var(--spacing) * 8)}.-right-0\.5{right:calc(var(--spacing) * -.5)}.right-0{right:0}.right-2\.5{right:calc(var(--spacing) * 2.5)}.-bottom-3{bottom:calc(var(--spacing) * -3)}.bottom-0{bottom:0}.-left-6{left:calc(var(--spacing) * -6)}.left-0{left:0}.isolate{isolation:isolate}.z-10{z-index:10}.z-30{z-index:30}.z-50{z-index:50}.z-100{z-index:100}.order-1{order:1}.order-2{order:2}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-0{margin-inline:0}.mx-auto{margin-inline:auto}.my-6{margin-block:calc(var(--spacing) * 6)}.-mt-0\.5{margin-top:calc(var(--spacing) * -.5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.-mr-1{margin-right:calc(var(--spacing) * -1)}.-mr-2{margin-right:calc(var(--spacing) * -2)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-4{margin-right:calc(var(--spacing) * 4)}.-mb-px{margin-bottom:-1px}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-6{margin-left:calc(var(--spacing) * 6)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.aspect-video{aspect-ratio:var(--aspect-video)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-\[18px\]{width:18px;height:18px}.size-full{width:100%;height:100%}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-\[28px\]{height:28px}.h-\[53px\]{height:53px}.h-full{height:100%}.max-h-\[400px\]{max-height:400px}.max-h-\[calc\(100\%-2rem-53px-45px\)\]{max-height:calc(100% - 2rem - 98px)}.min-h-\[400px\]{min-height:400px}.min-h-screen{min-height:100vh}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-\[260px\]{width:260px}.w-full{width:100%}.max-w-\[65ch\]{max-width:65ch}.max-w-\[1600px\]{max-width:1600px}.max-w-full{max-width:100%}.max-w-none{max-width:none}.min-w-0{min-width:0}.shrink-0{flex-shrink:0}.flex-grow-1,.grow{flex-grow:1}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-col-resize{cursor:col-resize}.cursor-copy{cursor:copy}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.scroll-mt-\[50px\]{scroll-margin-top:50px}.\!list-none{list-style-type:none!important}.appearance-none{appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.scroll-smooth{scroll-behavior:smooth}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-t-2xl{border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl)}.rounded-b-2xl{border-bottom-right-radius:var(--radius-2xl);border-bottom-left-radius:var(--radius-2xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-blue-200{border-color:var(--color-blue-200)}.border-red-200{border-color:var(--color-red-200)}.border-styleguide-border{border-color:var(--color-styleguide-border)}.border-transparent{border-color:#0000}.border-yellow-300{border-color:var(--color-yellow-300)}.border-b-styleguide-border{border-bottom-color:var(--color-styleguide-border)}.bg-\[rgb\(242\,242\,242\)\]{background-color:#f2f2f2}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-red-100{background-color:var(--color-red-100)}.bg-styleguide-bg{background-color:var(--color-styleguide-bg)}.bg-styleguide-bg-highlight{background-color:var(--color-styleguide-bg-highlight)}.bg-transparent{background-color:#0000}.bg-yellow-50{background-color:var(--color-yellow-50)}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-\[4px\]{padding-top:4px}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-6{padding-right:calc(var(--spacing) * 6)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-\[3px\]{padding-bottom:3px}.\!pl-0{padding-left:0!important}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-6{padding-left:calc(var(--spacing) * 6)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.\!text-sm{font-size:var(--text-sm)!important;line-height:var(--tw-leading,var(--text-sm--line-height))!important}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[18px\]{font-size:18px}.leading-\[1\]{--tw-leading:1;line-height:1}.leading-\[10px\]{--tw-leading:10px;line-height:10px}.leading-\[12px\]{--tw-leading:12px;line-height:12px}.leading-none{--tw-leading:1;line-height:1}.\!font-bold{--tw-font-weight:var(--font-weight-bold)!important;font-weight:var(--font-weight-bold)!important}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-all{word-break:break-all}.hyphens-auto{-webkit-hyphens:auto;hyphens:auto}.whitespace-nowrap{white-space:nowrap}.tab-1{tab-size:1}.tab-2{tab-size:2}.tab-3{tab-size:3}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-800{color:var(--color-blue-800)}.text-blue-900{color:var(--color-blue-900)}.text-green-700{color:var(--color-green-700)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-800{color:var(--color-red-800)}.text-styleguide{color:var(--color-styleguide)}.text-styleguide-highlight{color:var(--color-styleguide-highlight)}.text-styleguide-theme-highlight{color:var(--color-styleguide-theme-highlight)}.text-yellow-500{color:var(--color-yellow-500)}.text-yellow-800{color:var(--color-yellow-800)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-60{opacity:.6}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.saturate-0{--tw-saturate:saturate(0%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-400{--tw-duration:.4s;transition-duration:.4s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;user-select:none}.group-open\:block:is(:where(.group):is([open],:popover-open,:open) *){display:block}.group-open\:hidden:is(:where(.group):is([open],:popover-open,:open) *){display:none}.group-open\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}.group-open\:text-styleguide-highlight:is(:where(.group):is([open],:popover-open,:open) *){color:var(--color-styleguide-highlight)}@media (hover:hover){.group-hover\:-translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:translate-x-px:is(:where(.group):hover *){--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:-translate-y-px:is(:where(.group):hover *){--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\/externallink\:translate-x-px:is(:where(.group\/externallink):hover *){--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\/externallink\:-translate-y-px:is(:where(.group\/externallink):hover *){--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\/figma\:saturate-100:is(:where(.group\/figma):hover *){--tw-saturate:saturate(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.group-hover\/link\:translate-x-px:is(:where(.group\/link):hover *){--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\/link\:-translate-y-px:is(:where(.group\/link):hover *){--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\/phpstorm\:saturate-100:is(:where(.group\/phpstorm):hover *),.group-hover\/vscode\:saturate-100:is(:where(.group\/vscode):hover *){--tw-saturate:saturate(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.group-focus\:-translate-x-0\.5:is(:where(.group):focus *){--tw-translate-x:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-focus\:translate-x-0\.5:is(:where(.group):focus *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-focus\:translate-x-px:is(:where(.group):focus *){--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-focus\:-translate-y-px:is(:where(.group):focus *){--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-focus\:opacity-100:is(:where(.group):focus *){opacity:1}.group-focus\/externallink\:translate-x-px:is(:where(.group\/externallink):focus *),.group-focus\/link\:translate-x-px:is(:where(.group\/link):focus *){--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-focus\/link\:-translate-y-px:is(:where(.group\/link):focus *){--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.peer-checked\:saturate-100:is(:where(.peer):checked~*){--tw-saturate:saturate(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop\:hidden::backdrop{display:none}.after\:pointer-events-none:after{content:var(--tw-content);pointer-events:none}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-x-0:after{content:var(--tw-content);inset-inline:0}.after\:bottom-0:after{content:var(--tw-content);bottom:0}.after\:h-\[80\%\]:after{content:var(--tw-content);height:80%}.after\:h-\[120px\]:after{content:var(--tw-content);height:120px}.after\:w-1:after{content:var(--tw-content);width:var(--spacing)}.after\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.after\:bg-current:after{content:var(--tw-content);background-color:currentColor}.after\:bg-gradient-to-t:after{content:var(--tw-content);--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.after\:from-styleguide-bg:after{content:var(--tw-content);--tw-gradient-from:var(--color-styleguide-bg);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.after\:to-transparent:after{content:var(--tw-content);--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:duration-150:after{content:var(--tw-content);--tw-duration:.15s;transition-duration:.15s}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}@media (hover:hover){.group-hover\/resize\:after\:opacity-\[0\.12\]:is(:where(.group\/resize):hover *):after{content:var(--tw-content);opacity:.12}}.group-\[\.is-resized\]\/resize\:after\:opacity-\[0\.12\]:is(:where(.group\/resize).is-resized *):after{content:var(--tw-content);opacity:.12}.group-\[\.is-resizing\]\/resize\:after\:opacity-\[0\.3\]:is(:where(.group\/resize).is-resizing *):after{content:var(--tw-content);opacity:.3}@media (hover:hover){.hover\:border-styleguide-border:hover{border-color:var(--color-styleguide-border)}.hover\:bg-\[rgb\(242\,242\,242\)\]:hover{background-color:#f2f2f2}.hover\:bg-blue-100:hover{background-color:var(--color-blue-100)}.hover\:bg-styleguide-bg-highlight:hover{background-color:var(--color-styleguide-bg-highlight)}.hover\:text-styleguide-highlight:hover{color:var(--color-styleguide-highlight)}.hover\:after\:opacity-\[0\.3\]:hover:after{content:var(--tw-content);opacity:.3}}.focus\:border-styleguide-border:focus{border-color:var(--color-styleguide-border)}.focus\:bg-\[rgb\(242\,242\,242\)\]:focus{background-color:#f2f2f2}.focus\:text-styleguide-highlight:focus{color:var(--color-styleguide-highlight)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-blue-600:focus-visible{outline-color:var(--color-blue-600)}.active\:scale-90:active{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-\[0\.96\]:active{scale:.96}.aria-selected\:text-styleguide-highlight[aria-selected=true]{color:var(--color-styleguide-highlight)}@media not all and (width>=40rem){.max-sm\:max-h-none{max-height:none}}@media (width>=1220px){.min-\[1220px\]\:mx-auto{margin-inline:auto}}@media (width>=1222px){.min-\[1222px\]\:border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}}@media (width>=48rem){.md\:not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.md\:top-12{top:calc(var(--spacing) * 12)}.md\:bottom-auto{bottom:auto}.md\:left-1\/2{left:50%}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:inline-block{display:inline-block}.md\:inline-flex{display:inline-flex}.md\:h-auto{height:auto}.md\:max-h-\[85dvh\]{max-height:85dvh}.md\:max-h-\[calc\(100\%-5rem\)\]{max-height:calc(100% - 5rem)}.md\:max-h-none{max-height:none}.md\:min-h-0{min-height:0}.md\:min-h-\[250px\]{min-height:250px}.md\:w-\[calc\(100\%-260px\)\]{width:calc(100% - 260px)}.md\:max-w-\[720px\]{max-width:720px}.md\:min-w-\[150px\]{min-width:150px}.md\:-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:justify-between{justify-content:space-between}.md\:gap-x-10{column-gap:calc(var(--spacing) * 10)}.md\:gap-y-14{row-gap:calc(var(--spacing) * 14)}.md\:rounded-2xl{border-radius:var(--radius-2xl)}.md\:rounded-md{border-radius:var(--radius-md)}.md\:px-2{padding-inline:calc(var(--spacing) * 2)}.md\:px-10{padding-inline:calc(var(--spacing) * 10)}.md\:py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.open\:md\:flex:is([open],:popover-open,:open){display:flex}.open\:md\:flex-col:is([open],:popover-open,:open){flex-direction:column}}@media (width>=64rem){.lg\:top-24{top:calc(var(--spacing) * 24)}.lg\:max-h-\[calc\(100\%-8rem\)\]{max-height:calc(100% - 8rem)}}@media (width>=80rem){.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}@container (width>=28rem){.\@md\:inline-flex{display:inline-flex}}@container (width>=32rem){.\@lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@container (width>=36rem){.\@xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@container (width>=42rem){.\@2xl\:inline-block{display:inline-block}}.dark\:border-blue-800:is(.theme-dark *){border-color:var(--color-blue-800)}.dark\:border-blue-900\/40:is(.theme-dark *){border-color:#1c398e66}@supports (color:color-mix(in lab, red, red)){.dark\:border-blue-900\/40:is(.theme-dark *){border-color:color-mix(in oklab, var(--color-blue-900) 40%, transparent)}}.dark\:border-red-900\/40:is(.theme-dark *){border-color:#82181a66}@supports (color:color-mix(in lab, red, red)){.dark\:border-red-900\/40:is(.theme-dark *){border-color:color-mix(in oklab, var(--color-red-900) 40%, transparent)}}.dark\:border-yellow-900\/40:is(.theme-dark *){border-color:#733e0a66}@supports (color:color-mix(in lab, red, red)){.dark\:border-yellow-900\/40:is(.theme-dark *){border-color:color-mix(in oklab, var(--color-yellow-900) 40%, transparent)}}.dark\:bg-\[rgb\(26\,26\,26\)\]:is(.theme-dark *){background-color:#1a1a1a}.dark\:bg-blue-900\/10:is(.theme-dark *){background-color:#1c398e1a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-blue-900\/10:is(.theme-dark *){background-color:color-mix(in oklab, var(--color-blue-900) 10%, transparent)}}.dark\:bg-blue-900\/20:is(.theme-dark *){background-color:#1c398e33}@supports (color:color-mix(in lab, red, red)){.dark\:bg-blue-900\/20:is(.theme-dark *){background-color:color-mix(in oklab, var(--color-blue-900) 20%, transparent)}}.dark\:bg-red-900\/20:is(.theme-dark *){background-color:#82181a33}@supports (color:color-mix(in lab, red, red)){.dark\:bg-red-900\/20:is(.theme-dark *){background-color:color-mix(in oklab, var(--color-red-900) 20%, transparent)}}.dark\:bg-yellow-900\/20:is(.theme-dark *){background-color:#733e0a33}@supports (color:color-mix(in lab, red, red)){.dark\:bg-yellow-900\/20:is(.theme-dark *){background-color:color-mix(in oklab, var(--color-yellow-900) 20%, transparent)}}.dark\:pb-6:is(.theme-dark *){padding-bottom:calc(var(--spacing) * 6)}.dark\:text-blue-100:is(.theme-dark *){color:var(--color-blue-100)}.dark\:text-blue-200:is(.theme-dark *){color:var(--color-blue-200)}.dark\:text-red-200:is(.theme-dark *){color:var(--color-red-200)}.dark\:text-yellow-200:is(.theme-dark *){color:var(--color-yellow-200)}@media (hover:hover){.dark\:hover\:bg-\[rgb\(26\,26\,26\)\]:is(.theme-dark *):hover{background-color:#1a1a1a}.dark\:hover\:bg-blue-900\/20:is(.theme-dark *):hover{background-color:#1c398e33}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-blue-900\/20:is(.theme-dark *):hover{background-color:color-mix(in oklab, var(--color-blue-900) 20%, transparent)}}}.dark\:focus\:bg-\[rgb\(26\,26\,26\)\]:is(.theme-dark *):focus{background-color:#1a1a1a}.\[\&_\*\]\:\!text-blue-700 *{color:var(--color-blue-700)!important}.\[\&_\*\]\:\!text-red-700 *{color:var(--color-red-700)!important}.\[\&_\*\]\:\!text-yellow-700 *{color:var(--color-yellow-700)!important}.\[\&_\*\]\:dark\:\!text-blue-300 :is(.theme-dark *){color:var(--color-blue-300)!important}.\[\&_\*\]\:dark\:\!text-red-300 :is(.theme-dark *){color:var(--color-red-300)!important}.\[\&_\*\]\:dark\:\!text-yellow-300 :is(.theme-dark *){color:var(--color-yellow-300)!important}.\[\&\.is-resizing_iframe\]\:pointer-events-none.is-resizing iframe{pointer-events:none}.\[\&\>i\]\:size-\[24px\]>i{width:24px;height:24px}.\[\&\>i\]\:text-\[24px\]>i{font-size:24px}.\[\&\>i\]\:leading-\[1em\]>i{--tw-leading:1em;line-height:1em}.\[\&\>img\]\:\!size-6>img,.\[\&\>svg\]\:\!size-6>svg{width:calc(var(--spacing) * 6)!important;height:calc(var(--spacing) * 6)!important}.\[\&\>svg\]\:h-full>svg{height:100%}.\[\&\>svg\]\:w-auto>svg{width:auto}.styleguide-section--large .\[\.styleguide-section--large_\&\]\:inline-block{display:inline-block}html{view-transition-name:none;scrollbar-gutter:stable}body:not(.allow-transitions) .transition{transition-duration:0s!important}body{visibility:hidden;background-color:var(--styleguide-color-background);color:var(--styleguide-color-regular)}body.js-loaded{visibility:visible}body.is-scrolling iframe{pointer-events:none}summary{list-style:none}summary::marker{display:none}summary::-webkit-details-marker{display:none}.theme-normal{color-scheme:light dark}.theme-light{color-scheme:light only}.theme-dark{color-scheme:dark only}body:not([data-os=mac]) .mac-only,body:not([data-os=windows],[data-os=linux]) .winlinux-only,body[data-is-mobile=true] .desktop-device-only{display:none}.theme-dark .shiki,.theme-dark .shiki span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;-webkit-text-decoration:var(--shiki-dark-text-decoration)!important;-webkit-text-decoration:var(--shiki-dark-text-decoration)!important;-webkit-text-decoration:var(--shiki-dark-text-decoration)!important;text-decoration:var(--shiki-dark-text-decoration)!important}.code-highlight pre.shiki.shiki-themes{background-color:#0000!important}:is(.theme-select,.editor-select) input[type=radio]:checked+label{border-radius:var(--radius-3xl);outline-style:var(--tw-outline-style);outline-width:1px;outline-color:var(--color-styleguide-border)}:is(.theme-select,.editor-select) input[type=radio]:focus+label,:is(.theme-select,.editor-select) input[type=radio]+label:hover{outline-color:var(--color-blue-600)}.dialog-backdrop{-webkit-backdrop-filter:blur(3px)brightness(.7);backdrop-filter:blur(3px)brightness(.7);opacity:0;pointer-events:none;z-index:100;display:none;position:absolute;inset:0}.search-category,.search-category__item:not(.search-category__item--active){display:none}.search-category:has(.search-category__item--active){display:block}.search-category--hidden{display:none!important}.search-category__item--focused a{background-color:#f2f2f2}.search-category__item--focused a:is(.theme-dark *){background-color:#1a1a1a}.search-mark{color:var(--color-styleguide-highlight);--search-mark-bg:var(--color-styleguide-theme-highlight);border-radius:3px}@supports (color:color-mix(in lab, red, red)){.search-mark{--search-mark-bg:color-mix(in oklab, var(--color-styleguide-theme-highlight) 18%, transparent)}}.search-mark{background-color:var(--search-mark-bg);box-shadow:0 0 0 2px var(--search-mark-bg)}.search-code{padding-inline:var(--spacing);font-family:var(--font-mono);color:var(--color-styleguide-highlight);background-color:color-mix(in srgb, light-dark(var(--cp-neutral-40),var(--cp-neutral-64)) 10%, transparent);border-radius:3px;font-size:.85em}@supports (color:color-mix(in lab, red, red)){.search-code{background-color:color-mix(in oklab, var(--color-styleguide) 10%, transparent)}}.search-code.search-mark{background-color:var(--color-styleguide-theme-highlight)}@supports (color:color-mix(in lab, red, red)){.search-code.search-mark{background-color:color-mix(in oklab, var(--color-styleguide-theme-highlight) 22%, transparent)}}.search-code.search-mark{box-shadow:none}[data-type=search-hint]:empty{display:none}[data-type=search-hint]:not(:empty):before{content:"↳";margin-right:var(--spacing);color:var(--color-styleguide)}.icon-search-list__item-copy-icon{pointer-events:none;--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);opacity:0;position:absolute;left:50%}.menu-item{border-radius:var(--radius-md);padding:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));display:block}@media (hover:hover){.menu-item:hover{background-color:#f2f2f2}}.menu-item:focus{background-color:#f2f2f2}@media (hover:hover){.menu-item:is(.theme-dark *):hover{background-color:#1a1a1a}}.menu-item:is(.theme-dark *):focus{background-color:#1a1a1a}.menu-item--active{background-color:#f2f2f2}.menu-item--active:is(.theme-dark *){background-color:#1a1a1a}[class*=menu-item--status-]{align-items:center;gap:calc(var(--spacing) * 4);grid-template-columns:1fr auto;display:grid}.menu-item--status-complete:after{content:"🟢"}.menu-item--status-progress:after{content:"🚧"}.menu-item--status-feedback:after{content:"💬"}.menu-item--status-pending:after{content:"🔴"}.preview-iframe{border:none;width:100%;min-height:0;overflow-y:hidden}.c-toast{right:calc(var(--spacing) * 4);bottom:calc(var(--spacing) * 4);left:calc(var(--spacing) * 4);justify-content:center;align-items:center;gap:calc(var(--spacing) * 2);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-styleguide-border);background-color:var(--color-styleguide-bg-highlight);padding:calc(var(--spacing) * 4);font-family:var(--font-mono);--tw-font-weight:var(--font-weight-semibold);font-size:12px;font-weight:var(--font-weight-semibold);--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);display:flex;position:fixed}.c-toast:after{content:var(--tw-content);content:var(--tw-content);content:var(--tw-content);content:var(--tw-content);content:var(--tw-content);inset-inline:0;width:100%;height:5px;position:absolute;top:-5px}@media (width>=48rem){.c-toast{justify-content:flex-start;left:auto}}.c-toast>span{color:var(--color-styleguide-highlight)}.markdown-container{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.markdown-container>:first-child:not(p){margin-top:1em}.markdown-container>:not(pre){max-width:65ch}.markdown-container>:not(:last-child){margin-bottom:calc(var(--spacing) * 4)}.markdown-container :is(h1,h2,h3,h4,h5,h6,strong){--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-styleguide-highlight)}.markdown-container :is(h1,h2,h3,h4,h5,h6):has(+p){margin-bottom:calc(var(--spacing) * 1.5)!important}.markdown-container :is(h1,h2,h3,h4,h5,h6):not(:first-child){margin-top:1.5em}.markdown-container :is(h1,h2){font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.markdown-container h3{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.markdown-container h4{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.markdown-container :is(h5,h6){font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.markdown-container a{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-styleguide-theme-highlight)}.markdown-container a:after{margin-bottom:-1px;margin-left:var(--spacing);background-color:var(--color-styleguide-theme-highlight);--icon-size:1em;content:"";inline-size:var(--icon-size);block-size:var(--icon-size);background-size:contain;display:inline-block;-webkit-mask-image:url(./icons/external-link.svg);mask-image:url(./icons/external-link.svg)}.markdown-container :is(ul,ol){padding-left:calc(var(--spacing) * 5)}.markdown-container ul{list-style-type:disc}.markdown-container ol{list-style-type:decimal}.markdown-container :is(.shiki,pre:not(.shiki)){max-width:83ch;padding-inline:calc(var(--spacing) * 6);padding-block:calc(var(--spacing) * 5)}.markdown-container :not(:is(pre))>code{border-radius:var(--radius-md);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-styleguide-highlight);background-color:#f2f2f2}.markdown-container :not(:is(pre))>code:is(.theme-dark *){background-color:#1a1a1a}.markdown-container table{border-collapse:collapse;text-align:left;width:100%;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.markdown-container :is(th,td){border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-styleguide-border);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);vertical-align:top}.markdown-container th{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-styleguide-highlight)}.markdown-container thead th{background-color:var(--color-styleguide-bg-highlight)}.markdown-container tbody tr:last-child :is(th,td){border-bottom-style:var(--tw-border-style);border-bottom-width:0}:is(.markdown-container,.code-audit-container) :is(.shiki,pre:not(.shiki)){border-radius:var(--radius-2xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-styleguide-border);background-color:var(--color-styleguide-bg-highlight);max-width:100%;padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));overflow-x:auto}:is(.markdown-container,.code-audit-container) :is(.shiki,pre:not(.shiki))>code{display:inline-block}}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:300;src:url(/styleguide-assets/fonts/geist-mono-latin-300-normal.woff2)format("woff2")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/styleguide-assets/fonts/geist-mono-latin-400-normal.woff2)format("woff2")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/styleguide-assets/fonts/geist-mono-latin-600-normal.woff2)format("woff2")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/styleguide-assets/fonts/geist-sans-latin-300-normal.woff2)format("woff2")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/styleguide-assets/fonts/geist-sans-latin-400-normal.woff2)format("woff2")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/styleguide-assets/fonts/geist-sans-latin-600-normal.woff2)format("woff2")}body:not(.editor-vscode) .editor-vscode-only,body:not(.editor-phpstorm) .editor-phpstorm-only{display:none}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}
3
+ /*$vite$:1*/
@@ -1081,7 +1081,7 @@ q.addEventListener("keydown", Je), Y.forEach((e) => e.addEventListener("keydown"
1081
1081
  let t = e.target, n = new URL(window.location.href), r = new URL(t.href);
1082
1082
  n.pathname === r.pathname && n.search === r.search && await We();
1083
1083
  }), window.kssAudit = async (e) => {
1084
- let { runStyleguideAudit: t } = await import("./a11y-report-BgeWSrYe.js");
1084
+ let { runStyleguideAudit: t } = await import("./a11y-report-DJQyYaLp.js");
1085
1085
  return t(e);
1086
1086
  }, document.querySelectorAll(".styleguide-section").forEach((e) => {
1087
1087
  new ResizeObserver(() => {
@@ -1097,7 +1097,7 @@ Xe.length > 0 && Xe.forEach((e) => {
1097
1097
  });
1098
1098
  var $ = document.querySelectorAll("[data-code-audit-iframe]"), Ze = document.querySelector("#code-audit-dialog"), Qe = document.querySelector(".dialog-backdrop");
1099
1099
  $.length > 0 && Ze && Qe && (async () => {
1100
- let { auditCode: e } = await import("./html-validator-DJGwslsw.js"), { show: t, close: n } = s(Ze, Qe);
1100
+ let { auditCode: e } = await import("./html-validator-Cp2OkhS9.js"), { show: t, close: n } = s(Ze, Qe);
1101
1101
  $.forEach((r) => r.addEventListener("click", async () => {
1102
1102
  $.forEach((e) => e.setAttribute("aria-expanded", "false")), r.setAttribute("disabled", ""), await e(r, Ze, n), r.removeAttribute("disabled"), r.setAttribute("aria-expanded", "true"), await t(void 0, () => {
1103
1103
  $.forEach((e) => {
@@ -1134,6 +1134,8 @@ window.addEventListener("scroll", () => {
1134
1134
  document.body.classList.remove("is-scrolling");
1135
1135
  }, 250);
1136
1136
  });
1137
- var ot = document.querySelector(".editor-select");
1138
- ot && import("./editor-select-DIZFtqe7.js").then(({ default: e }) => e(ot)).catch(console.error);
1137
+ var ot = document.querySelectorAll("[data-section-theme-select]");
1138
+ ot.length > 0 && import("./section-theme-select-ygaSXIuK.js").then(({ default: e }) => e(ot)).catch(console.error);
1139
+ var st = document.querySelector(".editor-select");
1140
+ st && import("./editor-select-DIZFtqe7.js").then(({ default: e }) => e(st)).catch(console.error);
1139
1141
  //#endregion
@@ -0,0 +1,10 @@
1
+ //#region client/lib/section-previews.ts
2
+ var e = ".styleguide-section";
3
+ function t(e) {
4
+ return {
5
+ base: e?.querySelector("iframe.preview-iframe:not([data-modifier])") ?? null,
6
+ modifiers: Array.from(e?.querySelectorAll("iframe.preview-iframe[data-modifier]") ?? [])
7
+ };
8
+ }
9
+ //#endregion
10
+ export { t as n, e as t };
@@ -0,0 +1,48 @@
1
+ import { n as e, t } from "./section-previews-V4M5aSu6.js";
2
+ //#region client/lib/section-theme-select.ts
3
+ var n = "data-theme-class", r = "theme", i = "in2section-theme:";
4
+ function a(e) {
5
+ return (e ?? "").split(/\s+/).filter(Boolean);
6
+ }
7
+ function o(e, t) {
8
+ let r = e.getAttribute(n);
9
+ t ? e.setAttribute(n, t) : e.removeAttribute(n);
10
+ let i = e.contentDocument?.documentElement;
11
+ i && (i.classList.remove(...a(r)), i.classList.add(...a(t)));
12
+ }
13
+ function s(e, t) {
14
+ e.querySelectorAll("a[href^=\"/fullpage-\"]").forEach((e) => {
15
+ let n = new URL(e.getAttribute("href"), window.location.href);
16
+ t ? n.searchParams.set(r, t) : n.searchParams.delete(r), e.setAttribute("href", `${n.pathname}${n.search}${n.hash}`);
17
+ });
18
+ }
19
+ function c(e) {
20
+ try {
21
+ return localStorage.getItem(e);
22
+ } catch {
23
+ return null;
24
+ }
25
+ }
26
+ function l(e, t) {
27
+ try {
28
+ t ? localStorage.setItem(e, t) : localStorage.removeItem(e);
29
+ } catch {}
30
+ }
31
+ function u(e, t) {
32
+ return Array.from(e.options).some((e) => e.value === t);
33
+ }
34
+ function d(n) {
35
+ for (let r of n) {
36
+ let n = r.closest(t);
37
+ if (!n) continue;
38
+ let a = `${i}${n.getAttribute("data-section-reference") ?? n.id}`, d = (t) => {
39
+ let { base: r, modifiers: i } = e(n);
40
+ (r ? [r, ...i] : i).forEach((e) => o(e, t)), s(n, t);
41
+ }, f = c(a);
42
+ f && u(r, f) && (r.value = f), r.value && d(r.value), r.addEventListener("change", () => {
43
+ l(a, r.value), d(r.value);
44
+ });
45
+ }
46
+ }
47
+ //#endregion
48
+ export { d as default };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "kss-modern",
3
3
  "type": "module",
4
- "version": "1.3.0-beta.2",
4
+ "version": "1.3.0",
5
5
  "description": "Modern KSS compatible styleguide generator",
6
6
  "keywords": [
7
7
  "kss",
@@ -1,3 +0,0 @@
1
- /*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */
2
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:"Geist Sans";--font-mono:"Geist Mono";--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-800:oklch(47.6% .114 61.907);--color-yellow-900:oklch(42.1% .095 57.708);--color-green-700:oklch(52.7% .154 150.069);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-neutral-50:oklch(98.5% 0 0);--color-neutral-100:oklch(97% 0 0);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-600:oklch(43.9% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-neutral-900:oklch(20.5% 0 0);--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wider:.05em;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-styleguide:var(--styleguide-color-regular);--color-styleguide-highlight:var(--styleguide-color-highlight);--color-styleguide-theme-highlight:var(--styleguide-color-theme-highlight);--color-styleguide-bg:var(--styleguide-color-background);--color-styleguide-bg-highlight:var(--styleguide-color-background-highlight);--color-styleguide-border:var(--styleguide-color-border);--cp-neutral-0:#000;--cp-neutral-04:#0a0a0a;--cp-neutral-12:#1f1f1f;--cp-neutral-40:#666;--cp-neutral-64:#a3a3a3;--cp-neutral-92:#ebebeb;--cp-neutral-98:#fafafa;--cp-neutral-100:#fff;--cp-blue-11:#111827;--ca-theme-highlight:var(--cp-blue-11);--styleguide-color-background:light-dark(var(--cp-neutral-98),var(--cp-neutral-0));--styleguide-color-background-highlight:light-dark(var(--cp-neutral-100),var(--cp-neutral-04));--styleguide-color-highlight:light-dark(var(--ca-theme-highlight),var(--cp-neutral-100));--styleguide-color-regular:light-dark(var(--cp-neutral-40),var(--cp-neutral-64));--styleguide-color-border:light-dark(var(--cp-neutral-92),var(--cp-neutral-12))}:root{color-scheme:light dark}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\@container{container-type:inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-y-0\.5{inset-block:calc(var(--spacing) * .5)}.inset-y-2{inset-block:calc(var(--spacing) * 2)}.top-0{top:0}.top-1\/2{top:50%}.top-8{top:calc(var(--spacing) * 8)}.-right-0\.5{right:calc(var(--spacing) * -.5)}.right-0{right:0}.-bottom-3{bottom:calc(var(--spacing) * -3)}.bottom-0{bottom:0}.-left-6{left:calc(var(--spacing) * -6)}.left-0{left:0}.isolate{isolation:isolate}.z-10{z-index:10}.z-30{z-index:30}.z-50{z-index:50}.z-100{z-index:100}.order-1{order:1}.order-2{order:2}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-0{margin-inline:0}.mx-auto{margin-inline:auto}.my-6{margin-block:calc(var(--spacing) * 6)}.-mt-0\.5{margin-top:calc(var(--spacing) * -.5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.-mr-1{margin-right:calc(var(--spacing) * -1)}.-mr-2{margin-right:calc(var(--spacing) * -2)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-4{margin-right:calc(var(--spacing) * 4)}.-mb-px{margin-bottom:-1px}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-6{margin-left:calc(var(--spacing) * 6)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.aspect-video{aspect-ratio:var(--aspect-video)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-\[18px\]{width:18px;height:18px}.size-full{width:100%;height:100%}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-\[28px\]{height:28px}.h-\[53px\]{height:53px}.h-full{height:100%}.max-h-\[400px\]{max-height:400px}.max-h-\[calc\(100\%-2rem-53px-45px\)\]{max-height:calc(100% - 2rem - 98px)}.min-h-\[400px\]{min-height:400px}.min-h-screen{min-height:100vh}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-\[260px\]{width:260px}.w-full{width:100%}.max-w-\[65ch\]{max-width:65ch}.max-w-\[1600px\]{max-width:1600px}.max-w-full{max-width:100%}.max-w-none{max-width:none}.min-w-0{min-width:0}.shrink-0{flex-shrink:0}.flex-grow-1,.grow{flex-grow:1}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-col-resize{cursor:col-resize}.cursor-copy{cursor:copy}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.scroll-mt-\[50px\]{scroll-margin-top:50px}.\!list-none{list-style-type:none!important}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.scroll-smooth{scroll-behavior:smooth}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-t-2xl{border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl)}.rounded-b-2xl{border-bottom-right-radius:var(--radius-2xl);border-bottom-left-radius:var(--radius-2xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-blue-200{border-color:var(--color-blue-200)}.border-red-200{border-color:var(--color-red-200)}.border-styleguide-border{border-color:var(--color-styleguide-border)}.border-transparent{border-color:#0000}.border-yellow-300{border-color:var(--color-yellow-300)}.border-b-styleguide-border{border-bottom-color:var(--color-styleguide-border)}.bg-\[rgb\(242\,242\,242\)\]{background-color:#f2f2f2}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-red-100{background-color:var(--color-red-100)}.bg-styleguide-bg{background-color:var(--color-styleguide-bg)}.bg-styleguide-bg-highlight{background-color:var(--color-styleguide-bg-highlight)}.bg-transparent{background-color:#0000}.bg-yellow-50{background-color:var(--color-yellow-50)}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-\[4px\]{padding-top:4px}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-6{padding-right:calc(var(--spacing) * 6)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-\[3px\]{padding-bottom:3px}.\!pl-0{padding-left:0!important}.pl-6{padding-left:calc(var(--spacing) * 6)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.\!text-sm{font-size:var(--text-sm)!important;line-height:var(--tw-leading,var(--text-sm--line-height))!important}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[18px\]{font-size:18px}.leading-\[1\]{--tw-leading:1;line-height:1}.leading-\[10px\]{--tw-leading:10px;line-height:10px}.leading-\[12px\]{--tw-leading:12px;line-height:12px}.leading-none{--tw-leading:1;line-height:1}.\!font-bold{--tw-font-weight:var(--font-weight-bold)!important;font-weight:var(--font-weight-bold)!important}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-all{word-break:break-all}.hyphens-auto{-webkit-hyphens:auto;hyphens:auto}.whitespace-nowrap{white-space:nowrap}.tab-1{tab-size:1}.tab-2{tab-size:2}.tab-3{tab-size:3}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-800{color:var(--color-blue-800)}.text-blue-900{color:var(--color-blue-900)}.text-green-700{color:var(--color-green-700)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-800{color:var(--color-red-800)}.text-styleguide{color:var(--color-styleguide)}.text-styleguide-highlight{color:var(--color-styleguide-highlight)}.text-styleguide-theme-highlight{color:var(--color-styleguide-theme-highlight)}.text-yellow-500{color:var(--color-yellow-500)}.text-yellow-800{color:var(--color-yellow-800)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-60{opacity:.6}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.saturate-0{--tw-saturate:saturate(0%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-400{--tw-duration:.4s;transition-duration:.4s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;user-select:none}.group-open\:block:is(:where(.group):is([open],:popover-open,:open) *){display:block}.group-open\:hidden:is(:where(.group):is([open],:popover-open,:open) *){display:none}.group-open\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}.group-open\:text-styleguide-highlight:is(:where(.group):is([open],:popover-open,:open) *){color:var(--color-styleguide-highlight)}@media (hover:hover){.group-hover\:-translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:translate-x-px:is(:where(.group):hover *){--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:-translate-y-px:is(:where(.group):hover *){--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\/externallink\:translate-x-px:is(:where(.group\/externallink):hover *){--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\/externallink\:-translate-y-px:is(:where(.group\/externallink):hover *){--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\/figma\:saturate-100:is(:where(.group\/figma):hover *){--tw-saturate:saturate(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.group-hover\/link\:translate-x-px:is(:where(.group\/link):hover *){--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\/link\:-translate-y-px:is(:where(.group\/link):hover *){--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\/phpstorm\:saturate-100:is(:where(.group\/phpstorm):hover *),.group-hover\/vscode\:saturate-100:is(:where(.group\/vscode):hover *){--tw-saturate:saturate(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.group-focus\:-translate-x-0\.5:is(:where(.group):focus *){--tw-translate-x:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-focus\:translate-x-0\.5:is(:where(.group):focus *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-focus\:translate-x-px:is(:where(.group):focus *){--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-focus\:-translate-y-px:is(:where(.group):focus *){--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-focus\:opacity-100:is(:where(.group):focus *){opacity:1}.group-focus\/externallink\:translate-x-px:is(:where(.group\/externallink):focus *),.group-focus\/link\:translate-x-px:is(:where(.group\/link):focus *){--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-focus\/link\:-translate-y-px:is(:where(.group\/link):focus *){--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.peer-checked\:saturate-100:is(:where(.peer):checked~*){--tw-saturate:saturate(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop\:hidden::backdrop{display:none}.after\:pointer-events-none:after{content:var(--tw-content);pointer-events:none}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-x-0:after{content:var(--tw-content);inset-inline:0}.after\:bottom-0:after{content:var(--tw-content);bottom:0}.after\:h-\[80\%\]:after{content:var(--tw-content);height:80%}.after\:h-\[120px\]:after{content:var(--tw-content);height:120px}.after\:w-1:after{content:var(--tw-content);width:var(--spacing)}.after\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.after\:bg-current:after{content:var(--tw-content);background-color:currentColor}.after\:bg-gradient-to-t:after{content:var(--tw-content);--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.after\:from-styleguide-bg:after{content:var(--tw-content);--tw-gradient-from:var(--color-styleguide-bg);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.after\:to-transparent:after{content:var(--tw-content);--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:duration-150:after{content:var(--tw-content);--tw-duration:.15s;transition-duration:.15s}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}@media (hover:hover){.group-hover\/resize\:after\:opacity-\[0\.12\]:is(:where(.group\/resize):hover *):after{content:var(--tw-content);opacity:.12}}.group-\[\.is-resized\]\/resize\:after\:opacity-\[0\.12\]:is(:where(.group\/resize).is-resized *):after{content:var(--tw-content);opacity:.12}.group-\[\.is-resizing\]\/resize\:after\:opacity-\[0\.3\]:is(:where(.group\/resize).is-resizing *):after{content:var(--tw-content);opacity:.3}@media (hover:hover){.hover\:border-styleguide-border:hover{border-color:var(--color-styleguide-border)}.hover\:bg-\[rgb\(242\,242\,242\)\]:hover{background-color:#f2f2f2}.hover\:bg-blue-100:hover{background-color:var(--color-blue-100)}.hover\:bg-styleguide-bg-highlight:hover{background-color:var(--color-styleguide-bg-highlight)}.hover\:text-styleguide-highlight:hover{color:var(--color-styleguide-highlight)}.hover\:after\:opacity-\[0\.3\]:hover:after{content:var(--tw-content);opacity:.3}}.focus\:border-styleguide-border:focus{border-color:var(--color-styleguide-border)}.focus\:bg-\[rgb\(242\,242\,242\)\]:focus{background-color:#f2f2f2}.focus\:text-styleguide-highlight:focus{color:var(--color-styleguide-highlight)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.active\:scale-90:active{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-\[0\.96\]:active{scale:.96}.aria-selected\:text-styleguide-highlight[aria-selected=true]{color:var(--color-styleguide-highlight)}@media not all and (width>=40rem){.max-sm\:max-h-none{max-height:none}}@media (width>=1220px){.min-\[1220px\]\:mx-auto{margin-inline:auto}}@media (width>=1222px){.min-\[1222px\]\:border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}}@media (width>=48rem){.md\:not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.md\:top-12{top:calc(var(--spacing) * 12)}.md\:bottom-auto{bottom:auto}.md\:left-1\/2{left:50%}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:inline-block{display:inline-block}.md\:inline-flex{display:inline-flex}.md\:h-auto{height:auto}.md\:max-h-\[85dvh\]{max-height:85dvh}.md\:max-h-\[calc\(100\%-5rem\)\]{max-height:calc(100% - 5rem)}.md\:max-h-none{max-height:none}.md\:min-h-0{min-height:0}.md\:min-h-\[250px\]{min-height:250px}.md\:w-\[calc\(100\%-260px\)\]{width:calc(100% - 260px)}.md\:max-w-\[720px\]{max-width:720px}.md\:min-w-\[150px\]{min-width:150px}.md\:-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:justify-between{justify-content:space-between}.md\:gap-x-10{column-gap:calc(var(--spacing) * 10)}.md\:gap-y-14{row-gap:calc(var(--spacing) * 14)}.md\:rounded-2xl{border-radius:var(--radius-2xl)}.md\:rounded-md{border-radius:var(--radius-md)}.md\:px-2{padding-inline:calc(var(--spacing) * 2)}.md\:px-10{padding-inline:calc(var(--spacing) * 10)}.md\:py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.open\:md\:flex:is([open],:popover-open,:open){display:flex}.open\:md\:flex-col:is([open],:popover-open,:open){flex-direction:column}}@media (width>=64rem){.lg\:top-24{top:calc(var(--spacing) * 24)}.lg\:max-h-\[calc\(100\%-8rem\)\]{max-height:calc(100% - 8rem)}}@media (width>=80rem){.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}@container (width>=28rem){.\@md\:inline-flex{display:inline-flex}}@container (width>=32rem){.\@lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@container (width>=36rem){.\@xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@container (width>=42rem){.\@2xl\:inline-block{display:inline-block}}.dark\:border-blue-800:is(.theme-dark *){border-color:var(--color-blue-800)}.dark\:border-blue-900\/40:is(.theme-dark *){border-color:#1c398e66}@supports (color:color-mix(in lab, red, red)){.dark\:border-blue-900\/40:is(.theme-dark *){border-color:color-mix(in oklab, var(--color-blue-900) 40%, transparent)}}.dark\:border-red-900\/40:is(.theme-dark *){border-color:#82181a66}@supports (color:color-mix(in lab, red, red)){.dark\:border-red-900\/40:is(.theme-dark *){border-color:color-mix(in oklab, var(--color-red-900) 40%, transparent)}}.dark\:border-yellow-900\/40:is(.theme-dark *){border-color:#733e0a66}@supports (color:color-mix(in lab, red, red)){.dark\:border-yellow-900\/40:is(.theme-dark *){border-color:color-mix(in oklab, var(--color-yellow-900) 40%, transparent)}}.dark\:bg-\[rgb\(26\,26\,26\)\]:is(.theme-dark *){background-color:#1a1a1a}.dark\:bg-blue-900\/10:is(.theme-dark *){background-color:#1c398e1a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-blue-900\/10:is(.theme-dark *){background-color:color-mix(in oklab, var(--color-blue-900) 10%, transparent)}}.dark\:bg-blue-900\/20:is(.theme-dark *){background-color:#1c398e33}@supports (color:color-mix(in lab, red, red)){.dark\:bg-blue-900\/20:is(.theme-dark *){background-color:color-mix(in oklab, var(--color-blue-900) 20%, transparent)}}.dark\:bg-red-900\/20:is(.theme-dark *){background-color:#82181a33}@supports (color:color-mix(in lab, red, red)){.dark\:bg-red-900\/20:is(.theme-dark *){background-color:color-mix(in oklab, var(--color-red-900) 20%, transparent)}}.dark\:bg-yellow-900\/20:is(.theme-dark *){background-color:#733e0a33}@supports (color:color-mix(in lab, red, red)){.dark\:bg-yellow-900\/20:is(.theme-dark *){background-color:color-mix(in oklab, var(--color-yellow-900) 20%, transparent)}}.dark\:pb-6:is(.theme-dark *){padding-bottom:calc(var(--spacing) * 6)}.dark\:text-blue-100:is(.theme-dark *){color:var(--color-blue-100)}.dark\:text-blue-200:is(.theme-dark *){color:var(--color-blue-200)}.dark\:text-red-200:is(.theme-dark *){color:var(--color-red-200)}.dark\:text-yellow-200:is(.theme-dark *){color:var(--color-yellow-200)}@media (hover:hover){.dark\:hover\:bg-\[rgb\(26\,26\,26\)\]:is(.theme-dark *):hover{background-color:#1a1a1a}.dark\:hover\:bg-blue-900\/20:is(.theme-dark *):hover{background-color:#1c398e33}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-blue-900\/20:is(.theme-dark *):hover{background-color:color-mix(in oklab, var(--color-blue-900) 20%, transparent)}}}.dark\:focus\:bg-\[rgb\(26\,26\,26\)\]:is(.theme-dark *):focus{background-color:#1a1a1a}.\[\&_\*\]\:\!text-blue-700 *{color:var(--color-blue-700)!important}.\[\&_\*\]\:\!text-red-700 *{color:var(--color-red-700)!important}.\[\&_\*\]\:\!text-yellow-700 *{color:var(--color-yellow-700)!important}.\[\&_\*\]\:dark\:\!text-blue-300 :is(.theme-dark *){color:var(--color-blue-300)!important}.\[\&_\*\]\:dark\:\!text-red-300 :is(.theme-dark *){color:var(--color-red-300)!important}.\[\&_\*\]\:dark\:\!text-yellow-300 :is(.theme-dark *){color:var(--color-yellow-300)!important}.\[\&\.is-resizing_iframe\]\:pointer-events-none.is-resizing iframe{pointer-events:none}.\[\&\>i\]\:size-\[24px\]>i{width:24px;height:24px}.\[\&\>i\]\:text-\[24px\]>i{font-size:24px}.\[\&\>i\]\:leading-\[1em\]>i{--tw-leading:1em;line-height:1em}.\[\&\>img\]\:\!size-6>img,.\[\&\>svg\]\:\!size-6>svg{width:calc(var(--spacing) * 6)!important;height:calc(var(--spacing) * 6)!important}.\[\&\>svg\]\:h-full>svg{height:100%}.\[\&\>svg\]\:w-auto>svg{width:auto}.styleguide-section--large .\[\.styleguide-section--large_\&\]\:inline-block{display:inline-block}html{view-transition-name:none;scrollbar-gutter:stable}body:not(.allow-transitions) .transition{transition-duration:0s!important}body{visibility:hidden;background-color:var(--styleguide-color-background);color:var(--styleguide-color-regular)}body.js-loaded{visibility:visible}body.is-scrolling iframe{pointer-events:none}summary{list-style:none}summary::marker{display:none}summary::-webkit-details-marker{display:none}.theme-normal{color-scheme:light dark}.theme-light{color-scheme:light only}.theme-dark{color-scheme:dark only}body:not([data-os=mac]) .mac-only,body:not([data-os=windows],[data-os=linux]) .winlinux-only,body[data-is-mobile=true] .desktop-device-only{display:none}.theme-dark .shiki,.theme-dark .shiki span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;-webkit-text-decoration:var(--shiki-dark-text-decoration)!important;-webkit-text-decoration:var(--shiki-dark-text-decoration)!important;-webkit-text-decoration:var(--shiki-dark-text-decoration)!important;text-decoration:var(--shiki-dark-text-decoration)!important}.code-highlight pre.shiki.shiki-themes{background-color:#0000!important}:is(.theme-select,.editor-select) input[type=radio]:checked+label{border-radius:var(--radius-3xl);outline-style:var(--tw-outline-style);outline-width:1px;outline-color:var(--color-styleguide-border)}:is(.theme-select,.editor-select) input[type=radio]:focus+label,:is(.theme-select,.editor-select) input[type=radio]+label:hover{outline-color:var(--color-blue-600)}.dialog-backdrop{-webkit-backdrop-filter:blur(3px)brightness(.7);backdrop-filter:blur(3px)brightness(.7);opacity:0;pointer-events:none;z-index:100;display:none;position:absolute;inset:0}.search-category,.search-category__item:not(.search-category__item--active){display:none}.search-category:has(.search-category__item--active){display:block}.search-category--hidden{display:none!important}.search-category__item--focused a{background-color:#f2f2f2}.search-category__item--focused a:is(.theme-dark *){background-color:#1a1a1a}.search-mark{color:var(--color-styleguide-highlight);--search-mark-bg:var(--color-styleguide-theme-highlight);border-radius:3px}@supports (color:color-mix(in lab, red, red)){.search-mark{--search-mark-bg:color-mix(in oklab, var(--color-styleguide-theme-highlight) 18%, transparent)}}.search-mark{background-color:var(--search-mark-bg);box-shadow:0 0 0 2px var(--search-mark-bg)}.search-code{padding-inline:var(--spacing);font-family:var(--font-mono);color:var(--color-styleguide-highlight);background-color:color-mix(in srgb, light-dark(var(--cp-neutral-40),var(--cp-neutral-64)) 10%, transparent);border-radius:3px;font-size:.85em}@supports (color:color-mix(in lab, red, red)){.search-code{background-color:color-mix(in oklab, var(--color-styleguide) 10%, transparent)}}.search-code.search-mark{background-color:var(--color-styleguide-theme-highlight)}@supports (color:color-mix(in lab, red, red)){.search-code.search-mark{background-color:color-mix(in oklab, var(--color-styleguide-theme-highlight) 22%, transparent)}}.search-code.search-mark{box-shadow:none}[data-type=search-hint]:empty{display:none}[data-type=search-hint]:not(:empty):before{content:"↳";margin-right:var(--spacing);color:var(--color-styleguide)}.icon-search-list__item-copy-icon{pointer-events:none;--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);opacity:0;position:absolute;left:50%}.menu-item{border-radius:var(--radius-md);padding:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));display:block}@media (hover:hover){.menu-item:hover{background-color:#f2f2f2}}.menu-item:focus{background-color:#f2f2f2}@media (hover:hover){.menu-item:is(.theme-dark *):hover{background-color:#1a1a1a}}.menu-item:is(.theme-dark *):focus{background-color:#1a1a1a}.menu-item--active{background-color:#f2f2f2}.menu-item--active:is(.theme-dark *){background-color:#1a1a1a}[class*=menu-item--status-]{align-items:center;gap:calc(var(--spacing) * 4);grid-template-columns:1fr auto;display:grid}.menu-item--status-complete:after{content:"🟢"}.menu-item--status-progress:after{content:"🚧"}.menu-item--status-feedback:after{content:"💬"}.menu-item--status-pending:after{content:"🔴"}.preview-iframe{border:none;width:100%;min-height:0;overflow-y:hidden}.c-toast{right:calc(var(--spacing) * 4);bottom:calc(var(--spacing) * 4);left:calc(var(--spacing) * 4);justify-content:center;align-items:center;gap:calc(var(--spacing) * 2);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-styleguide-border);background-color:var(--color-styleguide-bg-highlight);padding:calc(var(--spacing) * 4);font-family:var(--font-mono);--tw-font-weight:var(--font-weight-semibold);font-size:12px;font-weight:var(--font-weight-semibold);--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);display:flex;position:fixed}.c-toast:after{content:var(--tw-content);content:var(--tw-content);content:var(--tw-content);content:var(--tw-content);content:var(--tw-content);inset-inline:0;width:100%;height:5px;position:absolute;top:-5px}@media (width>=48rem){.c-toast{justify-content:flex-start;left:auto}}.c-toast>span{color:var(--color-styleguide-highlight)}.markdown-container{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.markdown-container>:first-child:not(p){margin-top:1em}.markdown-container>:not(pre){max-width:65ch}.markdown-container>:not(:last-child){margin-bottom:calc(var(--spacing) * 4)}.markdown-container :is(h1,h2,h3,h4,h5,h6,strong){--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-styleguide-highlight)}.markdown-container :is(h1,h2,h3,h4,h5,h6):has(+p){margin-bottom:calc(var(--spacing) * 1.5)!important}.markdown-container :is(h1,h2,h3,h4,h5,h6):not(:first-child){margin-top:1.5em}.markdown-container :is(h1,h2){font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.markdown-container h3{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.markdown-container h4{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.markdown-container :is(h5,h6){font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.markdown-container a{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-styleguide-theme-highlight)}.markdown-container a:after{margin-bottom:-1px;margin-left:var(--spacing);background-color:var(--color-styleguide-theme-highlight);--icon-size:1em;content:"";inline-size:var(--icon-size);block-size:var(--icon-size);background-size:contain;display:inline-block;-webkit-mask-image:url(./icons/external-link.svg);mask-image:url(./icons/external-link.svg)}.markdown-container :is(ul,ol){padding-left:calc(var(--spacing) * 5)}.markdown-container ul{list-style-type:disc}.markdown-container ol{list-style-type:decimal}.markdown-container :is(.shiki,pre:not(.shiki)){max-width:83ch;padding-inline:calc(var(--spacing) * 6);padding-block:calc(var(--spacing) * 5)}.markdown-container :not(:is(pre))>code{border-radius:var(--radius-md);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-styleguide-highlight);background-color:#f2f2f2}.markdown-container :not(:is(pre))>code:is(.theme-dark *){background-color:#1a1a1a}.markdown-container table{border-collapse:collapse;text-align:left;width:100%;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.markdown-container :is(th,td){border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-styleguide-border);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);vertical-align:top}.markdown-container th{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-styleguide-highlight)}.markdown-container thead th{background-color:var(--color-styleguide-bg-highlight)}.markdown-container tbody tr:last-child :is(th,td){border-bottom-style:var(--tw-border-style);border-bottom-width:0}:is(.markdown-container,.code-audit-container) :is(.shiki,pre:not(.shiki)){border-radius:var(--radius-2xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-styleguide-border);background-color:var(--color-styleguide-bg-highlight);max-width:100%;padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));overflow-x:auto}:is(.markdown-container,.code-audit-container) :is(.shiki,pre:not(.shiki))>code{display:inline-block}}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:300;src:url(/styleguide-assets/fonts/geist-mono-latin-300-normal.woff2)format("woff2")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/styleguide-assets/fonts/geist-mono-latin-400-normal.woff2)format("woff2")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/styleguide-assets/fonts/geist-mono-latin-600-normal.woff2)format("woff2")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/styleguide-assets/fonts/geist-sans-latin-300-normal.woff2)format("woff2")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/styleguide-assets/fonts/geist-sans-latin-400-normal.woff2)format("woff2")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/styleguide-assets/fonts/geist-sans-latin-600-normal.woff2)format("woff2")}body:not(.editor-vscode) .editor-vscode-only,body:not(.editor-phpstorm) .editor-phpstorm-only{display:none}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}
3
- /*$vite$:1*/