@erikt/ui 0.0.7
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 +24 -0
- package/ui.css +2 -0
- package/ui.css.map +1 -0
package/package.json
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@erikt/ui",
|
|
3
|
+
"version": "0.0.7",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"exports": {
|
|
6
|
+
".": "./ui.css"
|
|
7
|
+
},
|
|
8
|
+
"style": "./ui.css",
|
|
9
|
+
"files": [
|
|
10
|
+
"ui.css",
|
|
11
|
+
"ui.css.map"
|
|
12
|
+
],
|
|
13
|
+
"devDependencies": {
|
|
14
|
+
"browserslist": "^4.28.1",
|
|
15
|
+
"vite": "8.0.2"
|
|
16
|
+
},
|
|
17
|
+
"prettier": {
|
|
18
|
+
"printWidth": 200
|
|
19
|
+
},
|
|
20
|
+
"scripts": {
|
|
21
|
+
"dev": "node build.mjs --watch",
|
|
22
|
+
"build": "node build.mjs"
|
|
23
|
+
}
|
|
24
|
+
}
|
package/ui.css
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
@layer ui-reset{:root{interpolate-size:allow-keywords;text-rendering:geometricprecision;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-moz-osx-font-smoothing:grayscale;-moz-text-size-adjust:100%;text-size-adjust:100%;font-family:system-ui;font-size:14px}html{scrollbar-gutter:stable}:where(*){box-sizing:border-box;text-wrap-style:pretty;margin:0;padding:0}h1,h2,h3,h4,h5,h6{text-wrap-style:balance;font-weight:600}ul,ol,li{list-style:none}ul li,ol li{list-style:revert}a{color:var(--ui-primary)}img{vertical-align:middle;object-fit:cover;max-width:100%}svg{width:1lh;height:1lh}::selection{background-color:var(--ui-neutral-200)}input[type=number]{appearance:textfield;&::-webkit-inner-spin-button{appearance:none}&::-webkit-outer-spin-button{appearance:none}}a:focus-visible{outline:2px solid var(--ui-neutral-950);outline-offset:2px;border-radius:8px}}@layer ui{:root{--ease-glide:linear(0, .001 0.4%, .004 0.9%, .018 1.9%, .038 2.9%, .07 4.1%, .1 5.1%, .136 6.2%, .33 11.7%, .426 14.6%, .475 16.2%, .521 17.8%, .563 19.4%, .602 21%, .64 22.7%, .675 24.4%, .708 26.2%, .739 28%, .767 29.9%, .793 31.8%, .817 33.8%, .838 35.8%, .859 38.1%, .879 40.6%, .897 43.1%, .913 45.8%, .927 48.7%, .939 51.7%, .95 54.9%, .96 58.4%, .975 66%, .986 74.9%, .993 85.9%, 1);--ease-snap:linear(0, .03 1.1%, .125 2.4%, .906 9.8%, 1.046 12.3%, 1.11 15%, 1.116 16.3%, 1.11 17.8%, 1.014 25.8%, .987 31.2%, 1.001 47.2%, 1);--ease-heavy:linear(0, .01 0.7%, .044 1.5%, .171 3.1%, .339 4.6%, .857 8.7%, 1.088 11%, 1.17 12.1%, 1.232 13.2%, 1.273 14.3%, 1.297 15.5%, 1.299 16.9%, 1.273 18.5%, 1.22 20.3%, 1.057 24.6%, .986 26.8%, .934 29.2%, .911 31.7%, .918 34.8%, 1.003 43%, 1.027 47.8%, 1.025 51.1%, .992 63.8%, 1.002 79.7%, 1);--ease-in-sine:cubic-bezier(.12, 0, .39, 0);--ease-out-sine:cubic-bezier(.61, 1, .88, 1);--ease-in-out-sine:cubic-bezier(.37, 0, .63, 1);--ease-in-quad:cubic-bezier(.11, 0, .5, 0);--ease-out-quad:cubic-bezier(.5, 1, .89, 1);--ease-in-out-quad:cubic-bezier(.45, 0, .55, 1);--ease-in-cubic:cubic-bezier(.32, 0, .67, 0);--ease-out-cubic:cubic-bezier(.33, 1, .68, 1);--ease-in-out-cubic:cubic-bezier(.65, 0, .35, 1);--ease-in-quart:cubic-bezier(.5, 0, .75, 0);--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--ease-in-out-quart:cubic-bezier(.76, 0, .24, 1);--ease-in-quint:cubic-bezier(.64, 0, .78, 0);--ease-out-quint:cubic-bezier(.22, 1, .36, 1);--ease-in-out-quint:cubic-bezier(.83, 0, .17, 1);--ease-in-expo:cubic-bezier(.7, 0, .84, 0);--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-in-out-expo:cubic-bezier(.87, 0, .13, 1);--ease-in-circ:cubic-bezier(.55, 0, 1, .45);--ease-out-circ:cubic-bezier(0, .55, .45, 1);--ease-in-out-circ:cubic-bezier(.85, 0, .15, 1);--ease-in-back:cubic-bezier(.36, 0, .66, -.56);--ease-out-back:cubic-bezier(.34, 1.56, .64, 1);--ease-in-out-back:cubic-bezier(.68, -.6, .32, 1.6);color-scheme:light dark;--ui-primary-light:dodgerblue;--ui-primary-dark:oklab(72.1604% -.0439466 -.145608);--ui-primary:light-dark(var(--ui-primary-light),var(--ui-primary-dark));--ui-neutral:#8b8c93;--ui-constructive:#5dbb55;--ui-destructive:#ef5655;--ui-color1:crimson;--ui-color2:gold;--ui-color3:forestgreen;--ui-color4:royalblue;--ui-color5:slateblue;--ui-color6:plum;--ui-primary-50:light-dark(color-mix(in oklab, var(--ui-primary), white 95%),color-mix(in oklab, var(--ui-primary), black 73.75%));--ui-primary-100:light-dark(color-mix(in oklab, var(--ui-primary), white 87%),color-mix(in oklab, var(--ui-primary), black 58.5%));--ui-primary-200:light-dark(color-mix(in oklab, var(--ui-primary), white 70%),color-mix(in oklab, var(--ui-primary), black 43.5%));--ui-primary-300:light-dark(color-mix(in oklab, var(--ui-primary), white 47%),color-mix(in oklab, var(--ui-primary), black 28.25%));--ui-primary-400:light-dark(color-mix(in oklab, var(--ui-primary), white 23%),color-mix(in oklab, var(--ui-primary), black 15.5%));--ui-primary-500:var(--ui-primary);--ui-primary-600:light-dark(color-mix(in oklab, var(--ui-primary), black 15.5%),color-mix(in oklab, var(--ui-primary), white 23%));--ui-primary-700:light-dark(color-mix(in oklab, var(--ui-primary), black 28.25%),color-mix(in oklab, var(--ui-primary), white 47%));--ui-primary-800:light-dark(color-mix(in oklab, var(--ui-primary), black 43.5%),color-mix(in oklab, var(--ui-primary), white 70%));--ui-primary-900:light-dark(color-mix(in oklab, var(--ui-primary), black 58.5%),color-mix(in oklab, var(--ui-primary), white 87%));--ui-primary-950:light-dark(color-mix(in oklab, var(--ui-primary), black 73.75%),color-mix(in oklab, var(--ui-primary), white 95%));--ui-neutral-0:light-dark(color-mix(in oklab, var(--ui-neutral), white 100%),color-mix(in oklab, var(--ui-neutral), black 100%));--ui-neutral-50:light-dark(color-mix(in oklab, var(--ui-neutral), white 95%),color-mix(in oklab, var(--ui-neutral), black 73.75%));--ui-neutral-100:light-dark(color-mix(in oklab, var(--ui-neutral), white 87%),color-mix(in oklab, var(--ui-neutral), black 58.5%));--ui-neutral-200:light-dark(color-mix(in oklab, var(--ui-neutral), white 70%),color-mix(in oklab, var(--ui-neutral), black 43.5%));--ui-neutral-300:light-dark(color-mix(in oklab, var(--ui-neutral), white 47%),color-mix(in oklab, var(--ui-neutral), black 28.25%));--ui-neutral-400:light-dark(color-mix(in oklab, var(--ui-neutral), white 23%),color-mix(in oklab, var(--ui-neutral), black 15.5%));--ui-neutral-500:var(--ui-neutral);--ui-neutral-600:light-dark(color-mix(in oklab, var(--ui-neutral), black 15.5%),color-mix(in oklab, var(--ui-neutral), white 23%));--ui-neutral-700:light-dark(color-mix(in oklab, var(--ui-neutral), black 28.25%),color-mix(in oklab, var(--ui-neutral), white 47%));--ui-neutral-800:light-dark(color-mix(in oklab, var(--ui-neutral), black 43.5%),color-mix(in oklab, var(--ui-neutral), white 70%));--ui-neutral-900:light-dark(color-mix(in oklab, var(--ui-neutral), black 58.5%),color-mix(in oklab, var(--ui-neutral), white 87%));--ui-neutral-950:light-dark(color-mix(in oklab, var(--ui-neutral), black 73.75%),color-mix(in oklab, var(--ui-neutral), white 95%));--ui-neutral-1000:light-dark(color-mix(in oklab, var(--ui-neutral), black 100%),color-mix(in oklab, var(--ui-neutral), white 100%));--ui-constructive-50:light-dark(color-mix(in oklab, var(--ui-constructive), white 95%),color-mix(in oklab, var(--ui-constructive), black 73.75%));--ui-constructive-100:light-dark(color-mix(in oklab, var(--ui-constructive), white 87%),color-mix(in oklab, var(--ui-constructive), black 58.5%));--ui-constructive-200:light-dark(color-mix(in oklab, var(--ui-constructive), white 70%),color-mix(in oklab, var(--ui-constructive), black 43.5%));--ui-constructive-300:light-dark(color-mix(in oklab, var(--ui-constructive), white 47%),color-mix(in oklab, var(--ui-constructive), black 28.25%));--ui-constructive-400:light-dark(color-mix(in oklab, var(--ui-constructive), white 23%),color-mix(in oklab, var(--ui-constructive), black 15.5%));--ui-constructive-500:var(--ui-constructive);--ui-constructive-600:light-dark(color-mix(in oklab, var(--ui-constructive), black 15.5%),color-mix(in oklab, var(--ui-constructive), white 23%));--ui-constructive-700:light-dark(color-mix(in oklab, var(--ui-constructive), black 28.25%),color-mix(in oklab, var(--ui-constructive), white 47%));--ui-constructive-800:light-dark(color-mix(in oklab, var(--ui-constructive), black 43.5%),color-mix(in oklab, var(--ui-constructive), white 70%));--ui-constructive-900:light-dark(color-mix(in oklab, var(--ui-constructive), black 58.5%),color-mix(in oklab, var(--ui-constructive), white 87%));--ui-constructive-950:light-dark(color-mix(in oklab, var(--ui-constructive), black 73.75%),color-mix(in oklab, var(--ui-constructive), white 95%));--ui-destructive-50:light-dark(color-mix(in oklab, var(--ui-destructive), white 95%),color-mix(in oklab, var(--ui-destructive), black 73.75%));--ui-destructive-100:light-dark(color-mix(in oklab, var(--ui-destructive), white 87%),color-mix(in oklab, var(--ui-destructive), black 58.5%));--ui-destructive-200:light-dark(color-mix(in oklab, var(--ui-destructive), white 70%),color-mix(in oklab, var(--ui-destructive), black 43.5%));--ui-destructive-300:light-dark(color-mix(in oklab, var(--ui-destructive), white 47%),color-mix(in oklab, var(--ui-destructive), black 28.25%));--ui-destructive-400:light-dark(color-mix(in oklab, var(--ui-destructive), white 23%),color-mix(in oklab, var(--ui-destructive), black 15.5%));--ui-destructive-500:var(--ui-destructive);--ui-destructive-600:light-dark(color-mix(in oklab, var(--ui-destructive), black 15.5%),color-mix(in oklab, var(--ui-destructive), white 23%));--ui-destructive-700:light-dark(color-mix(in oklab, var(--ui-destructive), black 28.25%),color-mix(in oklab, var(--ui-destructive), white 47%));--ui-destructive-800:light-dark(color-mix(in oklab, var(--ui-destructive), black 43.5%),color-mix(in oklab, var(--ui-destructive), white 70%));--ui-destructive-900:light-dark(color-mix(in oklab, var(--ui-destructive), black 58.5%),color-mix(in oklab, var(--ui-destructive), white 87%));--ui-destructive-950:light-dark(color-mix(in oklab, var(--ui-destructive), black 73.75%),color-mix(in oklab, var(--ui-destructive), white 95%));--ui-color1-50:light-dark(color-mix(in oklab, var(--ui-color1), white 95%),color-mix(in oklab, var(--ui-color1), black 73.75%));--ui-color1-100:light-dark(color-mix(in oklab, var(--ui-color1), white 87%),color-mix(in oklab, var(--ui-color1), black 58.5%));--ui-color1-200:light-dark(color-mix(in oklab, var(--ui-color1), white 70%),color-mix(in oklab, var(--ui-color1), black 43.5%));--ui-color1-300:light-dark(color-mix(in oklab, var(--ui-color1), white 47%),color-mix(in oklab, var(--ui-color1), black 28.25%));--ui-color1-400:light-dark(color-mix(in oklab, var(--ui-color1), white 23%),color-mix(in oklab, var(--ui-color1), black 15.5%));--ui-color1-500:var(--ui-color1);--ui-color1-600:light-dark(color-mix(in oklab, var(--ui-color1), black 15.5%),color-mix(in oklab, var(--ui-color1), white 15%));--ui-color1-700:light-dark(color-mix(in oklab, var(--ui-color1), black 28.25%),color-mix(in oklab, var(--ui-color1), white 47%));--ui-color1-800:light-dark(color-mix(in oklab, var(--ui-color1), black 43.5%),color-mix(in oklab, var(--ui-color1), white 70%));--ui-color1-900:light-dark(color-mix(in oklab, var(--ui-color1), black 58.5%),color-mix(in oklab, var(--ui-color1), white 87%));--ui-color1-950:light-dark(color-mix(in oklab, var(--ui-color1), black 73.75%),color-mix(in oklab, var(--ui-color1), white 95%));--ui-color2-50:light-dark(color-mix(in oklab, var(--ui-color2), white 95%),color-mix(in oklab, var(--ui-color2), black 73.75%));--ui-color2-100:light-dark(color-mix(in oklab, var(--ui-color2), white 87%),color-mix(in oklab, var(--ui-color2), black 58.5%));--ui-color2-200:light-dark(color-mix(in oklab, var(--ui-color2), white 70%),color-mix(in oklab, var(--ui-color2), black 43.5%));--ui-color2-300:light-dark(color-mix(in oklab, var(--ui-color2), white 47%),color-mix(in oklab, var(--ui-color2), black 28.25%));--ui-color2-400:light-dark(color-mix(in oklab, var(--ui-color2), white 23%),color-mix(in oklab, var(--ui-color2), black 15.5%));--ui-color2-500:var(--ui-color2);--ui-color2-600:light-dark(color-mix(in oklab, var(--ui-color2), black 15.5%),color-mix(in oklab, var(--ui-color2), white 15%));--ui-color2-700:light-dark(color-mix(in oklab, var(--ui-color2), black 28.25%),color-mix(in oklab, var(--ui-color2), white 47%));--ui-color2-800:light-dark(color-mix(in oklab, var(--ui-color2), black 43.5%),color-mix(in oklab, var(--ui-color2), white 70%));--ui-color2-900:light-dark(color-mix(in oklab, var(--ui-color2), black 58.5%),color-mix(in oklab, var(--ui-color2), white 87%));--ui-color2-950:light-dark(color-mix(in oklab, var(--ui-color2), black 73.75%),color-mix(in oklab, var(--ui-color2), white 95%));--ui-color3-50:light-dark(color-mix(in oklab, var(--ui-color3), white 95%),color-mix(in oklab, var(--ui-color3), black 73.75%));--ui-color3-100:light-dark(color-mix(in oklab, var(--ui-color3), white 87%),color-mix(in oklab, var(--ui-color3), black 58.5%));--ui-color3-200:light-dark(color-mix(in oklab, var(--ui-color3), white 70%),color-mix(in oklab, var(--ui-color3), black 43.5%));--ui-color3-300:light-dark(color-mix(in oklab, var(--ui-color3), white 47%),color-mix(in oklab, var(--ui-color3), black 28.25%));--ui-color3-400:light-dark(color-mix(in oklab, var(--ui-color3), white 23%),color-mix(in oklab, var(--ui-color3), black 15.5%));--ui-color3-500:var(--ui-color3);--ui-color3-600:light-dark(color-mix(in oklab, var(--ui-color3), black 15.5%),color-mix(in oklab, var(--ui-color3), white 15%));--ui-color3-700:light-dark(color-mix(in oklab, var(--ui-color3), black 28.25%),color-mix(in oklab, var(--ui-color3), white 47%));--ui-color3-800:light-dark(color-mix(in oklab, var(--ui-color3), black 43.5%),color-mix(in oklab, var(--ui-color3), white 70%));--ui-color3-900:light-dark(color-mix(in oklab, var(--ui-color3), black 58.5%),color-mix(in oklab, var(--ui-color3), white 87%));--ui-color3-950:light-dark(color-mix(in oklab, var(--ui-color3), black 73.75%),color-mix(in oklab, var(--ui-color3), white 95%));--ui-color4-50:light-dark(color-mix(in oklab, var(--ui-color4), white 95%),color-mix(in oklab, var(--ui-color4), black 73.75%));--ui-color4-100:light-dark(color-mix(in oklab, var(--ui-color4), white 87%),color-mix(in oklab, var(--ui-color4), black 58.5%));--ui-color4-200:light-dark(color-mix(in oklab, var(--ui-color4), white 70%),color-mix(in oklab, var(--ui-color4), black 43.5%));--ui-color4-300:light-dark(color-mix(in oklab, var(--ui-color4), white 47%),color-mix(in oklab, var(--ui-color4), black 28.25%));--ui-color4-400:light-dark(color-mix(in oklab, var(--ui-color4), white 23%),color-mix(in oklab, var(--ui-color4), black 15.5%));--ui-color4-500:var(--ui-color4);--ui-color4-600:light-dark(color-mix(in oklab, var(--ui-color4), black 15.5%),color-mix(in oklab, var(--ui-color4), white 15%));--ui-color4-700:light-dark(color-mix(in oklab, var(--ui-color4), black 28.25%),color-mix(in oklab, var(--ui-color4), white 47%));--ui-color4-800:light-dark(color-mix(in oklab, var(--ui-color4), black 43.5%),color-mix(in oklab, var(--ui-color4), white 70%));--ui-color4-900:light-dark(color-mix(in oklab, var(--ui-color4), black 58.5%),color-mix(in oklab, var(--ui-color4), white 87%));--ui-color4-950:light-dark(color-mix(in oklab, var(--ui-color4), black 73.75%),color-mix(in oklab, var(--ui-color4), white 95%));--ui-color5-50:light-dark(color-mix(in oklab, var(--ui-color5), white 95%),color-mix(in oklab, var(--ui-color5), black 73.75%));--ui-color5-100:light-dark(color-mix(in oklab, var(--ui-color5), white 87%),color-mix(in oklab, var(--ui-color5), black 58.5%));--ui-color5-200:light-dark(color-mix(in oklab, var(--ui-color5), white 70%),color-mix(in oklab, var(--ui-color5), black 43.5%));--ui-color5-300:light-dark(color-mix(in oklab, var(--ui-color5), white 47%),color-mix(in oklab, var(--ui-color5), black 28.25%));--ui-color5-400:light-dark(color-mix(in oklab, var(--ui-color5), white 23%),color-mix(in oklab, var(--ui-color5), black 15.5%));--ui-color5-500:var(--ui-color5);--ui-color5-600:light-dark(color-mix(in oklab, var(--ui-color5), black 15.5%),color-mix(in oklab, var(--ui-color5), white 15%));--ui-color5-700:light-dark(color-mix(in oklab, var(--ui-color5), black 28.25%),color-mix(in oklab, var(--ui-color5), white 47%));--ui-color5-800:light-dark(color-mix(in oklab, var(--ui-color5), black 43.5%),color-mix(in oklab, var(--ui-color5), white 70%));--ui-color5-900:light-dark(color-mix(in oklab, var(--ui-color5), black 58.5%),color-mix(in oklab, var(--ui-color5), white 87%));--ui-color5-950:light-dark(color-mix(in oklab, var(--ui-color5), black 73.75%),color-mix(in oklab, var(--ui-color5), white 95%));--ui-color6-50:light-dark(color-mix(in oklab, var(--ui-color6), white 95%),color-mix(in oklab, var(--ui-color6), black 73.75%));--ui-color6-100:light-dark(color-mix(in oklab, var(--ui-color6), white 87%),color-mix(in oklab, var(--ui-color6), black 58.5%));--ui-color6-200:light-dark(color-mix(in oklab, var(--ui-color6), white 70%),color-mix(in oklab, var(--ui-color6), black 43.5%));--ui-color6-300:light-dark(color-mix(in oklab, var(--ui-color6), white 47%),color-mix(in oklab, var(--ui-color6), black 28.25%));--ui-color6-400:light-dark(color-mix(in oklab, var(--ui-color6), white 23%),color-mix(in oklab, var(--ui-color6), black 15.5%));--ui-color6-500:var(--ui-color6);--ui-color6-600:light-dark(color-mix(in oklab, var(--ui-color6), black 15.5%),color-mix(in oklab, var(--ui-color6), white 15%));--ui-color6-700:light-dark(color-mix(in oklab, var(--ui-color6), black 28.25%),color-mix(in oklab, var(--ui-color6), white 47%));--ui-color6-800:light-dark(color-mix(in oklab, var(--ui-color6), black 43.5%),color-mix(in oklab, var(--ui-color6), white 70%));--ui-color6-900:light-dark(color-mix(in oklab, var(--ui-color6), black 58.5%),color-mix(in oklab, var(--ui-color6), white 87%));--ui-color6-950:light-dark(color-mix(in oklab, var(--ui-color6), black 73.75%),color-mix(in oklab, var(--ui-color6), white 95%))}.badge{align-items:center;gap:var(--ui-spacing-1);padding-inline:var(--ui-spacing-2);letter-spacing:.02em;-webkit-user-select:none;user-select:none;background-color:var(--ui-neutral-200);color:var(--ui-neutral-700);border-radius:999px;font-size:.75rem;font-weight:500;line-height:1.5;display:inline-flex;&.secondary{background-color:var(--ui-neutral-700);color:var(--ui-neutral-100)}&.primary{background-color:var(--ui-primary-200);color:var(--ui-primary-700)}&.constructive{background-color:var(--ui-constructive-200);color:var(--ui-constructive-700)}&.destructive{background-color:var(--ui-destructive-200);color:var(--ui-destructive-700)}&.color1{background-color:var(--ui-color1-200);color:var(--ui-color1-700)}&.color2{background-color:var(--ui-color2-200);color:var(--ui-color2-700)}&.color3{background-color:var(--ui-color3-200);color:var(--ui-color3-700)}&.color4{background-color:var(--ui-color4-200);color:var(--ui-color4-700)}&.color5{background-color:var(--ui-color5-200);color:var(--ui-color5-700)}&.color6{background-color:var(--ui-color6-200);color:var(--ui-color6-700)}&.outlined{background-color:#0000;box-shadow:inset 0 0 0 1px}& svg{width:1em;height:1em}}details{interpolate-size:allow-keywords;border-bottom:1px solid var(--ui-neutral-200);width:100%;&::details-content{transition:block-size .3s var(--ease-glide), content-visibility .2s allow-discrete;block-size:0;overflow:hidden}&[open]::details-content{block-size:auto}& summary{cursor:pointer;-webkit-user-select:none;user-select:none;padding-block:var(--ui-spacing-3);justify-content:space-between;align-items:center;gap:.75rem;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;list-style:none;transition:text-decoration-color .1s;display:flex;&::-webkit-details-marker{display:none}&:after{content:"";aspect-ratio:1;width:1rem;transition:transform .3s var(--ease-glide);background-color:currentColor;flex-shrink:0;display:inline-block;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");mask-position:50%;mask-size:1rem;mask-repeat:no-repeat}@media (hover:hover){&:hover{text-decoration-color:currentColor}}&:focus-visible{outline:2px solid var(--ui-neutral-950);outline-offset:2px;border-radius:8px}}&[open]>summary:after{transform:rotate(-180deg)}&>:not(summary){padding-block:var(--ui-spacing-3) var(--ui-spacing-6)}}article{--card-border-radius:12px;box-shadow:0 0 0 1px inset var(--ui-neutral-100);padding:var(--ui-spacing-4);border-radius:12px;overflow:hidden;&:has(>header,>footer){padding:0}&>header,&>footer{align-items:center;gap:var(--ui-spacing-2);display:flex}&>header{box-shadow:0 0 0 1px inset var(--ui-neutral-100);border-radius:var(--card-border-radius) var(--card-border-radius) 0 0}&>footer{box-shadow:0 0 0 1px inset var(--ui-neutral-100);border-radius:0 0 var(--card-border-radius) var(--card-border-radius)}&:has(>header,>footer)>*{padding:var(--ui-spacing-4)}&:has(>header,>footer)>:not(header):not(footer){margin-inline:1px;&:first-child{border-radius:11px 11px 0 0;margin-top:1px}&:last-child{border-radius:0 0 11px 11px;margin-bottom:1px}}}@container (width<=320px){article{padding:var(--ui-spacing-3);&>header,&>footer{padding:var(--ui-spacing-3);gap:var(--ui-spacing)}&:has(>header,>footer)>:not(header):not(footer){padding:var(--ui-spacing-3)}}}button,.button{background-color:var(--ui-primary);color:var(--ui-neutral-50);padding-block:var(--ui-spacing-2);padding-inline:var(--ui-spacing-3);font:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5em;line-height:1.14286rem;text-decoration:none;transition-property:translate,background-color;transition-duration:.1s;transition-timing-function:ease-out;display:inline-flex;&:not(:disabled){@media (hover:hover){&:hover{background-color:var(--ui-primary-600)}}&:active{background-color:var(--ui-primary-700);translate:0 1px}&:focus-visible{outline:2px solid var(--ui-neutral-950);outline-offset:2px}}&:disabled{cursor:default;opacity:.4}& svg{flex-shrink:0}& kbd{padding-block:0;padding-inline:var(--ui-spacing);margin-left:auto}& .badge{margin-left:auto}&[aria-busy=true]:before{content:"";mask-image:var(--ui-loading);background-color:currentColor;width:1rem;height:1rem;display:inline-block;mask-size:1rem;mask-repeat:no-repeat}&[popovertarget]:has(+[popover]:popover-open){background-color:var(--ui-primary-600);translate:0 1px}&.round{padding-inline:var(--ui-spacing-2);border-radius:100px}&.square{padding-inline:var(--ui-spacing-2)}&.outlined{color:var(--ui-neutral-950);box-shadow:0 0 0 1px var(--ui-neutral-200) inset;background-color:#0000;&:not(:disabled){@media (hover:hover){&:hover{background-color:var(--ui-neutral-100)}}&:active{background-color:var(--ui-neutral-200)}}&[popovertarget]:has(+[popover]:popover-open){background-color:var(--ui-neutral-100)}}&.secondary{background-color:var(--ui-neutral-100);color:var(--ui-neutral-950);&:not(:disabled){@media (hover:hover){&:hover{background-color:var(--ui-neutral-200)}}&:active{background-color:var(--ui-neutral-300)}}&[popovertarget]:has(+[popover]:popover-open){background-color:var(--ui-neutral-300)}}&.ghost{color:var(--ui-neutral-950);background-color:#0000;&:not(:disabled){@media (hover:hover){&:hover{background-color:var(--ui-neutral-100)}}&:active{background-color:var(--ui-neutral-200)}}&[popovertarget]:has(+[popover]:popover-open){background-color:var(--ui-neutral-200)}}&.link{color:var(--ui-neutral-950);background-color:#0000;text-decoration:underline;&:not(:disabled){@media (hover:hover){&:hover{background-color:#0000}}&:active{background-color:#0000}}}&.destructive{background-color:var(--ui-destructive);color:var(--ui-destructive-100);&:not(:disabled){@media (hover:hover){&:hover{background-color:var(--ui-destructive-600)}}&:active{background-color:var(--ui-destructive-700)}}&[popovertarget]:has(+[popover]:popover-open){background-color:var(--ui-destructive-600)}}&.ghost.destructive{color:var(--ui-destructive);background-color:#0000;&:not(:disabled){@media (hover:hover){&:hover{background-color:var(--ui-destructive-100)}}&:active{background-color:var(--ui-destructive-200)}}&[popovertarget]:has(+[popover]:popover-open){background-color:var(--ui-destructive-100)}}}fieldset[role=group]{vertical-align:bottom;border:none;align-items:stretch;padding:0;display:inline-flex;&>:not(.field){box-shadow:0 0 0 1px var(--ui-neutral-200) inset;border-radius:0;margin-right:-1px;position:relative;&:first-child{border-radius:8px 0 0 8px}&:last-child{border-radius:0 8px 8px 0;margin-right:0}&:hover,&:focus-within,&:active{z-index:1}}&>button:not(.ghost),&>.button:not(.ghost){box-shadow:none;margin-left:1px;margin-right:0}&>:only-child:not(.field){border-radius:8px}&>input{flex:1;min-width:0;&:focus{border-color:var(--ui-neutral-500)}}& label:not(.field){border-radius:0;line-height:1.14286em}}dialog{z-index:1;background:var(--ui-background-color);pointer-events:none;opacity:0;width:100%;max-width:min(480px,100vw - 2rem);transition:opacity .3s var(--ease-glide), translate .3s var(--ease-glide), display .1s allow-discrete, overlay .1s allow-discrete;border:none;border-radius:12px;margin:auto;padding:0;position:fixed;inset:0;translate:0 4px;container-type:inline-size;&[open]{opacity:1;pointer-events:auto;translate:0}@starting-style{&[open]{opacity:0;translate:0 4px}}&::backdrop{opacity:0;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity .2s var(--ease-glide), display .1s allow-discrete, overlay .1s allow-discrete;background:oklch(0% 0 0/.4)}&[open]::backdrop{opacity:1}@starting-style{&[open]::backdrop{opacity:0}}}body:has(dialog[scroll-lock][open],details[scroll-lock][open]){touch-action:none;overflow:hidden}label:not(.field):has(>input:where([type=checkbox])){align-items:center;gap:var(--ui-spacing-2);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;&:has(>input:disabled){opacity:.4;cursor:default}}input[type=checkbox]{appearance:none;aspect-ratio:1;width:16px;box-shadow:0 0 0 1.5px var(--ui-neutral-300) inset;cursor:pointer;background-color:#0000;border-radius:4px;flex-shrink:0;transition:background-color .1s,box-shadow .1s;&:checked{background-color:var(--ui-primary);box-shadow:0 0 0 1.5px var(--ui-primary) inset;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-9.5 -10 44 45' overflow='visible'%3E%3Crect x='-100' y='-100' width='200' height='200' fill='white'/%3E%3Cpath d='M5 12l5 5l10 -10' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");mask-position:50%;mask-size:24px;mask-repeat:no-repeat;mask-clip:no-clip;mask-mode:luminance}&:indeterminate{background-color:var(--ui-primary);box-shadow:0 0 0 1.5px var(--ui-primary) inset;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-8 -8 40 40' overflow='visible'%3E%3Crect x='-100' y='-100' width='200' height='200' fill='white'/%3E%3Cpath d='M6 12h12' fill='none' stroke='black' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E");mask-position:50%;mask-size:24px;mask-repeat:no-repeat;mask-clip:no-clip;mask-mode:luminance}&:focus-visible{outline:2px solid var(--ui-neutral-950);outline-offset:2px}&:disabled{opacity:.4;cursor:default}}input[type=color]{appearance:none;border:1px solid var(--ui-neutral-200);cursor:pointer;background:0 0;border-radius:8px;width:2.25rem;height:2.25rem;padding:.2rem;&::-webkit-color-swatch-wrapper{padding:0}&::-webkit-color-swatch{border:none;border-radius:4px}&::-moz-color-swatch{border:none;border-radius:4px}&:focus-visible{outline:2px solid var(--ui-neutral-950);outline-offset:2px}}input[type=date],input[type=time],input[type=datetime-local],input[type=month],input[type=week]{&::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer;&:hover{opacity:1}}&::-webkit-datetime-edit-day-field:focus{background-color:var(--ui-primary);color:var(--ui-neutral-0);border-radius:2px;outline:none}&::-webkit-datetime-edit-month-field:focus{background-color:var(--ui-primary);color:var(--ui-neutral-0);border-radius:2px;outline:none}&::-webkit-datetime-edit-year-field:focus{background-color:var(--ui-primary);color:var(--ui-neutral-0);border-radius:2px;outline:none}&::-webkit-datetime-edit-hour-field:focus{background-color:var(--ui-primary);color:var(--ui-neutral-0);border-radius:2px;outline:none}&::-webkit-datetime-edit-minute-field:focus{background-color:var(--ui-primary);color:var(--ui-neutral-0);border-radius:2px;outline:none}&::-webkit-datetime-edit-ampm-field:focus{background-color:var(--ui-primary);color:var(--ui-neutral-0);border-radius:2px;outline:none}}label:has(>input:where([type=radio])){cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5em;display:flex;&:has(>input:disabled){opacity:.4;cursor:default}}input[type=radio]{appearance:none;aspect-ratio:1;width:16px;box-shadow:0 0 0 1.5px var(--ui-neutral-300) inset;cursor:pointer;background-color:#0000;border-radius:50%;flex-shrink:0;transition:background-color .1s,box-shadow .1s;&:checked{background-color:var(--ui-primary);box-shadow:0 0 0 1.5px var(--ui-primary) inset;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-8 -8 40 40' overflow='visible'%3E%3Crect x='-100' y='-100' width='200' height='200' fill='white'/%3E%3Ccircle cx='12' cy='12' r='6' fill='black'/%3E%3C/svg%3E");mask-position:50%;mask-size:24px;mask-repeat:no-repeat;mask-clip:no-clip;mask-mode:luminance}&:disabled{opacity:.4;cursor:default}&:focus-visible{outline:2px solid var(--ui-neutral-950);outline-offset:2px;border-radius:8px}}hr{border:none;border-top:1px solid var(--ui-neutral-200);width:100%;margin-block:var(--ui-spacing-1) 0}hr[data-label]{isolation:isolate;background:linear-gradient(var(--ui-neutral-200), var(--ui-neutral-200)) center / 100% 1px no-repeat;border:none;grid-template-columns:1fr auto 1fr;align-items:center;display:grid;&:before,&:after{content:"";white-space:nowrap;grid-area:1/2;justify-self:center;height:1lh;font-size:.875rem}&:before{background:var(--ui-background-color);width:100%}&:after{content:attr(data-label);color:var(--ui-neutral-500);padding-inline:var(--ui-spacing-3)}}@container (width>=480px){hr{margin-block:var(--ui-spacing-4)}}input[type=text],input[type=email],input[type=search],input[type=password],input[type=number],input[type=tel],input[type=url],input[type=date],input[type=time],input[type=datetime-local],input[type=month],input[type=week]{appearance:none;box-shadow:0 0 0 1px var(--ui-neutral-200) inset;padding-block:var(--ui-spacing-2);padding-inline:var(--ui-spacing-3);font:inherit;transition-property:padding-inline-start;transition-duration:.15s;transition-timing-function:var(--ease-glide);background-color:#0000;border:none;border-radius:8px;line-height:1.14286rem;&:focus-visible{outline:none;box-shadow:inset 0 0 0 1px}}label:has([data-suffix]) input[type=search]::-webkit-search-cancel-button{display:none}input[type=search]::-webkit-search-cancel-button{appearance:none;cursor:pointer;background-color:var(--ui-neutral-400);width:1em;height:1em;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6l-12 12'/%3E%3Cpath d='M6 6l12 12'/%3E%3C/svg%3E");mask-position:50%;mask-size:contain;mask-repeat:no-repeat}label:not(.toggle):has(>[data-prefix],>[data-suffix]){cursor:text;grid-template-columns:auto 1fr auto auto;align-items:center;display:grid;&>input:is([type=text],[type=email],[type=search],[type=password],[type=number],[type=tel],[type=url],:not([type])){grid-area:1/1/auto/-1}&>[data-prefix],&>[data-suffix]{z-index:1;grid-row:1;position:relative}&>[data-prefix]:not(button),&>[data-suffix]:not(button){color:var(--ui-neutral-400)}&>[data-prefix]{margin-inline:var(--ui-spacing-3) var(--ui-spacing-2);transition:opacity .15s var(--ease-glide);grid-column:1}&>[data-suffix]:last-child{margin-inline:var(--ui-spacing-2) var(--ui-spacing-3);grid-column:4}&>[data-suffix]:not(:last-child){margin-inline:var(--ui-spacing-2) 0;grid-column:3}&>button[data-suffix]{padding:var(--ui-spacing-2) var(--ui-spacing-2);border-radius:4px;height:calc(100% - 8px);font-size:smaller;&:last-child{margin-inline-end:4px}}&:before{content:"";z-index:2;background-color:var(--ui-neutral-400);width:1em;height:1em;mask-image:var(--ui-loading);margin-inline:var(--ui-spacing-3) var(--ui-spacing-2);opacity:0;transition:opacity .15s var(--ease-glide);grid-area:1/1;display:block;position:relative;mask-size:contain;mask-repeat:no-repeat}&:has(>input[aria-busy=true]){&>[data-prefix]{opacity:0}&:before{opacity:1}}}label:not(.toggle):not(:has(>[data-prefix],>[data-suffix])):has(>input[aria-busy=true]){&:before{opacity:1}}label:not(.toggle):not(:has(>[data-prefix],>[data-suffix])):has(>input[aria-busy=true]){cursor:text;grid-template-columns:auto 1fr;align-items:center;display:grid;&:before{content:"";z-index:1;background-color:var(--ui-neutral-400);width:1em;height:1em;mask-image:var(--ui-loading);margin-inline:var(--ui-spacing-3) var(--ui-spacing-2);transition:opacity .15s var(--ease-glide);grid-area:1/1;display:block;position:relative;mask-size:contain;mask-repeat:no-repeat;@starting-style{opacity:0}}&>input:is([type=text],[type=email],[type=search],[type=password],[type=number],[type=tel],[type=url],:not([type])){grid-area:1/1/auto/-1;padding-inline-start:calc(var(--ui-spacing-3) + 1rem + var(--ui-spacing-2))}}label:not(.toggle):has(>[data-prefix])>input:is([type=text],[type=email],[type=search],[type=password],[type=number],[type=tel],[type=url],:not([type])){padding-inline-start:calc(var(--ui-spacing-3) + 1lh + var(--ui-spacing-2))}label:not(.toggle):has(>[data-suffix])>input:is([type=text],[type=email],[type=search],[type=password],[type=number],[type=tel],[type=url],:not([type])){padding-inline-end:calc(var(--ui-spacing-3) + 1lh + var(--ui-spacing-2))}label:not(.toggle):has(>[data-suffix]:not(:last-child))>input:is([type=text],[type=email],[type=search],[type=password],[type=number],[type=tel],[type=url],:not([type])){padding-inline-end:calc(var(--ui-spacing-3) + 2lh + var(--ui-spacing-2))}.file-drop{justify-content:center;align-items:center;gap:var(--ui-spacing-2);padding:var(--ui-spacing-8);border:1px dashed var(--ui-neutral-400);border-radius:var(--ui-spacing-3);cursor:pointer;color:var(--ui-neutral-500);text-align:center;transition:color .15s var(--ease-glide), border-color .15s var(--ease-glide);flex-direction:column;display:flex;position:relative;&>svg{width:1.75rem;height:1.75rem}&>small{color:var(--ui-neutral-400)}&>input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}&:hover{color:var(--ui-neutral-700);border-color:var(--ui-neutral-600)}}.expander{position:relative;&>:not(label){interpolate-size:allow-keywords;transition:max-height .4s var(--ease-glide);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}&>label{align-items:center;gap:var(--ui-spacing-2);padding-top:var(--ui-spacing-4);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;&>input[type=checkbox]{display:none}&:after{content:"";aspect-ratio:1;width:1rem;transition:transform .4s var(--ease-glide);background-color:currentColor;display:inline-block;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");mask-position:50%;mask-size:1rem;mask-repeat:no-repeat}}}.expander:has(>label>input[type=checkbox])>:not(label){-webkit-line-clamp:var(--lines,3);line-clamp:var(--lines,3);max-height:calc(var(--lines,3) * 1lh);transition:max-height .4s var(--ease-glide), -webkit-line-clamp 0s .4s allow-discrete, line-clamp 0s .4s allow-discrete}.expander:has(>label>input[type=checkbox]:checked)>:not(label){-webkit-line-clamp:none;line-clamp:none;max-height:max-content;transition:max-height .4s var(--ease-glide), -webkit-line-clamp 0s allow-discrete, line-clamp 0s allow-discrete}.expander:has(>label>input[type=checkbox]:checked)>label:after{transform:perspective(1rem)rotateX(180deg)}[data-focus-within]{& [data-focus]:focus-visible{box-shadow:none;outline:none}&:has([data-focus]:focus-visible){outline:2px solid var(--ui-neutral-950);outline-offset:2px;border-radius:8px}}textarea{appearance:none;box-shadow:0 0 0 1px var(--ui-neutral-200) inset;padding-block:var(--ui-spacing-2);padding-inline:var(--ui-spacing-3);border-radius:var(--ui-spacing-2);font:inherit;resize:vertical;background-color:#0000;border:none;width:-webkit-fill-available;width:-moz-available;width:stretch;display:block;&:not([rows]){field-sizing:content;min-height:6lh}&:focus{outline:none;box-shadow:inset 0 0 0 1px}&::-webkit-resizer{background-color:#0000;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cline x1='5' y1='13' x2='13' y2='5' stroke='%23888' stroke-width='1.5' stroke-linecap='round'/%3E%3Cline x1='9' y1='13' x2='13' y2='9' stroke='%23888' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-position:100% 100%;background-repeat:no-repeat;background-size:100%}}.field{gap:var(--ui-spacing-2);flex-direction:column;display:flex;&>span:not([data-prefix]):not([data-suffix]){font-weight:600}&>small{color:var(--ui-neutral-500);font-size:.875em}&:has(input:required)>span:not([data-prefix]):not([data-suffix]):after{content:" *";color:var(--ui-destructive)}&>input:not([type=checkbox]):not([type=radio]):not([type=color]),&>textarea,&>select,&>progress,&>button[popovertarget],&>.file-drop{width:100%}}label.field{cursor:pointer}fieldset:not([role=group]):has(input[type=radio],input[type=checkbox]){gap:var(--ui-spacing-2);border:none;flex-direction:column;margin:0;padding:0;display:flex;&>legend{margin-bottom:var(--ui-spacing-2);padding:0;font-weight:600}&>small{color:var(--ui-neutral-500);font-size:.875em}&:has(input:required)>legend:after{content:" *";color:var(--ui-destructive)}}select{appearance:none;box-shadow:0 0 0 1px var(--ui-neutral-200) inset;padding-block:var(--ui-spacing-2);padding-inline:var(--ui-spacing-3);border-radius:var(--ui-spacing-2);font:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;field-sizing:content;background-color:var(--ui-background-color);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--ui-spacing-3) center;background-size:1rem;border:none;padding-inline-end:calc(1rem + var(--ui-spacing-6));&:focus{box-shadow:inset 0 0 0 1px}&:disabled{opacity:.4;cursor:default}}input[list]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6l6 -6'/%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-position:right var(--ui-spacing-3) center;background-size:1rem;&::-webkit-calendar-picker-indicator{opacity:0}}.combobox{display:inline-block;&>input{width:100%}&>[popover]>menu:not(:has(li:not([hidden]))):after{content:"No results";padding:var(--ui-spacing-2) var(--ui-spacing-3);color:var(--ui-neutral-400);text-align:center;display:block}}input[type=range]{appearance:none;background:linear-gradient(to right, var(--ui-primary) calc(var(--pct,0) * 100%), var(--ui-neutral-200) calc(var(--pct,0) * 100%));cursor:pointer;border-radius:100px;outline:none;width:100%;height:.25rem;&::-webkit-slider-thumb{appearance:none;aspect-ratio:1;background:var(--ui-background-color);width:1.125rem;box-shadow:0 0 0 1.5px var(--ui-neutral-300) inset;border-radius:50%;transition:outline-color .1s}&::-moz-range-thumb{background:var(--ui-background-color);width:1.125rem;height:1.125rem;box-shadow:0 0 0 1.5px var(--ui-neutral-300) inset;cursor:pointer;border:none;border-radius:50%}&:focus-visible::-webkit-slider-thumb{outline:2px solid var(--ui-neutral-950);outline-offset:2px}&:focus-visible::-moz-range-thumb{outline:2px solid var(--ui-neutral-950);outline-offset:2px}&:disabled{cursor:default;opacity:.4}}input[type=checkbox].switch{appearance:none;width:2.25rem;height:1.2lh;box-shadow:none;background-color:var(--ui-neutral-200);cursor:pointer;border-radius:100px;flex-shrink:0;align-items:center;transition:background-color .1s;display:inline-flex;position:relative;mask-image:none;&:after{content:"";aspect-ratio:1;background-color:var(--ui-background-color);width:calc(1.2lh - 2px);transition:left .3s var(--ease-glide);border-radius:50%;margin-inline:1px;position:absolute;left:0}&:checked{background-color:var(--ui-primary);background-image:none;&:after{left:calc(100% - 1lh - 3px)}}&:focus-visible{outline:2px solid var(--ui-neutral-950);outline-offset:2px}&:disabled{opacity:.4;cursor:default}}[data-tooltip][aria-label]:not(input,select,textarea){position:relative;&:before,&:after{z-index:2147483647;pointer-events:none;opacity:0;transition:opacity .1s;position:absolute}&:before{content:attr(aria-label);background:var(--ui-neutral-950);color:var(--ui-neutral-50);white-space:nowrap;border-radius:6px;padding:.4em .75em;font-size:.875rem;line-height:1}&:after{content:"";background:var(--ui-neutral-950);width:8px;height:8px;rotate:45deg}&:not([data-tooltip=bottom],[data-tooltip=left],[data-tooltip=right]):before{bottom:calc(100% + .5rem);left:50%;translate:-50%}&:not([data-tooltip=bottom],[data-tooltip=left],[data-tooltip=right]):after{border-end-end-radius:2px;bottom:calc(100% + .5rem);left:50%;translate:-50% 50%;mask-image:linear-gradient(-45deg,#000 51%,#0000 50%)}&[data-tooltip=bottom]:before{top:calc(100% + .5rem);left:50%;translate:-50%}&[data-tooltip=bottom]:after{border-start-start-radius:2px;top:calc(100% + .5rem);left:50%;translate:-50% -50%;mask-image:linear-gradient(-45deg,#0000 50%,#000 50%)}&[data-tooltip=left]:before{top:50%;right:calc(100% + .5rem);translate:0 -50%}&[data-tooltip=left]:after{border-start-end-radius:2px;top:50%;right:calc(100% + .5rem);translate:50% -50%;mask-image:linear-gradient(45deg,#0000 50%,#000 50%)}&[data-tooltip=right]:before{top:50%;left:calc(100% + .5rem);translate:0 -50%}&[data-tooltip=right]:after{border-end-start-radius:2px;top:50%;left:calc(100% + .5rem);translate:-50% -50%;mask-image:linear-gradient(45deg,#000 50%,#0000 50%)}@media (hover:hover){&:hover:before,&:hover:after{opacity:1}}&:focus-visible:before,&:focus-visible:after{opacity:1}}:not(pre)>code{background:var(--ui-neutral-100);border:1px solid var(--ui-neutral-200);border-radius:4px;padding:.15em .4em;font-family:ui-monospace,Cascadia Code,Fira Code,monospace;font-size:.9em}kbd{min-width:1.5em;padding-block:calc(var(--ui-spacing) / 2);padding-inline:var(--ui-spacing-2);background:var(--ui-neutral-100);color:var(--ui-neutral-800);-webkit-user-select:none;user-select:none;border-radius:4px;justify-content:center;align-items:center;font-family:inherit;font-size:.85em;display:inline-flex;&+kbd{margin-left:.5em}&:has(>kbd){min-width:unset;color:var(--ui-neutral-400);background:0 0;gap:.35em;padding:0;font-size:1em;&>kbd{margin-left:0}}}:root{--ui-loading:url("data:image/svg+xml,%3Csvg fill='none' height='24' width='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle%3E g %7B animation: rotate 2s linear infinite; transform-origin: center center; %7D circle %7B stroke-dasharray: 75,100; stroke-dashoffset: -5; animation: dash 1.5s ease-in-out infinite; stroke-linecap: round; %7D @keyframes rotate %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D @keyframes dash %7B 0%25 %7B stroke-dasharray: 1,100; stroke-dashoffset: 0; %7D 50%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -17.5; %7D 100%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -62; %7D %7D %3C/style%3E%3Cg%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='white' stroke-width='4' /%3E%3C/g%3E%3C/svg%3E")}:where(:not(button)[aria-busy=true]):before{content:"";mask-image:var(--ui-loading);aspect-ratio:1;background-color:currentColor;width:1em;display:inline-block;mask-size:1em;mask-repeat:no-repeat}@keyframes ui-progress-indeterminate{0%{background-position:100%}to{background-position:-100%}}progress{appearance:none;border:none;border-radius:100px;width:100%;height:.25rem;overflow:hidden;&::-webkit-progress-bar{background:var(--ui-neutral-200)}&::-webkit-progress-value{background:var(--ui-primary);border-radius:100px}&::-moz-progress-bar{background:var(--ui-primary);border-radius:100px}&:indeterminate{background:linear-gradient(90deg, var(--ui-neutral-200) 0%, var(--ui-neutral-200) 40%, var(--ui-primary) 40%, var(--ui-primary) 60%, var(--ui-neutral-200) 60%);background-size:200% 100%;animation:1.5s linear infinite ui-progress-indeterminate;&::-webkit-progress-bar{background:0 0}&::-webkit-progress-value{background:0 0}&::-moz-progress-bar{background:0 0}}}[popover]{inset:unset;top:calc(anchor(bottom) + var(--ui-spacing-1));left:anchor(left);min-width:anchor-size(width);--_translate-from:0 -2px;position-try-fallbacks:--popover-right, --popover-above, --popover-above-right;background:var(--ui-background-color);border:none;border:1px solid var(--ui-neutral-200);border-radius:12px;margin:0;padding:0;position:fixed;box-shadow:0 4px 16px oklch(0% 0 0/.08);&>article{box-shadow:none;border-radius:0;&>header,&>footer{padding:var(--ui-spacing-2) var(--ui-spacing-2)}&>header{box-shadow:0 -1px 0 0 inset var(--ui-neutral-100)}&>footer{box-shadow:0 1px 0 0 inset var(--ui-neutral-100)}&:has(>header,>footer)>:not(header):not(footer){padding:var(--ui-spacing-2)}}opacity:0;translate:var(--_translate-from);transition:opacity .1s var(--ease-glide), translate .1s var(--ease-glide), display .1s allow-discrete, overlay .1s allow-discrete;&:not(:popover-open){display:none!important}&:popover-open{display:unset;opacity:1;translate:0}@starting-style{&:popover-open{opacity:0;translate:var(--_translate-from)}}}@position-try --popover-above{top: unset; bottom: calc(anchor(top) + var(--ui-spacing-1)); left: anchor(left); translate: 0 4px;}@position-try --popover-right{top: calc(anchor(bottom) + var(--ui-spacing-1)); left: unset; right: anchor(right);}@position-try --popover-above-right{top: unset; bottom: calc(anchor(top) + var(--ui-spacing-1)); left: unset; right: anchor(right); translate: 0 4px;}[popover][data-placement^=top]{--_translate-from:0 2px}[popover][data-placement^=left]{--_translate-from:2px 0}[popover][data-placement^=right]{--_translate-from:-2px 0}[popover][data-placement=bottom\ left]{top:calc(anchor(bottom) + var(--ui-spacing-1));bottom:unset;left:anchor(left);right:unset}[popover][data-placement=bottom\ right]{top:calc(anchor(bottom) + var(--ui-spacing-1));bottom:unset;left:unset;right:anchor(right)}[popover][data-placement=top\ left]{top:unset;bottom:calc(anchor(top) + var(--ui-spacing-1));left:anchor(left);right:unset}[popover][data-placement=top\ right]{top:unset;bottom:calc(anchor(top) + var(--ui-spacing-1));left:unset;right:anchor(right)}[popover][data-placement=left\ top]{top:anchor(top);bottom:unset;left:unset;right:calc(anchor(left) + var(--ui-spacing-1));min-width:unset}[popover][data-placement=left\ bottom]{top:unset;bottom:anchor(bottom);left:unset;right:calc(anchor(left) + var(--ui-spacing-1));min-width:unset}[popover][data-placement=right\ top]{top:anchor(top);bottom:unset;left:calc(anchor(right) + var(--ui-spacing-1));right:unset;min-width:unset}[popover][data-placement=right\ bottom]{top:unset;bottom:anchor(bottom);left:calc(anchor(right) + var(--ui-spacing-1));right:unset;min-width:unset}menu{&>li>button,&>li>.button{white-space:nowrap;justify-content:flex-start;width:100%}&>li>label{width:100%;padding-block:var(--ui-spacing-2);padding-inline:var(--ui-spacing-3);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;&>input[type=radio],&>input[type=checkbox]{appearance:none;opacity:0;pointer-events:none;width:0;height:0;position:absolute}@media (hover:hover){&:hover{background:var(--ui-neutral-100)}}&:has(input[type=checkbox],input[type=radio]){&:after{content:"";visibility:hidden;background-color:currentColor;width:1rem;height:1rem;margin-left:auto;display:inline-block;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");mask-position:50%;mask-size:1rem;mask-repeat:no-repeat}&:has(input:checked):after{visibility:visible}}}& hr{margin-block:var(--ui-spacing-1)}&>li>small:only-child:not(:has(*)){padding:var(--ui-spacing-2) var(--ui-spacing-3) var(--ui-spacing-1);color:var(--ui-neutral-500);-webkit-user-select:none;user-select:none;margin-left:2px;font-size:.8125rem;display:block}}[popover]>menu{padding:var(--ui-spacing-1)}[popover]>menu>li:has(>[popover])>button{&:after{content:"";background-color:currentColor;width:1rem;height:1rem;margin-left:auto;display:inline-block;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E");mask-position:50%;mask-size:1rem;mask-repeat:no-repeat}}[popover]>menu>li>[popover]{position-try-fallbacks:--submenu-left}@position-try --submenu-left{top: anchor(top); left: unset; right: calc(anchor(left) + .25rem); translate: 2px 0;}label:not(.field).toggle{text-align:center;align-items:center;gap:var(--ui-spacing);padding-block:var(--ui-spacing-2);padding-inline:var(--ui-spacing-3);box-shadow:0 0 0 1px var(--ui-neutral-200) inset;cursor:pointer;-webkit-user-select:none;user-select:none;interpolate-size:allow-keywords;transition:background-color .1s, box-shadow .1s, color .1s, grid-template-columns var(--toggle-duration) var(--ease-glide);--toggle-duration:.15s;border-radius:8px;grid-auto-flow:column;font-weight:500;line-height:1.14286rem;display:inline-grid;&>input[type=checkbox],&>input[type=radio]{appearance:none;opacity:0;pointer-events:none;width:0;height:0;position:absolute}& svg{transition:background-color .1s}& [data-checked],& [data-unchecked]{white-space:nowrap;transition:opacity var(--toggle-duration) ease, scale var(--toggle-duration) ease, display var(--toggle-duration) allow-discrete;overflow:hidden}& [data-unchecked]{display:revert;opacity:1;grid-area:1/1;scale:1;@starting-style{opacity:0;scale:.75}}& [data-checked]{opacity:0;grid-area:1/1;display:none;scale:.75}&:has(>input:checked){background-color:var(--ui-neutral-100);& [data-checked]{display:revert;opacity:1;scale:1;@starting-style{opacity:0;scale:.75}}& [data-unchecked]{opacity:0;display:none;scale:.75}}&.ghost{background-color:#0000;box-shadow:inset 0 0 0 1px #0000}&.ghost:has(>input:checked){background-color:var(--ui-neutral-100);box-shadow:inset 0 0 0 1px #0000}&.fill:has(>input:checked){& svg{fill:currentColor;color:var(--ui-primary)}}&:has(:focus-visible){outline:2px solid var(--ui-neutral-950);outline-offset:2px}&:has(>input:disabled){opacity:.4;cursor:default}&.square{padding-inline:var(--ui-spacing-2)}}table{grid-template-columns:var(--cols,repeat(auto-fill, minmax(max-content, 1fr)));white-space:nowrap;width:100%;display:grid;overflow-x:auto}table:has(>thead>tr>th:last-child:first-child){--cols:repeat(1, 1fr)}table:has(>thead>tr>th:last-child:nth-child(2)){--cols:repeat(2, 1fr)}table:has(>thead>tr>th:last-child:nth-child(3)){--cols:repeat(3, 1fr)}table:has(>thead>tr>th:last-child:nth-child(4)){--cols:repeat(4, 1fr)}table:has(>thead>tr>th:last-child:nth-child(5)){--cols:repeat(5, 1fr)}table:has(>thead>tr>th:last-child:nth-child(6)){--cols:repeat(6, 1fr)}table:has(>thead>tr>th:last-child:nth-child(7)){--cols:repeat(7, 1fr)}table:has(>thead>tr>th:last-child:nth-child(8)){--cols:repeat(8, 1fr)}table:has(>thead>tr>th:last-child:nth-child(9)){--cols:repeat(9, 1fr)}table:has(>thead>tr>th:last-child:nth-child(10)){--cols:repeat(10, 1fr)}table:has(>thead>tr>th:last-child:nth-child(11)){--cols:repeat(11, 1fr)}table:has(>thead>tr>th:last-child:nth-child(12)){--cols:repeat(12, 1fr)}table:has(>thead>tr>th:last-child:nth-child(13)){--cols:repeat(13, 1fr)}table:has(>thead>tr>th:last-child:nth-child(14)){--cols:repeat(14, 1fr)}table:has(>thead>tr>th:last-child:nth-child(15)){--cols:repeat(15, 1fr)}table:has(>thead>tr>th:last-child:nth-child(16)){--cols:repeat(16, 1fr)}table:has(>thead>tr>th:last-child:nth-child(17)){--cols:repeat(17, 1fr)}table:has(>thead>tr>th:last-child:nth-child(18)){--cols:repeat(18, 1fr)}table:has(>thead>tr>th:last-child:nth-child(19)){--cols:repeat(19, 1fr)}table:has(>thead>tr>th:last-child:nth-child(20)){--cols:repeat(20, 1fr)}table:has(>thead>tr>th:last-child:nth-child(21)){--cols:repeat(21, 1fr)}table:has(>thead>tr>th:last-child:nth-child(22)){--cols:repeat(22, 1fr)}table:has(>thead>tr>th:last-child:nth-child(23)){--cols:repeat(23, 1fr)}table:has(>thead>tr>th:last-child:nth-child(24)){--cols:repeat(24, 1fr)}table:has(>thead>tr>th:last-child:nth-child(25)){--cols:repeat(25, 1fr)}table:has(>thead>tr>th:last-child:nth-child(26)){--cols:repeat(26, 1fr)}table:has(>thead>tr>th:last-child:nth-child(27)){--cols:repeat(27, 1fr)}table:has(>thead>tr>th:last-child:nth-child(28)){--cols:repeat(28, 1fr)}table:has(>thead>tr>th:last-child:nth-child(29)){--cols:repeat(29, 1fr)}table:has(>thead>tr>th:last-child:nth-child(30)){--cols:repeat(30, 1fr)}caption{padding:var(--ui-spacing-3) var(--ui-spacing-3);color:var(--ui-neutral-400);grid-column:1/-1}thead,tbody,tfoot{display:contents}tr{grid-column:1/-1;grid-template-columns:subgrid;display:grid;@media (hover:hover){&:hover>td{background:var(--ui-neutral-50)}}}th,td{padding:var(--ui-spacing-3) var(--ui-spacing-3);text-align:left;border-bottom:1px solid var(--ui-neutral-200)}th:last-child,td:last-child{text-align:right}thead>tr>th{color:var(--ui-neutral-600);font-weight:600}tbody>tr:last-child>td,tfoot>tr:last-child>:is(th,td){border-bottom:none}tfoot>tr>:is(th,td){background:var(--ui-neutral-50);font-weight:600}tfoot>tr:first-child>:is(th,td){border-top:1px solid var(--ui-neutral-200)}@scope(.tabs) to (.tabs .tabs){:scope{width:-webkit-fill-available;width:-moz-available;width:stretch}[role=tablist]{background-color:var(--ui-neutral-200);anchor-name:--hovered-link;anchor-scope:--hovered-link;border-radius:9px;width:fit-content;display:flex;position:relative;&>label:has(input:checked){anchor-name:--hovered-link}&:before{content:"";top:calc(anchor(top) + 1px);left:calc(anchor(left) + 1px);right:calc(anchor(right) + 1px);bottom:calc(anchor(bottom) + 1px);z-index:0;background-color:var(--ui-neutral-50);pointer-events:none;position-anchor:--hovered-link;transition:var(--ease-glide) .2s;border-radius:8px;position:absolute}&>label{align-items:center;gap:var(--ui-spacing-2);padding-block:var(--ui-spacing-2);padding-inline:var(--ui-spacing-4);color:var(--ui-neutral-800);white-space:nowrap;z-index:1;line-height:1.14286rem;transition:color .1s;display:inline-flex;&>input[type=radio]{opacity:0;pointer-events:none;position:absolute}@media (hover:hover){&:hover{color:var(--ui-neutral-950)}}&:has(input:checked){color:var(--ui-neutral-950)}&:has(input:focus-visible){outline:2px solid var(--ui-neutral-950);outline-offset:2px;border-radius:8px}&:has(input:disabled){opacity:.4;cursor:default;pointer-events:none}}}[role=tabpanel]:focus-visible{outline:2px solid var(--ui-neutral-950);outline-offset:4px;border-radius:4px}[role=tabpanel]{transition:opacity .25s var(--ease-glide), display 50ms ease allow-discrete;opacity:0;display:none}:is(:scope:has([role=tablist]:not(:scope .tabs [role=tablist]) label:nth-child(1 of label) input:checked) [role=tabpanel]:not(:scope .tabs [role=tabpanel]):nth-child(1 of [role=tabpanel]),:scope:has([role=tablist]:not(:scope .tabs [role=tablist]) label:nth-child(2 of label) input:checked) [role=tabpanel]:not(:scope .tabs [role=tabpanel]):nth-child(2 of [role=tabpanel]),:scope:has([role=tablist]:not(:scope .tabs [role=tablist]) label:nth-child(3 of label) input:checked) [role=tabpanel]:not(:scope .tabs [role=tabpanel]):nth-child(3 of [role=tabpanel]),:scope:has([role=tablist]:not(:scope .tabs [role=tablist]) label:nth-child(4 of label) input:checked) [role=tabpanel]:not(:scope .tabs [role=tabpanel]):nth-child(4 of [role=tabpanel]),:scope:has([role=tablist]:not(:scope .tabs [role=tablist]) label:nth-child(5 of label) input:checked) [role=tabpanel]:not(:scope .tabs [role=tabpanel]):nth-child(5 of [role=tabpanel]),:scope:has([role=tablist]:not(:scope .tabs [role=tablist]) label:nth-child(6 of label) input:checked) [role=tabpanel]:not(:scope .tabs [role=tabpanel]):nth-child(6 of [role=tabpanel]),:scope:has([role=tablist]:not(:scope .tabs [role=tablist]) label:nth-child(7 of label) input:checked) [role=tabpanel]:not(:scope .tabs [role=tabpanel]):nth-child(7 of [role=tabpanel]),:scope:has([role=tablist]:not(:scope .tabs [role=tablist]) label:nth-child(8 of label) input:checked) [role=tabpanel]:not(:scope .tabs [role=tabpanel]):nth-child(8 of [role=tabpanel])){opacity:1;display:block;@starting-style{opacity:0}}}.prose{&>*+*{margin-block-start:1em}&>h1,&>h2,&>h3,&>h4,&>h5,&>h6{line-height:1.4}& p{max-width:65ch;line-height:1.6}&>ul,&>ol{list-style:revert;flex-direction:column;gap:.5lh;margin-block:1.61em;list-style-position:outside;display:flex;& li{margin-inline-start:1.5em;&::marker{color:var(--ui-neutral-400);font-variant-numeric:tabular-nums}}}&>blockquote{margin-block:1.61em;padding-inline-start:var(--ui-spacing-4);position:relative;&:before{content:"";background-color:var(--ui-neutral-200);border-radius:3px;width:3px;height:100%;display:block;position:absolute;left:0}& footer,& cite{margin-top:var(--ui-spacing-2);color:var(--ui-neutral-500)}}&>hgroup{margin-block-end:1.61em;&>p{color:var(--ui-neutral-500);margin-block-start:.61em}}& a:not(.button){color:var(--ui-primary)}}.empty{text-align:center;justify-content:center;align-items:center;gap:var(--ui-spacing-3);padding:var(--ui-spacing-8);color:var(--ui-neutral-400);flex-direction:column;margin:auto;&:not([hidden]){display:flex}&>svg{background:var(--ui-neutral-100);width:2.5rem;height:2.5rem;color:var(--ui-neutral-800);border-radius:6px;padding:.5rem}&>:is(h1,h2,h3,h4,h5,h6){color:var(--ui-neutral-950)}& p{max-width:35ch}&>button,&>a,&>.button,&>footer{margin-top:var(--ui-spacing-2)}&>footer{gap:var(--ui-spacing-2);display:flex}}:root{--ui-spacing:.25em;--ui-spacing-1:calc(var(--ui-spacing) * 1);--ui-spacing-2:calc(var(--ui-spacing) * 2);--ui-spacing-3:calc(var(--ui-spacing) * 3);--ui-spacing-4:calc(var(--ui-spacing) * 4);--ui-spacing-5:calc(var(--ui-spacing) * 5);--ui-spacing-6:calc(var(--ui-spacing) * 6);--ui-spacing-7:calc(var(--ui-spacing) * 7);--ui-spacing-8:calc(var(--ui-spacing) * 8);--ui-background-color:var(--ui-neutral-50);--ui-text-color:var(--ui-neutral-950)}}
|
|
2
|
+
/*# sourceMappingURL=ui.css.map */
|
package/ui.css.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sourceRoot":null,"mappings":"AAAA,gBCAA,2QAYA,6BAIA,0EAOA,0DAUA,yBAMA,8BAKA,0BAIA,0DAMA,yBAKA,mDAIA,wCAGE,6CAAA,8CAMF,8FDxEA,UIAA,iyfSAA,gTAcE,+EAKA,6EAKA,4FAKA,yFAKA,0EAKA,0EAKA,0EAKA,0EAKA,0EAKA,0EAKA,6DAKA,4BRrEF,iGAOE,mIAQA,yCAIA,2SAcE,uCAIA,qdAcA,qBACE,4CAKF,8FAOF,gDAIA,uEGpEF,kJAQE,iCAIA,0EAOA,gIAKA,gIAKA,qDAIA,kEAGE,yDAKA,6DAQJ,0BACE,oCAGE,oEAMA,8EI3DJ,odAyBE,iBACE,qBACE,gDAKF,gEAKA,4EAMF,qCAKA,oBAIA,wEAMA,0BAIA,gLAWA,qGAOA,+DAKA,4CAMA,+GAKE,iBACE,qBACE,gDAKF,iDAKF,sFAKF,+EAIE,iBACE,qBACE,gDAKF,iDAKF,sFAKF,2DAIE,iBACE,qBACE,gDAKF,iDAKF,sFAKF,oFAKE,iBACE,qBACE,gCAKF,kCAMJ,qFAIE,iBACE,qBACE,oDAKF,qDAKF,0FAKF,uEAIE,iBACE,qBACE,oDAKF,qDAKF,2FOlNJ,yGAQE,oHAOE,wCAIA,sDAKA,2CAOF,0FAOA,4CAIA,2BAIE,4CAKF,2DqBnDF,2XAwBE,kDAMA,gBACE,mCAMF,+MAUA,4BAIA,gBACE,8BAMJ,iGrC1DA,sKAOE,kDAMF,uOAaE,+fAWA,keAWA,2EAKA,sCIrDF,oKAUE,0CAIA,sDAKA,mDAKA,4EIxBF,gGAKE,+DAIE,mBAKF,qIAAA,uIAAA,sIAAA,sIAAA,wIAAA,uIOdF,wIAOE,kDAMF,oOAaE,ibAWA,qCAKA,8FgB1CF,wGAOA,qNASE,8GAWA,0DAKA,iGAOF,0BACE,qCnB/BF,4iBA6BE,yDAMF,uFAIA,ucAaA,2IAOE,0IAMA,uEAOA,oFAKA,8HAMA,+FAKA,mFAKA,kIAME,oCAMF,uTAkBA,8BACE,0BAGA,qBAOJ,wFACE,oBAKF,mKAME,6SAgBE,gBAAiB,WAKnB,uNAQF,oOAKA,kOAKA,mPClMA,kXAiBE,mCAKA,oCAIA,sEAOA,wEIjCF,4BAGE,0JAQA,yJAQE,oCAIA,ycAeJ,iRAUA,8OAUA,0GC1DA,oBACE,0DAKA,gHCNF,+TAiBE,kDAKA,gDAKA,ybC3BF,kEAKE,6DAIA,qDAKA,gHAKA,iJAUF,2BrB7BA,iKAQE,qEAMA,qDAKA,6EInBF,iuBAqBE,mCAIA,sCIzBF,0XAQE,gDIRF,+BAGE,mBAIA,qLGPF,8OASE,8MAUA,yLAeA,iGAMA,6FAMA,sCkB9CF,wRAeE,yMAYA,mEAIE,qCAKF,2EAKA,sCCzCF,wEAGE,2GASA,sLAWA,sFASA,+HAKA,kNASA,6EAKA,qKASA,8EAKA,gKASA,8EAKA,iKAQA,qBACE,wCAMF,wDC9FF,sMCAA,4TAcE,uBAIA,yGAQE,sBC1BJ,2yBAIA,oMfJA,+FAKA,kGAQE,yDAIA,2EAKA,sEAKA,mQAYE,uCACA,yCACA,sCCzCJ,kZAuBE,0CAIE,kEAKA,2DAIA,0DAIA,6EAMM,6KAQR,4CAIA,mDAMA,gBACE,4DAOJ,iIAOA,kHAMA,sJASA,uDAGA,wDAGA,0DAMA,iIAOA,mIAQA,2HAOA,6HAQA,2IAQA,iJASA,6IAQA,mJCjKA,KACE,kFAOA,yLASE,4HAUA,qBACE,0CAKF,8CACE,icAcA,gDAMJ,sCAIA,+NC1DF,2CCCA,yCACE,4aAeF,kEAIA,kHCrBA,whBAwBE,4HAUA,sCAIA,wMAUA,kEAOE,gBAAiB,qBAMnB,gEAYA,6DAGE,kDAKE,gBAAiB,qBAMnB,qDAWF,gEAKA,oGAKA,2BACE,iDAMF,iFAKA,iDAKA,6CC7HF,+IASA,qEAGA,sEAGA,sEAGA,sEAGA,sEAGA,sEAGA,sEAGA,sEAGA,sEAGA,wEAGA,wEAGA,wEAGA,wEAGA,wEAGA,wEAGA,wEAGA,wEAGA,wEAGA,wEAGA,wEAGA,wEAGA,wEAGA,wEAGA,wEAGA,wEAGA,wEAGA,wEAGA,wEAGA,wEAGA,wEAIA,qGAOA,mCAMA,+DAKE,qBACE,6CAMJ,oHAOA,6CAKA,wDAMA,yEAKA,oEAKA,2ECzJA,+BACE,uEAIA,gLAWE,sDAIA,wTAkBA,iPAaE,oEAMA,qBACE,qCAKF,iDAIA,wGAMA,sEAQJ,2GAMA,mHASA,69CAWE,gBAAiB,YC3GrB,OACE,6BAIA,8CASA,mCAKA,wHAWE,+BAGE,0EAOJ,4FAOE,0IAWA,4EAOF,iCAGE,0DAMF,0CC1EF,qLAWE,6BAIA,8HASA,qDAIA,mBAIA,+DAOA,+CjCOA","sources":["packages/core/src/main.css","packages/core/src/reset.css","packages/core/src/components/radio-group.css","packages/core/src/components/checkbox.css","packages/core/src/components/accordion.css","packages/core/src/easings.css","packages/core/src/components/select.css","packages/core/src/components/color-input.css","packages/core/src/components/card.css","packages/core/src/colors.css","packages/core/src/components/datalist.css","packages/core/src/components/badge.css","packages/core/src/components/text-field.css","packages/core/src/components/combobox.css","packages/core/src/components/date-input.css","packages/core/src/components/button.css","packages/core/src/components/file-drop.css","packages/core/src/components/expander.css","packages/core/src/components/focus-group.css","packages/core/src/components/textarea.css","packages/core/src/components/field.css","packages/core/src/components/progress.css","packages/core/src/components/popover.css","packages/core/src/components/menu.css","packages/core/src/components/dropdown.css","packages/core/src/components/submenu.css","packages/core/src/components/toggle.css","packages/core/src/components/table.css","packages/core/src/components/tabs.css","packages/core/src/components/prose.css","packages/core/src/components/empty.css","packages/core/src/components/separator.css","packages/core/src/components/switch.css","packages/core/src/components/tooltip.css","packages/core/src/components/code.css","packages/core/src/components/kbd.css","packages/core/src/components/radio.css","packages/core/src/components/button-group.css","packages/core/src/components/slider.css","packages/core/src/components/loading.css","packages/core/src/components/dialog.css"],"sourcesContent":["@layer ui-reset, ui;\n\n@import \"./reset.css\" layer(ui-reset);\n\n@import \"./easings.css\" layer(ui);\n@import \"./colors.css\" layer(ui);\n\n@import \"./components/badge.css\" layer(ui);\n@import \"./components/accordion.css\" layer(ui);\n@import \"./components/card.css\" layer(ui);\n@import \"./components/button.css\" layer(ui);\n@import \"./components/button-group.css\" layer(ui);\n@import \"./components/dialog.css\" layer(ui);\n@import \"./components/checkbox.css\" layer(ui);\n@import \"./components/color-input.css\" layer(ui);\n@import \"./components/date-input.css\" layer(ui);\n@import \"./components/radio.css\" layer(ui);\n@import \"./components/separator.css\" layer(ui);\n@import \"./components/text-field.css\" layer(ui);\n@import \"./components/file-drop.css\" layer(ui);\n@import \"./components/expander.css\" layer(ui);\n@import \"./components/focus-group.css\" layer(ui);\n@import \"./components/textarea.css\" layer(ui);\n@import \"./components/field.css\" layer(ui);\n@import \"./components/radio-group.css\" layer(ui);\n@import \"./components/select.css\" layer(ui);\n@import \"./components/datalist.css\" layer(ui);\n@import \"./components/combobox.css\" layer(ui);\n@import \"./components/slider.css\" layer(ui);\n@import \"./components/switch.css\" layer(ui);\n@import \"./components/tooltip.css\" layer(ui);\n@import \"./components/code.css\" layer(ui);\n@import \"./components/kbd.css\" layer(ui);\n@import \"./components/loading.css\" layer(ui);\n@import \"./components/progress.css\" layer(ui);\n@import \"./components/popover.css\" layer(ui);\n@import \"./components/menu.css\" layer(ui);\n@import \"./components/dropdown.css\" layer(ui);\n@import \"./components/submenu.css\" layer(ui);\n@import \"./components/toggle.css\" layer(ui);\n@import \"./components/table.css\" layer(ui);\n@import \"./components/tabs.css\" layer(ui);\n@import \"./components/prose.css\" layer(ui);\n@import \"./components/empty.css\" layer(ui);\n\n@layer ui {\n :root {\n --ui-spacing: 0.25em;\n\n --ui-spacing-1: calc(var(--ui-spacing) * 1);\n --ui-spacing-2: calc(var(--ui-spacing) * 2);\n --ui-spacing-3: calc(var(--ui-spacing) * 3);\n --ui-spacing-4: calc(var(--ui-spacing) * 4);\n --ui-spacing-5: calc(var(--ui-spacing) * 5);\n --ui-spacing-6: calc(var(--ui-spacing) * 6);\n --ui-spacing-7: calc(var(--ui-spacing) * 7);\n --ui-spacing-8: calc(var(--ui-spacing) * 8);\n\n --ui-background-color: var(--ui-neutral-50);\n --ui-text-color: var(--ui-neutral-950);\n }\n}\n",":root {\n interpolate-size: allow-keywords;\n\n font-family: system-ui;\n font-size: 14px;\n text-rendering: geometricPrecision;\n -webkit-font-smoothing: antialiased;\n -webkit-tap-highlight-color: transparent;\n -moz-osx-font-smoothing: grayscale;\n text-size-adjust: 100%;\n}\n\nhtml {\n scrollbar-gutter: stable;\n}\n\n:where(*) {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n text-wrap-style: pretty;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n text-wrap-style: balance;\n font-weight: 600;\n}\n\nul,\nol,\nli {\n list-style: none;\n}\n\nul li,\nol li {\n list-style: revert;\n}\n\na {\n color: var(--ui-primary);\n}\n\nimg {\n vertical-align: middle;\n object-fit: cover;\n max-width: 100%;\n}\n\nsvg {\n width: 1lh;\n height: 1lh;\n}\n\n::selection {\n background-color: var(--ui-neutral-200);\n}\n\ninput[type=\"number\"] {\n appearance: textfield;\n\n &::-webkit-inner-spin-button,\n &::-webkit-outer-spin-button {\n appearance: none;\n }\n}\n\na:focus-visible {\n border-radius: 8px;\n outline: 2px solid var(--ui-neutral-950);\n outline-offset: 2px;\n}\n","fieldset:not([role=\"group\"]):has(input[type=\"radio\"], input[type=\"checkbox\"]) {\n display: flex;\n flex-direction: column;\n gap: var(--ui-spacing-2);\n border: none;\n padding: 0;\n margin: 0;\n\n > legend {\n font-weight: 600;\n padding: 0;\n margin-bottom: var(--ui-spacing-2);\n }\n\n > small {\n color: var(--ui-neutral-500);\n font-size: 0.875em;\n }\n\n &:has(input:required) > legend::after {\n content: \" *\";\n color: var(--ui-destructive);\n }\n}\n","label:not(.field):has(> input:where([type=\"checkbox\"])) {\n display: flex;\n align-items: center;\n gap: var(--ui-spacing-2);\n cursor: pointer;\n user-select: none;\n\n &:has(> input:disabled) {\n opacity: 0.4;\n cursor: default;\n }\n}\n\ninput[type=\"checkbox\"] {\n appearance: none;\n width: 16px;\n aspect-ratio: 1;\n border-radius: 4px;\n box-shadow: 0 0 0 1.5px var(--ui-neutral-300) inset;\n background-color: transparent;\n cursor: pointer;\n flex-shrink: 0;\n transition:\n background-color 100ms,\n box-shadow 100ms;\n\n &:checked {\n background-color: var(--ui-primary);\n box-shadow: 0 0 0 1.5px var(--ui-primary) inset;\n mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-9.5 -10 44 45' overflow='visible'%3E%3Crect x='-100' y='-100' width='200' height='200' fill='white'/%3E%3Cpath d='M5 12l5 5l10 -10' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\");\n mask-mode: luminance;\n mask-size: 24px;\n mask-position: 50%;\n mask-repeat: no-repeat;\n mask-clip: no-clip;\n }\n\n &:indeterminate {\n background-color: var(--ui-primary);\n box-shadow: 0 0 0 1.5px var(--ui-primary) inset;\n mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-8 -8 40 40' overflow='visible'%3E%3Crect x='-100' y='-100' width='200' height='200' fill='white'/%3E%3Cpath d='M6 12h12' fill='none' stroke='black' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E\");\n mask-mode: luminance;\n mask-size: 24px;\n mask-position: 50%;\n mask-repeat: no-repeat;\n mask-clip: no-clip;\n }\n\n &:focus-visible {\n outline: 2px solid var(--ui-neutral-950);\n outline-offset: 2px;\n }\n\n &:disabled {\n opacity: 0.4;\n cursor: default;\n }\n}\n","details {\n interpolate-size: allow-keywords;\n\n width: 100%;\n border-bottom: 1px solid var(--ui-neutral-200);\n /* border-radius: 8px; */\n\n &::details-content {\n transition:\n block-size 300ms var(--ease-glide),\n content-visibility 200ms allow-discrete;\n overflow: hidden;\n block-size: 0; /* Or also: height:0; */\n }\n\n &[open]::details-content {\n block-size: auto; /* Or also: height:auto; */\n }\n\n summary {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.75rem;\n cursor: pointer;\n list-style: none;\n user-select: none;\n padding-block: var(--ui-spacing-3);\n\n text-decoration: underline;\n text-decoration-color: transparent;\n transition: text-decoration-color 100ms;\n\n &::-webkit-details-marker {\n display: none;\n }\n\n &::after {\n content: \"\";\n display: inline-block;\n background-color: currentColor;\n mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E\");\n mask-size: 1rem;\n mask-repeat: no-repeat;\n mask-position: center;\n width: 1rem;\n aspect-ratio: 1;\n flex-shrink: 0;\n transition: transform 300ms var(--ease-glide);\n }\n\n @media (hover: hover) {\n &:hover {\n text-decoration-color: currentColor;\n }\n }\n\n &:focus-visible {\n outline: 2px solid var(--ui-neutral-950);\n outline-offset: 2px;\n border-radius: 8px;\n }\n }\n\n &[open] > summary::after {\n transform: rotate(-180deg);\n }\n\n > *:not(summary) {\n padding-block: var(--ui-spacing-3) var(--ui-spacing-6);\n }\n}\n",":root {\n --ease-glide: linear(\n 0,\n 0.001 0.4%,\n 0.004 0.9%,\n 0.018 1.9%,\n 0.038 2.9%,\n 0.07 4.1%,\n 0.1 5.1%,\n 0.136 6.2%,\n 0.33 11.7%,\n 0.426 14.6%,\n 0.475 16.2%,\n 0.521 17.8%,\n 0.563 19.4%,\n 0.602 21%,\n 0.64 22.7%,\n 0.675 24.4%,\n 0.708 26.2%,\n 0.739 28%,\n 0.767 29.9%,\n 0.793 31.8%,\n 0.817 33.8%,\n 0.838 35.8%,\n 0.859 38.1%,\n 0.879 40.6%,\n 0.897 43.1%,\n 0.913 45.8%,\n 0.927 48.7%,\n 0.939 51.7%,\n 0.95 54.9%,\n 0.96 58.4%,\n 0.975 66%,\n 0.986 74.9%,\n 0.993 85.9%,\n 1\n );\n\n --ease-snap: linear(0, 0.03 1.1%, 0.125 2.4%, 0.906 9.8%, 1.046 12.3%, 1.11 15%, 1.116 16.3%, 1.11 17.8%, 1.014 25.8%, 0.987 31.2%, 1.001 47.2%, 1);\n\n --ease-heavy: linear(\n 0,\n 0.01 0.7%,\n 0.044 1.5%,\n 0.171 3.1%,\n 0.339 4.6%,\n 0.857 8.7%,\n 1.088 11%,\n 1.17 12.1%,\n 1.232 13.2%,\n 1.273 14.3%,\n 1.297 15.5%,\n 1.299 16.9%,\n 1.273 18.5%,\n 1.22 20.3%,\n 1.057 24.6%,\n 0.986 26.8%,\n 0.934 29.2%,\n 0.911 31.7%,\n 0.918 34.8%,\n 1.003 43%,\n 1.027 47.8%,\n 1.025 51.1%,\n 0.992 63.8%,\n 1.002 79.7%,\n 1\n );\n\n --ease-in-sine: cubic-bezier(0.12, 0, 0.39, 0);\n --ease-out-sine: cubic-bezier(0.61, 1, 0.88, 1);\n --ease-in-out-sine: cubic-bezier(0.37, 0, 0.63, 1);\n\n --ease-in-quad: cubic-bezier(0.11, 0, 0.5, 0);\n --ease-out-quad: cubic-bezier(0.5, 1, 0.89, 1);\n --ease-in-out-quad: cubic-bezier(0.45, 0, 0.55, 1);\n\n --ease-in-cubic: cubic-bezier(0.32, 0, 0.67, 0);\n --ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1);\n --ease-in-out-cubic: cubic-bezier(0.65, 0, 0.35, 1);\n\n --ease-in-quart: cubic-bezier(0.5, 0, 0.75, 0);\n --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);\n --ease-in-out-quart: cubic-bezier(0.76, 0, 0.24, 1);\n\n --ease-in-quint: cubic-bezier(0.64, 0, 0.78, 0);\n --ease-out-quint: cubic-bezier(0.22, 1, 0.36, 1);\n --ease-in-out-quint: cubic-bezier(0.83, 0, 0.17, 1);\n\n --ease-in-expo: cubic-bezier(0.7, 0, 0.84, 0);\n --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);\n --ease-in-out-expo: cubic-bezier(0.87, 0, 0.13, 1);\n\n --ease-in-circ: cubic-bezier(0.55, 0, 1, 0.45);\n --ease-out-circ: cubic-bezier(0, 0.55, 0.45, 1);\n --ease-in-out-circ: cubic-bezier(0.85, 0, 0.15, 1);\n\n --ease-in-back: cubic-bezier(0.36, 0, 0.66, -0.56);\n --ease-out-back: cubic-bezier(0.34, 1.56, 0.64, 1);\n --ease-in-out-back: cubic-bezier(0.68, -0.6, 0.32, 1.6);\n}\n","select {\n appearance: none;\n border: none;\n box-shadow: 0 0 0 1px var(--ui-neutral-200) inset;\n\n padding-block: var(--ui-spacing-2);\n padding-inline: var(--ui-spacing-3);\n padding-inline-end: calc(1rem + var(--ui-spacing-6));\n border-radius: var(--ui-spacing-2);\n\n font: inherit;\n cursor: pointer;\n user-select: none;\n field-sizing: content;\n\n background-color: var(--ui-background-color);\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n background-position: right var(--ui-spacing-3) center;\n background-size: 1rem;\n\n &:focus {\n box-shadow: 0 0 0 1px currentColor inset;\n }\n\n &:disabled {\n opacity: 0.4;\n cursor: default;\n }\n}\n","input[type=\"color\"] {\n appearance: none;\n width: 2.25rem;\n height: 2.25rem;\n border-radius: 8px;\n border: 1px solid var(--ui-neutral-200);\n padding: 0.2rem;\n background: none;\n cursor: pointer;\n\n &::-webkit-color-swatch-wrapper {\n padding: 0;\n }\n\n &::-webkit-color-swatch {\n border: none;\n border-radius: 4px;\n }\n\n &::-moz-color-swatch {\n border: none;\n border-radius: 4px;\n }\n\n &:focus-visible {\n outline: 2px solid var(--ui-neutral-950);\n outline-offset: 2px;\n }\n}\n","article {\n --card-border-radius: 12px;\n\n box-shadow: 0 0 0 1px inset var(--ui-neutral-100);\n border-radius: 12px;\n overflow: hidden;\n padding: var(--ui-spacing-4);\n\n &:has(> header, > footer) {\n padding: 0;\n }\n\n & > header,\n & > footer {\n display: flex;\n align-items: center;\n gap: var(--ui-spacing-2);\n }\n\n & > header {\n box-shadow: 0 0 0 1px inset var(--ui-neutral-100);\n border-radius: var(--card-border-radius) var(--card-border-radius) 0 0;\n }\n\n & > footer {\n box-shadow: 0 0 0 1px inset var(--ui-neutral-100);\n border-radius: 0 0 var(--card-border-radius) var(--card-border-radius);\n }\n\n &:has(> header, > footer) > * {\n padding: var(--ui-spacing-4);\n }\n\n &:has(> header, > footer) > :not(header):not(footer) {\n margin-inline: 1px;\n\n &:first-child {\n margin-top: 1px;\n border-radius: 11px 11px 0 0;\n }\n\n &:last-child {\n margin-bottom: 1px;\n border-radius: 0 0 11px 11px;\n }\n }\n}\n\n/* Reduce padding when the card's parent container is narrow */\n@container (max-width: 320px) {\n article {\n padding: var(--ui-spacing-3);\n\n & > header,\n & > footer {\n padding: var(--ui-spacing-3);\n gap: var(--ui-spacing);\n }\n\n &:has(> header, > footer) > :not(header):not(footer) {\n padding: var(--ui-spacing-3);\n }\n }\n}\n",":root {\n color-scheme: light dark;\n\n --ui-primary-light: dodgerblue;\n --ui-primary-dark: color-mix(in oklab, dodgerblue, white 20%);\n\n --ui-primary: light-dark(var(--ui-primary-light), var(--ui-primary-dark));\n \n --ui-neutral: #8b8c93;\n --ui-constructive: #5dbb55;\n --ui-destructive: #ef5655;\n\n --ui-color1: crimson;\n --ui-color2: gold;\n --ui-color3: forestgreen;\n --ui-color4: royalblue;\n --ui-color5: slateblue;\n --ui-color6: plum;\n\n --ui-primary-50: light-dark(color-mix(in oklab, var(--ui-primary), white 95%), color-mix(in oklab, var(--ui-primary), black 73.75%));\n\n --ui-primary-100: light-dark(color-mix(in oklab, var(--ui-primary), white 87%), color-mix(in oklab, var(--ui-primary), black 58.5%));\n\n --ui-primary-200: light-dark(color-mix(in oklab, var(--ui-primary), white 70%), color-mix(in oklab, var(--ui-primary), black 43.5%));\n\n --ui-primary-300: light-dark(color-mix(in oklab, var(--ui-primary), white 47%), color-mix(in oklab, var(--ui-primary), black 28.25%));\n\n --ui-primary-400: light-dark(color-mix(in oklab, var(--ui-primary), white 23%), color-mix(in oklab, var(--ui-primary), black 15.5%));\n\n --ui-primary-500: var(--ui-primary);\n\n --ui-primary-600: light-dark(color-mix(in oklab, var(--ui-primary), black 15.5%), color-mix(in oklab, var(--ui-primary), white 23%));\n\n --ui-primary-700: light-dark(color-mix(in oklab, var(--ui-primary), black 28.25%), color-mix(in oklab, var(--ui-primary), white 47%));\n\n --ui-primary-800: light-dark(color-mix(in oklab, var(--ui-primary), black 43.5%), color-mix(in oklab, var(--ui-primary), white 70%));\n\n --ui-primary-900: light-dark(color-mix(in oklab, var(--ui-primary), black 58.5%), color-mix(in oklab, var(--ui-primary), white 87%));\n\n --ui-primary-950: light-dark(color-mix(in oklab, var(--ui-primary), black 73.75%), color-mix(in oklab, var(--ui-primary), white 95%));\n\n --ui-neutral-0: light-dark(color-mix(in oklab, var(--ui-neutral), white 100%), color-mix(in oklab, var(--ui-neutral), black 100%));\n\n --ui-neutral-50: light-dark(color-mix(in oklab, var(--ui-neutral), white 95%), color-mix(in oklab, var(--ui-neutral), black 73.75%));\n\n --ui-neutral-100: light-dark(color-mix(in oklab, var(--ui-neutral), white 87%), color-mix(in oklab, var(--ui-neutral), black 58.5%));\n\n --ui-neutral-200: light-dark(color-mix(in oklab, var(--ui-neutral), white 70%), color-mix(in oklab, var(--ui-neutral), black 43.5%));\n\n --ui-neutral-300: light-dark(color-mix(in oklab, var(--ui-neutral), white 47%), color-mix(in oklab, var(--ui-neutral), black 28.25%));\n\n --ui-neutral-400: light-dark(color-mix(in oklab, var(--ui-neutral), white 23%), color-mix(in oklab, var(--ui-neutral), black 15.5%));\n\n --ui-neutral-500: var(--ui-neutral);\n\n --ui-neutral-600: light-dark(color-mix(in oklab, var(--ui-neutral), black 15.5%), color-mix(in oklab, var(--ui-neutral), white 23%));\n\n --ui-neutral-700: light-dark(color-mix(in oklab, var(--ui-neutral), black 28.25%), color-mix(in oklab, var(--ui-neutral), white 47%));\n\n --ui-neutral-800: light-dark(color-mix(in oklab, var(--ui-neutral), black 43.5%), color-mix(in oklab, var(--ui-neutral), white 70%));\n\n --ui-neutral-900: light-dark(color-mix(in oklab, var(--ui-neutral), black 58.5%), color-mix(in oklab, var(--ui-neutral), white 87%));\n\n --ui-neutral-950: light-dark(color-mix(in oklab, var(--ui-neutral), black 73.75%), color-mix(in oklab, var(--ui-neutral), white 95%));\n\n --ui-neutral-1000: light-dark(color-mix(in oklab, var(--ui-neutral), black 100%), color-mix(in oklab, var(--ui-neutral), white 100%));\n\n --ui-constructive-50: light-dark(color-mix(in oklab, var(--ui-constructive), white 95%), color-mix(in oklab, var(--ui-constructive), black 73.75%));\n\n --ui-constructive-100: light-dark(color-mix(in oklab, var(--ui-constructive), white 87%), color-mix(in oklab, var(--ui-constructive), black 58.5%));\n\n --ui-constructive-200: light-dark(color-mix(in oklab, var(--ui-constructive), white 70%), color-mix(in oklab, var(--ui-constructive), black 43.5%));\n\n --ui-constructive-300: light-dark(color-mix(in oklab, var(--ui-constructive), white 47%), color-mix(in oklab, var(--ui-constructive), black 28.25%));\n\n --ui-constructive-400: light-dark(color-mix(in oklab, var(--ui-constructive), white 23%), color-mix(in oklab, var(--ui-constructive), black 15.5%));\n\n --ui-constructive-500: var(--ui-constructive);\n\n --ui-constructive-600: light-dark(color-mix(in oklab, var(--ui-constructive), black 15.5%), color-mix(in oklab, var(--ui-constructive), white 23%));\n\n --ui-constructive-700: light-dark(color-mix(in oklab, var(--ui-constructive), black 28.25%), color-mix(in oklab, var(--ui-constructive), white 47%));\n\n --ui-constructive-800: light-dark(color-mix(in oklab, var(--ui-constructive), black 43.5%), color-mix(in oklab, var(--ui-constructive), white 70%));\n\n --ui-constructive-900: light-dark(color-mix(in oklab, var(--ui-constructive), black 58.5%), color-mix(in oklab, var(--ui-constructive), white 87%));\n\n --ui-constructive-950: light-dark(color-mix(in oklab, var(--ui-constructive), black 73.75%), color-mix(in oklab, var(--ui-constructive), white 95%));\n\n --ui-destructive-50: light-dark(color-mix(in oklab, var(--ui-destructive), white 95%), color-mix(in oklab, var(--ui-destructive), black 73.75%));\n\n --ui-destructive-100: light-dark(color-mix(in oklab, var(--ui-destructive), white 87%), color-mix(in oklab, var(--ui-destructive), black 58.5%));\n\n --ui-destructive-200: light-dark(color-mix(in oklab, var(--ui-destructive), white 70%), color-mix(in oklab, var(--ui-destructive), black 43.5%));\n\n --ui-destructive-300: light-dark(color-mix(in oklab, var(--ui-destructive), white 47%), color-mix(in oklab, var(--ui-destructive), black 28.25%));\n\n --ui-destructive-400: light-dark(color-mix(in oklab, var(--ui-destructive), white 23%), color-mix(in oklab, var(--ui-destructive), black 15.5%));\n\n --ui-destructive-500: var(--ui-destructive);\n\n --ui-destructive-600: light-dark(color-mix(in oklab, var(--ui-destructive), black 15.5%), color-mix(in oklab, var(--ui-destructive), white 23%));\n\n --ui-destructive-700: light-dark(color-mix(in oklab, var(--ui-destructive), black 28.25%), color-mix(in oklab, var(--ui-destructive), white 47%));\n\n --ui-destructive-800: light-dark(color-mix(in oklab, var(--ui-destructive), black 43.5%), color-mix(in oklab, var(--ui-destructive), white 70%));\n\n --ui-destructive-900: light-dark(color-mix(in oklab, var(--ui-destructive), black 58.5%), color-mix(in oklab, var(--ui-destructive), white 87%));\n\n --ui-destructive-950: light-dark(color-mix(in oklab, var(--ui-destructive), black 73.75%), color-mix(in oklab, var(--ui-destructive), white 95%));\n\n --ui-color1-50: light-dark(color-mix(in oklab, var(--ui-color1), white 95%), color-mix(in oklab, var(--ui-color1), black 73.75%));\n\n --ui-color1-100: light-dark(color-mix(in oklab, var(--ui-color1), white 87%), color-mix(in oklab, var(--ui-color1), black 58.5%));\n\n --ui-color1-200: light-dark(color-mix(in oklab, var(--ui-color1), white 70%), color-mix(in oklab, var(--ui-color1), black 43.5%));\n\n --ui-color1-300: light-dark(color-mix(in oklab, var(--ui-color1), white 47%), color-mix(in oklab, var(--ui-color1), black 28.25%));\n\n --ui-color1-400: light-dark(color-mix(in oklab, var(--ui-color1), white 23%), color-mix(in oklab, var(--ui-color1), black 15.5%));\n\n --ui-color1-500: var(--ui-color1);\n\n --ui-color1-600: light-dark(color-mix(in oklab, var(--ui-color1), black 15.5%), color-mix(in oklab, var(--ui-color1), white 15%));\n\n --ui-color1-700: light-dark(color-mix(in oklab, var(--ui-color1), black 28.25%), color-mix(in oklab, var(--ui-color1), white 47%));\n\n --ui-color1-800: light-dark(color-mix(in oklab, var(--ui-color1), black 43.5%), color-mix(in oklab, var(--ui-color1), white 70%));\n\n --ui-color1-900: light-dark(color-mix(in oklab, var(--ui-color1), black 58.5%), color-mix(in oklab, var(--ui-color1), white 87%));\n\n --ui-color1-950: light-dark(color-mix(in oklab, var(--ui-color1), black 73.75%), color-mix(in oklab, var(--ui-color1), white 95%));\n\n --ui-color2-50: light-dark(color-mix(in oklab, var(--ui-color2), white 95%), color-mix(in oklab, var(--ui-color2), black 73.75%));\n\n --ui-color2-100: light-dark(color-mix(in oklab, var(--ui-color2), white 87%), color-mix(in oklab, var(--ui-color2), black 58.5%));\n\n --ui-color2-200: light-dark(color-mix(in oklab, var(--ui-color2), white 70%), color-mix(in oklab, var(--ui-color2), black 43.5%));\n\n --ui-color2-300: light-dark(color-mix(in oklab, var(--ui-color2), white 47%), color-mix(in oklab, var(--ui-color2), black 28.25%));\n\n --ui-color2-400: light-dark(color-mix(in oklab, var(--ui-color2), white 23%), color-mix(in oklab, var(--ui-color2), black 15.5%));\n\n --ui-color2-500: var(--ui-color2);\n\n --ui-color2-600: light-dark(color-mix(in oklab, var(--ui-color2), black 15.5%), color-mix(in oklab, var(--ui-color2), white 15%));\n\n --ui-color2-700: light-dark(color-mix(in oklab, var(--ui-color2), black 28.25%), color-mix(in oklab, var(--ui-color2), white 47%));\n\n --ui-color2-800: light-dark(color-mix(in oklab, var(--ui-color2), black 43.5%), color-mix(in oklab, var(--ui-color2), white 70%));\n\n --ui-color2-900: light-dark(color-mix(in oklab, var(--ui-color2), black 58.5%), color-mix(in oklab, var(--ui-color2), white 87%));\n\n --ui-color2-950: light-dark(color-mix(in oklab, var(--ui-color2), black 73.75%), color-mix(in oklab, var(--ui-color2), white 95%));\n\n --ui-color3-50: light-dark(color-mix(in oklab, var(--ui-color3), white 95%), color-mix(in oklab, var(--ui-color3), black 73.75%));\n\n --ui-color3-100: light-dark(color-mix(in oklab, var(--ui-color3), white 87%), color-mix(in oklab, var(--ui-color3), black 58.5%));\n\n --ui-color3-200: light-dark(color-mix(in oklab, var(--ui-color3), white 70%), color-mix(in oklab, var(--ui-color3), black 43.5%));\n\n --ui-color3-300: light-dark(color-mix(in oklab, var(--ui-color3), white 47%), color-mix(in oklab, var(--ui-color3), black 28.25%));\n\n --ui-color3-400: light-dark(color-mix(in oklab, var(--ui-color3), white 23%), color-mix(in oklab, var(--ui-color3), black 15.5%));\n\n --ui-color3-500: var(--ui-color3);\n\n --ui-color3-600: light-dark(color-mix(in oklab, var(--ui-color3), black 15.5%), color-mix(in oklab, var(--ui-color3), white 15%));\n\n --ui-color3-700: light-dark(color-mix(in oklab, var(--ui-color3), black 28.25%), color-mix(in oklab, var(--ui-color3), white 47%));\n\n --ui-color3-800: light-dark(color-mix(in oklab, var(--ui-color3), black 43.5%), color-mix(in oklab, var(--ui-color3), white 70%));\n\n --ui-color3-900: light-dark(color-mix(in oklab, var(--ui-color3), black 58.5%), color-mix(in oklab, var(--ui-color3), white 87%));\n\n --ui-color3-950: light-dark(color-mix(in oklab, var(--ui-color3), black 73.75%), color-mix(in oklab, var(--ui-color3), white 95%));\n\n --ui-color4-50: light-dark(color-mix(in oklab, var(--ui-color4), white 95%), color-mix(in oklab, var(--ui-color4), black 73.75%));\n\n --ui-color4-100: light-dark(color-mix(in oklab, var(--ui-color4), white 87%), color-mix(in oklab, var(--ui-color4), black 58.5%));\n\n --ui-color4-200: light-dark(color-mix(in oklab, var(--ui-color4), white 70%), color-mix(in oklab, var(--ui-color4), black 43.5%));\n\n --ui-color4-300: light-dark(color-mix(in oklab, var(--ui-color4), white 47%), color-mix(in oklab, var(--ui-color4), black 28.25%));\n\n --ui-color4-400: light-dark(color-mix(in oklab, var(--ui-color4), white 23%), color-mix(in oklab, var(--ui-color4), black 15.5%));\n\n --ui-color4-500: var(--ui-color4);\n\n --ui-color4-600: light-dark(color-mix(in oklab, var(--ui-color4), black 15.5%), color-mix(in oklab, var(--ui-color4), white 15%));\n\n --ui-color4-700: light-dark(color-mix(in oklab, var(--ui-color4), black 28.25%), color-mix(in oklab, var(--ui-color4), white 47%));\n\n --ui-color4-800: light-dark(color-mix(in oklab, var(--ui-color4), black 43.5%), color-mix(in oklab, var(--ui-color4), white 70%));\n\n --ui-color4-900: light-dark(color-mix(in oklab, var(--ui-color4), black 58.5%), color-mix(in oklab, var(--ui-color4), white 87%));\n\n --ui-color4-950: light-dark(color-mix(in oklab, var(--ui-color4), black 73.75%), color-mix(in oklab, var(--ui-color4), white 95%));\n\n --ui-color5-50: light-dark(color-mix(in oklab, var(--ui-color5), white 95%), color-mix(in oklab, var(--ui-color5), black 73.75%));\n\n --ui-color5-100: light-dark(color-mix(in oklab, var(--ui-color5), white 87%), color-mix(in oklab, var(--ui-color5), black 58.5%));\n\n --ui-color5-200: light-dark(color-mix(in oklab, var(--ui-color5), white 70%), color-mix(in oklab, var(--ui-color5), black 43.5%));\n\n --ui-color5-300: light-dark(color-mix(in oklab, var(--ui-color5), white 47%), color-mix(in oklab, var(--ui-color5), black 28.25%));\n\n --ui-color5-400: light-dark(color-mix(in oklab, var(--ui-color5), white 23%), color-mix(in oklab, var(--ui-color5), black 15.5%));\n\n --ui-color5-500: var(--ui-color5);\n\n --ui-color5-600: light-dark(color-mix(in oklab, var(--ui-color5), black 15.5%), color-mix(in oklab, var(--ui-color5), white 15%));\n\n --ui-color5-700: light-dark(color-mix(in oklab, var(--ui-color5), black 28.25%), color-mix(in oklab, var(--ui-color5), white 47%));\n\n --ui-color5-800: light-dark(color-mix(in oklab, var(--ui-color5), black 43.5%), color-mix(in oklab, var(--ui-color5), white 70%));\n\n --ui-color5-900: light-dark(color-mix(in oklab, var(--ui-color5), black 58.5%), color-mix(in oklab, var(--ui-color5), white 87%));\n\n --ui-color5-950: light-dark(color-mix(in oklab, var(--ui-color5), black 73.75%), color-mix(in oklab, var(--ui-color5), white 95%));\n\n --ui-color6-50: light-dark(color-mix(in oklab, var(--ui-color6), white 95%), color-mix(in oklab, var(--ui-color6), black 73.75%));\n\n --ui-color6-100: light-dark(color-mix(in oklab, var(--ui-color6), white 87%), color-mix(in oklab, var(--ui-color6), black 58.5%));\n\n --ui-color6-200: light-dark(color-mix(in oklab, var(--ui-color6), white 70%), color-mix(in oklab, var(--ui-color6), black 43.5%));\n\n --ui-color6-300: light-dark(color-mix(in oklab, var(--ui-color6), white 47%), color-mix(in oklab, var(--ui-color6), black 28.25%));\n\n --ui-color6-400: light-dark(color-mix(in oklab, var(--ui-color6), white 23%), color-mix(in oklab, var(--ui-color6), black 15.5%));\n\n --ui-color6-500: var(--ui-color6);\n\n --ui-color6-600: light-dark(color-mix(in oklab, var(--ui-color6), black 15.5%), color-mix(in oklab, var(--ui-color6), white 15%));\n\n --ui-color6-700: light-dark(color-mix(in oklab, var(--ui-color6), black 28.25%), color-mix(in oklab, var(--ui-color6), white 47%));\n\n --ui-color6-800: light-dark(color-mix(in oklab, var(--ui-color6), black 43.5%), color-mix(in oklab, var(--ui-color6), white 70%));\n\n --ui-color6-900: light-dark(color-mix(in oklab, var(--ui-color6), black 58.5%), color-mix(in oklab, var(--ui-color6), white 87%));\n\n --ui-color6-950: light-dark(color-mix(in oklab, var(--ui-color6), black 73.75%), color-mix(in oklab, var(--ui-color6), white 95%));\n}\n","input[list] {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6l6 -6'/%3E%3C%2Fsvg%3E\");\n background-repeat: no-repeat;\n background-position: right var(--ui-spacing-3) center;\n background-size: 1rem;\n /* padding-inline-end: calc(1rem + var(--ui-spacing-6)); */\n\n /* keep the native indicator functional but invisible so clicks still open the list */\n &::-webkit-calendar-picker-indicator {\n opacity: 0;\n }\n}\n",".badge {\n display: inline-flex;\n align-items: center;\n gap: var(--ui-spacing-1);\n padding-inline: var(--ui-spacing-2);\n border-radius: 999px;\n font-size: 0.75rem;\n font-weight: 500;\n letter-spacing: 0.02em;\n user-select: none;\n line-height: 1.5;\n background-color: var(--ui-neutral-200);\n color: var(--ui-neutral-700);\n\n &.secondary {\n background-color: var(--ui-neutral-700);\n color: var(--ui-neutral-100);\n }\n\n &.primary {\n background-color: var(--ui-primary-200);\n color: var(--ui-primary-700);\n }\n\n &.constructive {\n background-color: var(--ui-constructive-200);\n color: var(--ui-constructive-700);\n }\n\n &.destructive {\n background-color: var(--ui-destructive-200);\n color: var(--ui-destructive-700);\n }\n\n &.color1 {\n background-color: var(--ui-color1-200);\n color: var(--ui-color1-700);\n }\n\n &.color2 {\n background-color: var(--ui-color2-200);\n color: var(--ui-color2-700);\n }\n\n &.color3 {\n background-color: var(--ui-color3-200);\n color: var(--ui-color3-700);\n }\n\n &.color4 {\n background-color: var(--ui-color4-200);\n color: var(--ui-color4-700);\n }\n\n &.color5 {\n background-color: var(--ui-color5-200);\n color: var(--ui-color5-700);\n }\n\n &.color6 {\n background-color: var(--ui-color6-200);\n color: var(--ui-color6-700);\n }\n\n &.outlined {\n background-color: transparent;\n box-shadow: 0 0 0 1px currentColor inset;\n }\n\n svg {\n width: 1em;\n height: 1em;\n }\n}\n","/* @keyframes prevent-scroll {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n} */\n\ninput[type=\"text\"],\ninput[type=\"email\"],\ninput[type=\"search\"],\ninput[type=\"password\"],\ninput[type=\"number\"],\ninput[type=\"tel\"],\ninput[type=\"url\"],\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"],\ninput[type=\"week\"] {\n appearance: none;\n border: none;\n\n background-color: transparent;\n box-shadow: 0 0 0 1px var(--ui-neutral-200) inset;\n\n padding-block: var(--ui-spacing-2);\n padding-inline: var(--ui-spacing-3);\n border-radius: 8px;\n\n font: inherit;\n line-height: calc((16 / 14) * 1rem);\n\n transition-property: padding-inline-start;\n transition-duration: 150ms;\n transition-timing-function: var(--ease-glide);\n\n &:focus-visible {\n box-shadow: 0 0 0 1px currentColor inset;\n outline: none;\n }\n}\n\nlabel:has([data-suffix]) input[type=\"search\"]::-webkit-search-cancel-button {\n display: none;\n}\n\ninput[type=\"search\"]::-webkit-search-cancel-button {\n appearance: none;\n width: 1em;\n height: 1em;\n cursor: pointer;\n background-color: var(--ui-neutral-400);\n mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6l-12 12'/%3E%3Cpath d='M6 6l12 12'/%3E%3C/svg%3E\");\n mask-size: contain;\n mask-repeat: no-repeat;\n mask-position: center;\n}\n\n/* Input with leading/trailing adornments (svg, kbd, button, etc.) */\nlabel:not(.toggle):has(> [data-prefix], > [data-suffix]) {\n display: grid;\n grid-template-columns: auto 1fr auto auto;\n align-items: center;\n cursor: text;\n\n /* Input spans all columns as the full-width background */\n > input:is([type=\"text\"], [type=\"email\"], [type=\"search\"], [type=\"password\"], [type=\"number\"], [type=\"tel\"], [type=\"url\"], :not([type])) {\n grid-column: 1 / -1;\n grid-row: 1;\n }\n\n /* Adornments sit on top */\n > [data-prefix],\n > [data-suffix] {\n grid-row: 1;\n position: relative;\n z-index: 1;\n }\n\n > [data-prefix]:not(button),\n > [data-suffix]:not(button) {\n color: var(--ui-neutral-400);\n }\n\n > [data-prefix] {\n grid-column: 1;\n margin-inline: var(--ui-spacing-3) var(--ui-spacing-2);\n transition: opacity 150ms var(--ease-glide);\n }\n\n > [data-suffix]:last-child {\n grid-column: 4;\n margin-inline: var(--ui-spacing-2) var(--ui-spacing-3);\n }\n\n > [data-suffix]:not(:last-child) {\n grid-column: 3;\n margin-inline: var(--ui-spacing-2) 0;\n }\n\n > button[data-suffix] {\n padding: var(--ui-spacing-2) var(--ui-spacing-2);\n font-size: smaller;\n height: calc(100% - 8px);\n border-radius: 4px;\n\n &:last-child {\n margin-inline-end: 4px;\n }\n }\n\n /* Spinner always rendered in column 1; crossfades with data-prefix */\n &::before {\n content: \"\";\n display: block;\n grid-column: 1;\n grid-row: 1;\n z-index: 2;\n position: relative;\n width: 1em;\n height: 1em;\n background-color: var(--ui-neutral-400);\n mask-image: var(--ui-loading);\n mask-size: contain;\n mask-repeat: no-repeat;\n margin-inline: var(--ui-spacing-3) var(--ui-spacing-2);\n opacity: 0;\n transition: opacity 150ms var(--ease-glide);\n }\n\n &:has(> input[aria-busy=\"true\"]) {\n > [data-prefix] {\n opacity: 0;\n }\n &::before {\n opacity: 1;\n }\n }\n}\n\n/* aria-busy spinner for inputs without adornments */\nlabel:not(.toggle):not(:has(> [data-prefix], > [data-suffix])):has(> input[aria-busy=\"true\"]) {\n &::before {\n opacity: 1;\n }\n}\n\nlabel:not(.toggle):not(:has(> [data-prefix], > [data-suffix])):has(> input[aria-busy=\"true\"]) {\n display: grid;\n grid-template-columns: auto 1fr;\n align-items: center;\n cursor: text;\n\n &::before {\n content: \"\";\n display: block;\n grid-column: 1;\n grid-row: 1;\n z-index: 1;\n position: relative;\n width: 1em;\n height: 1em;\n background-color: var(--ui-neutral-400);\n mask-image: var(--ui-loading);\n mask-size: contain;\n mask-repeat: no-repeat;\n margin-inline: var(--ui-spacing-3) var(--ui-spacing-2);\n transition: opacity 150ms var(--ease-glide);\n\n @starting-style {\n opacity: 0;\n }\n }\n\n > input:is([type=\"text\"], [type=\"email\"], [type=\"search\"], [type=\"password\"], [type=\"number\"], [type=\"tel\"], [type=\"url\"], :not([type])) {\n grid-column: 1 / -1;\n grid-row: 1;\n padding-inline-start: calc(var(--ui-spacing-3) + 1rem + var(--ui-spacing-2));\n }\n}\n\n/* Offset input text to clear leading adornment */\nlabel:not(.toggle):has(> [data-prefix]) > input:is([type=\"text\"], [type=\"email\"], [type=\"search\"], [type=\"password\"], [type=\"number\"], [type=\"tel\"], [type=\"url\"], :not([type])) {\n padding-inline-start: calc(var(--ui-spacing-3) + 1lh + var(--ui-spacing-2));\n}\n\n/* Offset input text to clear one trailing adornment */\nlabel:not(.toggle):has(> [data-suffix]) > input:is([type=\"text\"], [type=\"email\"], [type=\"search\"], [type=\"password\"], [type=\"number\"], [type=\"tel\"], [type=\"url\"], :not([type])) {\n padding-inline-end: calc(var(--ui-spacing-3) + 1lh + var(--ui-spacing-2));\n}\n\n/* Offset input text to clear two trailing adornments */\nlabel:not(.toggle):has(> [data-suffix]:not(:last-child)) > input:is([type=\"text\"], [type=\"email\"], [type=\"search\"], [type=\"password\"], [type=\"number\"], [type=\"tel\"], [type=\"url\"], :not([type])) {\n padding-inline-end: calc(var(--ui-spacing-3) + 2lh + var(--ui-spacing-2));\n}\n",".combobox {\n display: inline-block;\n\n > input {\n width: 100%;\n }\n\n > [popover] > menu:not(:has(li:not([hidden])))::after {\n content: \"No results\";\n display: block;\n padding: var(--ui-spacing-2) var(--ui-spacing-3);\n color: var(--ui-neutral-400);\n text-align: center;\n }\n}\n","input[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"],\ninput[type=\"week\"] {\n &::-webkit-calendar-picker-indicator {\n opacity: 0.5;\n cursor: pointer;\n\n &:hover {\n opacity: 1;\n }\n }\n\n &::-webkit-datetime-edit-day-field:focus,\n &::-webkit-datetime-edit-month-field:focus,\n &::-webkit-datetime-edit-year-field:focus,\n &::-webkit-datetime-edit-hour-field:focus,\n &::-webkit-datetime-edit-minute-field:focus,\n &::-webkit-datetime-edit-ampm-field:focus {\n background-color: var(--ui-primary);\n color: var(--ui-neutral-0);\n border-radius: 2px;\n outline: none;\n }\n}\n","button,\n.button {\n transition-property: translate, background-color;\n transition-duration: 100ms;\n transition-timing-function: ease-out;\n\n background-color: var(--ui-primary);\n border: none;\n color: var(--ui-neutral-50);\n\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0.5em;\n\n padding-block: var(--ui-spacing-2);\n padding-inline: var(--ui-spacing-3);\n border-radius: 8px;\n\n font: inherit;\n line-height: calc((16 / 14) * 1rem);\n cursor: pointer;\n user-select: none;\n text-decoration: none;\n\n &:not(:disabled) {\n @media (hover: hover) {\n &:hover {\n background-color: var(--ui-primary-600);\n }\n }\n\n &:active {\n background-color: var(--ui-primary-700);\n translate: 0 1px;\n }\n\n &:focus-visible {\n outline: 2px solid var(--ui-neutral-950);\n outline-offset: 2px;\n }\n }\n\n &:disabled {\n cursor: default;\n opacity: 0.4;\n }\n\n svg {\n flex-shrink: 0;\n }\n\n kbd {\n padding-block: 0;\n padding-inline: var(--ui-spacing);\n margin-left: auto;\n }\n\n .badge {\n margin-left: auto;\n }\n\n &[aria-busy=\"true\"]:before {\n content: \"\";\n display: inline-block;\n background-color: currentColor;\n mask-image: var(--ui-loading);\n mask-size: 1rem;\n width: 1rem;\n height: 1rem;\n mask-repeat: no-repeat;\n }\n\n &[popovertarget]:has(+ [popover]:popover-open) {\n background-color: var(--ui-primary-600);\n translate: 0 1px;\n }\n\n /* modifiers */\n\n &.round {\n padding-inline: var(--ui-spacing-2);\n border-radius: 100px;\n }\n\n &.square {\n padding-inline: var(--ui-spacing-2);\n }\n\n /* variants */\n\n &.outlined {\n color: var(--ui-neutral-950);\n background-color: transparent;\n box-shadow: 0 0 0 1px var(--ui-neutral-200) inset;\n\n &:not(:disabled) {\n @media (hover: hover) {\n &:hover {\n background-color: var(--ui-neutral-100);\n }\n }\n\n &:active {\n background-color: var(--ui-neutral-200);\n }\n }\n\n &[popovertarget]:has(+ [popover]:popover-open) {\n background-color: var(--ui-neutral-100);\n }\n }\n\n &.secondary {\n background-color: var(--ui-neutral-100);\n color: var(--ui-neutral-950);\n\n &:not(:disabled) {\n @media (hover: hover) {\n &:hover {\n background-color: var(--ui-neutral-200);\n }\n }\n\n &:active {\n background-color: var(--ui-neutral-300);\n }\n }\n\n &[popovertarget]:has(+ [popover]:popover-open) {\n background-color: var(--ui-neutral-300);\n }\n }\n\n &.ghost {\n background-color: transparent;\n color: var(--ui-neutral-950);\n\n &:not(:disabled) {\n @media (hover: hover) {\n &:hover {\n background-color: var(--ui-neutral-100);\n }\n }\n\n &:active {\n background-color: var(--ui-neutral-200);\n }\n }\n\n &[popovertarget]:has(+ [popover]:popover-open) {\n background-color: var(--ui-neutral-200);\n }\n }\n\n &.link {\n background-color: transparent;\n text-decoration: underline;\n color: var(--ui-neutral-950);\n\n &:not(:disabled) {\n @media (hover: hover) {\n &:hover {\n background-color: transparent;\n }\n }\n\n &:active {\n background-color: transparent;\n }\n }\n }\n\n &.destructive {\n background-color: var(--ui-destructive);\n color: var(--ui-destructive-100);\n\n &:not(:disabled) {\n @media (hover: hover) {\n &:hover {\n background-color: var(--ui-destructive-600);\n }\n }\n\n &:active {\n background-color: var(--ui-destructive-700);\n }\n }\n\n &[popovertarget]:has(+ [popover]:popover-open) {\n background-color: var(--ui-destructive-600);\n }\n }\n\n &.ghost.destructive {\n background-color: transparent;\n color: var(--ui-destructive);\n\n &:not(:disabled) {\n @media (hover: hover) {\n &:hover {\n background-color: var(--ui-destructive-100);\n }\n }\n\n &:active {\n background-color: var(--ui-destructive-200);\n }\n }\n\n &[popovertarget]:has(+ [popover]:popover-open) {\n background-color: var(--ui-destructive-100);\n }\n }\n}\n",".file-drop {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: var(--ui-spacing-2);\n padding: var(--ui-spacing-8);\n border: 1px dashed var(--ui-neutral-400);\n border-radius: var(--ui-spacing-3);\n position: relative;\n cursor: pointer;\n color: var(--ui-neutral-500);\n text-align: center;\n transition:\n color 0.15s var(--ease-glide),\n border-color 0.15s var(--ease-glide);\n\n > svg {\n width: 1.75rem;\n height: 1.75rem;\n }\n\n > small {\n color: var(--ui-neutral-400);\n }\n\n > input[type=\"file\"] {\n position: absolute;\n inset: 0;\n opacity: 0;\n cursor: pointer;\n }\n\n &:hover {\n color: var(--ui-neutral-700);\n border-color: var(--ui-neutral-600);\n }\n}\n",".expander {\n position: relative;\n\n > :not(label) {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n overflow: hidden;\n interpolate-size: allow-keywords;\n transition: max-height 400ms var(--ease-glide);\n }\n\n > label {\n display: flex;\n align-items: center;\n gap: var(--ui-spacing-2);\n padding-top: var(--ui-spacing-4);\n cursor: pointer;\n user-select: none;\n\n > input[type=\"checkbox\"] {\n display: none;\n }\n\n &::after {\n content: \"\";\n display: inline-block;\n background-color: currentColor;\n mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E\");\n mask-size: 1rem;\n mask-repeat: no-repeat;\n mask-position: center;\n width: 1rem;\n aspect-ratio: 1;\n transition: transform 400ms var(--ease-glide);\n }\n }\n}\n\n.expander:has(> label > input[type=\"checkbox\"]) > :not(label) {\n -webkit-line-clamp: var(--lines, 3);\n line-clamp: var(--lines, 3);\n max-height: calc(var(--lines, 3) * 1lh);\n transition:\n max-height 400ms var(--ease-glide),\n -webkit-line-clamp 0s 400ms allow-discrete,\n line-clamp 0s 400ms allow-discrete;\n}\n\n.expander:has(> label > input[type=\"checkbox\"]:checked) > :not(label) {\n -webkit-line-clamp: none;\n line-clamp: none;\n max-height: max-content;\n transition:\n max-height 400ms var(--ease-glide),\n -webkit-line-clamp 0s allow-discrete,\n line-clamp 0s allow-discrete;\n}\n\n.expander:has(> label > input[type=\"checkbox\"]:checked) > label::after {\n transform: perspective(1rem) rotateX(180deg);\n}\n","[data-focus-within] {\n [data-focus]:focus-visible {\n outline: none;\n box-shadow: none;\n }\n\n &:has([data-focus]:focus-visible) {\n border-radius: 8px;\n outline: 2px solid var(--ui-neutral-950);\n outline-offset: 2px;\n }\n}\n","textarea {\n appearance: none;\n border: none;\n\n background-color: transparent;\n box-shadow: 0 0 0 1px var(--ui-neutral-200) inset;\n\n padding-block: var(--ui-spacing-2);\n padding-inline: var(--ui-spacing-3);\n border-radius: var(--ui-spacing-2);\n\n font: inherit;\n\n resize: vertical;\n display: block;\n width: stretch;\n\n &:not([rows]) {\n field-sizing: content;\n min-height: 6lh;\n }\n\n &:focus {\n box-shadow: 0 0 0 1px currentColor inset;\n outline: none;\n }\n\n &::-webkit-resizer {\n background-color: transparent;\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cline x1='5' y1='13' x2='13' y2='5' stroke='%23888' stroke-width='1.5' stroke-linecap='round'/%3E%3Cline x1='9' y1='13' x2='13' y2='9' stroke='%23888' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E\");\n background-size: 100%;\n background-position: bottom right;\n background-repeat: no-repeat;\n }\n}\n",".field {\n display: flex;\n flex-direction: column;\n gap: var(--ui-spacing-2);\n\n > span:not([data-prefix]):not([data-suffix]) {\n font-weight: 600;\n }\n\n > small {\n color: var(--ui-neutral-500);\n font-size: 0.875em;\n }\n\n &:has(input:required) > span:not([data-prefix]):not([data-suffix])::after {\n content: \" *\";\n color: var(--ui-destructive);\n }\n\n > input:not([type=\"checkbox\"]):not([type=\"radio\"]):not([type=\"color\"]),\n > textarea,\n > select,\n > progress,\n > button[popovertarget],\n > .file-drop {\n width: 100%;\n }\n}\n\nlabel.field {\n cursor: pointer;\n}\n","@keyframes ui-progress-indeterminate {\n from { background-position: 100% center; }\n to { background-position: -100% center; }\n}\n\nprogress {\n appearance: none;\n width: 100%;\n height: 0.25rem;\n border-radius: 100px;\n border: none;\n overflow: hidden;\n\n &::-webkit-progress-bar {\n background: var(--ui-neutral-200);\n }\n\n &::-webkit-progress-value {\n background: var(--ui-primary);\n border-radius: 100px;\n }\n\n &::-moz-progress-bar {\n background: var(--ui-primary);\n border-radius: 100px;\n }\n\n &:indeterminate {\n background: linear-gradient(\n 90deg,\n var(--ui-neutral-200) 0%,\n var(--ui-neutral-200) 40%,\n var(--ui-primary) 40%,\n var(--ui-primary) 60%,\n var(--ui-neutral-200) 60%\n );\n background-size: 200% 100%;\n animation: ui-progress-indeterminate 1.5s linear infinite;\n\n &::-webkit-progress-bar { background: transparent; }\n &::-webkit-progress-value { background: transparent; }\n &::-moz-progress-bar { background: transparent; }\n }\n}\n","[popover] {\n /* reset browser defaults */\n position: fixed;\n inset: unset;\n margin: 0;\n border: none;\n padding: 0;\n\n /* position below trigger by default */\n top: calc(anchor(bottom) + var(--ui-spacing-1));\n left: anchor(left);\n min-width: anchor-size(width);\n --_translate-from: 0 -2px;\n\n /* try right-aligned, then above, then above-right */\n position-try-fallbacks: --popover-right, --popover-above, --popover-above-right;\n\n /* visual */\n background: var(--ui-background-color);\n border: 1px solid var(--ui-neutral-200);\n border-radius: 12px;\n box-shadow: 0 4px 16px oklch(0% 0 0 / 0.08);\n\n & > article {\n box-shadow: none;\n border-radius: 0;\n\n & > header,\n & > footer {\n padding: var(--ui-spacing-2) var(--ui-spacing-2);\n }\n\n & > header {\n box-shadow: 0 -1px 0 0 inset var(--ui-neutral-100);\n }\n\n & > footer {\n box-shadow: 0 1px 0 0 inset var(--ui-neutral-100);\n }\n\n &:has(> header, > footer) > :not(header):not(footer) {\n padding: var(--ui-spacing-2);\n }\n }\n\n /* animation */\n opacity: 0;\n translate: var(--_translate-from);\n transition:\n opacity 100ms var(--ease-glide),\n translate 100ms var(--ease-glide),\n display 100ms allow-discrete,\n overlay 100ms allow-discrete;\n\n &:not(:popover-open) {\n display: none !important;\n }\n\n &:popover-open {\n display: unset;\n opacity: 1;\n translate: 0 0;\n }\n\n @starting-style {\n &:popover-open {\n opacity: 0;\n translate: var(--_translate-from);\n }\n }\n}\n\n@position-try --popover-above {\n top: unset;\n bottom: calc(anchor(top) + var(--ui-spacing-1));\n left: anchor(left);\n translate: 0 4px;\n}\n\n@position-try --popover-right {\n top: calc(anchor(bottom) + var(--ui-spacing-1));\n left: unset;\n right: anchor(right);\n}\n\n@position-try --popover-above-right {\n top: unset;\n bottom: calc(anchor(top) + var(--ui-spacing-1));\n left: unset;\n right: anchor(right);\n translate: 0 4px;\n}\n\n/* per-side animation direction */\n[popover][data-placement^=\"top\"] {\n --_translate-from: 0 2px;\n}\n[popover][data-placement^=\"left\"] {\n --_translate-from: 2px 0;\n}\n[popover][data-placement^=\"right\"] {\n --_translate-from: -2px 0;\n}\n/* bottom is the default (0 -2px), no override needed */\n\n/* bottom placements */\n[popover][data-placement=\"bottom left\"] {\n top: calc(anchor(bottom) + var(--ui-spacing-1));\n bottom: unset;\n left: anchor(left);\n right: unset;\n}\n\n[popover][data-placement=\"bottom right\"] {\n top: calc(anchor(bottom) + var(--ui-spacing-1));\n bottom: unset;\n left: unset;\n right: anchor(right);\n}\n\n/* top placements */\n[popover][data-placement=\"top left\"] {\n top: unset;\n bottom: calc(anchor(top) + var(--ui-spacing-1));\n left: anchor(left);\n right: unset;\n}\n\n[popover][data-placement=\"top right\"] {\n top: unset;\n bottom: calc(anchor(top) + var(--ui-spacing-1));\n left: unset;\n right: anchor(right);\n}\n\n/* left placements */\n[popover][data-placement=\"left top\"] {\n top: anchor(top);\n bottom: unset;\n left: unset;\n right: calc(anchor(left) + var(--ui-spacing-1));\n min-width: unset;\n}\n\n[popover][data-placement=\"left bottom\"] {\n top: unset;\n bottom: anchor(bottom);\n left: unset;\n right: calc(anchor(left) + var(--ui-spacing-1));\n min-width: unset;\n}\n\n/* right placements */\n[popover][data-placement=\"right top\"] {\n top: anchor(top);\n bottom: unset;\n left: calc(anchor(right) + var(--ui-spacing-1));\n right: unset;\n min-width: unset;\n}\n\n[popover][data-placement=\"right bottom\"] {\n top: unset;\n bottom: anchor(bottom);\n left: calc(anchor(right) + var(--ui-spacing-1));\n right: unset;\n min-width: unset;\n}\n","menu {\n & > li > button,\n & > li > .button {\n width: 100%;\n justify-content: flex-start;\n white-space: nowrap;\n }\n\n & > li > label {\n width: 100%;\n padding-block: var(--ui-spacing-2);\n padding-inline: var(--ui-spacing-3);\n border-radius: 8px;\n white-space: nowrap;\n cursor: pointer;\n user-select: none;\n\n > input[type=\"radio\"],\n > input[type=\"checkbox\"] {\n appearance: none;\n position: absolute;\n opacity: 0;\n width: 0;\n height: 0;\n pointer-events: none;\n }\n\n @media (hover: hover) {\n &:hover {\n background: var(--ui-neutral-100);\n }\n }\n\n &:has(input[type=\"checkbox\"], input[type=\"radio\"]) {\n &::after {\n content: \"\";\n display: inline-block;\n background-color: currentColor;\n mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E\");\n mask-size: 1rem;\n mask-repeat: no-repeat;\n mask-position: center;\n width: 1rem;\n height: 1rem;\n visibility: hidden;\n margin-left: auto;\n }\n\n &:has(input:checked)::after {\n visibility: visible;\n }\n }\n }\n\n & hr {\n margin-block: var(--ui-spacing-1);\n }\n\n & > li > small:only-child:not(:has(*)) {\n display: block;\n padding: var(--ui-spacing-2) var(--ui-spacing-3) var(--ui-spacing-1);\n color: var(--ui-neutral-500);\n font-size: 0.8125rem;\n margin-left: 2px;\n user-select: none;\n }\n}\n","[popover] > menu {\n padding: var(--ui-spacing-1);\n}\n","/* Trigger: button inside a menu item that has a sibling popover */\n[popover] > menu > li:has(> [popover]) > button {\n &::after {\n content: \"\";\n display: inline-block;\n background-color: currentColor;\n mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E\");\n mask-size: 1rem;\n mask-repeat: no-repeat;\n mask-position: center;\n width: 1rem;\n height: 1rem;\n margin-left: auto;\n }\n}\n\n/* Submenu popover: fall back to left side when no space on the right */\n[popover] > menu > li > [popover] {\n position-try-fallbacks: --submenu-left;\n}\n\n@position-try --submenu-left {\n top: anchor(top);\n left: unset;\n right: calc(anchor(left) + 0.25rem);\n translate: 2px 0;\n}\n","label:not(.field).toggle {\n display: inline-grid;\n text-align: center;\n grid-auto-flow: column;\n align-items: center;\n gap: var(--ui-spacing);\n padding-block: var(--ui-spacing-2);\n padding-inline: var(--ui-spacing-3);\n border-radius: 8px;\n box-shadow: 0 0 0 1px var(--ui-neutral-200) inset;\n cursor: pointer;\n user-select: none;\n interpolate-size: allow-keywords;\n transition:\n background-color 100ms,\n box-shadow 100ms,\n color 100ms,\n grid-template-columns var(--toggle-duration) var(--ease-glide);\n\n --toggle-duration: 150ms;\n\n font-weight: 500;\n line-height: calc(16 / 14 * 1rem);\n\n > input[type=\"checkbox\"],\n > input[type=\"radio\"] {\n appearance: none;\n position: absolute;\n opacity: 0;\n width: 0;\n height: 0;\n pointer-events: none;\n }\n\n svg {\n transition: background-color 100ms;\n }\n\n [data-checked],\n [data-unchecked] {\n overflow: hidden;\n white-space: nowrap;\n transition:\n opacity var(--toggle-duration) ease,\n scale var(--toggle-duration) ease,\n display var(--toggle-duration) allow-discrete;\n }\n\n [data-unchecked] {\n grid-column: 1;\n grid-row: 1;\n display: revert;\n opacity: 1;\n scale: 1;\n\n @starting-style {\n opacity: 0;\n scale: 0.75;\n }\n }\n\n [data-checked] {\n grid-column: 1;\n grid-row: 1;\n display: none;\n opacity: 0;\n scale: 0.75;\n }\n\n /* &:has([data-unchecked]) {\n grid-template-columns: max-content 0px;\n } */\n\n &:has(> input:checked) {\n background-color: var(--ui-neutral-100);\n\n [data-checked] {\n display: revert;\n opacity: 1;\n scale: 1;\n\n @starting-style {\n opacity: 0;\n scale: 0.75;\n }\n }\n\n [data-unchecked] {\n display: none;\n opacity: 0;\n scale: 0.75;\n }\n\n /* &:has([data-unchecked]) {\n grid-template-columns: 0px max-content;\n } */\n }\n\n &.ghost {\n background-color: transparent;\n box-shadow: 0 0 0 1px transparent inset;\n }\n\n &.ghost:has(> input:checked) {\n background-color: var(--ui-neutral-100);\n box-shadow: 0 0 0 1px transparent inset;\n }\n\n &.fill:has(> input:checked) {\n svg {\n fill: currentColor;\n color: var(--ui-primary);\n }\n }\n\n &:has(:focus-visible) {\n outline: 2px solid var(--ui-neutral-950);\n outline-offset: 2px;\n }\n\n &:has(> input:disabled) {\n opacity: 0.4;\n cursor: default;\n }\n\n &.square {\n padding-inline: var(--ui-spacing-2);\n }\n}\n","table {\n display: grid;\n grid-template-columns: var(--cols, repeat(auto-fill, minmax(max-content, 1fr)));\n width: 100%;\n overflow-x: auto;\n white-space: nowrap;\n}\n\n/* Auto-detect column count from header row (up to 30 columns) */\ntable:has(> thead > tr > th:last-child:nth-child(1)) {\n --cols: repeat(1, 1fr);\n}\ntable:has(> thead > tr > th:last-child:nth-child(2)) {\n --cols: repeat(2, 1fr);\n}\ntable:has(> thead > tr > th:last-child:nth-child(3)) {\n --cols: repeat(3, 1fr);\n}\ntable:has(> thead > tr > th:last-child:nth-child(4)) {\n --cols: repeat(4, 1fr);\n}\ntable:has(> thead > tr > th:last-child:nth-child(5)) {\n --cols: repeat(5, 1fr);\n}\ntable:has(> thead > tr > th:last-child:nth-child(6)) {\n --cols: repeat(6, 1fr);\n}\ntable:has(> thead > tr > th:last-child:nth-child(7)) {\n --cols: repeat(7, 1fr);\n}\ntable:has(> thead > tr > th:last-child:nth-child(8)) {\n --cols: repeat(8, 1fr);\n}\ntable:has(> thead > tr > th:last-child:nth-child(9)) {\n --cols: repeat(9, 1fr);\n}\ntable:has(> thead > tr > th:last-child:nth-child(10)) {\n --cols: repeat(10, 1fr);\n}\ntable:has(> thead > tr > th:last-child:nth-child(11)) {\n --cols: repeat(11, 1fr);\n}\ntable:has(> thead > tr > th:last-child:nth-child(12)) {\n --cols: repeat(12, 1fr);\n}\ntable:has(> thead > tr > th:last-child:nth-child(13)) {\n --cols: repeat(13, 1fr);\n}\ntable:has(> thead > tr > th:last-child:nth-child(14)) {\n --cols: repeat(14, 1fr);\n}\ntable:has(> thead > tr > th:last-child:nth-child(15)) {\n --cols: repeat(15, 1fr);\n}\ntable:has(> thead > tr > th:last-child:nth-child(16)) {\n --cols: repeat(16, 1fr);\n}\ntable:has(> thead > tr > th:last-child:nth-child(17)) {\n --cols: repeat(17, 1fr);\n}\ntable:has(> thead > tr > th:last-child:nth-child(18)) {\n --cols: repeat(18, 1fr);\n}\ntable:has(> thead > tr > th:last-child:nth-child(19)) {\n --cols: repeat(19, 1fr);\n}\ntable:has(> thead > tr > th:last-child:nth-child(20)) {\n --cols: repeat(20, 1fr);\n}\ntable:has(> thead > tr > th:last-child:nth-child(21)) {\n --cols: repeat(21, 1fr);\n}\ntable:has(> thead > tr > th:last-child:nth-child(22)) {\n --cols: repeat(22, 1fr);\n}\ntable:has(> thead > tr > th:last-child:nth-child(23)) {\n --cols: repeat(23, 1fr);\n}\ntable:has(> thead > tr > th:last-child:nth-child(24)) {\n --cols: repeat(24, 1fr);\n}\ntable:has(> thead > tr > th:last-child:nth-child(25)) {\n --cols: repeat(25, 1fr);\n}\ntable:has(> thead > tr > th:last-child:nth-child(26)) {\n --cols: repeat(26, 1fr);\n}\ntable:has(> thead > tr > th:last-child:nth-child(27)) {\n --cols: repeat(27, 1fr);\n}\ntable:has(> thead > tr > th:last-child:nth-child(28)) {\n --cols: repeat(28, 1fr);\n}\ntable:has(> thead > tr > th:last-child:nth-child(29)) {\n --cols: repeat(29, 1fr);\n}\ntable:has(> thead > tr > th:last-child:nth-child(30)) {\n --cols: repeat(30, 1fr);\n}\n\ncaption {\n grid-column: 1 / -1;\n padding: var(--ui-spacing-3) var(--ui-spacing-3);\n color: var(--ui-neutral-400);\n /* border-bottom: 1px solid var(--ui-neutral-200); */\n}\n\nthead,\ntbody,\ntfoot {\n display: contents;\n}\n\ntr {\n display: grid;\n grid-column: 1 / -1;\n grid-template-columns: subgrid;\n\n @media (hover: hover) {\n &:hover > td {\n background: var(--ui-neutral-50);\n }\n }\n}\n\nth,\ntd {\n padding: var(--ui-spacing-3) var(--ui-spacing-3);\n text-align: left;\n border-bottom: 1px solid var(--ui-neutral-200);\n}\n\nth:last-child,\ntd:last-child {\n text-align: right;\n}\n\nthead > tr > th {\n font-weight: 600;\n color: var(--ui-neutral-600);\n /* background: var(--ui-neutral-50); */\n}\n\ntbody > tr:last-child > td,\ntfoot > tr:last-child > :is(th, td) {\n border-bottom: none;\n}\n\ntfoot > tr > :is(th, td) {\n background: var(--ui-neutral-50);\n font-weight: 600;\n}\n\ntfoot > tr:first-child > :is(th, td) {\n border-top: 1px solid var(--ui-neutral-200);\n}\n","@scope (.tabs) to (.tabs .tabs) {\n :scope {\n width: stretch;\n }\n\n [role=\"tablist\"] {\n position: relative;\n display: flex;\n width: fit-content;\n\n background-color: var(--ui-neutral-200);\n border-radius: 9px;\n\n anchor-name: --hovered-link;\n anchor-scope: --hovered-link;\n\n > label:has(input:checked) {\n anchor-name: --hovered-link;\n }\n\n &::before {\n content: \"\";\n position: absolute;\n top: calc(anchor(top) + 1px);\n left: calc(anchor(left) + 1px);\n right: calc(anchor(right) + 1px);\n bottom: calc(anchor(bottom) + 1px);\n z-index: 0;\n\n border-radius: 8px;\n background-color: var(--ui-neutral-50);\n pointer-events: none;\n\n position-anchor: --hovered-link;\n\n transition: var(--ease-glide) 200ms;\n }\n\n > label {\n display: inline-flex;\n align-items: center;\n gap: var(--ui-spacing-2);\n padding-block: var(--ui-spacing-2);\n padding-inline: var(--ui-spacing-4);\n color: var(--ui-neutral-800);\n white-space: nowrap;\n transition: color 100ms;\n line-height: 1.14286rem;\n\n z-index: 1;\n\n > input[type=\"radio\"] {\n position: absolute;\n opacity: 0;\n pointer-events: none;\n }\n\n @media (hover: hover) {\n &:hover {\n color: var(--ui-neutral-950);\n }\n }\n\n &:has(input:checked) {\n color: var(--ui-neutral-950);\n }\n\n &:has(input:focus-visible) {\n outline: 2px solid var(--ui-neutral-950);\n outline-offset: 2px;\n border-radius: 8px;\n }\n\n &:has(input:disabled) {\n opacity: 0.4;\n cursor: default;\n pointer-events: none;\n }\n }\n }\n\n [role=\"tabpanel\"]:focus-visible {\n outline: 2px solid var(--ui-neutral-950);\n outline-offset: 4px;\n border-radius: 4px;\n }\n\n [role=\"tabpanel\"] {\n transition:\n opacity 250ms var(--ease-glide),\n display 50ms ease allow-discrete;\n\n display: none;\n opacity: 0;\n }\n\n :scope:has([role=\"tablist\"]:not(:scope .tabs [role=\"tablist\"]) label:nth-child(1 of label) input:checked) [role=\"tabpanel\"]:not(:scope .tabs [role=\"tabpanel\"]):nth-child(1 of [role=\"tabpanel\"]),\n :scope:has([role=\"tablist\"]:not(:scope .tabs [role=\"tablist\"]) label:nth-child(2 of label) input:checked) [role=\"tabpanel\"]:not(:scope .tabs [role=\"tabpanel\"]):nth-child(2 of [role=\"tabpanel\"]),\n :scope:has([role=\"tablist\"]:not(:scope .tabs [role=\"tablist\"]) label:nth-child(3 of label) input:checked) [role=\"tabpanel\"]:not(:scope .tabs [role=\"tabpanel\"]):nth-child(3 of [role=\"tabpanel\"]),\n :scope:has([role=\"tablist\"]:not(:scope .tabs [role=\"tablist\"]) label:nth-child(4 of label) input:checked) [role=\"tabpanel\"]:not(:scope .tabs [role=\"tabpanel\"]):nth-child(4 of [role=\"tabpanel\"]),\n :scope:has([role=\"tablist\"]:not(:scope .tabs [role=\"tablist\"]) label:nth-child(5 of label) input:checked) [role=\"tabpanel\"]:not(:scope .tabs [role=\"tabpanel\"]):nth-child(5 of [role=\"tabpanel\"]),\n :scope:has([role=\"tablist\"]:not(:scope .tabs [role=\"tablist\"]) label:nth-child(6 of label) input:checked) [role=\"tabpanel\"]:not(:scope .tabs [role=\"tabpanel\"]):nth-child(6 of [role=\"tabpanel\"]),\n :scope:has([role=\"tablist\"]:not(:scope .tabs [role=\"tablist\"]) label:nth-child(7 of label) input:checked) [role=\"tabpanel\"]:not(:scope .tabs [role=\"tabpanel\"]):nth-child(7 of [role=\"tabpanel\"]),\n :scope:has([role=\"tablist\"]:not(:scope .tabs [role=\"tablist\"]) label:nth-child(8 of label) input:checked) [role=\"tabpanel\"]:not(:scope .tabs [role=\"tabpanel\"]):nth-child(8 of [role=\"tabpanel\"]) {\n display: block;\n opacity: 1;\n\n @starting-style {\n opacity: 0;\n }\n }\n}\n",".prose {\n > * + * {\n margin-block-start: 1em;\n }\n\n > h1,\n > h2,\n > h3,\n > h4,\n > h5,\n > h6 {\n line-height: 1.4;\n }\n\n p {\n line-height: 1.6;\n max-width: 65ch;\n }\n\n > ul,\n > ol {\n list-style: revert;\n list-style-position: outside;\n\n display: flex;\n flex-direction: column;\n gap: 0.5lh;\n\n margin-block: 1.61em;\n\n li {\n margin-inline-start: 1.5em;\n\n &::marker {\n color: var(--ui-neutral-400);\n font-variant-numeric: tabular-nums;\n }\n }\n }\n\n > blockquote {\n /* border-inline-start: 3px solid var(--ui-neutral-200); */\n padding-inline-start: var(--ui-spacing-4);\n\n position: relative;\n margin-block: 1.61em;\n\n &:before {\n content: '';\n display: block;\n position: absolute;\n height: 100%;\n width: 3px;\n left: 0;\n background-color: var(--ui-neutral-200);\n border-radius: 3px;\n }\n\n footer,\n cite {\n margin-top: var(--ui-spacing-2);\n color: var(--ui-neutral-500);\n }\n }\n\n > hgroup {\n margin-block-end: 1.61em;\n\n > p {\n margin-block-start: 0.61em;\n color: var(--ui-neutral-500);\n }\n }\n\n a:not(.button) {\n color: var(--ui-primary);\n }\n}\n",".empty {\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n gap: var(--ui-spacing-3);\n padding: var(--ui-spacing-8);\n color: var(--ui-neutral-400);\n\n margin: auto;\n\n &:not([hidden]) {\n display: flex;\n }\n\n > svg {\n width: 2.5rem;\n height: 2.5rem;\n background: var(--ui-neutral-100);\n color: var(--ui-neutral-800);\n padding: 0.5rem;\n border-radius: 6px;\n }\n\n > :is(h1, h2, h3, h4, h5, h6) {\n color: var(--ui-neutral-950);\n }\n\n p {\n max-width: 35ch;\n }\n\n > button,\n > a,\n > .button,\n > footer {\n margin-top: var(--ui-spacing-2);\n }\n\n > footer {\n display: flex;\n gap: var(--ui-spacing-2);\n }\n}\n","hr {\n width: 100%;\n border: none;\n border-top: 1px solid var(--ui-neutral-200);\n margin-block: var(--ui-spacing-1) 0;\n}\n\nhr[data-label] {\n border: none;\n display: grid;\n grid-template-columns: 1fr auto 1fr;\n align-items: center;\n\n isolation: isolate;\n background: linear-gradient(var(--ui-neutral-200), var(--ui-neutral-200)) center / 100% 1px no-repeat;\n\n &::before,\n &::after {\n grid-row: 1;\n grid-column: 2;\n content: \"\";\n justify-self: center;\n font-size: 0.875rem;\n height: 1lh;\n white-space: nowrap;\n }\n\n &::before {\n width: 100%;\n background: var(--ui-background-color);\n }\n\n &::after {\n content: attr(data-label);\n color: var(--ui-neutral-500);\n padding-inline: var(--ui-spacing-3);\n }\n}\n\n@container (min-width: 480px) {\n hr {\n margin-block: var(--ui-spacing-4);\n }\n}\n","input[type=\"checkbox\"].switch {\n appearance: none;\n width: 2.25rem;\n height: 1.2lh;\n border-radius: 100px;\n box-shadow: none;\n background-color: var(--ui-neutral-200);\n cursor: pointer;\n flex-shrink: 0;\n position: relative;\n display: inline-flex;\n align-items: center;\n transition: background-color 100ms;\n mask-image: none;\n\n &::after {\n content: \"\";\n position: absolute;\n left: 0;\n width: calc(1.2lh - 2px);\n aspect-ratio: 1;\n margin-inline: 1px;\n border-radius: 50%;\n background-color: var(--ui-background-color);\n transition: left 300ms var(--ease-glide);\n }\n\n &:checked {\n background-color: var(--ui-primary);\n background-image: none;\n\n &::after {\n left: calc(100% - 1lh - 2px - 1px);\n }\n }\n\n &:focus-visible {\n outline: 2px solid var(--ui-neutral-950);\n outline-offset: 2px;\n }\n\n &:disabled {\n opacity: 0.4;\n cursor: default;\n }\n}\n","[data-tooltip][aria-label]:not(input, select, textarea) {\n position: relative;\n\n &::before,\n &::after {\n position: absolute;\n z-index: 2147483647;\n pointer-events: none;\n opacity: 0;\n transition: opacity 100ms;\n }\n\n &::before {\n content: attr(aria-label);\n background: var(--ui-neutral-950);\n color: var(--ui-neutral-50);\n padding: 0.4em 0.75em;\n border-radius: 6px;\n font-size: 0.875rem;\n line-height: 1;\n white-space: nowrap;\n }\n\n &::after {\n content: \"\";\n width: 8px;\n height: 8px;\n rotate: 45deg;\n background: var(--ui-neutral-950);\n }\n\n /* top (default) */\n &:not([data-tooltip=\"bottom\"], [data-tooltip=\"left\"], [data-tooltip=\"right\"])::before {\n bottom: calc(100% + 0.5rem);\n left: 50%;\n translate: -50% 0;\n }\n &:not([data-tooltip=\"bottom\"], [data-tooltip=\"left\"], [data-tooltip=\"right\"])::after {\n bottom: calc(100% + 0.5rem);\n left: 50%;\n translate: -50% 50%;\n mask-image: linear-gradient(-45deg, black 51%, transparent 50%);\n border-end-end-radius: 2px;\n }\n\n /* bottom */\n &[data-tooltip=\"bottom\"]::before {\n top: calc(100% + 0.5rem);\n left: 50%;\n translate: -50% 0;\n }\n &[data-tooltip=\"bottom\"]::after {\n top: calc(100% + 0.5rem);\n left: 50%;\n translate: -50% -50%;\n mask-image: linear-gradient(-45deg, transparent 50%, black 50%);\n border-start-start-radius: 2px;\n }\n\n /* left */\n &[data-tooltip=\"left\"]::before {\n right: calc(100% + 0.5rem);\n top: 50%;\n translate: 0 -50%;\n }\n &[data-tooltip=\"left\"]::after {\n right: calc(100% + 0.5rem);\n top: 50%;\n translate: 50% -50%;\n mask-image: linear-gradient(45deg, transparent 50%, black 50%);\n border-start-end-radius: 2px;\n }\n\n /* right */\n &[data-tooltip=\"right\"]::before {\n left: calc(100% + 0.5rem);\n top: 50%;\n translate: 0 -50%;\n }\n &[data-tooltip=\"right\"]::after {\n left: calc(100% + 0.5rem);\n top: 50%;\n translate: -50% -50%;\n mask-image: linear-gradient(45deg, black 50%, transparent 50%);\n border-end-start-radius: 2px;\n }\n\n @media (hover: hover) {\n &:hover::before,\n &:hover::after {\n opacity: 1;\n }\n }\n\n &:focus-visible::before,\n &:focus-visible::after {\n opacity: 1;\n }\n}\n",":not(pre) > code {\n font-family: ui-monospace, \"Cascadia Code\", \"Fira Code\", monospace;\n font-size: 0.9em;\n background: var(--ui-neutral-100);\n border: 1px solid var(--ui-neutral-200);\n border-radius: 4px;\n padding: 0.15em 0.4em;\n}\n","kbd {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 1.5em;\n border-radius: 4px;\n padding-block: calc(var(--ui-spacing) / 2);\n padding-inline: var(--ui-spacing-2);\n background: var(--ui-neutral-100);\n color: var(--ui-neutral-800);\n font-family: inherit;\n font-size: 0.85em;\n user-select: none;\n\n + kbd {\n margin-left: 0.5em;\n }\n\n &:has(> kbd) {\n background: none;\n padding: 0;\n min-width: unset;\n font-size: 1em;\n color: var(--ui-neutral-400);\n gap: 0.35em;\n\n > kbd {\n margin-left: 0;\n }\n }\n}\n","label:has(> input:where([type=\"radio\"])) {\n display: flex;\n align-items: center;\n gap: 0.5em;\n cursor: pointer;\n user-select: none;\n\n &:has(> input:disabled) {\n opacity: 0.4;\n cursor: default;\n }\n}\n\ninput[type=\"radio\"] {\n appearance: none;\n width: 16px;\n aspect-ratio: 1;\n border-radius: 50%;\n box-shadow: 0 0 0 1.5px var(--ui-neutral-300) inset;\n background-color: transparent;\n cursor: pointer;\n flex-shrink: 0;\n transition:\n background-color 100ms,\n box-shadow 100ms;\n\n &:checked {\n background-color: var(--ui-primary);\n box-shadow: 0 0 0 1.5px var(--ui-primary) inset;\n mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-8 -8 40 40' overflow='visible'%3E%3Crect x='-100' y='-100' width='200' height='200' fill='white'/%3E%3Ccircle cx='12' cy='12' r='6' fill='black'/%3E%3C/svg%3E\");\n mask-mode: luminance;\n mask-size: 24px;\n mask-position: 50%;\n mask-repeat: no-repeat;\n mask-clip: no-clip;\n }\n\n &:disabled {\n opacity: 0.4;\n cursor: default;\n }\n\n &:focus-visible {\n border-radius: 8px;\n outline: 2px solid var(--ui-neutral-950);\n outline-offset: 2px;\n }\n}\n","fieldset[role=\"group\"] {\n display: inline-flex;\n align-items: stretch;\n padding: 0;\n vertical-align: bottom;\n border: none;\n /* background: var(--ui-background-color); */\n\n & > *:not(.field) {\n position: relative;\n border-radius: 0;\n margin-right: -1px;\n\n box-shadow: 0 0 0 1px var(--ui-neutral-200) inset;\n\n &:first-child {\n border-radius: 8px 0 0 8px;\n }\n\n &:last-child {\n border-radius: 0 8px 8px 0;\n margin-right: 0;\n }\n\n &:hover,\n &:focus-within,\n &:active {\n z-index: 1;\n }\n }\n\n & > button:not(.ghost),\n & > .button:not(.ghost) {\n box-shadow: none;\n margin-left: 1px;\n margin-right: 0;\n }\n\n & > :only-child:not(.field) {\n border-radius: 8px;\n }\n\n & > input {\n flex: 1;\n min-width: 0;\n\n &:focus {\n border-color: var(--ui-neutral-500);\n }\n }\n\n label:not(.field) {\n line-height: calc(16 / 14 * 1em);\n border-radius: 0;\n }\n}\n","input[type=\"range\"] {\n appearance: none;\n width: 100%;\n height: 0.25rem;\n border-radius: 100px;\n background: linear-gradient(to right, var(--ui-primary) calc(var(--pct, 0) * 100%), var(--ui-neutral-200) calc(var(--pct, 0) * 100%));\n cursor: pointer;\n outline: none;\n\n &::-webkit-slider-thumb {\n appearance: none;\n width: 1.125rem;\n aspect-ratio: 1;\n border-radius: 50%;\n background: var(--ui-background-color);\n box-shadow: 0 0 0 1.5px var(--ui-neutral-300) inset;\n transition: outline-color 100ms;\n }\n\n &::-moz-range-thumb {\n width: 1.125rem;\n height: 1.125rem;\n border-radius: 50%;\n border: none;\n background: var(--ui-background-color);\n box-shadow: 0 0 0 1.5px var(--ui-neutral-300) inset;\n cursor: pointer;\n }\n\n /* &:focus-visible {\n outline: 2px solid var(--ui-neutral-950);\n outline-offset: 2px;\n } */\n\n &:focus-visible::-webkit-slider-thumb {\n outline: 2px solid var(--ui-neutral-950);\n outline-offset: 2px;\n /* box-shadow: 0 0 0 1.5px var(--ui-neutral-950) inset; */\n }\n\n &:focus-visible::-moz-range-thumb {\n outline: 2px solid var(--ui-neutral-950);\n outline-offset: 2px;\n /* box-shadow: 0 0 0 1.5px var(--ui-neutral-950) inset; */\n }\n\n &:disabled {\n cursor: default;\n opacity: 0.4;\n }\n}\n",":root {\n --ui-loading: url(\"data:image/svg+xml,%3Csvg fill='none' height='24' width='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle%3E g %7B animation: rotate 2s linear infinite; transform-origin: center center; %7D circle %7B stroke-dasharray: 75,100; stroke-dashoffset: -5; animation: dash 1.5s ease-in-out infinite; stroke-linecap: round; %7D @keyframes rotate %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D @keyframes dash %7B 0%25 %7B stroke-dasharray: 1,100; stroke-dashoffset: 0; %7D 50%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -17.5; %7D 100%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -62; %7D %7D %3C/style%3E%3Cg%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='white' stroke-width='4' /%3E%3C/g%3E%3C/svg%3E\");\n}\n\n:where(*:not(button)[aria-busy=\"true\"]):before {\n content: \"\";\n display: inline-block;\n background-color: currentColor;\n mask-image: var(--ui-loading);\n mask-size: 1em;\n width: 1em;\n aspect-ratio: 1;\n mask-repeat: no-repeat;\n}\n","dialog {\n container-type: inline-size;\n\n position: fixed;\n inset: 0;\n margin: auto;\n z-index: 1;\n background: var(--ui-background-color);\n border: none;\n border-radius: 12px;\n padding: 0;\n max-width: min(480px, calc(100vw - 2rem));\n width: 100%;\n\n pointer-events: none;\n\n opacity: 0;\n translate: 0 4px;\n transition:\n opacity 300ms var(--ease-glide),\n translate 300ms var(--ease-glide),\n display 100ms allow-discrete,\n overlay 100ms allow-discrete;\n\n &[open] {\n opacity: 1;\n translate: 0 0;\n pointer-events: auto;\n }\n\n @starting-style {\n &[open] {\n opacity: 0;\n translate: 0 4px;\n }\n }\n\n &::backdrop {\n opacity: 0;\n background: oklch(0% 0 0 / 0.4);\n backdrop-filter: blur(2px);\n transition:\n opacity 200ms var(--ease-glide),\n display 100ms allow-discrete,\n overlay 100ms allow-discrete;\n }\n\n &[open]::backdrop {\n opacity: 1;\n }\n\n @starting-style {\n &[open]::backdrop {\n opacity: 0;\n }\n }\n}\n\nbody:has(dialog[scroll-lock][open], details[scroll-lock][open]) {\n overflow: hidden;\n touch-action: none;\n}\n"],"names":[]}
|