kss-modern 0.0.20 → 0.0.21

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "kss-modern",
3
3
  "type": "module",
4
- "version": "0.0.20",
4
+ "version": "0.0.21",
5
5
  "description": "Modern KSS compatible styleguide generator",
6
6
  "main": "./dist/node/lib/index.mjs",
7
7
  "types": "./dist/node/lib/index.d.ts",
@@ -24,9 +24,7 @@
24
24
  "@shikijs/markdown-it": "^3.13.0",
25
25
  "chokidar": "^4.0.3",
26
26
  "fs-extra": "^11.3.2",
27
- "keyux": "^0.11.3",
28
27
  "markdown-it-async": "^2.2.0",
29
- "motion": "^12.23.22",
30
28
  "pug": "^3.0.3",
31
29
  "shiki": "^3.13.0",
32
30
  "tinyglobby": "^0.2.15"
@@ -36,9 +34,13 @@
36
34
  "@tailwindcss/vite": "^4.1.13",
37
35
  "@types/bun": "latest",
38
36
  "@types/fs-extra": "^11.0.4",
37
+ "axe-core": "^4.10.3",
39
38
  "bumpp": "^10.2.3",
40
39
  "eslint": "^9.36.0",
41
- "html-validate": "^10.0.0",
40
+ "eslint-plugin-format": "^1.0.2",
41
+ "html-validate": "^10.1.1",
42
+ "keyux": "^0.11.3",
43
+ "motion": "^12.23.22",
42
44
  "unbuild": "^3.6.1",
43
45
  "vite": "^7.1.7"
44
46
  }
