mnfst 0.5.22 → 0.5.24

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.
@@ -8,11 +8,14 @@
8
8
 
9
9
  /* Auth config */
10
10
 
11
- // Load manifest if not already loaded
11
+ // Load manifest if not already loaded (loader may set __manifestLoaded / registry.manifest)
12
12
  async function ensureManifest() {
13
13
  if (window.ManifestComponentsRegistry?.manifest) {
14
14
  return window.ManifestComponentsRegistry.manifest;
15
15
  }
16
+ if (window.__manifestLoaded) {
17
+ return window.__manifestLoaded;
18
+ }
16
19
 
17
20
  try {
18
21
  const response = await fetch('/manifest.json');
@@ -47,11 +47,6 @@ async function loadHighlightJS() {
47
47
  return hljsPromise;
48
48
  }
49
49
 
50
- // Preload highlight.js as soon as script loads
51
- loadHighlightJS().catch(() => {
52
- // Silently ignore errors during preload
53
- });
54
-
55
50
  // Optional optimization: Configure utilities plugin if present
56
51
  if (window.ManifestUtilities) {
57
52
  // Tell utilities plugin to ignore code-related DOM changes and classes
@@ -798,19 +793,24 @@ function initializeCodePlugin() {
798
793
  customElements.define('x-code-group', XCodeGroupElement);
799
794
  }
800
795
 
801
- // Process existing code blocks
802
- await processExistingCodeBlocks();
803
-
804
- // Listen for markdown plugin conversions
805
- document.addEventListener('manifest:code-blocks-converted', async () => {
806
- await processExistingCodeBlocks();
807
- });
808
-
809
- // Also listen for the event on the document body for better coverage
810
- document.body.addEventListener('manifest:code-blocks-converted', async () => {
811
- await processExistingCodeBlocks();
812
- });
796
+ // Listen for markdown plugin conversions (always process when new blocks appear)
797
+ const runProcess = () => processExistingCodeBlocks();
798
+ document.addEventListener('manifest:code-blocks-converted', runProcess);
799
+ if (document.body) {
800
+ document.body.addEventListener('manifest:code-blocks-converted', runProcess);
801
+ }
813
802
 
803
+ // Defer loading highlight.js until first code block is in view (or process immediately if none to observe)
804
+ const codeTargets = document.querySelectorAll('pre > code:not(.hljs):not([data-highlighted="yes"]), x-code:not([data-highlighted="yes"])');
805
+ if (codeTargets.length === 0) {
806
+ return;
807
+ }
808
+ const io = new IntersectionObserver((entries) => {
809
+ if (!entries.some(e => e.isIntersecting)) return;
810
+ io.disconnect();
811
+ runProcess();
812
+ }, { rootMargin: '100px', threshold: 0 });
813
+ codeTargets.forEach(el => io.observe(el));
814
814
  } catch (error) {
815
815
  console.error('[Manifest] Failed to initialize code plugin:', error);
816
816
  }
@@ -6,40 +6,50 @@ window.ManifestComponentsRegistry = {
6
6
  registered: new Set(),
7
7
  preloaded: [],
8
8
  initialize() {
9
- // Load manifest.json synchronously
10
- try {
11
- const req = new XMLHttpRequest();
12
- req.open('GET', '/manifest.json?t=' + Date.now(), false);
13
- req.setRequestHeader('Cache-Control', 'no-cache, no-store, must-revalidate');
14
- req.setRequestHeader('Pragma', 'no-cache');
15
- req.setRequestHeader('Expires', '0');
16
- req.send(null);
17
- if (req.status === 200) {
18
- this.manifest = JSON.parse(req.responseText);
19
- // Register all components from manifest
20
- const allComponents = [
21
- ...(this.manifest?.preloadedComponents || []),
22
- ...(this.manifest?.components || [])
23
- ];
24
- allComponents.forEach(path => {
25
- const name = path.split('/').pop().replace('.html', '');
26
- this.registered.add(name);
27
- });
28
- this.preloaded = (this.manifest?.preloadedComponents || []).map(path => path.split('/').pop().replace('.html', ''));
29
- } else {
30
- console.warn('[Manifest] Failed to load manifest.json (HTTP', req.status + ')');
9
+ // Use loader-provided manifest if set; otherwise load synchronously (standalone)
10
+ let manifest = window.__manifestLoaded || this.manifest;
11
+ if (!manifest) {
12
+ try {
13
+ const manifestUrl = (document.querySelector('link[rel="manifest"]')?.getAttribute('href')) || '/manifest.json';
14
+ const req = new XMLHttpRequest();
15
+ req.open('GET', manifestUrl + (manifestUrl.includes('?') ? '&' : '?') + 't=' + Date.now(), false);
16
+ req.setRequestHeader('Cache-Control', 'no-cache, no-store, must-revalidate');
17
+ req.setRequestHeader('Pragma', 'no-cache');
18
+ req.setRequestHeader('Expires', '0');
19
+ req.send(null);
20
+ if (req.status === 200) {
21
+ manifest = JSON.parse(req.responseText);
22
+ } else {
23
+ console.warn('[Manifest] Failed to load manifest.json (HTTP', req.status + ')');
24
+ }
25
+ } catch (e) {
26
+ console.warn('[Manifest] Failed to load manifest.json:', e.message);
31
27
  }
32
- } catch (e) {
33
- console.warn('[Manifest] Failed to load manifest.json:', e.message);
28
+ }
29
+ if (manifest) {
30
+ this.manifest = manifest;
31
+ const allComponents = [
32
+ ...(this.manifest?.preloadedComponents || []),
33
+ ...(this.manifest?.components || [])
34
+ ];
35
+ allComponents.forEach(path => {
36
+ const name = path.split('/').pop().replace('.html', '');
37
+ this.registered.add(name);
38
+ });
39
+ this.preloaded = (this.manifest?.preloadedComponents || []).map(path => path.split('/').pop().replace('.html', ''));
34
40
  }
35
41
  }
36
42
  };
37
43
 
38
44
  // Components loader
45
+ // Uses cache for resolved content and _loading for in-flight promises so duplicate
46
+ // loadComponent(name) calls share one network request.
39
47
  window.ManifestComponentsLoader = {
40
48
  cache: {},
49
+ _loading: {},
41
50
  initialize() {
42
51
  this.cache = {};
52
+ this._loading = {};
43
53
  // Preload components listed in registry.preloaded
44
54
  const registry = window.ManifestComponentsRegistry;
45
55
  if (registry && Array.isArray(registry.preloaded)) {
@@ -54,6 +64,9 @@ window.ManifestComponentsLoader = {
54
64
  if (this.cache[name]) {
55
65
  return this.cache[name];
56
66
  }
67
+ if (this._loading[name]) {
68
+ return this._loading[name];
69
+ }
57
70
  const registry = window.ManifestComponentsRegistry;
58
71
  if (!registry || !registry.manifest) {
59
72
  console.warn('[Manifest] Manifest not loaded, cannot load component:', name);
@@ -65,19 +78,25 @@ window.ManifestComponentsLoader = {
65
78
  console.warn('[Manifest] Component', name, 'not found in manifest.');
66
79
  return null;
67
80
  }
68
- try {
69
- const response = await fetch('/' + path);
70
- if (!response.ok) {
71
- console.warn('[Manifest] HTML file not found for component', name, 'at path:', path, '(HTTP', response.status + ')');
81
+ const promise = (async () => {
82
+ try {
83
+ const response = await fetch('/' + path);
84
+ if (!response.ok) {
85
+ console.warn('[Manifest] HTML file not found for component', name, 'at path:', path, '(HTTP', response.status + ')');
86
+ return null;
87
+ }
88
+ const content = await response.text();
89
+ this.cache[name] = content;
90
+ return content;
91
+ } catch (error) {
92
+ console.warn('[Manifest] Failed to load component', name, 'from', path + ':', error.message);
72
93
  return null;
94
+ } finally {
95
+ delete this._loading[name];
73
96
  }
74
- const content = await response.text();
75
- this.cache[name] = content;
76
- return content;
77
- } catch (error) {
78
- console.warn('[Manifest] Failed to load component', name, 'from', path + ':', error.message);
79
- return null;
80
- }
97
+ })();
98
+ this._loading[name] = promise;
99
+ return promise;
81
100
  }
82
101
  };
83
102
 
@@ -716,19 +735,27 @@ function initializeComponents() {
716
735
  window.dispatchEvent(new CustomEvent('manifest:components-ready'));
717
736
  }
718
737
 
719
- // Wait for data plugin to be ready (including content pre-load) before initializing components
720
- // manifest:data-ready fires after critical data sources are loaded, so $x.content is ready when components render
738
+ // When data plugin is loaded: wait for manifest:data-ready so $x.content is ready before components render.
739
+ // When data plugin is absent: init immediately (no artificial delay).
721
740
  function waitForDataThenInitialize() {
741
+ const hasDataPlugin = typeof window.ManifestDataConfig !== 'undefined';
742
+
743
+ if (!hasDataPlugin) {
744
+ initializeComponents();
745
+ return;
746
+ }
747
+
722
748
  window.addEventListener('manifest:data-ready', () => {
723
749
  initializeComponents();
724
750
  }, { once: true });
725
751
 
726
- // Fallback: if data plugin doesn't fire event within reasonable time, initialize anyway
752
+ // Fallback: if data plugin never fires (e.g. slow network, error), initialize anyway
753
+ const fallbackMs = 5000;
727
754
  setTimeout(() => {
728
755
  if (!window.__manifestComponentsInitialized) {
729
756
  initializeComponents();
730
757
  }
731
- }, 1000);
758
+ }, fallbackMs);
732
759
  }
733
760
 
734
761
  if (document.readyState === 'loading') {
package/dist/manifest.css CHANGED
@@ -319,8 +319,9 @@
319
319
  [hidden],
320
320
  [un-cloak],
321
321
  [v-cloak],
322
- [x-cloak] {
323
- display: none !important
322
+ [x-cloak],
323
+ [x-route] {
324
+ display: none
324
325
  }
325
326
 
326
327
  /* @ rule - font smoothing for iOS and Mac */
@@ -1,10 +1,13 @@
1
1
  /* Manifest Data Sources - Configuration */
2
2
 
3
- // Load manifest if not already loaded
3
+ // Load manifest if not already loaded (loader may set __manifestLoaded / registry.manifest)
4
4
  async function ensureManifest() {
5
5
  if (window.ManifestComponentsRegistry?.manifest) {
6
6
  return window.ManifestComponentsRegistry.manifest;
7
7
  }
8
+ if (window.__manifestLoaded) {
9
+ return window.__manifestLoaded;
10
+ }
8
11
 
9
12
  try {
10
13
  const response = await fetch('/manifest.json');
@@ -1148,10 +1151,38 @@ let yamlLoadingPromise = null;
1148
1151
  let papaparse = null;
1149
1152
  let csvLoadingPromise = null;
1150
1153
 
1154
+ // Collect all path-like strings from manifest.data (recursive; includes nested locale objects)
1155
+ function collectDataPaths(manifest) {
1156
+ const paths = [];
1157
+ if (!manifest?.data || typeof manifest.data !== 'object') return paths;
1158
+ function visit(val) {
1159
+ if (typeof val === 'string' && (val.startsWith('/') || /\.(yaml|yml|csv|json)$/i.test(val))) {
1160
+ paths.push(val);
1161
+ } else if (Array.isArray(val)) {
1162
+ val.forEach(visit);
1163
+ } else if (val && typeof val === 'object' && !Array.isArray(val)) {
1164
+ Object.values(val).forEach(visit);
1165
+ }
1166
+ }
1167
+ Object.values(manifest.data).forEach(visit);
1168
+ return paths;
1169
+ }
1170
+
1171
+ function manifestDataPathsInclude(manifest, extensions) {
1172
+ const paths = collectDataPaths(manifest);
1173
+ return paths.some(p => extensions.some(ext => p.toLowerCase().includes(ext)));
1174
+ }
1175
+
1151
1176
  async function loadYamlLibrary() {
1152
1177
  if (jsyaml) return jsyaml;
1153
1178
  if (yamlLoadingPromise) return yamlLoadingPromise;
1154
1179
 
1180
+ const manifest = await window.ManifestDataConfig?.ensureManifest?.();
1181
+ if (manifest && !manifestDataPathsInclude(manifest, ['.yaml', '.yml'])) {
1182
+ yamlLoadingPromise = Promise.reject(new Error('[Manifest Data] No YAML paths in manifest - skipping loader'));
1183
+ return yamlLoadingPromise;
1184
+ }
1185
+
1155
1186
  yamlLoadingPromise = new Promise((resolve, reject) => {
1156
1187
  const script = document.createElement('script');
1157
1188
  script.src = 'https://cdn.jsdelivr.net/npm/js-yaml/dist/js-yaml.min.js';
@@ -1181,6 +1212,12 @@ async function loadCSVParser() {
1181
1212
  if (papaparse) return papaparse;
1182
1213
  if (csvLoadingPromise) return csvLoadingPromise;
1183
1214
 
1215
+ const manifest = await window.ManifestDataConfig?.ensureManifest?.();
1216
+ if (manifest && !manifestDataPathsInclude(manifest, ['.csv'])) {
1217
+ csvLoadingPromise = Promise.reject(new Error('[Manifest Data] No CSV paths in manifest - skipping loader'));
1218
+ return csvLoadingPromise;
1219
+ }
1220
+
1184
1221
  csvLoadingPromise = new Promise((resolve, reject) => {
1185
1222
  const script = document.createElement('script');
1186
1223
  script.src = 'https://cdn.jsdelivr.net/npm/papaparse@latest/papaparse.min.js';
package/dist/manifest.js CHANGED
@@ -52,6 +52,33 @@
52
52
  'appwrite-presence': ['data']
53
53
  };
54
54
 
55
+ // Derive default plugin list from manifest (only load data/localization/components when manifest needs them)
56
+ function getDefaultPluginsFromManifest(manifest) {
57
+ if (!manifest || typeof manifest !== 'object') {
58
+ return AVAILABLE_PLUGINS.slice();
59
+ }
60
+ const hasData = manifest.data && typeof manifest.data === 'object' && Object.keys(manifest.data).length > 0;
61
+ const hasComponents = (manifest.components?.length > 0) || (manifest.preloadedComponents?.length > 0);
62
+ const hasLocalization = (() => {
63
+ if (!manifest.data || typeof manifest.data !== 'object') return false;
64
+ for (const collection of Object.values(manifest.data)) {
65
+ if (!collection || typeof collection !== 'object') continue;
66
+ if (typeof collection.locales === 'string') return true;
67
+ for (const key of Object.keys(collection)) {
68
+ if (['url', 'headers', 'params', 'transform', 'defaultValue', 'locales'].includes(key)) continue;
69
+ if (/^[a-zA-Z]{2}(-[a-zA-Z]{2})?$/.test(key)) return true;
70
+ }
71
+ }
72
+ return false;
73
+ })();
74
+ return AVAILABLE_PLUGINS.filter(p => {
75
+ if (p === 'data') return hasData;
76
+ if (p === 'localization') return hasLocalization;
77
+ if (p === 'components') return hasComponents;
78
+ return true;
79
+ });
80
+ }
81
+
55
82
  // Get plugin URL from CDN
56
83
  function getPluginUrl(pluginName, version = DEFAULT_VERSION) {
57
84
  const base = getBaseUrl(version);
@@ -193,12 +220,13 @@
193
220
  const version = script.getAttribute('data-version') || DEFAULT_VERSION;
194
221
 
195
222
  let pluginList = [];
223
+ const deriveFromManifest = !plugins;
196
224
 
197
225
  if (plugins) {
198
226
  // Explicit declaration - load only specified plugins (core + Appwrite)
199
227
  pluginList = plugins.split(',').map(p => p.trim()).filter(p => p);
200
228
  } else {
201
- // Default: load all available core plugins (Appwrite plugins are opt-in only)
229
+ // Default: start with all core plugins; loader will trim by manifest when manifest is available
202
230
  pluginList = AVAILABLE_PLUGINS.slice();
203
231
  }
204
232
 
@@ -213,6 +241,7 @@
213
241
 
214
242
  return {
215
243
  plugins: pluginList,
244
+ deriveFromManifest,
216
245
  tailwind,
217
246
  version
218
247
  };
@@ -268,22 +297,45 @@
268
297
  detectAppwriteFromManifest();
269
298
 
270
299
  if (config && config.plugins.length > 0) {
271
- // Load all plugins in parallel, then Alpine with defer
300
+ const MANIFEST_DEPENDENT_PLUGINS = [
301
+ 'data', 'localization', 'components',
302
+ 'appwrite-auth', 'appwrite-data', 'appwrite-presence'
303
+ ];
304
+ const manifestUrl = (document.querySelector('link[rel="manifest"]')?.getAttribute('href')) || '/manifest.json';
305
+
272
306
  const loadPlugins = async () => {
273
- const pluginPromises = config.plugins.map(pluginName => {
307
+ let manifest = null;
308
+ let pluginsToLoad = config.plugins;
309
+ let manifestPromise = null;
310
+
311
+ if (config.deriveFromManifest) {
312
+ manifest = await fetch(manifestUrl).then(r => r.ok ? r.json() : null).catch(() => null);
313
+ pluginsToLoad = resolveDependencies(getDefaultPluginsFromManifest(manifest));
314
+ } else {
315
+ const needsManifest = config.plugins.some(p => MANIFEST_DEPENDENT_PLUGINS.includes(p));
316
+ if (needsManifest) {
317
+ manifestPromise = fetch(manifestUrl).then(r => r.ok ? r.json() : null).catch(() => null);
318
+ }
319
+ }
320
+
321
+ const pluginPromises = pluginsToLoad.map(pluginName => {
274
322
  return addScript(pluginName, config.version).catch(error => {
275
323
  console.warn(`[Manifest Loader] Failed to load plugin ${pluginName}:`, error);
276
324
  });
277
325
  });
278
-
279
- // Load Tailwind in parallel if requested
280
326
  if (config.tailwind) {
281
- pluginPromises.push(loadTailwind(config.version).catch(error => {
282
- console.warn(`[Manifest Loader] Failed to load Tailwind:`, error);
283
- }));
327
+ pluginPromises.push(loadTailwind(config.version).catch(() => {}));
284
328
  }
285
-
286
329
  await Promise.all(pluginPromises);
330
+ if (manifestPromise) {
331
+ manifest = await manifestPromise;
332
+ }
333
+ if (manifest && typeof window !== 'undefined') {
334
+ window.__manifestLoaded = manifest;
335
+ if (window.ManifestComponentsRegistry) {
336
+ window.ManifestComponentsRegistry.manifest = manifest;
337
+ }
338
+ }
287
339
  loadAlpine();
288
340
  };
289
341
 
@@ -137,11 +137,15 @@ function initializeLocalizationPlugin() {
137
137
  }
138
138
 
139
139
  try {
140
- const response = await fetch('/manifest.json');
141
- if (!response.ok) {
142
- throw new Error(`HTTP ${response.status}: ${response.statusText}`);
140
+ let manifest = window.__manifestLoaded || window.ManifestComponentsRegistry?.manifest;
141
+ if (!manifest) {
142
+ const manifestUrl = (document.querySelector('link[rel="manifest"]')?.getAttribute('href')) || '/manifest.json';
143
+ const response = await fetch(manifestUrl);
144
+ if (!response.ok) {
145
+ throw new Error(`HTTP ${response.status}: ${response.statusText}`);
146
+ }
147
+ manifest = await response.json();
143
148
  }
144
- const manifest = await response.json();
145
149
 
146
150
  // Validate manifest structure
147
151
  if (!manifest || typeof manifest !== 'object') {
@@ -1 +1 @@
1
- @layer base{*,::backdrop,::file-selector-button,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}:where(:root){-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overflow-wrap:break-word;-moz-tab-size:4;-o-tab-size:4;tab-size:4;text-rendering:optimizeLegibility}:host,:where(html){font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;line-height:1.5;max-width:100vw;overflow-x:hidden;tab-size:4;width:100vw;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none;&::-webkit-scrollbar{display:none}&:has(dialog:popover-open){overflow:hidden}}:where(body){line-height:inherit;margin:0;max-width:100vw;min-height:100vh}:where(a){color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}:where(abbr[title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}:where([aria-controls]){cursor:pointer}:where([aria-hidden=false][hidden]){display:initial}:where([aria-hidden=false][hidden]:not(:focus)){clip:rect(0,0,0,0);position:absolute}:where(audio:not([controls])){display:none;height:0}:where(b,strong){font-weight:bolder}:where(button,input,optgroup,select,textarea){color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}:where(button,select){text-transform:none}:where(button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button){appearance:button;background-color:transparent;background-image:none}:where(::-webkit-file-upload-button){-webkit-appearance:button;font:inherit}:where(::-webkit-inner-spin-button,::-webkit-outer-spin-button){height:auto}:where(::-webkit-search-decoration){-webkit-appearance:none}:where(button,[role=button]){cursor:pointer}:where(code,samp,pre){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}:where([dir=rtl]){direction:rtl}:where([disabled],:disabled,[aria-disabled=true],.disabled){cursor:default;opacity:.5;pointer-events:none}:where(figcaption){font-size:75%}:where(figure){display:block;padding:0}:where(::file-selector-button){margin-inline-end:4px}:where(h1,h2,h3,h4,h5,h6){font-size:inherit;font-weight:inherit}:where(hr){background-color:var(--color-line,oklch(48.3% .006422 17.4/.15));border:0;color:inherit;height:1px}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block}:where(img,video){height:auto;max-width:100%}:where(::-webkit-autofill,:-webkit-autofill:focus){transition:background-color 0s 600000s,color 0s 600000s}:where(::-webkit-date-and-time-value){min-height:1lh;text-align:inherit}:where(::-webkit-datetime-edit){display:inline-flex}:where(::-webkit-datetime-edit-fields-wrapper){padding:0}:where(::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field){padding-block:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}:where(small){font-size:80%}:where(span){color:inherit}:where(sub,sup){font-size:50%;line-height:0;position:relative;vertical-align:baseline}:where(sub){bottom:-.25em}:where(sup){top:-.5em}:where(svg):not([fill]){fill:currentColor}:where(svg):not(:root){overflow:hidden}:where(table){border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}:where(::placeholder){color:#9ca3af;opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){:where(::placeholder){color:color-mix(in oklab,currentcolor 50%,transparent)}}:where([popover]){display:none;transition:opacity .15s ease-in,scale .15s ease-in,display .15s ease-in;transition-behavior:allow-discrete;&:popover-open{display:flex}@starting-style{opacity:0;scale:.9}&:not(:popover-open){display:none!important;opacity:0;scale:1;transition-duration:.15s;transition-timing-function:ease-out}}:where(progress){vertical-align:baseline}:where([type=search]){-webkit-appearance:textfield;appearance:textfield;outline-offset:-2px}:where(summary){display:list-item}:where(textarea){resize:vertical}[hidden],[un-cloak],[v-cloak],[x-cloak]{display:none!important}@media (-webkit-min-device-pixel-ratio:2){:where(html){-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@media (prefers-reduced-motion:reduce){:not([aria-busy=true]),:not([aria-busy=true]):after,:not([aria-busy=true]):before{animation-delay:-1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;background-attachment:scroll!important;scroll-behavior:auto!important;transition-delay:0s!important;transition-duration:0s!important}}@media (prefers-reduced-motion:no-preference){[dir=rtl] progress:indeterminate{animation-direction:reverse}}}@layer components{:where(details):not(.unstyle){transition:var(--transition,all .05s ease-in-out);width:100%;&[open]>summary:before{transform:rotate(90deg)}& [open] summary{margin-bottom:calc(var(--spacing, .25rem)*4)}&>:not(summary){padding:var(--spacing-field-padding,.625rem) 0}:where(summary){align-items:center;color:var(--color-content-stark,oklch(16.6% .026 267));cursor:pointer;display:flex;font-weight:700;justify-content:space-between;position:relative;transition:var(--transition,all .05s ease-in-out);user-select:none;&::-webkit-details-marker,&::marker{content:"";display:none}&:hover{color:color-mix(in oklch,var(--color-surface-1,oklch(98.17% .0005 95.87)) 40%,var(--color-content-stark,oklch(16.6% .026 267)))}&:active{color:color-mix(in oklch,var(--color-surface-1,oklch(98.17% .0005 95.87)) 50%,var(--color-content-stark,oklch(16.6% .026 267)))}&:before{background-color:color-mix(in oklch,var(--color-field-surface,oklch(91.79% .0029 264.26)) 50%,var(--color-field-inverse,oklch(16.6% .026 267)));content:"";height:1rem;-webkit-mask-image:var(--icon-accordion,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 256 256'%3E%3Cpath d='m184.49 136.49-80 80a12 12 0 0 1-17-17L159 128 87.51 56.49a12 12 0 1 1 17-17l80 80a12 12 0 0 1-.02 17'/%3E%3C/svg%3E"));mask-image:var(--icon-accordion,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 256 256'%3E%3Cpath d='m184.49 136.49-80 80a12 12 0 0 1-17-17L159 128 87.51 56.49a12 12 0 1 1 17-17l80 80a12 12 0 0 1-.02 17'/%3E%3C/svg%3E"));-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;order:1;transform:rotate(0);transition:transform .25s ease;width:1rem}}}[dir=rtl] :where(details):not(.unstyle){& summary:before{transform:rotate(180deg)}&[open]>summary:before{transform:rotate(90deg)}}}@layer utilities{:where(.avatar){align-items:center;background-clip:content-box;background-color:var(--color-field-surface,oklch(91.79% .0029 264.26));background-position:50%;background-size:cover;border-radius:var(--radius,.5rem);color:var(--color-field-inverse,oklch(16.6% .026 267));display:flex;flex-flow:row wrap;flex-shrink:0;font-weight:700;height:var(--spacing-field-height,2.25rem);justify-content:center;position:relative;text-align:center;text-transform:uppercase;width:var(--spacing-field-height,2.25rem);&[x-icon]{color:var(--color-content-subtle,oklch(67.4% .0318 251.27))}:where(img){border-radius:inherit;height:100%;left:0;object-fit:cover;object-position:center;position:absolute;top:0;transition:var(--transition,all .05s ease-in-out);width:100%}:where(figure){background-color:var(--color-field-surface,oklch(91.79% .0029 264.26));border:1px solid var(--color-page,oklch(100% 0 0));border-radius:50%;bottom:-3px;height:9px;position:absolute;right:-3px;width:9px;z-index:1}}:where(button.avatar,label.avatar){background-blend-mode:normal;padding:0;&:hover{background-blend-mode:multiply;background-color:var(--color-field-surface-hover,oklch(89.24% .0024 12.48));& img{filter:brightness(.9)}}}:where(.avatar-wide){align-items:center;display:flex;flex-flow:row;gap:1.5ch;justify-content:start;max-width:100%;overflow:hidden;width:100%;& span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}:where(button.avatar-wide){height:fit-content;padding:var(--spacing,.25rem);padding-inline-end:1.5ch;&:hover .avatar{background-color:var(--color-field-surface-hover,oklch(89.24% .0024 12.48));transition:var(--transition,all .05s ease-in-out)}}:where([role=group]:has(.avatar,button.avatar)){align-items:center;display:flex;flex-flow:row nowrap;:where(.avatar){box-shadow:0 0 0 3px var(--color-page,oklch(100% 0 0));margin-inline-end:calc(var(--spacing-field-height, 2.25rem)*-.3)}}}@layer components{:where(button:not(.link),[role=button],[type=button],[type=reset],[type=submit],select):not(.unstyle){align-items:center;appearance:button;background-color:var(--color-field-surface,oklch(91.79% .0029 264.26));border:0 solid transparent;border-radius:var(--radius,.5rem);color:var(--color-field-inverse,oklch(16.6% .026 267));cursor:pointer;display:inline-flex;flex-flow:row;gap:.375rem;height:var(--spacing-field-height,2.25rem);justify-content:center;margin:0;max-width:100%;min-width:var(--spacing-field-height,2.25rem);outline-color:var(--color-line,oklch(48.3% .006422 17.4/.15));overflow:hidden;padding:0 var(--spacing-field-padding,.625rem);text-overflow:ellipsis;transition:var(--transition,all .05s ease-in-out);white-space:nowrap;width:fit-content;& [x-icon],& span{color:inherit}& span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}&:has(>svg:only-child){font-size:1rem;padding:0}& svg{margin-left:auto;margin-right:auto}&:active,&:hover{background-color:var(--color-field-surface-hover,oklch(89.24% .0024 12.48))}&:focus-visible{background-color:var(--color-field-surface,oklch(91.79% .0029 264.26))}}:where(select):not(.unstyle){appearance:base-select;&::picker-icon{content:"⌄";font-size:20px;height:calc(var(--spacing-field-height, 2.25rem)*.5);line-height:.4;transform:scaleY(.7)}}}@layer components{input[type=checkbox]:not([role=switch],.unstyle){border-radius:.4rem;cursor:pointer;height:calc(var(--spacing-field-height, 2.25rem)*.6);max-width:calc(var(--spacing-field-height, 2.25rem)*.6);min-width:calc(var(--spacing-field-height, 2.25rem)*.6);padding:0;position:relative;width:calc(var(--spacing-field-height, 2.25rem)*.6);&:checked{&:active,&:hover{background-color:var(--color-field-surface-hover,oklch(89.24% .0024 12.48));border-color:var(--color-field-surface-hover,oklch(89.24% .0024 12.48))}}&:after{background-color:var(--color-field-inverse,oklch(16.6% .026 267));content:"";height:60%;left:50%;-webkit-mask-image:var(--icon-checkbox,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='currentColor' d='m0 11 2-2 5 5L18 3l2 2L7 18z'/%3E%3C/svg%3E"));mask-image:var(--icon-checkbox,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='currentColor' d='m0 11 2-2 5 5L18 3l2 2L7 18z'/%3E%3C/svg%3E"));-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;opacity:0;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) scale(0);transform-origin:center;transition:var(--transition,all .05s ease-in-out);width:60%}&:checked:after{opacity:1;transform:translateX(-50%) translateY(-50%) scale(1)}}}@layer components{:where(dialog[popover],.dialog):not(.unstyle){background-color:var(--color-popover-surface,oklch(100% 0 0));border:0;border-radius:calc(var(--radius, .5rem)*2);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);color:var(--color-content-stark,oklch(16.6% .026 267));flex-direction:column;left:0;margin:auto;max-height:90vh;max-width:100%;min-height:200px;position:fixed;right:0;width:500px;&::backdrop{background-color:rgba(0,0,0,.2)}& :where(header,main,footer){padding:calc(var(--spacing, .25rem)*4)}& :where(header){align-items:center;display:flex;gap:calc(var(--spacing, .25rem)*4);justify-content:space-between}& :where(main){flex-grow:1}& :where(footer){align-items:center;display:flex;gap:calc(var(--spacing, .25rem)*2);justify-content:end;margin-top:auto}@media screen and (max-width:768px){margin-bottom:auto!important;margin-left:auto!important;margin-right:auto!important;margin-top:auto!important;max-height:calc(100vh - var(--spacing, .25rem)*4 - var(--spacing, .25rem)*4)!important;width:calc(100vw - var(--spacing, .25rem)*4 - var(--spacing, .25rem)*4)!important}}:where(.dialog){height:fit-content;inset:0;z-index:10}.dark :where(dialog)::backdrop{background-color:rgba(0,0,0,.35)}html:has(dialog:popover-open){& menu[popover]:not(dialog *){opacity:0;pointer-events:none;scale:.9;transition:opacity .15s ease-out,scale .15s ease-out;&:popover-open{display:flex!important}}}html:has(dialog:popover-open~dialog:popover-open){& dialog:popover-open:not(:last-of-type) menu[popover]{opacity:0;pointer-events:none;scale:.9;transition:opacity .15s ease-out,scale .15s ease-out;&:popover-open{display:flex!important}}}}@layer utilities{:where(.divider){align-items:center;color:var(--color-content-neutral,oklch(48.26% .0365 255.09));display:flex;flex-flow:row nowrap;font-size:.875rem;height:1px;justify-content:center;margin:var(--spacing-field-padding,.625rem) 0;white-space:nowrap;width:100%;&:after,&:before{background-color:var(--color-line,oklch(48.3% .006422 17.4/.15));content:"";display:inline-flex;flex:1;height:1px;width:auto}&:not(:empty){gap:var(--spacing-field-padding,.625rem)}}:where(.divider.start){justify-content:flex-start;&:before{display:none}}:where(.divider.end){justify-content:flex-end;&:after{display:none}}.divider.vertical{align-self:stretch;flex-flow:column nowrap;height:auto;margin:0 var(--spacing-field-padding,.625rem);min-height:100%;min-width:1px;width:fit-content;&:after,&:before{content:"";height:auto;min-height:1px;width:1px}& [x-icon]{flex-shrink:0;font-size:.875rem;min-height:.875rem}}}@layer components{:where(menu[popover]):not(.unstyle){background:var(--color-popover-surface,oklch(100% 0 0));border:0;border-radius:var(--radius,.5rem);box-shadow:0 0 0 1px hsla(0,0%,6%,.05),0 3px 6px hsla(0,0%,6%,.1),0 9px 24px hsla(0,0%,6%,.2);flex-flow:column nowrap;gap:0;height:fit-content;inset:auto;list-style:none;margin:var(--spacing-popover-offset,.5rem) 0;max-height:90vh;min-width:160px;overflow-x:hidden;padding:.25rem;position-area:end span-end;position-try-fallbacks:flip-inline,flip-block,flip-start;transform-origin:top center;width:fit-content;z-index:50;& :where(li,a,button,label){align-items:center;background-color:transparent;border-radius:6px;color:var(--color-content-stark,oklch(16.6% .026 267));cursor:pointer;display:inline-flex;font-weight:400;justify-content:start;max-width:100%;min-height:2rem;overflow:hidden;padding-inline-end:.5rem;padding-inline-start:.5rem;text-align:start;text-decoration:none;text-overflow:ellipsis;user-select:none;white-space:nowrap;width:100%;&:hover{text-decoration:inherit}&:active,&:hover{background-color:var(--color-field-surface,oklch(91.79% .0029 264.26));color:var(--color-field-inverse,oklch(16.6% .026 267))}& [x-icon],& span{color:inherit}& [x-icon]:first-child:not(:only-child){margin-inline-end:.375rem}}& small{color:var(--color-content-neutral,oklch(48.26% .0365 255.09));padding:.25rem .5rem}& hr{background-color:var(--color-line,oklch(48.3% .006422 17.4/.15));flex-shrink:0;margin-inline-start:-.25rem;margin-bottom:.25rem;margin-top:.25rem;width:calc(100% + .5rem)}& label{cursor:default;padding-inline-end:.5rem;padding-inline-start:.5rem;&:hover{background-color:transparent}&:has(input[role=switch]){justify-content:space-between}}& :where(input,textarea){flex-shrink:0;&:not(:first-child){margin-top:var(--spacing,.25rem)}}& span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}:where(.dark menu[popover]) :where(li,a,button,label):hover{background-color:var(--color-field-surface-hover,oklch(89.24% .0024 12.48))}:where(menu menu):not(.unstyle){margin:0 var(--spacing-popover-offset,.5rem);position-area:span-end end}:where(menu.center){position-area:center}:where(menu.top){margin:var(--spacing-popover-offset,.5rem) 0;position-area:top}:where(menu.bottom){margin:var(--spacing-popover-offset,.5rem) 0;position-area:bottom}:where(menu.start){margin:0 var(--spacing-popover-offset,.5rem);position-area:center start}:where(menu.end){margin:0 var(--spacing-popover-offset,.5rem);position-area:center end}:where(menu.top-start){margin:var(--spacing-popover-offset,.5rem) 0;position-area:start span-end}:where(menu.top-end){margin:var(--spacing-popover-offset,.5rem) 0;position-area:start span-start}:where(menu.bottom-start){margin:var(--spacing-popover-offset,.5rem) 0;position-area:end span-end}:where(menu.bottom-end){margin:var(--spacing-popover-offset,.5rem) 0;position-area:end span-start}:where(menu.start-top){margin:0 var(--spacing-popover-offset,.5rem);position-area:span-end start}:where(menu.start-bottom){margin:0 var(--spacing-popover-offset,.5rem);position-area:span-start start}:where(menu.end-top){margin:0 var(--spacing-popover-offset,.5rem);position-area:span-end end}:where(menu.end-bottom){margin:0 var(--spacing-popover-offset,.5rem);position-area:span-start end}:where(menu.top-start-corner,menu.start-top-corner){margin:var(--spacing-popover-offset,.5rem);position-area:start start}:where(menu.top-end-corner,menu.end-top-corner){margin:var(--spacing-popover-offset,.5rem);position-area:start end}:where(menu.bottom-start-corner,menu.start-bottom-corner){margin:var(--spacing-popover-offset,.5rem);position-area:end start}:where(menu.bottom-end-corner,menu.end-bottom-corner){margin:var(--spacing-popover-offset,.5rem);position-area:end end}@media (pointer:coarse){menu[popover]:not(.unstyle){bottom:1rem;left:1rem;margin:0;position:fixed;position-area:none;top:auto;width:calc(100% - 2rem);& :where(li,a,button,label) [x-icon]:first-child:not(:only-child){margin-inline-end:.8125rem}}}}@layer components{:where([role=group]:has(button,input,select)):not(.unstyle){align-items:center;display:flex;flex-flow:row nowrap;gap:0;max-width:100%;width:fit-content;&>*{flex-basis:auto;flex-shrink:0;&:focus{z-index:1}}&>:first-child{border-end-end-radius:0;border-start-end-radius:0}&>:not(:first-child):not(:last-child){border-radius:0}&>:last-child{border-end-start-radius:0;border-start-start-radius:0}&.even>*{flex-shrink:1;width:100%}& input{width:fit-content}}:where(form):not(.unstyle){display:flex;flex-direction:column;gap:calc(var(--spacing)*4);width:100%}:where(fieldset):not(.unstyle){display:flex;flex-direction:column;gap:.375ch calc(var(--spacing)*2);width:100%;&:has([type=radio],[type=checkbox]){gap:calc(var(--spacing)*2)}}:where(fieldset:has(legend)):not(.unstyle){border-color:var(--color-line,oklch(48.3% .006422 17.4/.15));border-radius:var(--radius,.5rem);border-style:solid;border-width:1px;padding:1ch 1.5ch 1.5ch;& :where(legend){color:var(--color-content-subtle,oklch(67.4% .0318 251.27));font-size:.875rem;padding:0 1.5ch}}:where(label,.label):has([type=radio],[type=checkbox]):not(.unstyle){align-items:center;cursor:pointer;display:flex;flex-flow:row;gap:1ch;outline:0 none;&:focus-within{box-shadow:0 0 0 0}}:where(label:not(:has(.label)),.label):has(button,[role=button],[type=button],[type=submit],select,input:not([role=button],[type=checkbox],[type=radio],[type=file],[type=search]),textarea):not(:has(data)):not(.unstyle){cursor:pointer;display:flex;flex-direction:column;gap:.2ch;text-indent:calc(var(--radius)/2);width:100%;:where(*){text-indent:0}:where(span:first-of-type){padding-inline-start:calc(var(--radius)/2)}:where(button,[role=button],[type=button],[type=submit],select,input:not([role=button],[type=checkbox],[type=radio],[type=file],[type=search]),textarea){max-width:100%;width:100%}:has([type=search],[type=file]) :where([type=search],[type=file]){margin-top:.2ch}}label:has(data):not(.unstyle){align-items:center;display:flex;flex-direction:row;gap:1rem;justify-content:space-between;width:100%;&:focus-within{box-shadow:0 0 0 0}& :where(.label,button,input:not([type=checkbox],[type=radio]),select,textarea){max-width:50%;width:calc(var(--spacing-field-height)*8)}& .label:focus-within{box-shadow:0 0 0 2px color-mix(in oklch,var(--color-content-stark) 35%,transparent)}&:has(textarea){align-items:start;:where(data){padding-top:calc(var(--spacing))}}}label:has(.label):not(.unstyle){background-color:transparent;cursor:default;justify-content:space-between;:where([type=search]){max-width:100%;width:100%}}}@layer components{:where(input:not([type=range]),textarea,label:has([type=search],[type=file]),.label:has([type=search],[type=file])):not(.unstyle){appearance:none;background-color:var(--color-field-surface,oklch(91.79% .0029 264.26));border:0 solid transparent;border-radius:var(--radius,.5rem);color:var(--color-field-inverse,oklch(16.6% .026 267));cursor:text;max-width:100%;transition:var(--transition,all .05s ease-in-out);width:100%;&:active,&:hover{background-color:var(--color-field-surface-hover,oklch(89.24% .0024 12.48))}&:focus-visible{background-color:var(--color-field-surface,oklch(91.79% .0029 264.26))}&::placeholder{color:color-mix(in oklch,var(--color-field-inverse,oklch(16.6% .026 267)) 65%,transparent)}&::selection{background-color:color-mix(in oklch,var(--color-field-surface,oklch(91.79% .0029 264.26)) 80%,var(--color-field-inverse,oklch(16.6% .026 267)))}&[type=file]{left:0;max-height:0;max-width:0;opacity:0;overflow:hidden;position:absolute;top:0;z-index:-1}}:where(input:not([type=range]):not(.unstyle)){height:var(--spacing-field-height,2.25rem);padding-left:var(--spacing-field-padding,.625rem);padding-right:var(--spacing-field-padding,.625rem)}:where(label,.label):has([type=search],[type=file]):not(.unstyle){align-items:center;display:flex;flex-flow:row;padding-inline-start:0;& :where(input){background:transparent;padding-inline-end:0;padding-inline-start:0;&:focus-visible,&:hover{background:transparent}&:focus-visible{box-shadow:0 0 0 0 transparent}}&:has(input+*){padding-inline-end:.375rem}&:has(input[type=file]+[x-icon]){padding-inline-end:0}}:where(label,.label):has([type=file]):not(.unstyle){cursor:pointer;gap:var(--spacing,.5rem);height:var(--spacing-field-height,2.25rem);justify-content:center}:where(label,.label):has([type=search]):not(.unstyle){justify-content:start;& [x-icon]{align-items:center;color:var(--color-content-subtle,oklch(67.4% .0318 251.27));display:flex;height:100%;justify-content:center;margin-inline-end:0;width:var(--spacing-field-height,2.25rem)}}:where(input[type=search]):not(.unstyle)::-webkit-search-cancel-button{appearance:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}:where(textarea):not(.unstyle){display:block;height:auto;padding:var(--spacing-field-padding,.625rem) calc(var(--spacing-field-padding, .625rem)*1.3)}}:root{--presence-focus-outline-width:2px;--presence-focus-outline-style:dashed;--presence-focus-outline-offset:2px;--presence-focus-opacity:0.6;--presence-focus-color:#3b82f6;--presence-caret-width:2px;--presence-caret-height:1.2em;--presence-caret-color:#3b82f6;--presence-caret-z-index:1000;--presence-caret-blink-duration:1s;--presence-caret-opacity-high:1;--presence-caret-opacity-low:0.3;--presence-selection-color:#3b82f6;--presence-selection-opacity:0.2;--presence-selection-z-index:999;--presence-cursor-size:8px;--presence-cursor-border-width:2px;--presence-cursor-z-index:1001;--presence-throttle:300ms;--presence-cleanup-interval:30000ms;--presence-min-change-threshold:5px;--presence-idle-threshold:5000ms}@layer elements{:where(.presence-focused){opacity:var(--presence-focus-opacity);outline:var(--presence-focus-outline-width) var(--presence-focus-outline-style) var(--presence-focus-color);outline-offset:var(--presence-focus-outline-offset)}:where(.presence-focused[data-presence-focus-color]){--presence-focus-color:attr(data-presence-focus-color);outline-color:var(--presence-focus-color)}:where(.presence-caret){animation:presence-caret-blink var(--presence-caret-blink-duration) infinite;background-color:var(--presence-caret-color);height:var(--presence-caret-height);pointer-events:none;position:absolute;width:var(--presence-caret-width);z-index:var(--presence-caret-z-index)}:where(.presence-caret[data-presence-caret-color]),[data-presence-caret-color] .presence-caret{--presence-caret-color:attr(data-presence-caret-color)}@keyframes presence-caret-blink{0%,50%{opacity:var(--presence-caret-opacity-high)}51%,to{opacity:var(--presence-caret-opacity-low)}}:where(.presence-selection){background-color:var(--presence-selection-color);opacity:var(--presence-selection-opacity);pointer-events:none;position:absolute;z-index:var(--presence-selection-z-index)}:where(.presence-selection){background-color:var(--presence-selection-color)}:where(.presence-cursor){background-color:var(--presence-cursor-color,var(--presence-focus-color));border:var(--presence-cursor-border-width) solid var(--presence-cursor-color,var(--presence-focus-color));border-radius:50%;height:var(--presence-cursor-size);pointer-events:none;position:absolute;transform:translate(-50%,-50%);width:var(--presence-cursor-size);z-index:var(--presence-cursor-z-index)}:where(.presence-cursor-label){background-color:var(--presence-cursor-color,var(--presence-focus-color));border-radius:4px;color:#fff;font-size:12px;left:50%;padding:2px 6px;pointer-events:none;position:absolute;top:calc(var(--presence-cursor-size) + 4px);transform:translateX(-50%);white-space:nowrap;z-index:calc(var(--presence-cursor-z-index) + 1)}:where([data-presence-caret-user],[data-presence-selection-user],[data-presence-focus-user]){position:relative}}@layer components{input[type=radio]:not(.unstyle){border-radius:50%;cursor:pointer;height:calc(var(--spacing-field-height, 2.25rem)*.625);min-width:calc(var(--spacing-field-height, 2.25rem)*.625);padding:5px;position:relative;width:calc(var(--spacing-field-height, 2.25rem)*.625);&:after{background-color:var(--color-field-inverse,oklch(16.6% .026 267));border-radius:50%;content:"";height:60%;left:50%;opacity:0;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) scale(0);transform-origin:center;transition:var(--transition,all .05s ease-in-out);width:60%}&:checked:after{opacity:1;transform:translateX(-50%) translateY(-50%) scale(1)}}}@layer components{input[type=range]:not(.unstyle){appearance:none;background-color:transparent;border-radius:var(--radius,.5rem);cursor:default;&::-webkit-slider-runnable-track{background-color:var(--color-field-surface,oklch(91.79% .0029 264.26));border-radius:var(--radius,.5rem);cursor:pointer;height:calc(var(--spacing, .25rem)*2);transition:var(--transition)}&:hover::-webkit-slider-runnable-track{background-color:var(--color-field-surface-hover,oklch(89.24% .0024 12.48))}&::-webkit-slider-thumb{appearance:none;background-color:color-mix(in oklch,var(--color-field-surface,oklch(91.79% .0029 264.26)) 60%,var(--color-field-inverse,oklch(16.6% .026 267)));border-radius:200px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);cursor:pointer;height:calc(var(--spacing-field-height, 2.25rem)*.5);position:relative;top:50%;transform:translateY(-50%);transition:var(--transition);width:calc(var(--spacing-field-height, 2.25rem)*.5)}&::-webkit-slider-thumb:hover{background-color:color-mix(in oklch,var(--color-field-surface,oklch(91.79% .0029 264.26)) 30%,var(--color-field-inverse,oklch(16.6% .026 267)))}}:where(datalist):not(.unstyle){display:flex;flex-flow:row nowrap;justify-content:space-between;max-width:100%;width:100%;& option{color:var(--color-content-neutral,oklch(48.26% .0365 255.09));font-size:.875rem;text-align:center;width:2ch}}label:has(input[type=range]):not(.unstyle){cursor:default}}@layer utilities{:where([x-resize]){position:relative;.resize-handle{background:transparent;border:none;display:block;height:var(--spacing-resize-handle,1rem);outline:none;position:absolute;width:var(--spacing-resize-handle,1rem);z-index:100;&:before{background:transparent;content:"";height:1px;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);transition:background-color .2s ease;width:1px}&:active:before,&:hover:before{background-color:var(--color-line,oklch(48.3% .006422 17.4/.15))}}.resize-handle-bottom,.resize-handle-top{cursor:ns-resize;left:0;width:100%;&:before{width:100%}}.resize-handle-end,.resize-handle-left,.resize-handle-right,.resize-handle-start{cursor:ew-resize;height:100%;top:0;&:before{height:100%}}.resize-handle-top{top:calc(var(--spacing-resize-handle, 1rem)*-.5)}.resize-handle-bottom{bottom:calc(var(--spacing-resize-handle, 1rem)*-.5);top:auto}.resize-handle-left,.resize-handle-start{left:calc(var(--spacing-resize-handle, 1rem)*-.5)}.resize-handle-end,.resize-handle-right{right:calc(var(--spacing-resize-handle, 1rem)*-.5)}.resize-handle-top-left{cursor:nw-resize;left:calc(var(--spacing-resize-handle, 1rem)*-.5)}.resize-handle-top-left,.resize-handle-top-right{height:var(--spacing-resize-handle,1rem);top:calc(var(--spacing-resize-handle, 1rem)*-.5);width:var(--spacing-resize-handle,1rem)}.resize-handle-top-right{cursor:ne-resize;right:calc(var(--spacing-resize-handle, 1rem)*-.5)}.resize-handle-bottom-left{cursor:sw-resize;left:calc(var(--spacing-resize-handle, 1rem)*-.5)}.resize-handle-bottom-left,.resize-handle-bottom-right{bottom:calc(var(--spacing-resize-handle, 1rem)*-.5);height:var(--spacing-resize-handle,1rem);width:var(--spacing-resize-handle,1rem)}.resize-handle-bottom-right{cursor:se-resize;right:calc(var(--spacing-resize-handle, 1rem)*-.5)}.resize-handle-top-start{cursor:nw-resize;left:calc(var(--spacing-resize-handle, 1rem)*-.5)}.resize-handle-top-end,.resize-handle-top-start{height:var(--spacing-resize-handle,1rem);top:calc(var(--spacing-resize-handle, 1rem)*-.5);width:var(--spacing-resize-handle,1rem)}.resize-handle-top-end{cursor:ne-resize;right:calc(var(--spacing-resize-handle, 1rem)*-.5)}.resize-handle-bottom-start{cursor:sw-resize;left:calc(var(--spacing-resize-handle, 1rem)*-.5)}.resize-handle-bottom-end,.resize-handle-bottom-start{bottom:calc(var(--spacing-resize-handle, 1rem)*-.5);height:var(--spacing-resize-handle,1rem);width:var(--spacing-resize-handle,1rem)}.resize-handle-bottom-end{cursor:se-resize;right:calc(var(--spacing-resize-handle, 1rem)*-.5)}.resize-overlay{background:transparent;display:none;height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:9999}.resizable-closing{opacity:.5;transition:opacity .2s ease}.resizable-closed{display:none!important}.resize-handle:focus{outline:2px solid rgba(59,130,246,.5);outline-offset:2px}@media (prefers-contrast:high){:where(.resize-handle:hover .resize-handle-inner){background:rgba(0,0,0,.3)}:where(.resize-handle:active .resize-handle-inner){background:rgba(0,0,0,.5)}}@media (prefers-reduced-motion:reduce){:where(.resize-handle-inner,.resizable-closing,.resize-handle){transition:none}}}[dir=rtl] :where([x-resize]) .resize-handle-start{left:auto;right:calc(var(--spacing-resize-handle, 1rem)*-.5)}[dir=rtl] :where([x-resize]) .resize-handle-end{left:calc(var(--spacing-resize-handle, 1rem)*-.5);right:auto}[dir=rtl] :where([x-resize]) .resize-handle-top-start{cursor:ne-resize;left:auto;right:calc(var(--spacing-resize-handle, 1rem)*-.5)}[dir=rtl] :where([x-resize]) .resize-handle-top-end{cursor:nw-resize;left:calc(var(--spacing-resize-handle, 1rem)*-.5);right:auto}[dir=rtl] :where([x-resize]) .resize-handle-bottom-start{cursor:se-resize;left:auto;right:calc(var(--spacing-resize-handle, 1rem)*-.5)}[dir=rtl] :where([x-resize]) .resize-handle-bottom-end{cursor:sw-resize;left:calc(var(--spacing-resize-handle, 1rem)*-.5);right:auto}}@layer components{:where(aside[popover]){background-color:var(--color-popover-surface,oklch(100% 0 0));height:100%;inset-inline-end:0;inset-inline-start:auto;max-width:80vw;max-width:100%;min-width:20vw;overflow-y:auto;transition:opacity .15s ease-in,transform .15s ease-in,display .15s ease-in;transition-behavior:allow-discrete;width:fit-content;z-index:200;@starting-style{opacity:1;scale:1;transform:translateX(100%)}&:not(:popover-open){opacity:1;scale:1;transform:translateX(100%)}[dir=rtl] &{@starting-style{transform:translateX(-100%)}&:not(:popover-open){transform:translateX(-100%)}}}:where(aside[popover].appear-start){inset-inline-end:auto;inset-inline-start:0;@starting-style{transform:translateX(-100%)}&:not(:popover-open){transform:translateX(-100%)}[dir=rtl] &{@starting-style{transform:translateX(100%)}&:not(:popover-open){transform:translateX(100%)}}}.dark :where(aside[popover]){background-color:var(--color-surface-1,oklch(98.17% .0005 95.87))}}@layer components{[x-carousel]{display:flex;flex-direction:column;overflow:hidden;position:relative;width:100%;.carousel-slides{aspect-ratio:16/9;display:flex;transition:transform .3s ease-in-out;width:100%}& button[\@click="next()"],& button[\@click="prev()"]{background-color:oklch(100% 0 0/.15);position:absolute;top:50%;transform:translateY(-50%);&:hover{background-color:oklch(100% 0 0/.3)}}& button[\@click="prev()"]{left:calc(var(--spacing)*4)}& button[\@click="next()"]{left:auto;right:calc(var(--spacing)*4)}.carousel-dots{bottom:calc(var(--spacing)*4);display:flex;gap:calc(var(--spacing)*2);left:50%;max-width:100%;overflow-x:auto;padding:0 calc(var(--spacing)*4);position:absolute;transform:translateX(-50%);-webkit-overflow-scrolling:touch;scrollbar-width:none;&::-webkit-scrollbar{display:none}& span{background-color:oklch(100% 0 0/.15);border-radius:50%;cursor:pointer;flex-shrink:0;height:.625rem;transition:background-color .3s ease-in-out;width:.625rem;&:hover{background-color:oklch(100% 0 0/.3)}&.active{background-color:#fff}}}}}@layer components{:where(input[role=switch]):not(.unstyle){border-radius:calc(var(--spacing-field-height, 2.25rem)*.65);box-sizing:content-box;cursor:pointer;height:calc(var(--spacing-field-height, 2.25rem)*.65);min-width:calc(var(--spacing-field-height, 2.25rem)*.65*2);padding:0;position:relative;width:calc(var(--spacing-field-height, 2.25rem)*.65*2);&:before{background-color:color-mix(in oklch,var(--color-field-surface,oklch(91.79% .0029 264.26)) 60%,var(--color-field-inverse,oklch(16.6% .026 267)));border-radius:50%;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);content:"";height:calc(var(--spacing-field-height, 2.25rem)*.65 - .25rem);left:.125rem;position:absolute;top:.125rem;transition:var(--transition,all .05s ease-in-out);width:calc(var(--spacing-field-height, 2.25rem)*.65 - .25rem)}&:checked{background-color:var(--color-field-surface,oklch(91.79% .0029 264.26));&:before{background-color:var(--color-field-inverse,oklch(16.6% .026 267));left:calc(100% - var(--spacing-field-height, 2.25rem)*.65 + .125rem)}&:hover{background-color:var(--color-field-surface-hover,oklch(89.24% .0024 12.48))}}}}@layer components{:where(table,.grid-table):not(.unstyle){border-radius:var(--radius,.5rem);border-spacing:0;max-width:100%;overflow:hidden;table-layout:auto;width:100%;:where(.grid-header,.grid-row,.grid-footer){display:contents}:where(thead,.grid-header>*){background-color:var(--color-surface-1,oklch(98.17% .0005 95.87));border-bottom:1px solid var(--color-line,oklch(48.3% .006422 17.4/.15))}:where(th,.grid-header>*){font-weight:700}:where(tr,.grid-row>*){border-bottom:1px solid var(--color-line,oklch(48.3% .006422 17.4/.15))}:where(td,th,.grid-header>*,.grid-row>*,.grid-footer>*){font-size:.875rem;overflow:hidden;padding:calc(var(--spacing, .25rem)*2.5) calc(var(--spacing, .25rem)*4);text-align:left;text-align:start;&>:not(template){display:inline-flex;vertical-align:middle;&:not(:last-child){margin-right:4px}}}:where(:not(:has(tfoot)) tbody tr:last-child,tfoot tr:last-child,.grid-footer>*){border-bottom:0}&.striped{:where(tr:nth-child(2n),.grid-row:nth-child(2n)){background-color:var(--color-surface-1,oklch(98.17% .0005 95.87))}:where(tr:nth-child(odd),.grid-row:nth-child(odd)){background-color:transparent}:where(tr,.grid-row){border-bottom:0}}}}@layer utilities{:where(.toast-container){align-items:center;bottom:3vw;display:flex;flex-direction:column-reverse;gap:calc(var(--spacing, .25rem)*2);left:50%;position:fixed;transform:translateX(-50%);z-index:100}:where(.toast){background-color:var(--color-popover-surface,oklch(100% 0 0));border:1px solid var(--color-line,oklch(48.3% .006422 17.4/.15));border-radius:calc(var(--radius, .5rem)*2);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);display:flex;max-width:90vw;opacity:0;overflow:hidden;transform:translateY(1rem);transition:opacity .2s ease-out,transform .2s ease-out,height .2s ease-out,margin .2s ease-out,padding .2s ease-out;:where(.toast-content){align-items:center;color:inherit;display:flex;padding:.375rem .75rem;white-space:pre-wrap;:where([x-icon]:first-child){margin-right:1ch}}:where(.toast-dismiss-button){border-inline-start:1px solid color-mix(in oklch,var(--color-content-stark,oklch(16.6% .026 267)) 20%,transparent);border-radius:0;position:relative;&:after{background-color:var(--color-field-inverse,oklch(16.6% .026 267));content:"";height:50%;left:50%;mask-image:var(--icon-toast-dismiss,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E"));mask-repeat:no-repeat;mask-size:100% 100%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);transform-origin:center;width:50%}}}:where(.toast.brand,.toast.accent,.toast.positive,.toast.negative){background-color:var(--color-field-surface,oklch(91.79% .0029 264.26));color:var(--color-field-inverse,oklch(16.6% .026 267));:where(.toast-dismiss-button){border-inline-start:1px solid color-mix(in oklch,var(--color-field-inverse,oklch(16.6% .026 267)) 20%,transparent)}}:where(.toast-entry){opacity:1;transform:translateY(0)}:where(.toast-exit){opacity:0;transform:translateY(1rem)}}@layer utilities{:where(.tooltip[popover]){background-color:var(--color-content-stark,oklch(16.6% .026 267));border:0;border-radius:var(--radius,.5rem);box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);color:var(--color-page,oklch(100% 0 0));display:block;font-size:.875rem;inset:auto;margin:var(--spacing-popover-offset,.5rem) 0;max-width:200px;padding:calc(var(--spacing, .25rem)*.5) calc(var(--spacing, .25rem)*2);position:absolute;position-area:bottom;position-try-fallbacks:flip-inline,flip-block,flip-start;width:fit-content;&:hover{transition-delay:var(--tooltip-hover-delay,1s)}& [x-icon]:first-child{margin-inline-end:.25rem}}:where(.tooltip.top){margin:var(--spacing-popover-offset,.5rem) 0;position-area:top}:where(.tooltip.bottom){margin:var(--spacing-popover-offset,.5rem) 0;position-area:bottom}:where(.tooltip.start){margin:0 var(--spacing-popover-offset,.5rem);position-area:center start}:where(.tooltip.end){margin:0 var(--spacing-popover-offset,.5rem);position-area:center end}:where(.tooltip.top-start){margin:var(--spacing-popover-offset,.5rem) 0;position-area:start span-end}:where(.tooltip.top-end){margin:var(--spacing-popover-offset,.5rem) 0;position-area:start span-start}:where(.tooltip.bottom-start){margin:var(--spacing-popover-offset,.5rem) 0;position-area:end span-end}:where(.tooltip.bottom-end){margin:var(--spacing-popover-offset,.5rem) 0;position-area:end span-start}:where(.tooltip.start-top){margin:0 var(--spacing-popover-offset,.5rem);position-area:span-end start}:where(.tooltip.start-bottom){margin:0 var(--spacing-popover-offset,.5rem);position-area:span-start start}:where(.tooltip.end-top){margin:0 var(--spacing-popover-offset,.5rem);position-area:span-end end}:where(.tooltip.end-bottom){margin:0 var(--spacing-popover-offset,.5rem);position-area:span-start end}:where(.tooltip.top-start-corner,.tooltip.start-top-corner){margin:var(--spacing-popover-offset,.5rem);position-area:start start}:where(.tooltip.top-end-corner,.tooltip.end-top-corner){margin:var(--spacing-popover-offset,.5rem);position-area:start end}:where(.tooltip.bottom-start-corner,.tooltip.start-bottom-corner){margin:var(--spacing-popover-offset,.5rem);position-area:end start}:where(.tooltip.bottom-end-corner,.tooltip.end-bottom-corner){margin:var(--spacing-popover-offset,.5rem);position-area:end end}}@layer base{.caption,.h1,.h2,.h3,.h4,.h5,.h6,.label,.paragraph,.small,:where(a,abbr,address,blockquote,code,del,figcaption,h1,h2,h3,h4,h5,h6,ins,label:not(.avatar,:has([type=file],[type=search])),legend,p,small,cite,q):not(.unstyle){color:var(--color-content-stark);&:where(:has([x-icon])){align-items:center;display:inline-flex;& [x-icon]{margin-inline-end:.5ch}}& span{vertical-align:inherit}}.h1,.h2,.h3,.h4,.h5,.h6,:where(h1,h2,h3,h4,h5,h6):not(.unstyle){font-weight:bolder;word-wrap:break-word}.h1,.h2,.h3,.h4,:where(h1,h2,h3,h4):not(.unstyle){font-weight:700}.h1,.h2,.h3,:where(h1,h2,h3):not(.unstyle){letter-spacing:-.025em}.h1,:where(h1):not(.unstyle){font-size:2.25rem;line-height:1.25}.h2,:where(h2):not(.unstyle){font-size:1.5rem}.h3,:where(h3):not(.unstyle){font-size:1.25rem;line-height:1.4}.h4,:where(h4):not(.unstyle){font-size:1rem}.h5,:where(h5):not(.unstyle){color:var(--color-content-neutral,oklch(48.26% .0365 255.09));font-size:.875rem;font-weight:600;line-height:1rem}.h6,:where(h6):not(.unstyle){font-size:.8125rem;font-weight:600;line-height:1.4;text-transform:uppercase}.paragraph,:where(p):not(.unstyle){line-height:1.6}:where(a:not([role=button]),button.link):not(.unstyle){cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:var(--transition,all .05s ease-in-out);&:active,&:hover{color:var(--color-content-neutral,oklch(48.26% .0365 255.09))}}:where(blockquote):not(.unstyle){border-inline-end:none;border-inline-start:.25rem solid color-mix(in oklch,var(--color-content-stark,oklch(16.6% .026 267)) 25%,transparent);color:var(--color-content-stark,oklch(16.6% .026 267));display:block;margin:calc(var(--spacing, .25rem)*4) 0;max-width:100%;padding:0 calc(var(--spacing, .25rem)*4);width:100%;& *{color:inherit}}:where(code):not(.unstyle){display:inline-block;font-size:82.5%;height:fit-content;padding:.1ch .5ch;width:fit-content;word-wrap:break-word;background-color:color-mix(in oklch,var(--color-content-neutral,oklch(48.26% .0365 255.09)) 10%,transparent);border:1px solid color-mix(in oklch,var(--color-content-subtle,oklch(67.4% .0318 251.27)) 10%,transparent);border-radius:var(--radius,.5rem);color:var(--color-content-neutral,oklch(48.26% .0365 255.09))}.caption,:where(figcaption):not(.unstyle){color:var(--color-content-neutral,oklch(48.26% .0365 255.09));font-size:.8125rem;& a{color:inherit;font-weight:inherit}}:where(figure figcaption):not(.unstyle){margin:calc(var(--spacing, .25rem)*2) auto;text-align:center}.small,:where(small):not(.unstyle){color:var(--color-content-neutral,oklch(48.26% .0365 255.09));font-size:.875rem}:where([x-icon]){display:inline-flex;width:fit-content}:where(ins):not(.unstyle){text-decoration:none}.kbd,:where(kbd):not(.unstyle){background-color:color-mix(in oklch,var(--color-content-neutral,oklch(48.26% .0365 255.09)) 10%,transparent);border-radius:calc(var(--radius, .5rem)/1.5);color:var(--color-content-neutral,oklch(48.26% .0365 255.09));display:inline-block;font-family:inherit;font-size:75%;font-weight:600;line-height:1;min-width:1.4rem;padding:.3rem;text-align:center;vertical-align:baseline;width:fit-content;&:not(:last-of-type){margin-inline-end:1px}}[dir=rtl] :where(kbd:not(:last-of-type),.kbd:not(:last-of-type)){margin-inline-end:0;margin-inline-start:1px}.label,:where(label):not(.unstyle){user-select:none;width:-moz-fit-content;width:fit-content}.legend,:where(legend):not(.unstyle){display:block;max-width:100%;white-space:normal}.badge,:where(mark):not(.unstyle){align-items:center;background-color:var(--color-field-surface,oklch(91.79% .0029 264.26));border-radius:100px;color:var(--color-field-inverse,oklch(16.6% .026 267));display:inline-flex;font-size:.75rem;font-weight:500;gap:.25rem;height:fit-content;justify-content:center;line-height:1;padding:var(--spacing,.25rem) calc(var(--spacing, .25rem)*1.5);width:fit-content;&:has(svg:only-child){padding:var(--spacing,.25rem) calc(var(--spacing, .25rem)*1)}}:where(ol):not(nav ol):not(menu ol):not(.unstyle){list-style-type:decimal}:where(ul):not(nav ul):not(menu ul):not(.unstyle){list-style-type:disc}:where(ol):not(nav ol):not(menu ol):not(.unstyle),:where(ul):not(nav ul):not(menu ul):not(.unstyle){&:not(:has(input[type=checkbox])){padding-inline-start:1.75ch}& li{padding-inline-start:1ch;&:not(:last-of-type){margin-bottom:1.25ch}&:has([x-icon]){display:inherit;list-style:none;position:relative;& [x-icon]{left:-1.75ch;position:absolute;top:.45ch}}&:has(input[type=checkbox]){display:inherit;list-style:none;position:relative;& input[type=checkbox]{left:-1ch;position:absolute;top:.45ch}}}}[dir=rtl] :where(ol):not(nav ol):not(menu ol):not(.unstyle),[dir=rtl] :where(ul):not(nav ul):not(menu ul):not(.unstyle){& li:has([x-icon]){& [x-icon]{left:auto;right:-1.75ch}}& li:has(input[type=checkbox]){& input[type=checkbox]{left:auto;right:-1.25ch}}}:where(ol,ul):not(nav ol):not(menu ol):not(.unstyle) ul,:where(ol,ul):not(nav ul):not(menu ul):not(.unstyle) ol{margin-top:1ch;padding-inline-start:2.75ch;&+li{margin-top:1.5ch}}:where(span):not(.unstyle){vertical-align:middle}}@layer utilities{:where(.center){align-items:center;justify-content:center}:where(.row,.row-wrap,.col,.col-wrap){display:flex}:where(.col){flex-flow:column nowrap}:where(.col-wrap){flex-flow:column wrap}:where(.row){flex-flow:row nowrap}:where(.row-wrap){flex-flow:row wrap}:where(.content){margin-inline-end:auto;margin-inline-start:auto;max-width:100%;width:var(--spacing-content-width,68.75rem)}:where(.ghost){background-color:transparent;color:var(--color-content-stark,oklch(16.6% .026 267));&:hover{background-color:var(--color-field-surface,oklch(91.79% .0029 264.26))}&.brand:hover{color:var(--color-brand-inverse,#763518)}&.accent:hover{color:var(--color-accent-inverse,oklch(100% 0 0))}&.negative:hover{color:var(--color-negative-inverse,#fff)}}:where(.hug){height:fit-content;min-width:0;padding:0;width:fit-content}:where(.outlined){border-color:color-mix(in oklch,var(--color-field-surface,oklch(91.79% .0029 264.26)) 90%,var(--color-field-inverse,oklch(16.6% .026 267)));border-style:solid;border-width:1px}.dark :where(.outlined){border-color:color-mix(in oklch,var(--color-field-surface,oklch(91.79% .0029 264.26)) 80%,var(--color-field-inverse,oklch(16.6% .026 267)))}:where(.selected){background-color:color-mix(in oklch,var(--color-field-surface,oklch(91.79% .0029 264.26)) 25%,transparent)}:where(.transparent){background-color:transparent!important;color:var(--color-content-neutral,oklch(48.26% .0365 255.09));&:hover{color:var(--color-content-stark,oklch(16.6% .026 267))}}:where(.lg){--spacing-field-height:2.5rem;--spacing-field-padding:0.78rem;font-size:125%}:where(.sm){--spacing-field-height:1.5rem;--spacing-field-padding:0.49rem;font-size:75%;&::picker-icon{line-height:.2}}:where(body.page){display:flex;flex-direction:column;min-height:100vh}.page{&>footer,&>header{z-index:30}&>footer,&>header,&>main{padding-inline-end:var(--spacing-viewport-padding,5vw);padding-inline-start:var(--spacing-viewport-padding,5vw)}&>footer nav,&>header nav,&>main>section:not(.banner,.overlay-dark,.overlay-light){margin-inline-end:auto;margin-inline-start:auto;max-width:100%;width:var(--spacing-content-width,68.75rem)}&>footer{margin-top:auto}}.no-focus:focus,.no-focus:focus-visible,.no-focus:focus-within{box-shadow:0 0 0 0 transparent}:where(.no-scrollbar){-ms-overflow-style:none;scrollbar-width:none;&::-webkit-scrollbar{display:none}}:where(.overlay-dark,.overlay-light){position:relative;&:after{content:"";height:100%;left:0;position:absolute;top:0;width:100%;z-index:0}>*{position:relative;z-index:1}}:where(.overlay-dark){color:#fff!important;&:after{background:oklch(0 0 0/50%)}}:where(.overlay-light){color:#000!important;&:after{background:oklch(100% 0 0/75%)}}:where(.prose){max-width:100%;width:65ch;& aside:not([popover]){background-color:color-mix(in oklch,var(--color-field-surface,oklch(91.79% .0029 264.26)) 20%,transparent);border:1px solid color-mix(in oklch,var(--color-field-surface,oklch(91.79% .0029 264.26)) 30%,transparent);border-radius:calc(var(--radius, .5rem)*2);color:var(--color-content-stark,oklch(16.6% .026 267));margin-top:1.4rem;padding:1rem;&:not(.frame) *{color:inherit}&:has([x-icon]):not(.frame){display:flex;flex-direction:row;gap:1rem;& [x-icon]{font-size:1.25rem;padding-top:.25rem}}}&>a:not(:where(h1,h2,h3,h4,h5,h6,p,small,figcaption,label,li,blockquote,pre code,code,kbd,span,mark,[role=button]) a){margin-top:1.4rem}&>blockquote{margin-top:2rem;& *{margin:0}}&>figcaption{margin-top:1rem}&>figure{margin-top:1.4rem;& img{margin:0}}&>h1+p{color:var(--color-content-neutral,oklch(48.26% .0365 255.09));font-size:1.125rem;margin-top:.625rem}&>h2{margin-bottom:.6667rem;margin-top:1rem}&>h3{margin-top:2.4rem}&>h4{margin-top:3rem}&>h4+p{margin-top:.25rem}&>h5{margin-top:1rem}&>h5,&>h6{margin-bottom:1rem}&>h6{margin-top:2rem}&>hr{margin-bottom:3rem;margin-top:3rem}&>img,&>p{margin-top:1.4rem}&>ol,&>small,&>ul{margin-top:1rem}&>pre,&>table,&>x-code,&>x-code-group{margin-bottom:2rem;margin-top:2rem}&>x-code pre,&>x-code-group x-code{margin-bottom:0;margin-top:0}}:where(.trailing){color:var(--color-content-neutral,oklch(48.26% .0365 255.09));display:inline-block;margin-inline-start:auto}:where(.brand){--color-field-surface:var(--color-brand-surface,#f6c07b);--color-field-surface-hover:var(--color-brand-surface-hover,#f19b46);--color-field-inverse:var(--color-brand-inverse,#763518);--color-content-stark:var(--color-brand-content,#de6618);--color-content-neutral:color-mix(in oklch,var(--color-brand-content,#de6618) 85%,transparent);--color-content-subtle:color-mix(in oklch,var(--color-brand-content,#de6618) 70%,transparent)}:where(.accent){--color-field-surface:var(--color-accent-surface,oklch(16.6% 0.026 267));--color-field-surface-hover:var(--color-accent-surface-hover,oklch(28.7% 0.030787 270.1));--color-field-inverse:var(--color-accent-inverse,oklch(100% 0 0));--color-content-stark:var(--color-accent-content,oklch(16.6% 0.026 267));--color-content-neutral:color-mix(in oklch,var(--color-accent-content,oklch(16.6% 0.026 267)) 85%,transparent);--color-content-subtle:color-mix(in oklch,var(--color-accent-content,oklch(16.6% 0.026 267)) 70%,transparent)}:where(.negative){--color-field-surface:var(--color-negative-surface,#ef4444);--color-field-surface-hover:var(--color-negative-surface-hover,#dc2626);--color-field-inverse:var(--color-negative-inverse,#fff);--color-content-stark:var(--color-negative-content,#ef4444);--color-content-neutral:color-mix(in oklch,var(--color-negative-content,#ef4444) 85%,transparent);--color-content-subtle:color-mix(in oklch,var(--color-negative-content,#ef4444) 70%,transparent)}:where(.positive){--color-field-surface:var(--color-positive-surface,#16a34a);--color-field-surface-hover:var(--color-positive-surface-hover,#166534);--color-field-inverse:var(--color-positive-inverse,#fff);--color-content-stark:var(--color-positive-content,#16a34a);--color-content-neutral:color-mix(in oklch,var(--color-positive-content,#16a34a) 85%,transparent);--color-content-subtle:color-mix(in oklch,var(--color-positive-content,#16a34a) 70%,transparent)}:where(.stark){color:var(--color-content-stark,oklch(16.6% .026 267))}:where(.neutral){color:var(--color-content-neutral,oklch(48.26% .0365 255.09))}:where(.subtle){color:var(--color-content-subtle,oklch(67.4% .0318 251.27))}}
1
+ @layer base{*,::backdrop,::file-selector-button,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}:where(:root){-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overflow-wrap:break-word;-moz-tab-size:4;-o-tab-size:4;tab-size:4;text-rendering:optimizeLegibility}:host,:where(html){font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;line-height:1.5;max-width:100vw;overflow-x:hidden;tab-size:4;width:100vw;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none;&::-webkit-scrollbar{display:none}&:has(dialog:popover-open){overflow:hidden}}:where(body){line-height:inherit;margin:0;max-width:100vw;min-height:100vh}:where(a){color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}:where(abbr[title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}:where([aria-controls]){cursor:pointer}:where([aria-hidden=false][hidden]){display:initial}:where([aria-hidden=false][hidden]:not(:focus)){clip:rect(0,0,0,0);position:absolute}:where(audio:not([controls])){display:none;height:0}:where(b,strong){font-weight:bolder}:where(button,input,optgroup,select,textarea){color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}:where(button,select){text-transform:none}:where(button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button){appearance:button;background-color:transparent;background-image:none}:where(::-webkit-file-upload-button){-webkit-appearance:button;font:inherit}:where(::-webkit-inner-spin-button,::-webkit-outer-spin-button){height:auto}:where(::-webkit-search-decoration){-webkit-appearance:none}:where(button,[role=button]){cursor:pointer}:where(code,samp,pre){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}:where([dir=rtl]){direction:rtl}:where([disabled],:disabled,[aria-disabled=true],.disabled){cursor:default;opacity:.5;pointer-events:none}:where(figcaption){font-size:75%}:where(figure){display:block;padding:0}:where(::file-selector-button){margin-inline-end:4px}:where(h1,h2,h3,h4,h5,h6){font-size:inherit;font-weight:inherit}:where(hr){background-color:var(--color-line,oklch(48.3% .006422 17.4/.15));border:0;color:inherit;height:1px}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block}:where(img,video){height:auto;max-width:100%}:where(::-webkit-autofill,:-webkit-autofill:focus){transition:background-color 0s 600000s,color 0s 600000s}:where(::-webkit-date-and-time-value){min-height:1lh;text-align:inherit}:where(::-webkit-datetime-edit){display:inline-flex}:where(::-webkit-datetime-edit-fields-wrapper){padding:0}:where(::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field){padding-block:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}:where(small){font-size:80%}:where(span){color:inherit}:where(sub,sup){font-size:50%;line-height:0;position:relative;vertical-align:baseline}:where(sub){bottom:-.25em}:where(sup){top:-.5em}:where(svg):not([fill]){fill:currentColor}:where(svg):not(:root){overflow:hidden}:where(table){border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}:where(::placeholder){color:#9ca3af;opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){:where(::placeholder){color:color-mix(in oklab,currentcolor 50%,transparent)}}:where([popover]){display:none;transition:opacity .15s ease-in,scale .15s ease-in,display .15s ease-in;transition-behavior:allow-discrete;&:popover-open{display:flex}@starting-style{opacity:0;scale:.9}&:not(:popover-open){display:none!important;opacity:0;scale:1;transition-duration:.15s;transition-timing-function:ease-out}}:where(progress){vertical-align:baseline}:where([type=search]){-webkit-appearance:textfield;appearance:textfield;outline-offset:-2px}:where(summary){display:list-item}:where(textarea){resize:vertical}[hidden],[un-cloak],[v-cloak],[x-cloak],[x-route]{display:none}@media (-webkit-min-device-pixel-ratio:2){:where(html){-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@media (prefers-reduced-motion:reduce){:not([aria-busy=true]),:not([aria-busy=true]):after,:not([aria-busy=true]):before{animation-delay:-1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;background-attachment:scroll!important;scroll-behavior:auto!important;transition-delay:0s!important;transition-duration:0s!important}}@media (prefers-reduced-motion:no-preference){[dir=rtl] progress:indeterminate{animation-direction:reverse}}}@layer components{:where(details):not(.unstyle){transition:var(--transition,all .05s ease-in-out);width:100%;&[open]>summary:before{transform:rotate(90deg)}& [open] summary{margin-bottom:calc(var(--spacing, .25rem)*4)}&>:not(summary){padding:var(--spacing-field-padding,.625rem) 0}:where(summary){align-items:center;color:var(--color-content-stark,oklch(16.6% .026 267));cursor:pointer;display:flex;font-weight:700;justify-content:space-between;position:relative;transition:var(--transition,all .05s ease-in-out);user-select:none;&::-webkit-details-marker,&::marker{content:"";display:none}&:hover{color:color-mix(in oklch,var(--color-surface-1,oklch(98.17% .0005 95.87)) 40%,var(--color-content-stark,oklch(16.6% .026 267)))}&:active{color:color-mix(in oklch,var(--color-surface-1,oklch(98.17% .0005 95.87)) 50%,var(--color-content-stark,oklch(16.6% .026 267)))}&:before{background-color:color-mix(in oklch,var(--color-field-surface,oklch(91.79% .0029 264.26)) 50%,var(--color-field-inverse,oklch(16.6% .026 267)));content:"";height:1rem;-webkit-mask-image:var(--icon-accordion,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 256 256'%3E%3Cpath d='m184.49 136.49-80 80a12 12 0 0 1-17-17L159 128 87.51 56.49a12 12 0 1 1 17-17l80 80a12 12 0 0 1-.02 17'/%3E%3C/svg%3E"));mask-image:var(--icon-accordion,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 256 256'%3E%3Cpath d='m184.49 136.49-80 80a12 12 0 0 1-17-17L159 128 87.51 56.49a12 12 0 1 1 17-17l80 80a12 12 0 0 1-.02 17'/%3E%3C/svg%3E"));-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;order:1;transform:rotate(0);transition:transform .25s ease;width:1rem}}}[dir=rtl] :where(details):not(.unstyle){& summary:before{transform:rotate(180deg)}&[open]>summary:before{transform:rotate(90deg)}}}@layer utilities{:where(.avatar){align-items:center;background-clip:content-box;background-color:var(--color-field-surface,oklch(91.79% .0029 264.26));background-position:50%;background-size:cover;border-radius:var(--radius,.5rem);color:var(--color-field-inverse,oklch(16.6% .026 267));display:flex;flex-flow:row wrap;flex-shrink:0;font-weight:700;height:var(--spacing-field-height,2.25rem);justify-content:center;position:relative;text-align:center;text-transform:uppercase;width:var(--spacing-field-height,2.25rem);&[x-icon]{color:var(--color-content-subtle,oklch(67.4% .0318 251.27))}:where(img){border-radius:inherit;height:100%;left:0;object-fit:cover;object-position:center;position:absolute;top:0;transition:var(--transition,all .05s ease-in-out);width:100%}:where(figure){background-color:var(--color-field-surface,oklch(91.79% .0029 264.26));border:1px solid var(--color-page,oklch(100% 0 0));border-radius:50%;bottom:-3px;height:9px;position:absolute;right:-3px;width:9px;z-index:1}}:where(button.avatar,label.avatar){background-blend-mode:normal;padding:0;&:hover{background-blend-mode:multiply;background-color:var(--color-field-surface-hover,oklch(89.24% .0024 12.48));& img{filter:brightness(.9)}}}:where(.avatar-wide){align-items:center;display:flex;flex-flow:row;gap:1.5ch;justify-content:start;max-width:100%;overflow:hidden;width:100%;& span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}:where(button.avatar-wide){height:fit-content;padding:var(--spacing,.25rem);padding-inline-end:1.5ch;&:hover .avatar{background-color:var(--color-field-surface-hover,oklch(89.24% .0024 12.48));transition:var(--transition,all .05s ease-in-out)}}:where([role=group]:has(.avatar,button.avatar)){align-items:center;display:flex;flex-flow:row nowrap;:where(.avatar){box-shadow:0 0 0 3px var(--color-page,oklch(100% 0 0));margin-inline-end:calc(var(--spacing-field-height, 2.25rem)*-.3)}}}@layer components{:where(button:not(.link),[role=button],[type=button],[type=reset],[type=submit],select):not(.unstyle){align-items:center;appearance:button;background-color:var(--color-field-surface,oklch(91.79% .0029 264.26));border:0 solid transparent;border-radius:var(--radius,.5rem);color:var(--color-field-inverse,oklch(16.6% .026 267));cursor:pointer;display:inline-flex;flex-flow:row;gap:.375rem;height:var(--spacing-field-height,2.25rem);justify-content:center;margin:0;max-width:100%;min-width:var(--spacing-field-height,2.25rem);outline-color:var(--color-line,oklch(48.3% .006422 17.4/.15));overflow:hidden;padding:0 var(--spacing-field-padding,.625rem);text-overflow:ellipsis;transition:var(--transition,all .05s ease-in-out);white-space:nowrap;width:fit-content;& [x-icon],& span{color:inherit}& span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}&:has(>svg:only-child){font-size:1rem;padding:0}& svg{margin-left:auto;margin-right:auto}&:active,&:hover{background-color:var(--color-field-surface-hover,oklch(89.24% .0024 12.48))}&:focus-visible{background-color:var(--color-field-surface,oklch(91.79% .0029 264.26))}}:where(select):not(.unstyle){appearance:base-select;&::picker-icon{content:"⌄";font-size:20px;height:calc(var(--spacing-field-height, 2.25rem)*.5);line-height:.4;transform:scaleY(.7)}}}@layer components{input[type=checkbox]:not([role=switch],.unstyle){border-radius:.4rem;cursor:pointer;height:calc(var(--spacing-field-height, 2.25rem)*.6);max-width:calc(var(--spacing-field-height, 2.25rem)*.6);min-width:calc(var(--spacing-field-height, 2.25rem)*.6);padding:0;position:relative;width:calc(var(--spacing-field-height, 2.25rem)*.6);&:checked{&:active,&:hover{background-color:var(--color-field-surface-hover,oklch(89.24% .0024 12.48));border-color:var(--color-field-surface-hover,oklch(89.24% .0024 12.48))}}&:after{background-color:var(--color-field-inverse,oklch(16.6% .026 267));content:"";height:60%;left:50%;-webkit-mask-image:var(--icon-checkbox,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='currentColor' d='m0 11 2-2 5 5L18 3l2 2L7 18z'/%3E%3C/svg%3E"));mask-image:var(--icon-checkbox,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='currentColor' d='m0 11 2-2 5 5L18 3l2 2L7 18z'/%3E%3C/svg%3E"));-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;opacity:0;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) scale(0);transform-origin:center;transition:var(--transition,all .05s ease-in-out);width:60%}&:checked:after{opacity:1;transform:translateX(-50%) translateY(-50%) scale(1)}}}@layer components{:where(dialog[popover],.dialog):not(.unstyle){background-color:var(--color-popover-surface,oklch(100% 0 0));border:0;border-radius:calc(var(--radius, .5rem)*2);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);color:var(--color-content-stark,oklch(16.6% .026 267));flex-direction:column;left:0;margin:auto;max-height:90vh;max-width:100%;min-height:200px;position:fixed;right:0;width:500px;&::backdrop{background-color:rgba(0,0,0,.2)}& :where(header,main,footer){padding:calc(var(--spacing, .25rem)*4)}& :where(header){align-items:center;display:flex;gap:calc(var(--spacing, .25rem)*4);justify-content:space-between}& :where(main){flex-grow:1}& :where(footer){align-items:center;display:flex;gap:calc(var(--spacing, .25rem)*2);justify-content:end;margin-top:auto}@media screen and (max-width:768px){margin-bottom:auto!important;margin-left:auto!important;margin-right:auto!important;margin-top:auto!important;max-height:calc(100vh - var(--spacing, .25rem)*4 - var(--spacing, .25rem)*4)!important;width:calc(100vw - var(--spacing, .25rem)*4 - var(--spacing, .25rem)*4)!important}}:where(.dialog){height:fit-content;inset:0;z-index:10}.dark :where(dialog)::backdrop{background-color:rgba(0,0,0,.35)}html:has(dialog:popover-open){& menu[popover]:not(dialog *){opacity:0;pointer-events:none;scale:.9;transition:opacity .15s ease-out,scale .15s ease-out;&:popover-open{display:flex!important}}}html:has(dialog:popover-open~dialog:popover-open){& dialog:popover-open:not(:last-of-type) menu[popover]{opacity:0;pointer-events:none;scale:.9;transition:opacity .15s ease-out,scale .15s ease-out;&:popover-open{display:flex!important}}}}@layer utilities{:where(.divider){align-items:center;color:var(--color-content-neutral,oklch(48.26% .0365 255.09));display:flex;flex-flow:row nowrap;font-size:.875rem;height:1px;justify-content:center;margin:var(--spacing-field-padding,.625rem) 0;white-space:nowrap;width:100%;&:after,&:before{background-color:var(--color-line,oklch(48.3% .006422 17.4/.15));content:"";display:inline-flex;flex:1;height:1px;width:auto}&:not(:empty){gap:var(--spacing-field-padding,.625rem)}}:where(.divider.start){justify-content:flex-start;&:before{display:none}}:where(.divider.end){justify-content:flex-end;&:after{display:none}}.divider.vertical{align-self:stretch;flex-flow:column nowrap;height:auto;margin:0 var(--spacing-field-padding,.625rem);min-height:100%;min-width:1px;width:fit-content;&:after,&:before{content:"";height:auto;min-height:1px;width:1px}& [x-icon]{flex-shrink:0;font-size:.875rem;min-height:.875rem}}}@layer components{:where(menu[popover]):not(.unstyle){background:var(--color-popover-surface,oklch(100% 0 0));border:0;border-radius:var(--radius,.5rem);box-shadow:0 0 0 1px hsla(0,0%,6%,.05),0 3px 6px hsla(0,0%,6%,.1),0 9px 24px hsla(0,0%,6%,.2);flex-flow:column nowrap;gap:0;height:fit-content;inset:auto;list-style:none;margin:var(--spacing-popover-offset,.5rem) 0;max-height:90vh;min-width:160px;overflow-x:hidden;padding:.25rem;position-area:end span-end;position-try-fallbacks:flip-inline,flip-block,flip-start;transform-origin:top center;width:fit-content;z-index:50;& :where(li,a,button,label){align-items:center;background-color:transparent;border-radius:6px;color:var(--color-content-stark,oklch(16.6% .026 267));cursor:pointer;display:inline-flex;font-weight:400;justify-content:start;max-width:100%;min-height:2rem;overflow:hidden;padding-inline-end:.5rem;padding-inline-start:.5rem;text-align:start;text-decoration:none;text-overflow:ellipsis;user-select:none;white-space:nowrap;width:100%;&:hover{text-decoration:inherit}&:active,&:hover{background-color:var(--color-field-surface,oklch(91.79% .0029 264.26));color:var(--color-field-inverse,oklch(16.6% .026 267))}& [x-icon],& span{color:inherit}& [x-icon]:first-child:not(:only-child){margin-inline-end:.375rem}}& small{color:var(--color-content-neutral,oklch(48.26% .0365 255.09));padding:.25rem .5rem}& hr{background-color:var(--color-line,oklch(48.3% .006422 17.4/.15));flex-shrink:0;margin-inline-start:-.25rem;margin-bottom:.25rem;margin-top:.25rem;width:calc(100% + .5rem)}& label{cursor:default;padding-inline-end:.5rem;padding-inline-start:.5rem;&:hover{background-color:transparent}&:has(input[role=switch]){justify-content:space-between}}& :where(input,textarea){flex-shrink:0;&:not(:first-child){margin-top:var(--spacing,.25rem)}}& span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}:where(.dark menu[popover]) :where(li,a,button,label):hover{background-color:var(--color-field-surface-hover,oklch(89.24% .0024 12.48))}:where(menu menu):not(.unstyle){margin:0 var(--spacing-popover-offset,.5rem);position-area:span-end end}:where(menu.center){position-area:center}:where(menu.top){margin:var(--spacing-popover-offset,.5rem) 0;position-area:top}:where(menu.bottom){margin:var(--spacing-popover-offset,.5rem) 0;position-area:bottom}:where(menu.start){margin:0 var(--spacing-popover-offset,.5rem);position-area:center start}:where(menu.end){margin:0 var(--spacing-popover-offset,.5rem);position-area:center end}:where(menu.top-start){margin:var(--spacing-popover-offset,.5rem) 0;position-area:start span-end}:where(menu.top-end){margin:var(--spacing-popover-offset,.5rem) 0;position-area:start span-start}:where(menu.bottom-start){margin:var(--spacing-popover-offset,.5rem) 0;position-area:end span-end}:where(menu.bottom-end){margin:var(--spacing-popover-offset,.5rem) 0;position-area:end span-start}:where(menu.start-top){margin:0 var(--spacing-popover-offset,.5rem);position-area:span-end start}:where(menu.start-bottom){margin:0 var(--spacing-popover-offset,.5rem);position-area:span-start start}:where(menu.end-top){margin:0 var(--spacing-popover-offset,.5rem);position-area:span-end end}:where(menu.end-bottom){margin:0 var(--spacing-popover-offset,.5rem);position-area:span-start end}:where(menu.top-start-corner,menu.start-top-corner){margin:var(--spacing-popover-offset,.5rem);position-area:start start}:where(menu.top-end-corner,menu.end-top-corner){margin:var(--spacing-popover-offset,.5rem);position-area:start end}:where(menu.bottom-start-corner,menu.start-bottom-corner){margin:var(--spacing-popover-offset,.5rem);position-area:end start}:where(menu.bottom-end-corner,menu.end-bottom-corner){margin:var(--spacing-popover-offset,.5rem);position-area:end end}@media (pointer:coarse){menu[popover]:not(.unstyle){bottom:1rem;left:1rem;margin:0;position:fixed;position-area:none;top:auto;width:calc(100% - 2rem);& :where(li,a,button,label) [x-icon]:first-child:not(:only-child){margin-inline-end:.8125rem}}}}@layer components{:where([role=group]:has(button,input,select)):not(.unstyle){align-items:center;display:flex;flex-flow:row nowrap;gap:0;max-width:100%;width:fit-content;&>*{flex-basis:auto;flex-shrink:0;&:focus{z-index:1}}&>:first-child{border-end-end-radius:0;border-start-end-radius:0}&>:not(:first-child):not(:last-child){border-radius:0}&>:last-child{border-end-start-radius:0;border-start-start-radius:0}&.even>*{flex-shrink:1;width:100%}& input{width:fit-content}}:where(form):not(.unstyle){display:flex;flex-direction:column;gap:calc(var(--spacing)*4);width:100%}:where(fieldset):not(.unstyle){display:flex;flex-direction:column;gap:.375ch calc(var(--spacing)*2);width:100%;&:has([type=radio],[type=checkbox]){gap:calc(var(--spacing)*2)}}:where(fieldset:has(legend)):not(.unstyle){border-color:var(--color-line,oklch(48.3% .006422 17.4/.15));border-radius:var(--radius,.5rem);border-style:solid;border-width:1px;padding:1ch 1.5ch 1.5ch;& :where(legend){color:var(--color-content-subtle,oklch(67.4% .0318 251.27));font-size:.875rem;padding:0 1.5ch}}:where(label,.label):has([type=radio],[type=checkbox]):not(.unstyle){align-items:center;cursor:pointer;display:flex;flex-flow:row;gap:1ch;outline:0 none;&:focus-within{box-shadow:0 0 0 0}}:where(label:not(:has(.label)),.label):has(button,[role=button],[type=button],[type=submit],select,input:not([role=button],[type=checkbox],[type=radio],[type=file],[type=search]),textarea):not(:has(data)):not(.unstyle){cursor:pointer;display:flex;flex-direction:column;gap:.2ch;text-indent:calc(var(--radius)/2);width:100%;:where(*){text-indent:0}:where(span:first-of-type){padding-inline-start:calc(var(--radius)/2)}:where(button,[role=button],[type=button],[type=submit],select,input:not([role=button],[type=checkbox],[type=radio],[type=file],[type=search]),textarea){max-width:100%;width:100%}:has([type=search],[type=file]) :where([type=search],[type=file]){margin-top:.2ch}}label:has(data):not(.unstyle){align-items:center;display:flex;flex-direction:row;gap:1rem;justify-content:space-between;width:100%;&:focus-within{box-shadow:0 0 0 0}& :where(.label,button,input:not([type=checkbox],[type=radio]),select,textarea){max-width:50%;width:calc(var(--spacing-field-height)*8)}& .label:focus-within{box-shadow:0 0 0 2px color-mix(in oklch,var(--color-content-stark) 35%,transparent)}&:has(textarea){align-items:start;:where(data){padding-top:calc(var(--spacing))}}}label:has(.label):not(.unstyle){background-color:transparent;cursor:default;justify-content:space-between;:where([type=search]){max-width:100%;width:100%}}}@layer components{:where(input:not([type=range]),textarea,label:has([type=search],[type=file]),.label:has([type=search],[type=file])):not(.unstyle){appearance:none;background-color:var(--color-field-surface,oklch(91.79% .0029 264.26));border:0 solid transparent;border-radius:var(--radius,.5rem);color:var(--color-field-inverse,oklch(16.6% .026 267));cursor:text;max-width:100%;transition:var(--transition,all .05s ease-in-out);width:100%;&:active,&:hover{background-color:var(--color-field-surface-hover,oklch(89.24% .0024 12.48))}&:focus-visible{background-color:var(--color-field-surface,oklch(91.79% .0029 264.26))}&::placeholder{color:color-mix(in oklch,var(--color-field-inverse,oklch(16.6% .026 267)) 65%,transparent)}&::selection{background-color:color-mix(in oklch,var(--color-field-surface,oklch(91.79% .0029 264.26)) 80%,var(--color-field-inverse,oklch(16.6% .026 267)))}&[type=file]{left:0;max-height:0;max-width:0;opacity:0;overflow:hidden;position:absolute;top:0;z-index:-1}}:where(input:not([type=range]):not(.unstyle)){height:var(--spacing-field-height,2.25rem);padding-left:var(--spacing-field-padding,.625rem);padding-right:var(--spacing-field-padding,.625rem)}:where(label,.label):has([type=search],[type=file]):not(.unstyle){align-items:center;display:flex;flex-flow:row;padding-inline-start:0;& :where(input){background:transparent;padding-inline-end:0;padding-inline-start:0;&:focus-visible,&:hover{background:transparent}&:focus-visible{box-shadow:0 0 0 0 transparent}}&:has(input+*){padding-inline-end:.375rem}&:has(input[type=file]+[x-icon]){padding-inline-end:0}}:where(label,.label):has([type=file]):not(.unstyle){cursor:pointer;gap:var(--spacing,.5rem);height:var(--spacing-field-height,2.25rem);justify-content:center}:where(label,.label):has([type=search]):not(.unstyle){justify-content:start;& [x-icon]{align-items:center;color:var(--color-content-subtle,oklch(67.4% .0318 251.27));display:flex;height:100%;justify-content:center;margin-inline-end:0;width:var(--spacing-field-height,2.25rem)}}:where(input[type=search]):not(.unstyle)::-webkit-search-cancel-button{appearance:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}:where(textarea):not(.unstyle){display:block;height:auto;padding:var(--spacing-field-padding,.625rem) calc(var(--spacing-field-padding, .625rem)*1.3)}}:root{--presence-focus-outline-width:2px;--presence-focus-outline-style:dashed;--presence-focus-outline-offset:2px;--presence-focus-opacity:0.6;--presence-focus-color:#3b82f6;--presence-caret-width:2px;--presence-caret-height:1.2em;--presence-caret-color:#3b82f6;--presence-caret-z-index:1000;--presence-caret-blink-duration:1s;--presence-caret-opacity-high:1;--presence-caret-opacity-low:0.3;--presence-selection-color:#3b82f6;--presence-selection-opacity:0.2;--presence-selection-z-index:999;--presence-cursor-size:8px;--presence-cursor-border-width:2px;--presence-cursor-z-index:1001;--presence-throttle:300ms;--presence-cleanup-interval:30000ms;--presence-min-change-threshold:5px;--presence-idle-threshold:5000ms}@layer elements{:where(.presence-focused){opacity:var(--presence-focus-opacity);outline:var(--presence-focus-outline-width) var(--presence-focus-outline-style) var(--presence-focus-color);outline-offset:var(--presence-focus-outline-offset)}:where(.presence-focused[data-presence-focus-color]){--presence-focus-color:attr(data-presence-focus-color);outline-color:var(--presence-focus-color)}:where(.presence-caret){animation:presence-caret-blink var(--presence-caret-blink-duration) infinite;background-color:var(--presence-caret-color);height:var(--presence-caret-height);pointer-events:none;position:absolute;width:var(--presence-caret-width);z-index:var(--presence-caret-z-index)}:where(.presence-caret[data-presence-caret-color]),[data-presence-caret-color] .presence-caret{--presence-caret-color:attr(data-presence-caret-color)}@keyframes presence-caret-blink{0%,50%{opacity:var(--presence-caret-opacity-high)}51%,to{opacity:var(--presence-caret-opacity-low)}}:where(.presence-selection){background-color:var(--presence-selection-color);opacity:var(--presence-selection-opacity);pointer-events:none;position:absolute;z-index:var(--presence-selection-z-index)}:where(.presence-selection){background-color:var(--presence-selection-color)}:where(.presence-cursor){background-color:var(--presence-cursor-color,var(--presence-focus-color));border:var(--presence-cursor-border-width) solid var(--presence-cursor-color,var(--presence-focus-color));border-radius:50%;height:var(--presence-cursor-size);pointer-events:none;position:absolute;transform:translate(-50%,-50%);width:var(--presence-cursor-size);z-index:var(--presence-cursor-z-index)}:where(.presence-cursor-label){background-color:var(--presence-cursor-color,var(--presence-focus-color));border-radius:4px;color:#fff;font-size:12px;left:50%;padding:2px 6px;pointer-events:none;position:absolute;top:calc(var(--presence-cursor-size) + 4px);transform:translateX(-50%);white-space:nowrap;z-index:calc(var(--presence-cursor-z-index) + 1)}:where([data-presence-caret-user],[data-presence-selection-user],[data-presence-focus-user]){position:relative}}@layer components{input[type=radio]:not(.unstyle){border-radius:50%;cursor:pointer;height:calc(var(--spacing-field-height, 2.25rem)*.625);min-width:calc(var(--spacing-field-height, 2.25rem)*.625);padding:5px;position:relative;width:calc(var(--spacing-field-height, 2.25rem)*.625);&:after{background-color:var(--color-field-inverse,oklch(16.6% .026 267));border-radius:50%;content:"";height:60%;left:50%;opacity:0;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) scale(0);transform-origin:center;transition:var(--transition,all .05s ease-in-out);width:60%}&:checked:after{opacity:1;transform:translateX(-50%) translateY(-50%) scale(1)}}}@layer components{input[type=range]:not(.unstyle){appearance:none;background-color:transparent;border-radius:var(--radius,.5rem);cursor:default;&::-webkit-slider-runnable-track{background-color:var(--color-field-surface,oklch(91.79% .0029 264.26));border-radius:var(--radius,.5rem);cursor:pointer;height:calc(var(--spacing, .25rem)*2);transition:var(--transition)}&:hover::-webkit-slider-runnable-track{background-color:var(--color-field-surface-hover,oklch(89.24% .0024 12.48))}&::-webkit-slider-thumb{appearance:none;background-color:color-mix(in oklch,var(--color-field-surface,oklch(91.79% .0029 264.26)) 60%,var(--color-field-inverse,oklch(16.6% .026 267)));border-radius:200px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);cursor:pointer;height:calc(var(--spacing-field-height, 2.25rem)*.5);position:relative;top:50%;transform:translateY(-50%);transition:var(--transition);width:calc(var(--spacing-field-height, 2.25rem)*.5)}&::-webkit-slider-thumb:hover{background-color:color-mix(in oklch,var(--color-field-surface,oklch(91.79% .0029 264.26)) 30%,var(--color-field-inverse,oklch(16.6% .026 267)))}}:where(datalist):not(.unstyle){display:flex;flex-flow:row nowrap;justify-content:space-between;max-width:100%;width:100%;& option{color:var(--color-content-neutral,oklch(48.26% .0365 255.09));font-size:.875rem;text-align:center;width:2ch}}label:has(input[type=range]):not(.unstyle){cursor:default}}@layer utilities{:where([x-resize]){position:relative;.resize-handle{background:transparent;border:none;display:block;height:var(--spacing-resize-handle,1rem);outline:none;position:absolute;width:var(--spacing-resize-handle,1rem);z-index:100;&:before{background:transparent;content:"";height:1px;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);transition:background-color .2s ease;width:1px}&:active:before,&:hover:before{background-color:var(--color-line,oklch(48.3% .006422 17.4/.15))}}.resize-handle-bottom,.resize-handle-top{cursor:ns-resize;left:0;width:100%;&:before{width:100%}}.resize-handle-end,.resize-handle-left,.resize-handle-right,.resize-handle-start{cursor:ew-resize;height:100%;top:0;&:before{height:100%}}.resize-handle-top{top:calc(var(--spacing-resize-handle, 1rem)*-.5)}.resize-handle-bottom{bottom:calc(var(--spacing-resize-handle, 1rem)*-.5);top:auto}.resize-handle-left,.resize-handle-start{left:calc(var(--spacing-resize-handle, 1rem)*-.5)}.resize-handle-end,.resize-handle-right{right:calc(var(--spacing-resize-handle, 1rem)*-.5)}.resize-handle-top-left{cursor:nw-resize;left:calc(var(--spacing-resize-handle, 1rem)*-.5)}.resize-handle-top-left,.resize-handle-top-right{height:var(--spacing-resize-handle,1rem);top:calc(var(--spacing-resize-handle, 1rem)*-.5);width:var(--spacing-resize-handle,1rem)}.resize-handle-top-right{cursor:ne-resize;right:calc(var(--spacing-resize-handle, 1rem)*-.5)}.resize-handle-bottom-left{cursor:sw-resize;left:calc(var(--spacing-resize-handle, 1rem)*-.5)}.resize-handle-bottom-left,.resize-handle-bottom-right{bottom:calc(var(--spacing-resize-handle, 1rem)*-.5);height:var(--spacing-resize-handle,1rem);width:var(--spacing-resize-handle,1rem)}.resize-handle-bottom-right{cursor:se-resize;right:calc(var(--spacing-resize-handle, 1rem)*-.5)}.resize-handle-top-start{cursor:nw-resize;left:calc(var(--spacing-resize-handle, 1rem)*-.5)}.resize-handle-top-end,.resize-handle-top-start{height:var(--spacing-resize-handle,1rem);top:calc(var(--spacing-resize-handle, 1rem)*-.5);width:var(--spacing-resize-handle,1rem)}.resize-handle-top-end{cursor:ne-resize;right:calc(var(--spacing-resize-handle, 1rem)*-.5)}.resize-handle-bottom-start{cursor:sw-resize;left:calc(var(--spacing-resize-handle, 1rem)*-.5)}.resize-handle-bottom-end,.resize-handle-bottom-start{bottom:calc(var(--spacing-resize-handle, 1rem)*-.5);height:var(--spacing-resize-handle,1rem);width:var(--spacing-resize-handle,1rem)}.resize-handle-bottom-end{cursor:se-resize;right:calc(var(--spacing-resize-handle, 1rem)*-.5)}.resize-overlay{background:transparent;display:none;height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:9999}.resizable-closing{opacity:.5;transition:opacity .2s ease}.resizable-closed{display:none!important}.resize-handle:focus{outline:2px solid rgba(59,130,246,.5);outline-offset:2px}@media (prefers-contrast:high){:where(.resize-handle:hover .resize-handle-inner){background:rgba(0,0,0,.3)}:where(.resize-handle:active .resize-handle-inner){background:rgba(0,0,0,.5)}}@media (prefers-reduced-motion:reduce){:where(.resize-handle-inner,.resizable-closing,.resize-handle){transition:none}}}[dir=rtl] :where([x-resize]) .resize-handle-start{left:auto;right:calc(var(--spacing-resize-handle, 1rem)*-.5)}[dir=rtl] :where([x-resize]) .resize-handle-end{left:calc(var(--spacing-resize-handle, 1rem)*-.5);right:auto}[dir=rtl] :where([x-resize]) .resize-handle-top-start{cursor:ne-resize;left:auto;right:calc(var(--spacing-resize-handle, 1rem)*-.5)}[dir=rtl] :where([x-resize]) .resize-handle-top-end{cursor:nw-resize;left:calc(var(--spacing-resize-handle, 1rem)*-.5);right:auto}[dir=rtl] :where([x-resize]) .resize-handle-bottom-start{cursor:se-resize;left:auto;right:calc(var(--spacing-resize-handle, 1rem)*-.5)}[dir=rtl] :where([x-resize]) .resize-handle-bottom-end{cursor:sw-resize;left:calc(var(--spacing-resize-handle, 1rem)*-.5);right:auto}}@layer components{:where(aside[popover]){background-color:var(--color-popover-surface,oklch(100% 0 0));height:100%;inset-inline-end:0;inset-inline-start:auto;max-width:80vw;max-width:100%;min-width:20vw;overflow-y:auto;transition:opacity .15s ease-in,transform .15s ease-in,display .15s ease-in;transition-behavior:allow-discrete;width:fit-content;z-index:200;@starting-style{opacity:1;scale:1;transform:translateX(100%)}&:not(:popover-open){opacity:1;scale:1;transform:translateX(100%)}[dir=rtl] &{@starting-style{transform:translateX(-100%)}&:not(:popover-open){transform:translateX(-100%)}}}:where(aside[popover].appear-start){inset-inline-end:auto;inset-inline-start:0;@starting-style{transform:translateX(-100%)}&:not(:popover-open){transform:translateX(-100%)}[dir=rtl] &{@starting-style{transform:translateX(100%)}&:not(:popover-open){transform:translateX(100%)}}}.dark :where(aside[popover]){background-color:var(--color-surface-1,oklch(98.17% .0005 95.87))}}@layer components{[x-carousel]{display:flex;flex-direction:column;overflow:hidden;position:relative;width:100%;.carousel-slides{aspect-ratio:16/9;display:flex;transition:transform .3s ease-in-out;width:100%}& button[\@click="next()"],& button[\@click="prev()"]{background-color:oklch(100% 0 0/.15);position:absolute;top:50%;transform:translateY(-50%);&:hover{background-color:oklch(100% 0 0/.3)}}& button[\@click="prev()"]{left:calc(var(--spacing)*4)}& button[\@click="next()"]{left:auto;right:calc(var(--spacing)*4)}.carousel-dots{bottom:calc(var(--spacing)*4);display:flex;gap:calc(var(--spacing)*2);left:50%;max-width:100%;overflow-x:auto;padding:0 calc(var(--spacing)*4);position:absolute;transform:translateX(-50%);-webkit-overflow-scrolling:touch;scrollbar-width:none;&::-webkit-scrollbar{display:none}& span{background-color:oklch(100% 0 0/.15);border-radius:50%;cursor:pointer;flex-shrink:0;height:.625rem;transition:background-color .3s ease-in-out;width:.625rem;&:hover{background-color:oklch(100% 0 0/.3)}&.active{background-color:#fff}}}}}@layer components{:where(input[role=switch]):not(.unstyle){border-radius:calc(var(--spacing-field-height, 2.25rem)*.65);box-sizing:content-box;cursor:pointer;height:calc(var(--spacing-field-height, 2.25rem)*.65);min-width:calc(var(--spacing-field-height, 2.25rem)*.65*2);padding:0;position:relative;width:calc(var(--spacing-field-height, 2.25rem)*.65*2);&:before{background-color:color-mix(in oklch,var(--color-field-surface,oklch(91.79% .0029 264.26)) 60%,var(--color-field-inverse,oklch(16.6% .026 267)));border-radius:50%;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);content:"";height:calc(var(--spacing-field-height, 2.25rem)*.65 - .25rem);left:.125rem;position:absolute;top:.125rem;transition:var(--transition,all .05s ease-in-out);width:calc(var(--spacing-field-height, 2.25rem)*.65 - .25rem)}&:checked{background-color:var(--color-field-surface,oklch(91.79% .0029 264.26));&:before{background-color:var(--color-field-inverse,oklch(16.6% .026 267));left:calc(100% - var(--spacing-field-height, 2.25rem)*.65 + .125rem)}&:hover{background-color:var(--color-field-surface-hover,oklch(89.24% .0024 12.48))}}}}@layer components{:where(table,.grid-table):not(.unstyle){border-radius:var(--radius,.5rem);border-spacing:0;max-width:100%;overflow:hidden;table-layout:auto;width:100%;:where(.grid-header,.grid-row,.grid-footer){display:contents}:where(thead,.grid-header>*){background-color:var(--color-surface-1,oklch(98.17% .0005 95.87));border-bottom:1px solid var(--color-line,oklch(48.3% .006422 17.4/.15))}:where(th,.grid-header>*){font-weight:700}:where(tr,.grid-row>*){border-bottom:1px solid var(--color-line,oklch(48.3% .006422 17.4/.15))}:where(td,th,.grid-header>*,.grid-row>*,.grid-footer>*){font-size:.875rem;overflow:hidden;padding:calc(var(--spacing, .25rem)*2.5) calc(var(--spacing, .25rem)*4);text-align:left;text-align:start;&>:not(template){display:inline-flex;vertical-align:middle;&:not(:last-child){margin-right:4px}}}:where(:not(:has(tfoot)) tbody tr:last-child,tfoot tr:last-child,.grid-footer>*){border-bottom:0}&.striped{:where(tr:nth-child(2n),.grid-row:nth-child(2n)){background-color:var(--color-surface-1,oklch(98.17% .0005 95.87))}:where(tr:nth-child(odd),.grid-row:nth-child(odd)){background-color:transparent}:where(tr,.grid-row){border-bottom:0}}}}@layer utilities{:where(.toast-container){align-items:center;bottom:3vw;display:flex;flex-direction:column-reverse;gap:calc(var(--spacing, .25rem)*2);left:50%;position:fixed;transform:translateX(-50%);z-index:100}:where(.toast){background-color:var(--color-popover-surface,oklch(100% 0 0));border:1px solid var(--color-line,oklch(48.3% .006422 17.4/.15));border-radius:calc(var(--radius, .5rem)*2);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);display:flex;max-width:90vw;opacity:0;overflow:hidden;transform:translateY(1rem);transition:opacity .2s ease-out,transform .2s ease-out,height .2s ease-out,margin .2s ease-out,padding .2s ease-out;:where(.toast-content){align-items:center;color:inherit;display:flex;padding:.375rem .75rem;white-space:pre-wrap;:where([x-icon]:first-child){margin-right:1ch}}:where(.toast-dismiss-button){border-inline-start:1px solid color-mix(in oklch,var(--color-content-stark,oklch(16.6% .026 267)) 20%,transparent);border-radius:0;position:relative;&:after{background-color:var(--color-field-inverse,oklch(16.6% .026 267));content:"";height:50%;left:50%;mask-image:var(--icon-toast-dismiss,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E"));mask-repeat:no-repeat;mask-size:100% 100%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);transform-origin:center;width:50%}}}:where(.toast.brand,.toast.accent,.toast.positive,.toast.negative){background-color:var(--color-field-surface,oklch(91.79% .0029 264.26));color:var(--color-field-inverse,oklch(16.6% .026 267));:where(.toast-dismiss-button){border-inline-start:1px solid color-mix(in oklch,var(--color-field-inverse,oklch(16.6% .026 267)) 20%,transparent)}}:where(.toast-entry){opacity:1;transform:translateY(0)}:where(.toast-exit){opacity:0;transform:translateY(1rem)}}@layer utilities{:where(.tooltip[popover]){background-color:var(--color-content-stark,oklch(16.6% .026 267));border:0;border-radius:var(--radius,.5rem);box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);color:var(--color-page,oklch(100% 0 0));display:block;font-size:.875rem;inset:auto;margin:var(--spacing-popover-offset,.5rem) 0;max-width:200px;padding:calc(var(--spacing, .25rem)*.5) calc(var(--spacing, .25rem)*2);position:absolute;position-area:bottom;position-try-fallbacks:flip-inline,flip-block,flip-start;width:fit-content;&:hover{transition-delay:var(--tooltip-hover-delay,1s)}& [x-icon]:first-child{margin-inline-end:.25rem}}:where(.tooltip.top){margin:var(--spacing-popover-offset,.5rem) 0;position-area:top}:where(.tooltip.bottom){margin:var(--spacing-popover-offset,.5rem) 0;position-area:bottom}:where(.tooltip.start){margin:0 var(--spacing-popover-offset,.5rem);position-area:center start}:where(.tooltip.end){margin:0 var(--spacing-popover-offset,.5rem);position-area:center end}:where(.tooltip.top-start){margin:var(--spacing-popover-offset,.5rem) 0;position-area:start span-end}:where(.tooltip.top-end){margin:var(--spacing-popover-offset,.5rem) 0;position-area:start span-start}:where(.tooltip.bottom-start){margin:var(--spacing-popover-offset,.5rem) 0;position-area:end span-end}:where(.tooltip.bottom-end){margin:var(--spacing-popover-offset,.5rem) 0;position-area:end span-start}:where(.tooltip.start-top){margin:0 var(--spacing-popover-offset,.5rem);position-area:span-end start}:where(.tooltip.start-bottom){margin:0 var(--spacing-popover-offset,.5rem);position-area:span-start start}:where(.tooltip.end-top){margin:0 var(--spacing-popover-offset,.5rem);position-area:span-end end}:where(.tooltip.end-bottom){margin:0 var(--spacing-popover-offset,.5rem);position-area:span-start end}:where(.tooltip.top-start-corner,.tooltip.start-top-corner){margin:var(--spacing-popover-offset,.5rem);position-area:start start}:where(.tooltip.top-end-corner,.tooltip.end-top-corner){margin:var(--spacing-popover-offset,.5rem);position-area:start end}:where(.tooltip.bottom-start-corner,.tooltip.start-bottom-corner){margin:var(--spacing-popover-offset,.5rem);position-area:end start}:where(.tooltip.bottom-end-corner,.tooltip.end-bottom-corner){margin:var(--spacing-popover-offset,.5rem);position-area:end end}}@layer base{.caption,.h1,.h2,.h3,.h4,.h5,.h6,.label,.paragraph,.small,:where(a,abbr,address,blockquote,code,del,figcaption,h1,h2,h3,h4,h5,h6,ins,label:not(.avatar,:has([type=file],[type=search])),legend,p,small,cite,q):not(.unstyle){color:var(--color-content-stark);&:where(:has([x-icon])){align-items:center;display:inline-flex;& [x-icon]{margin-inline-end:.5ch}}& span{vertical-align:inherit}}.h1,.h2,.h3,.h4,.h5,.h6,:where(h1,h2,h3,h4,h5,h6):not(.unstyle){font-weight:bolder;word-wrap:break-word}.h1,.h2,.h3,.h4,:where(h1,h2,h3,h4):not(.unstyle){font-weight:700}.h1,.h2,.h3,:where(h1,h2,h3):not(.unstyle){letter-spacing:-.025em}.h1,:where(h1):not(.unstyle){font-size:2.25rem;line-height:1.25}.h2,:where(h2):not(.unstyle){font-size:1.5rem}.h3,:where(h3):not(.unstyle){font-size:1.25rem;line-height:1.4}.h4,:where(h4):not(.unstyle){font-size:1rem}.h5,:where(h5):not(.unstyle){color:var(--color-content-neutral,oklch(48.26% .0365 255.09));font-size:.875rem;font-weight:600;line-height:1rem}.h6,:where(h6):not(.unstyle){font-size:.8125rem;font-weight:600;line-height:1.4;text-transform:uppercase}.paragraph,:where(p):not(.unstyle){line-height:1.6}:where(a:not([role=button]),button.link):not(.unstyle){cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:var(--transition,all .05s ease-in-out);&:active,&:hover{color:var(--color-content-neutral,oklch(48.26% .0365 255.09))}}:where(blockquote):not(.unstyle){border-inline-end:none;border-inline-start:.25rem solid color-mix(in oklch,var(--color-content-stark,oklch(16.6% .026 267)) 25%,transparent);color:var(--color-content-stark,oklch(16.6% .026 267));display:block;margin:calc(var(--spacing, .25rem)*4) 0;max-width:100%;padding:0 calc(var(--spacing, .25rem)*4);width:100%;& *{color:inherit}}:where(code):not(.unstyle){display:inline-block;font-size:82.5%;height:fit-content;padding:.1ch .5ch;width:fit-content;word-wrap:break-word;background-color:color-mix(in oklch,var(--color-content-neutral,oklch(48.26% .0365 255.09)) 10%,transparent);border:1px solid color-mix(in oklch,var(--color-content-subtle,oklch(67.4% .0318 251.27)) 10%,transparent);border-radius:var(--radius,.5rem);color:var(--color-content-neutral,oklch(48.26% .0365 255.09))}.caption,:where(figcaption):not(.unstyle){color:var(--color-content-neutral,oklch(48.26% .0365 255.09));font-size:.8125rem;& a{color:inherit;font-weight:inherit}}:where(figure figcaption):not(.unstyle){margin:calc(var(--spacing, .25rem)*2) auto;text-align:center}.small,:where(small):not(.unstyle){color:var(--color-content-neutral,oklch(48.26% .0365 255.09));font-size:.875rem}:where([x-icon]){display:inline-flex;width:fit-content}:where(ins):not(.unstyle){text-decoration:none}.kbd,:where(kbd):not(.unstyle){background-color:color-mix(in oklch,var(--color-content-neutral,oklch(48.26% .0365 255.09)) 10%,transparent);border-radius:calc(var(--radius, .5rem)/1.5);color:var(--color-content-neutral,oklch(48.26% .0365 255.09));display:inline-block;font-family:inherit;font-size:75%;font-weight:600;line-height:1;min-width:1.4rem;padding:.3rem;text-align:center;vertical-align:baseline;width:fit-content;&:not(:last-of-type){margin-inline-end:1px}}[dir=rtl] :where(kbd:not(:last-of-type),.kbd:not(:last-of-type)){margin-inline-end:0;margin-inline-start:1px}.label,:where(label):not(.unstyle){user-select:none;width:-moz-fit-content;width:fit-content}.legend,:where(legend):not(.unstyle){display:block;max-width:100%;white-space:normal}.badge,:where(mark):not(.unstyle){align-items:center;background-color:var(--color-field-surface,oklch(91.79% .0029 264.26));border-radius:100px;color:var(--color-field-inverse,oklch(16.6% .026 267));display:inline-flex;font-size:.75rem;font-weight:500;gap:.25rem;height:fit-content;justify-content:center;line-height:1;padding:var(--spacing,.25rem) calc(var(--spacing, .25rem)*1.5);width:fit-content;&:has(svg:only-child){padding:var(--spacing,.25rem) calc(var(--spacing, .25rem)*1)}}:where(ol):not(nav ol):not(menu ol):not(.unstyle){list-style-type:decimal}:where(ul):not(nav ul):not(menu ul):not(.unstyle){list-style-type:disc}:where(ol):not(nav ol):not(menu ol):not(.unstyle),:where(ul):not(nav ul):not(menu ul):not(.unstyle){&:not(:has(input[type=checkbox])){padding-inline-start:1.75ch}& li{padding-inline-start:1ch;&:not(:last-of-type){margin-bottom:1.25ch}&:has([x-icon]){display:inherit;list-style:none;position:relative;& [x-icon]{left:-1.75ch;position:absolute;top:.45ch}}&:has(input[type=checkbox]){display:inherit;list-style:none;position:relative;& input[type=checkbox]{left:-1ch;position:absolute;top:.45ch}}}}[dir=rtl] :where(ol):not(nav ol):not(menu ol):not(.unstyle),[dir=rtl] :where(ul):not(nav ul):not(menu ul):not(.unstyle){& li:has([x-icon]){& [x-icon]{left:auto;right:-1.75ch}}& li:has(input[type=checkbox]){& input[type=checkbox]{left:auto;right:-1.25ch}}}:where(ol,ul):not(nav ol):not(menu ol):not(.unstyle) ul,:where(ol,ul):not(nav ul):not(menu ul):not(.unstyle) ol{margin-top:1ch;padding-inline-start:2.75ch;&+li{margin-top:1.5ch}}:where(span):not(.unstyle){vertical-align:middle}}@layer utilities{:where(.center){align-items:center;justify-content:center}:where(.row,.row-wrap,.col,.col-wrap){display:flex}:where(.col){flex-flow:column nowrap}:where(.col-wrap){flex-flow:column wrap}:where(.row){flex-flow:row nowrap}:where(.row-wrap){flex-flow:row wrap}:where(.content){margin-inline-end:auto;margin-inline-start:auto;max-width:100%;width:var(--spacing-content-width,68.75rem)}:where(.ghost){background-color:transparent;color:var(--color-content-stark,oklch(16.6% .026 267));&:hover{background-color:var(--color-field-surface,oklch(91.79% .0029 264.26))}&.brand:hover{color:var(--color-brand-inverse,#763518)}&.accent:hover{color:var(--color-accent-inverse,oklch(100% 0 0))}&.negative:hover{color:var(--color-negative-inverse,#fff)}}:where(.hug){height:fit-content;min-width:0;padding:0;width:fit-content}:where(.outlined){border-color:color-mix(in oklch,var(--color-field-surface,oklch(91.79% .0029 264.26)) 90%,var(--color-field-inverse,oklch(16.6% .026 267)));border-style:solid;border-width:1px}.dark :where(.outlined){border-color:color-mix(in oklch,var(--color-field-surface,oklch(91.79% .0029 264.26)) 80%,var(--color-field-inverse,oklch(16.6% .026 267)))}:where(.selected){background-color:color-mix(in oklch,var(--color-field-surface,oklch(91.79% .0029 264.26)) 25%,transparent)}:where(.transparent){background-color:transparent!important;color:var(--color-content-neutral,oklch(48.26% .0365 255.09));&:hover{color:var(--color-content-stark,oklch(16.6% .026 267))}}:where(.lg){--spacing-field-height:2.5rem;--spacing-field-padding:0.78rem;font-size:125%}:where(.sm){--spacing-field-height:1.5rem;--spacing-field-padding:0.49rem;font-size:75%;&::picker-icon{line-height:.2}}:where(body.page){display:flex;flex-direction:column;min-height:100vh}.page{&>footer,&>header{z-index:30}&>footer,&>header,&>main{padding-inline-end:var(--spacing-viewport-padding,5vw);padding-inline-start:var(--spacing-viewport-padding,5vw)}&>footer nav,&>header nav,&>main>section:not(.banner,.overlay-dark,.overlay-light){margin-inline-end:auto;margin-inline-start:auto;max-width:100%;width:var(--spacing-content-width,68.75rem)}&>footer{margin-top:auto}}.no-focus:focus,.no-focus:focus-visible,.no-focus:focus-within{box-shadow:0 0 0 0 transparent}:where(.no-scrollbar){-ms-overflow-style:none;scrollbar-width:none;&::-webkit-scrollbar{display:none}}:where(.overlay-dark,.overlay-light){position:relative;&:after{content:"";height:100%;left:0;position:absolute;top:0;width:100%;z-index:0}>*{position:relative;z-index:1}}:where(.overlay-dark){color:#fff!important;&:after{background:oklch(0 0 0/50%)}}:where(.overlay-light){color:#000!important;&:after{background:oklch(100% 0 0/75%)}}:where(.prose){max-width:100%;width:65ch;& aside:not([popover]){background-color:color-mix(in oklch,var(--color-field-surface,oklch(91.79% .0029 264.26)) 20%,transparent);border:1px solid color-mix(in oklch,var(--color-field-surface,oklch(91.79% .0029 264.26)) 30%,transparent);border-radius:calc(var(--radius, .5rem)*2);color:var(--color-content-stark,oklch(16.6% .026 267));margin-top:1.4rem;padding:1rem;&:not(.frame) *{color:inherit}&:has([x-icon]):not(.frame){display:flex;flex-direction:row;gap:1rem;& [x-icon]{font-size:1.25rem;padding-top:.25rem}}}&>a:not(:where(h1,h2,h3,h4,h5,h6,p,small,figcaption,label,li,blockquote,pre code,code,kbd,span,mark,[role=button]) a){margin-top:1.4rem}&>blockquote{margin-top:2rem;& *{margin:0}}&>figcaption{margin-top:1rem}&>figure{margin-top:1.4rem;& img{margin:0}}&>h1+p{color:var(--color-content-neutral,oklch(48.26% .0365 255.09));font-size:1.125rem;margin-top:.625rem}&>h2{margin-bottom:.6667rem;margin-top:1rem}&>h3{margin-top:2.4rem}&>h4{margin-top:3rem}&>h4+p{margin-top:.25rem}&>h5{margin-top:1rem}&>h5,&>h6{margin-bottom:1rem}&>h6{margin-top:2rem}&>hr{margin-bottom:3rem;margin-top:3rem}&>img,&>p{margin-top:1.4rem}&>ol,&>small,&>ul{margin-top:1rem}&>pre,&>table,&>x-code,&>x-code-group{margin-bottom:2rem;margin-top:2rem}&>x-code pre,&>x-code-group x-code{margin-bottom:0;margin-top:0}}:where(.trailing){color:var(--color-content-neutral,oklch(48.26% .0365 255.09));display:inline-block;margin-inline-start:auto}:where(.brand){--color-field-surface:var(--color-brand-surface,#f6c07b);--color-field-surface-hover:var(--color-brand-surface-hover,#f19b46);--color-field-inverse:var(--color-brand-inverse,#763518);--color-content-stark:var(--color-brand-content,#de6618);--color-content-neutral:color-mix(in oklch,var(--color-brand-content,#de6618) 85%,transparent);--color-content-subtle:color-mix(in oklch,var(--color-brand-content,#de6618) 70%,transparent)}:where(.accent){--color-field-surface:var(--color-accent-surface,oklch(16.6% 0.026 267));--color-field-surface-hover:var(--color-accent-surface-hover,oklch(28.7% 0.030787 270.1));--color-field-inverse:var(--color-accent-inverse,oklch(100% 0 0));--color-content-stark:var(--color-accent-content,oklch(16.6% 0.026 267));--color-content-neutral:color-mix(in oklch,var(--color-accent-content,oklch(16.6% 0.026 267)) 85%,transparent);--color-content-subtle:color-mix(in oklch,var(--color-accent-content,oklch(16.6% 0.026 267)) 70%,transparent)}:where(.negative){--color-field-surface:var(--color-negative-surface,#ef4444);--color-field-surface-hover:var(--color-negative-surface-hover,#dc2626);--color-field-inverse:var(--color-negative-inverse,#fff);--color-content-stark:var(--color-negative-content,#ef4444);--color-content-neutral:color-mix(in oklch,var(--color-negative-content,#ef4444) 85%,transparent);--color-content-subtle:color-mix(in oklch,var(--color-negative-content,#ef4444) 70%,transparent)}:where(.positive){--color-field-surface:var(--color-positive-surface,#16a34a);--color-field-surface-hover:var(--color-positive-surface-hover,#166534);--color-field-inverse:var(--color-positive-inverse,#fff);--color-content-stark:var(--color-positive-content,#16a34a);--color-content-neutral:color-mix(in oklch,var(--color-positive-content,#16a34a) 85%,transparent);--color-content-subtle:color-mix(in oklch,var(--color-positive-content,#16a34a) 70%,transparent)}:where(.stark){color:var(--color-content-stark,oklch(16.6% .026 267))}:where(.neutral){color:var(--color-content-neutral,oklch(48.26% .0365 255.09))}:where(.subtle){color:var(--color-content-subtle,oklch(67.4% .0318 251.27))}}
@@ -1317,18 +1317,18 @@ TailwindCompiler.prototype.scanStaticClasses = async function () {
1317
1317
 
1318
1318
  const componentPromises = componentUrls.map(async (url) => {
1319
1319
  try {
1320
- // Try both absolute and relative paths
1321
- const pathsToTry = [url, '/' + url, url.startsWith('/') ? url : '/' + url];
1320
+ // Use root-relative URL first to avoid 404s on doc routes (e.g. /getting-started/...)
1321
+ const rootRelative = url.startsWith('/') ? url : '/' + url;
1322
+ const pathsToTry = [rootRelative, url];
1322
1323
  for (const path of pathsToTry) {
1323
1324
  try {
1324
1325
  const response = await fetch(path);
1325
1326
  if (response.ok) {
1326
1327
  const html = await response.text();
1327
1328
  this.extractClassesFromHTML(html, staticClasses);
1328
- break; // Success, no need to try other paths
1329
+ break;
1329
1330
  }
1330
1331
  } catch (e) {
1331
- // Try next path
1332
1332
  continue;
1333
1333
  }
1334
1334
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mnfst",
3
- "version": "0.5.22",
3
+ "version": "0.5.24",
4
4
  "private": false,
5
5
  "workspaces": [
6
6
  "templates/starter"