@@ -1 +0,0 @@
1
- import "./main-DysniEvV.js";
@@ -1,59 +0,0 @@
1
- class o {
2
- modifier;
3
- placeholder;
4
- constructor(e) {
5
- this.modifier = e.modifier, this.placeholder = e.placeholder || "{{modifier_class}}";
6
- }
7
- initialize(e = document) {
8
- this.modifier && this.replaceInDocument(e);
9
- }
10
- static fromIframe(e = document) {
11
- if (!window.frameElement)
12
- throw new Error("ModifierReplacer can only be initialized from an iframe context.");
13
- const i = window.frameElement.getAttribute("data-modifier");
14
- if (!i)
15
- return null;
16
- const t = i.split(".").filter((n) => n.length > 0).join(" "), r = new o({ modifier: t });
17
- return r.initialize(e), r;
18
- }
19
- static fromUrl(e = document) {
20
- const t = new URLSearchParams(window.location.search).get("modifier");
21
- if (!t)
22
- return null;
23
- const r = t.split(".").filter((a) => a.length > 0).join(" "), n = new o({ modifier: r });
24
- return n.initialize(e), n;
25
- }
26
- replaceAll(e) {
27
- const i = encodeURIComponent(JSON.stringify(this.placeholder)), t = JSON.stringify({ modifierClass: this.placeholder }), r = encodeURIComponent(t);
28
- return e.replace(new RegExp(this.escapeRegExp(this.placeholder), "g"), this.modifier).replace(new RegExp(this.escapeRegExp(i), "g"), this.modifier).replace(new RegExp(this.escapeRegExp(r), "g"), this.modifier);
29
- }
30
- escapeRegExp(e) {
31
- return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
32
- }
33
- replaceInDocument(e) {
34
- const i = e.createTreeWalker(
35
- e.body,
36
- NodeFilter.SHOW_TEXT | NodeFilter.SHOW_ELEMENT,
37
- {
38
- acceptNode: () => NodeFilter.FILTER_ACCEPT
39
- }
40
- );
41
- for (; i.nextNode(); ) {
42
- const t = i.currentNode;
43
- t.nodeType === Node.TEXT_NODE ? this.replaceInTextNode(t) : t.nodeType === Node.ELEMENT_NODE && this.replaceInElementAttributes(t);
44
- }
45
- }
46
- replaceInTextNode(e) {
47
- if (e.textContent) {
48
- const i = e.textContent, t = this.replaceAll(i);
49
- i !== t && (e.textContent = t);
50
- }
51
- }
52
- replaceInElementAttributes(e) {
53
- Array.from(e.attributes).forEach((i) => {
54
- const t = i.value, r = this.replaceAll(t);
55
- t !== r && (i.value = r);
56
- });
57
- }
58
- }
59
- window.frameElement ? (window.frameElement.getAttribute("data-preview") === "true" && document.documentElement.classList.add("styleguide-preview"), window.frameElement.hasAttribute("data-modifier") && o.fromIframe()) : new URLSearchParams(window.location.search).get("modifier") && o.fromUrl();
@@ -1,19 +0,0 @@
1
- import { r as o } from "./main-DysniEvV.js";
2
- const c = (t, a) => {
3
- t.forEach((e) => {
4
- let r = e.getAttribute(a);
5
- if (!r)
6
- return;
7
- e.getAttribute("data-clipboard-uri-encoded") === "true" && (r = decodeURIComponent(r)), e.addEventListener("click", async () => {
8
- await navigator.clipboard.writeText(r).catch(console.error);
9
- const i = e.getAttribute("data-clipboard-alert-message");
10
- o(
11
- i ?? "Copied to clipboard!",
12
- '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" class="size-4"><path fill-rule="evenodd" d="M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14Zm3.844-8.791a.75.75 0 0 0-1.188-.918l-3.7 4.79-1.649-1.833a.75.75 0 1 0-1.114 1.004l2.25 2.5a.75.75 0 0 0 1.15-.043l4.25-5.5Z" clip-rule="evenodd" /></svg>'
13
- );
14
- });
15
- });
16
- };
17
- export {
18
- c as default
19
- };
@@ -1,135 +0,0 @@
1
- const u = {
2
- header: [
3
- "background: #ff5757",
4
- "color: white",
5
- "padding: 8px 12px",
6
- "border-radius: 4px 4px 0 0",
7
- "font-weight: bold",
8
- "font-size: 14px"
9
- ].join(";"),
10
- elementStyle: [
11
- "color: #d32f2f",
12
- "font-weight: bold",
13
- "font-family: monospace"
14
- ].join(";"),
15
- messageStyle: [
16
- "color: #333",
17
- "font-style: italic"
18
- ].join(";")
19
- };
20
- let n;
21
- function x(o, l) {
22
- console.group("%cValidation Error", u.header), console.info(
23
- "%c%o",
24
- u.elementStyle,
25
- l
26
- ), console.info(
27
- "%c%s",
28
- u.messageStyle,
29
- o
30
- ), console.groupEnd();
31
- }
32
- async function y() {
33
- const { HtmlValidate: o, StaticConfigLoader: l } = await import("./browser-KlOfx-vG.js");
34
- if (n)
35
- return n;
36
- const i = new l();
37
- return n = new o(i), n;
38
- }
39
- function h(o) {
40
- return o.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
41
- }
42
- async function k(o, l, i) {
43
- const p = o.getAttribute("data-code-audit-iframe");
44
- if (!p)
45
- throw new Error("No code audit template selector provided");
46
- const c = document.querySelector(`#${p}`);
47
- if (!c)
48
- throw new Error("Code audit template not found");
49
- const m = await y(), b = await (await fetch(c.src)).text(), d = l.querySelector(".audit-results");
50
- if (!d)
51
- throw new Error("No audit results list found");
52
- const { results: g, valid: f } = await m.validateString(b, {
53
- rules: {
54
- "no-trailing-whitespace": "off",
55
- "no-inline-style": "off"
56
- }
57
- });
58
- if (f || g.length === 0)
59
- return { isValid: !0 };
60
- const w = g[0].messages.sort((t, e) => t.severity - e.severity).reduce((t, e) => {
61
- const r = t.find((s) => s.ruleId === e.ruleId);
62
- return r ? (e.selector && !r.selectors.includes(e.selector) && r.selectors.push(e.selector), t) : (t.push({
63
- // escape possible html entities
64
- ruleId: e.ruleId.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;"),
65
- message: e.message,
66
- ruleUrl: e.ruleUrl || `https://html-validate.org/rules/${e.ruleId}.html`,
67
- selectors: e.selector ? [e.selector] : [],
68
- context: e.context
69
- }), t);
70
- }, []);
71
- return d.innerHTML = `
72
- ${w.map((t) => `
73
- <li class="border-b border-styleguide-border first:border-t last:border-none">
74
- <details class="group">
75
- <summary class="flex cursor-pointer justify-start items-center px-6 py-4 text-sm bg-styleguide-bg transition hover:bg-[rgb(242,242,242)] focus:bg-[rgb(242,242,242)] dark:hover:bg-[rgb(26,26,26)] dark:focus:bg-[rgb(26,26,26)]">
76
- <svg class="h-4 w-4 group-open:rotate-90 transition-transform mr-2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true">
77
- <path fill-rule="evenodd" d="M6.22 4.22a.75.75 0 0 1 1.06 0l3.25 3.25a.75.75 0 0 1 0 1.06l-3.25 3.25a.75.75 0 0 1-1.06-1.06L8.94 8 6.22 5.28a.75.75 0 0 1 0-1.06Z" clip-rule="evenodd"></path>
78
- </svg>
79
- <span>
80
- <span class="font-semibold mr-1">${t.ruleId}:</span><span>${h(t.message)}</span>
81
- </span>
82
- </summary>
83
-
84
- <div class="border-t pl-12 pr-6 py-6 text-sm bg-styleguide-bg-highlight border-styleguide-border">
85
- <p class="mb-3 pb-3 border-b border-styleguide-border">
86
- <a class="flex gap-1 group/link items-center text-sm text-blue-600" href="${t.ruleUrl}" target="_blank">
87
- Learn more about the rule
88
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" class="h-3 w-3">
89
- <path class="transition group-hover/link:translate-x-px group-hover/link:-translate-y-px group-focus/link:translate-x-px group-focus/link:-translate-y-px" d="M6.22 8.72a.75.75 0 0 0 1.06 1.06l5.22-5.22v1.69a.75.75 0 0 0 1.5 0v-3.5a.75.75 0 0 0-.75-.75h-3.5a.75.75 0 0 0 0 1.5h1.69L6.22 8.72Z"></path>
90
- <path d="M3.5 6.75c0-.69.56-1.25 1.25-1.25H7A.75.75 0 0 0 7 4H4.75A2.75 2.75 0 0 0 2 6.75v4.5A2.75 2.75 0 0 0 4.75 14h4.5A2.75 2.75 0 0 0 12 11.25V9a.75.75 0 0 0-1.5 0v2.25c0 .69-.56 1.25-1.25 1.25h-4.5c-.69 0-1.25-.56-1.25-1.25v-4.5Z"></path>
91
- </svg>
92
- </a>
93
- </p>
94
-
95
- <h3 class="font-bold text-sm text-styleguide-highlight">Selectors</h3>
96
- <ul>
97
- ${t.selectors.map((e) => `
98
- <li>
99
- <button
100
- class="block font-mono py-1.5 text-[13px] text-blue-600 text-sm cursor-pointer text-left"
101
- data-iframe-selector="${h(`${t.ruleId}: ${t.message}`)}"
102
- >
103
- ${e}
104
- </button>
105
- </li>
106
- `).join(`
107
- `)}
108
- </ul>
109
- </div>
110
- </details>
111
- </li>
112
- `).join(`
113
- `)}
114
- `, d.querySelectorAll("[data-iframe-selector]").forEach((t) => {
115
- const e = t.getAttribute("data-iframe-selector");
116
- if (!e)
117
- throw new Error("No message found");
118
- t.addEventListener("click", async () => {
119
- await i();
120
- const r = t.textContent;
121
- if (!r)
122
- throw new Error("No selector found");
123
- const s = c.contentDocument?.querySelectorAll(r);
124
- if (!s)
125
- throw new Error("No elements found");
126
- s.forEach((a) => {
127
- x(e, a), a.style.outline = "2px solid red", a.scrollIntoView({ behavior: "smooth", block: "center" }), setTimeout(() => a.style.outline = "", 5e3);
128
- });
129
- });
130
- }), { isValid: f };
131
- }
132
- export {
133
- k as auditCode,
134
- y as createHtmlValidator
135
- };
@@ -1 +0,0 @@
1
- /*! tailwindcss v4.1.13 | MIT License | https://tailwindcss.com */@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-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-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;--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}}}@layer theme{:root,:host{--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-500:oklch(72.3% .219 149.579);--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);--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--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-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--radius-md:.375rem;--radius-lg:.5rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--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)}}@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;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Geist Sans;line-height:1.5}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:Geist Mono;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-none{pointer-events:none}.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:calc(var(--spacing)*0)}.-inset-x-0{inset-inline:calc(var(--spacing)*0)}.-inset-x-px{inset-inline:-1px}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-y-0\.5{inset-block:calc(var(--spacing)*.5)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-auto{top:auto}.bottom-0{bottom:calc(var(--spacing)*0)}.-left-6{left:calc(var(--spacing)*-6)}.left-0{left:calc(var(--spacing)*0)}.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 (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-0{margin-inline:calc(var(--spacing)*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:calc(var(--spacing)*1)}.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-2{margin-right:calc(var(--spacing)*-2)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-4{margin-right:calc(var(--spacing)*4)}.-mb-px{margin-bottom:-1px}.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-3{margin-left:calc(var(--spacing)*3)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.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-full{height:100%}.max-h-\[400px\]{max-height:400px}.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-none{max-width:none}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-y-1\/2{--tw-translate-y: -50% ;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-not-allowed{cursor:not-allowed!important}.cursor-copy{cursor:copy}.cursor-pointer{cursor:pointer}.resize{resize:both}.scroll-mt-\[50px\]{scroll-margin-top:50px}.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-1{gap:calc(var(--spacing)*1)}.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)}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.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-md{border-radius:var(--radius-md)}.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(--styleguide-color-border)}.border-transparent{border-color:#0000}.border-yellow-300{border-color:var(--color-yellow-300)}.border-b-styleguide-border{border-bottom-color:var(--styleguide-color-border)}.bg-\[rgb\(242\,242\,242\)\]{background-color:#f2f2f2}.bg-blue-100{background-color:var(--color-blue-100)}.bg-red-100{background-color:var(--color-red-100)}.bg-styleguide-bg{background-color:var(--styleguide-color-background)}.bg-styleguide-bg-highlight{background-color:var(--styleguide-color-background-highlight)}.bg-transparent{background-color:#0000}.bg-yellow-50{background-color:var(--color-yellow-50)}.p-0\.5{padding:calc(var(--spacing)*.5)}.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-1{padding-block:calc(var(--spacing)*1)}.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-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-\[3px\]{padding-bottom:3px}.pl-6{padding-left:calc(var(--spacing)*6)}.pl-12{padding-left:calc(var(--spacing)*12)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:Geist 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-\[10px\]{font-size:10px}.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-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)}.break-all{word-break:break-all}.hyphens-auto{-webkit-hyphens:auto;hyphens:auto}.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-green-500{color:var(--color-green-500)}.text-green-500\/50{color:#00c75880}@supports (color:color-mix(in lab,red,red)){.text-green-500\/50{color:color-mix(in oklab,var(--color-green-500)50%,transparent)}}.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(--styleguide-color-regular)}.text-styleguide-highlight{color:var(--styleguide-color-highlight)}.text-styleguide-theme-highlight{color:var(--styleguide-color-theme-highlight)}.text-yellow-500{color:var(--color-yellow-500)}.text-yellow-800{color:var(--color-yellow-800)}.italic{font-style:italic}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.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,)}.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-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-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}@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,)}.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:calc(var(--spacing)*0)}.after\:bottom-0:after{content:var(--tw-content);bottom:calc(var(--spacing)*0)}.after\:h-\[120px\]:after{content:var(--tw-content);height:120px}.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(--styleguide-color-background);--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))}.first\:border-t:first-child{border-top-style:var(--tw-border-style);border-top-width:1px}.last\:border-none:last-child{--tw-border-style:none;border-style:none}@media (hover:hover){.hover\:border-styleguide-border:hover{border-color:var(--styleguide-color-border)}.hover\:bg-\[rgb\(242\,242\,242\)\]:hover{background-color:#f2f2f2}.hover\:text-styleguide-highlight:hover{color:var(--styleguide-color-highlight)}}.focus\:border-styleguide-border:focus{border-color:var(--styleguide-color-border)}.focus\:bg-\[rgb\(242\,242\,242\)\]:focus{background-color:#f2f2f2}.focus\:text-styleguide-highlight:focus{color:var(--styleguide-color-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(--styleguide-color-highlight)}@media (min-width:1220px){.min-\[1220px\]\:mx-auto{margin-inline:auto}}@media (min-width:1222px){.min-\[1222px\]\:border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}}@media (min-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-1\/2{top:50%}.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\:min-h-\[250px\]{min-height:250px}.md\:w-\[calc\(100\%-260px\)\]{width:calc(100% - 260px)}.md\:max-w-\[640px\]{max-width:640px}.md\:min-w-\[150px\]{min-width:150px}.md\:-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.md\:-translate-y-1\/2{--tw-translate-y: -50% ;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)}}@media (min-width:80rem){.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}@container (min-width:28rem){.\@md\:inline-flex{display:inline-flex}}@container (min-width:32rem){.\@lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@container (min-width:36rem){.\@xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@container (min-width:42rem){.\@2xl\:inline-block{display:inline-block}}.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\/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-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\: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}.\[\&\>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}.\[\&\>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}:root{color-scheme:light dark;--styleguide-color-background:light-dark(#fafafa,#000);--styleguide-color-background-highlight:light-dark(#fff,#0a0a0a);--styleguide-color-highlight:light-dark(#111827,#fff);--styleguide-color-regular:light-dark(#666,#a1a1a1);--styleguide-color-border:light-dark(#ebebeb,#1f1f1f)}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;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(--styleguide-color-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)}.search{max-height:85dvh}@media (max-width:768px){.search{min-height:60dvh}}.search::backdrop{display:none}.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}.icon-search-list__item-copy-icon{pointer-events:none;--tw-translate-x: -50% ;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));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));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(--styleguide-color-border);background-color:var(--styleguide-color-background-highlight);padding:calc(var(--spacing)*4);--tw-font-weight:var(--font-weight-semibold);font-family:Geist Mono;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{inset-inline:calc(var(--spacing)*0);content:var(--tw-content);width:100%;height:5px;position:absolute;top:-5px}@media (min-width:48rem){.c-toast{justify-content:flex-start;left:auto}}.c-toast>span{color:var(--styleguide-color-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(--styleguide-color-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(--styleguide-color-theme-highlight)}.markdown-container a:after{margin-bottom:-1px;margin-left:calc(var(--spacing)*1);background-color:var(--styleguide-color-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)){border-radius:var(--radius-2xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--styleguide-color-border);background-color:var(--styleguide-color-background-highlight);max-width:83ch;padding-inline:calc(var(--spacing)*6);padding-block:calc(var(--spacing)*5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));overflow-x:auto}.markdown-container :is(.shiki,pre:not(.shiki))>code{display:inline-block}.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:Geist Mono;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--styleguide-color-highlight);background-color:#f2f2f2}.markdown-container :not(:is(pre))>code:is(.theme-dark *){background-color:#1a1a1a}}@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-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-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}@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}