mnfst 0.5.83 → 0.5.85

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.
@@ -256,8 +256,12 @@
256
256
  display: flex;
257
257
  flex-direction: row;
258
258
  overflow-x: auto;
259
- -ms-overflow-style: none;
260
259
  scrollbar-width: none;
260
+ -ms-overflow-style: none;
261
+
262
+ &::-webkit-scrollbar {
263
+ display: none
264
+ }
261
265
 
262
266
  /* Tab buttons */
263
267
  & button[role="tab"] {
@@ -286,10 +290,10 @@
286
290
 
287
291
  /* Copy code button */
288
292
  & button.copy {
289
- font-size: 75%;
290
293
  position: absolute;
291
294
  top: 0;
292
295
  inset-inline-end: 0;
296
+ font-size: 75%;
293
297
  background-color: transparent;
294
298
 
295
299
  &:hover {
@@ -199,11 +199,13 @@ function resolveLanguage(hljs, langAttr) {
199
199
 
200
200
  // ─── Content prep helpers ────────────────────────────────────────────────────
201
201
 
202
- // Drop one leading and one trailing newline if present. Authors typically write
203
- // <pre x-code> on its own line, which leaves stray newlines that throw off line
204
- // numbering and the collapse threshold.
202
+ // Drop any leading/trailing blank lines (including pure-whitespace lines).
203
+ // Authors typically write <pre x-code> on its own line, leaving stray newlines
204
+ // that throw off line numbering and the collapse threshold. Stripping multiple
205
+ // also covers the case where authors leave a blank line before </pre> for
206
+ // readability, which would otherwise render as a visible trailing gap.
205
207
  function trimWrappingNewlines(text) {
206
- return text.replace(/^\n/, '').replace(/\n$/, '');
208
+ return text.replace(/^(?:[ \t]*\n)+/, '').replace(/(?:\n[ \t]*)+$/, '');
207
209
  }
208
210
 
209
211
  // Remove the smallest common leading-whitespace block from every non-empty
@@ -248,18 +250,23 @@ function resolveSource(el) {
248
250
  if (target) return prepSource(target.innerHTML);
249
251
  }
250
252
  const lang = (el.getAttribute('x-code') || el.getAttribute('language') || '').toLowerCase();
251
- // Markdown plugin emits <pre x-code="lang"><code>source</code></pre>. When
252
- // a child <code> exists, read from it directly so we don't pick up the
253
- // wrapping element itself when innerHTML reading is required.
253
+ // Markdown plugin emits <pre x-code="lang"><code>source</code></pre>. The
254
+ // <code> body is text-only (entity-escaped HTML decoded by the browser
255
+ // into a text node), so textContent returns the exact source the author
256
+ // wrote — preserving valueless attributes (data-tailwind, not
257
+ // data-tailwind=""), multi-line attribute lists, and other formatting
258
+ // that an innerHTML round-trip would normalise away.
254
259
  const childCode = el.querySelector(':scope > code');
255
260
  if (childCode) {
256
- if (HTML_LIKE_LANGS.has(lang)) {
257
- const decoder = document.createElement('textarea');
258
- decoder.innerHTML = childCode.innerHTML;
259
- return prepSource(decoder.value);
260
- }
261
261
  return prepSource(childCode.textContent);
262
262
  }
263
+ // Raw HTML case: the author wrote `<pre x-code="html"><div…></div></pre>`
264
+ // directly in an .html file. Read innerHTML and decode any entities so
265
+ // mixed-style authoring still works — but valueless attributes will pick
266
+ // up the browser's `=""` normalisation here, which is unavoidable once
267
+ // the markup has been parsed into real DOM nodes. Authors who want exact
268
+ // source preservation should use a fenced markdown block or write the
269
+ // body as entity-escaped text inside the pre.
263
270
  if (HTML_LIKE_LANGS.has(lang)) {
264
271
  const decoder = document.createElement('textarea');
265
272
  decoder.innerHTML = el.innerHTML;
@@ -867,12 +874,27 @@ function processOne(el) {
867
874
 
868
875
  // Start observing every candidate in `root` that hasn't already been
869
876
  // processed. Idempotent — re-observation of an already-observed element
870
- // is a no-op per the IntersectionObserver spec.
877
+ // is a no-op per the IntersectionObserver spec. Elements that are already
878
+ // visible at call time are processed immediately, then unobserved — this
879
+ // makes markdown-plugin-injected blocks render synchronously instead of
880
+ // waiting for the next IO callback (which can stall in headless tests
881
+ // and feels laggy for live markdown updates).
871
882
  function observeAll(root = document) {
872
883
  const io = ensureObserver();
873
- root.querySelectorAll('[x-code]:not([data-code-processed])').forEach(el => io.observe(el));
874
- root.querySelectorAll('[x-code-group]:not([data-group-processed])').forEach(el => io.observe(el));
875
- root.querySelectorAll('pre:not([x-code]):not([data-code-processed]) > code[class*="language-"]').forEach(el => io.observe(el));
884
+ const candidates = [
885
+ ...root.querySelectorAll('[x-code]:not([data-code-processed])'),
886
+ ...root.querySelectorAll('[x-code-group]:not([data-group-processed])'),
887
+ ...root.querySelectorAll('pre:not([x-code]):not([data-code-processed]) > code[class*="language-"]')
888
+ ];
889
+ for (const el of candidates) {
890
+ io.observe(el);
891
+ // Skip the immediate-process shortcut for elements that are hidden
892
+ // (display:none route panels, off-screen drawers): keep them observed
893
+ // so they highlight on the next intersection callback when revealed.
894
+ if (typeof el.checkVisibility === 'function' && !el.checkVisibility()) continue;
895
+ io.unobserve(el);
896
+ processOne(el);
897
+ }
876
898
  }
877
899
 
878
900
  // Re-scan after markdown injections (the markdown plugin dispatches this
@@ -1 +1 @@
1
- @import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap");:root{--icon-code-copy:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Crect width='14' height='14' x='8' y='8' rx='2' ry='2'/%3E%3Cpath d='M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2'/%3E%3C/g%3E%3C/svg%3E");--icon-code-copied:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1jb3B5LWNoZWNrLWljb24gbHVjaWRlLWNvcHktY2hlY2siIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0ibTEyIDE1IDIgMiA0LTQiLz48cmVjdCB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHg9IjgiIHk9IjgiIHJ4PSIyIiByeT0iMiIvPjxwYXRoIGQ9Ik00IDE2Yy0xLjEgMC0yLS45LTItMlY0YzAtMS4xLjktMiAyLTJoMTBjMS4xIDAgMiAuOSAyIDIiLz48L3N2Zz4=");--icon-code-expand: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='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--color-code-keyword:#b8860b;--color-code-string:#8b4513;--color-code-comment:gray;--color-code-function:peru;--color-code-number:sienna;--color-code-operator:#2f4f4f;--color-code-class-name:#daa520;--color-code-tag:#4682b4;--color-code-attr-name:#ff8c00;--color-code-attr-value:#8b4513;--color-code-property:sienna;--color-code-selector:#4682b4;--color-code-punctuation:#2f4f4f;--color-code-builtin:#b8860b;--color-code-constant:sienna;--color-code-boolean:sienna;--color-code-regex:#8b4513;--color-code-symbol:#daa520;--color-code-entity:#daa520;--color-code-url:sienna;--color-code-atrule:#b8860b;--color-code-rule:#4682b4;--color-code-doctype:gray;--color-code-cdata:gray;--color-code-prolog:gray;--color-code-namespace:gray;--color-code-important:#b8860b;--color-code-inserted:#228b22;--color-code-deleted:#dc143c;--color-code-char:#8b4513}.dark{--color-code-keyword:#f4a460;--color-code-string:#deb887;--color-code-comment:#8b8b8b;--color-code-function:#daa520;--color-code-number:tan;--color-code-operator:wheat;--color-code-class-name:peru;--color-code-tag:#87ceeb;--color-code-attr-name:gold;--color-code-attr-value:#deb887;--color-code-property:tan;--color-code-selector:#87ceeb;--color-code-punctuation:wheat;--color-code-builtin:#f4a460;--color-code-constant:tan;--color-code-boolean:tan;--color-code-regex:#deb887;--color-code-symbol:peru;--color-code-entity:peru;--color-code-url:tan;--color-code-atrule:#f4a460;--color-code-rule:#98fb98;--color-code-doctype:#8b8b8b;--color-code-cdata:#8b8b8b;--color-code-prolog:#8b8b8b;--color-code-namespace:#8b8b8b;--color-code-important:#f4a460;--color-code-inserted:#98fb98;--color-code-deleted:#f08080;--color-code-char:#deb887}@layer utilities{.hljs-comment{color:var(--color-code-comment)!important}.hljs-keyword{color:var(--color-code-keyword)!important}.hljs-string{color:var(--color-code-string)!important}.hljs-number{color:var(--color-code-number)!important}.hljs-literal{color:var(--color-code-constant)!important}.hljs-type{color:var(--color-code-class-name)!important}.hljs-variable{color:var(--color-code-property)!important}.hljs-variable.language_{color:var(--color-code-keyword)!important}.hljs-variable.constant_{color:var(--color-code-constant)!important}.hljs-title{color:var(--color-code-function)!important}.hljs-title.class_.inherited__{color:var(--color-code-class-name)!important}.hljs-title.function_.invoke__{color:var(--color-code-function)!important}.hljs-params{color:var(--color-code-property)!important}.hljs-doctag{color:var(--color-code-keyword)!important;font-weight:600!important}.hljs-meta{color:var(--color-code-comment)!important}.hljs-meta.keyword_,.hljs-meta.prompt_{color:var(--color-code-keyword)!important}.hljs-meta.string_{color:var(--color-code-string)!important}.hljs-section{color:var(--color-code-keyword)!important;font-weight:600!important}.hljs-name{color:var(--color-code-tag)!important}.hljs-attribute{color:var(--color-code-attr-name)!important}.hljs-bullet{color:var(--color-code-punctuation)!important}.hljs-code{color:var(--color-code-property)!important}.hljs-formula{color:var(--color-code-number)!important}.hljs-quote{color:var(--color-code-string)!important}.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo{color:var(--color-code-selector)!important}.hljs-template-tag{color:var(--color-code-tag)!important}.hljs-template-variable{color:var(--color-code-property)!important}.hljs-subst{color:var(--color-code-string)!important}}@layer components{:where(code[role=button]){height:fit-content}:where(.code-copied-icon){background-color:currentColor;display:inline-block;height:1em;mask-image:var(--icon-code-copied);mask-position:center;mask-repeat:no-repeat;mask-size:contain;width:1em}:where([x-code],[x-code-group]):not(.unstyle){position:relative;:where(header){align-items:center;background-color:color-mix(in oklch,var(--color-content-stark,#2f4f4f) 8%,transparent);color:var(--color-content-neutral,gray);display:flex;flex-direction:row;font-family:var(--font-sans,sans-serif);font-size:inherit;min-height:var(--spacing-field-height,2.25rem);padding-inline-end:var(--spacing-field-height);padding-inline-start:calc(var(--spacing, .25rem)*4);width:100%;&:has(button[role=tab]){padding-inline-start:calc(var(--spacing, .25rem)*2)}& [role=tablist]{display:flex;flex-direction:row;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none;& button[role=tab]{background:transparent;border:0;color:inherit;flex-shrink:0;font-family:inherit;font-size:inherit;height:fit-content;justify-content:start;&:hover{background-color:var(--color-field-surface,color-mix(#2f4f4f 10%,transparent));color:var(--color-content-stark,#2f4f4f)}&[aria-selected=true]{color:var(--color-brand-content,#daa520);pointer-events:none;position:relative}}}}& button.copy{background-color:transparent;font-size:75%;inset-inline-end:0;position:absolute;top:0;&:hover{background-color:transparent;&:after{background-color:var(--color-field-inverse,#2f4f4f)}}&:after{background-color:var(--color-content-neutral,gray);content:"";display:block;height:.8125rem;mask-image:var(--icon-code-copy);mask-repeat:no-repeat;mask-size:contain;width:.8125rem}&.copied:after{mask-image:var(--icon-code-copied)}}:where(header)::-webkit-scrollbar{display:none}& .lines{color:var(--color-content-subtle,#a9a9a9);display:inline-flex;flex-direction:column;font-family:inherit;font-size:inherit;inset-inline-start:0;line-height:inherit;padding:calc(var(--spacing, .25rem)*4) 0 calc(var(--spacing, .25rem)*4) calc(var(--spacing, .25rem)*4);pointer-events:none;position:absolute;text-align:end;user-select:none}&:has(.lines) code{padding-inline-start:calc(var(--spacing, .25rem)*6 + 2ch)}:where(code){flex:1 1 100%;min-width:0;white-space:pre;white-space-collapse:preserve}& button.expand{align-items:center;background:transparent;border:0;border-radius:0;color:var(--color-content-subtle,#a9a9a9);cursor:pointer;display:flex;font-family:var(--font-sans,sans-serif);font-size:inherit;height:var(--spacing-field-height,2.25rem);justify-content:center;order:99;padding:0 calc(var(--spacing, .25rem)*2);transition:var(--transition,all .05s ease-in-out);width:100%;&:hover{background:color-mix(in oklch,var(--color-content-stark,#2f4f4f) 8%,transparent);color:var(--color-content-neutral,gray)}}&[data-collapsed] .lines,&[data-collapsed] code{mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 3em),transparent calc(100% - .75em),transparent);max-height:calc(var(--collapse-lines, 20)*1.7em + var(--spacing, .25rem)*8);overflow:hidden}:where(aside.frame){border:0;order:1;white-space:normal;white-space-collapse:collapse}}:where([x-code-group]){flex-flow:column;:where([x-code]){background:transparent;border:0;border-radius:0}}:where([x-code]):has(>header){& .lines{top:var(--spacing-field-height,2.25rem)}}}
1
+ @import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap");:root{--icon-code-copy:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Crect width='14' height='14' x='8' y='8' rx='2' ry='2'/%3E%3Cpath d='M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2'/%3E%3C/g%3E%3C/svg%3E");--icon-code-copied:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1jb3B5LWNoZWNrLWljb24gbHVjaWRlLWNvcHktY2hlY2siIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0ibTEyIDE1IDIgMiA0LTQiLz48cmVjdCB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHg9IjgiIHk9IjgiIHJ4PSIyIiByeT0iMiIvPjxwYXRoIGQ9Ik00IDE2Yy0xLjEgMC0yLS45LTItMlY0YzAtMS4xLjktMiAyLTJoMTBjMS4xIDAgMiAuOSAyIDIiLz48L3N2Zz4=");--icon-code-expand: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='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--color-code-keyword:#b8860b;--color-code-string:#8b4513;--color-code-comment:gray;--color-code-function:peru;--color-code-number:sienna;--color-code-operator:#2f4f4f;--color-code-class-name:#daa520;--color-code-tag:#4682b4;--color-code-attr-name:#ff8c00;--color-code-attr-value:#8b4513;--color-code-property:sienna;--color-code-selector:#4682b4;--color-code-punctuation:#2f4f4f;--color-code-builtin:#b8860b;--color-code-constant:sienna;--color-code-boolean:sienna;--color-code-regex:#8b4513;--color-code-symbol:#daa520;--color-code-entity:#daa520;--color-code-url:sienna;--color-code-atrule:#b8860b;--color-code-rule:#4682b4;--color-code-doctype:gray;--color-code-cdata:gray;--color-code-prolog:gray;--color-code-namespace:gray;--color-code-important:#b8860b;--color-code-inserted:#228b22;--color-code-deleted:#dc143c;--color-code-char:#8b4513}.dark{--color-code-keyword:#f4a460;--color-code-string:#deb887;--color-code-comment:#8b8b8b;--color-code-function:#daa520;--color-code-number:tan;--color-code-operator:wheat;--color-code-class-name:peru;--color-code-tag:#87ceeb;--color-code-attr-name:gold;--color-code-attr-value:#deb887;--color-code-property:tan;--color-code-selector:#87ceeb;--color-code-punctuation:wheat;--color-code-builtin:#f4a460;--color-code-constant:tan;--color-code-boolean:tan;--color-code-regex:#deb887;--color-code-symbol:peru;--color-code-entity:peru;--color-code-url:tan;--color-code-atrule:#f4a460;--color-code-rule:#98fb98;--color-code-doctype:#8b8b8b;--color-code-cdata:#8b8b8b;--color-code-prolog:#8b8b8b;--color-code-namespace:#8b8b8b;--color-code-important:#f4a460;--color-code-inserted:#98fb98;--color-code-deleted:#f08080;--color-code-char:#deb887}@layer utilities{.hljs-comment{color:var(--color-code-comment)!important}.hljs-keyword{color:var(--color-code-keyword)!important}.hljs-string{color:var(--color-code-string)!important}.hljs-number{color:var(--color-code-number)!important}.hljs-literal{color:var(--color-code-constant)!important}.hljs-type{color:var(--color-code-class-name)!important}.hljs-variable{color:var(--color-code-property)!important}.hljs-variable.language_{color:var(--color-code-keyword)!important}.hljs-variable.constant_{color:var(--color-code-constant)!important}.hljs-title{color:var(--color-code-function)!important}.hljs-title.class_.inherited__{color:var(--color-code-class-name)!important}.hljs-title.function_.invoke__{color:var(--color-code-function)!important}.hljs-params{color:var(--color-code-property)!important}.hljs-doctag{color:var(--color-code-keyword)!important;font-weight:600!important}.hljs-meta{color:var(--color-code-comment)!important}.hljs-meta.keyword_,.hljs-meta.prompt_{color:var(--color-code-keyword)!important}.hljs-meta.string_{color:var(--color-code-string)!important}.hljs-section{color:var(--color-code-keyword)!important;font-weight:600!important}.hljs-name{color:var(--color-code-tag)!important}.hljs-attribute{color:var(--color-code-attr-name)!important}.hljs-bullet{color:var(--color-code-punctuation)!important}.hljs-code{color:var(--color-code-property)!important}.hljs-formula{color:var(--color-code-number)!important}.hljs-quote{color:var(--color-code-string)!important}.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo{color:var(--color-code-selector)!important}.hljs-template-tag{color:var(--color-code-tag)!important}.hljs-template-variable{color:var(--color-code-property)!important}.hljs-subst{color:var(--color-code-string)!important}}@layer components{:where(code[role=button]){height:fit-content}:where(.code-copied-icon){background-color:currentColor;display:inline-block;height:1em;mask-image:var(--icon-code-copied);mask-position:center;mask-repeat:no-repeat;mask-size:contain;width:1em}:where([x-code],[x-code-group]):not(.unstyle){position:relative;:where(header){align-items:center;background-color:color-mix(in oklch,var(--color-content-stark,#2f4f4f) 8%,transparent);color:var(--color-content-neutral,gray);display:flex;flex-direction:row;font-family:var(--font-sans,sans-serif);font-size:inherit;min-height:var(--spacing-field-height,2.25rem);padding-inline-end:var(--spacing-field-height);padding-inline-start:calc(var(--spacing, .25rem)*4);width:100%;&:has(button[role=tab]){padding-inline-start:calc(var(--spacing, .25rem)*2)}& [role=tablist]{display:flex;flex-direction:row;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;&::-webkit-scrollbar{display:none}& button[role=tab]{background:transparent;border:0;color:inherit;flex-shrink:0;font-family:inherit;font-size:inherit;height:fit-content;justify-content:start;&:hover{background-color:var(--color-field-surface,color-mix(#2f4f4f 10%,transparent));color:var(--color-content-stark,#2f4f4f)}&[aria-selected=true]{color:var(--color-brand-content,#daa520);pointer-events:none;position:relative}}}}& button.copy{background-color:transparent;font-size:75%;inset-inline-end:0;position:absolute;top:0;&:hover{background-color:transparent;&:after{background-color:var(--color-field-inverse,#2f4f4f)}}&:after{background-color:var(--color-content-neutral,gray);content:"";display:block;height:.8125rem;mask-image:var(--icon-code-copy);mask-repeat:no-repeat;mask-size:contain;width:.8125rem}&.copied:after{mask-image:var(--icon-code-copied)}}:where(header)::-webkit-scrollbar{display:none}& .lines{color:var(--color-content-subtle,#a9a9a9);display:inline-flex;flex-direction:column;font-family:inherit;font-size:inherit;inset-inline-start:0;line-height:inherit;padding:calc(var(--spacing, .25rem)*4) 0 calc(var(--spacing, .25rem)*4) calc(var(--spacing, .25rem)*4);pointer-events:none;position:absolute;text-align:end;user-select:none}&:has(.lines) code{padding-inline-start:calc(var(--spacing, .25rem)*6 + 2ch)}:where(code){flex:1 1 100%;min-width:0;white-space:pre;white-space-collapse:preserve}& button.expand{align-items:center;background:transparent;border:0;border-radius:0;color:var(--color-content-subtle,#a9a9a9);cursor:pointer;display:flex;font-family:var(--font-sans,sans-serif);font-size:inherit;height:var(--spacing-field-height,2.25rem);justify-content:center;order:99;padding:0 calc(var(--spacing, .25rem)*2);transition:var(--transition,all .05s ease-in-out);width:100%;&:hover{background:color-mix(in oklch,var(--color-content-stark,#2f4f4f) 8%,transparent);color:var(--color-content-neutral,gray)}}&[data-collapsed] .lines,&[data-collapsed] code{mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 3em),transparent calc(100% - .75em),transparent);max-height:calc(var(--collapse-lines, 20)*1.7em + var(--spacing, .25rem)*8);overflow:hidden}:where(aside.frame){border:0;order:1;white-space:normal;white-space-collapse:collapse}}:where([x-code-group]){flex-flow:column;:where([x-code]){background:transparent;border:0;border-radius:0}}:where([x-code]):has(>header){& .lines{top:var(--spacing-field-height,2.25rem)}}}
package/lib/manifest.css CHANGED
@@ -174,7 +174,7 @@
174
174
  :where(hr) {
175
175
  height: 1px;
176
176
  color: inherit;
177
- background-color: var(--color-line, color-mix(darkslategray 10%, transparent));
177
+ background-color: var(--color-line, color-mix(darkslategray 12%, transparent));
178
178
  border: 0 none
179
179
  }
180
180
 
@@ -2912,7 +2912,7 @@
2912
2912
  @layer base {
2913
2913
 
2914
2914
  /* All text elements */
2915
- :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),
2915
+ :where(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),
2916
2916
  .h1,
2917
2917
  .h2,
2918
2918
  .h3,
@@ -2922,10 +2922,17 @@
2922
2922
  .paragraph,
2923
2923
  .small,
2924
2924
  .caption,
2925
- .label,
2926
- .link {
2925
+ .label {
2927
2926
  color: var(--color-content-stark, darkslategray);
2928
2927
 
2928
+ /* Inline links */
2929
+ & a:not(.unstyle),
2930
+ & .link {
2931
+ text-decoration: underline;
2932
+ text-underline-offset: 2px;
2933
+ color: inherit
2934
+ }
2935
+
2929
2936
  /* Support inline icons */
2930
2937
  &:where(:has([x-icon])) {
2931
2938
  display: inline-flex;
@@ -2938,7 +2945,7 @@
2938
2945
  }
2939
2946
 
2940
2947
  /* Inline span alignment */
2941
- & span {
2948
+ :where(span) {
2942
2949
  vertical-align: inherit
2943
2950
  }
2944
2951
  }
@@ -3020,11 +3027,6 @@
3020
3027
  }
3021
3028
  }
3022
3029
 
3023
- :where(abbr, address, blockquote, code, del, figcaption, h1, h2, h3, h4, h5, h6, ins, legend, p, small, cite, q, .h1, .h2, .h3, .h4, .h5, .h6, .paragraph, .small, .caption, .label):not(.unstyle)>a {
3024
- text-decoration: underline;
3025
- text-underline-offset: 2px
3026
- }
3027
-
3028
3030
  /* Asides */
3029
3031
  :where(aside):not(.unstyle) {
3030
3032
  padding: calc(var(--spacing, 0.25rem) * 4);
@@ -3279,18 +3281,26 @@
3279
3281
  tab-size: 4;
3280
3282
  white-space: pre;
3281
3283
  white-space-collapse: preserve;
3282
- overflow-x: auto;
3284
+ overflow: hidden;
3283
3285
 
3284
3286
  & code {
3285
3287
  flex-grow: 1;
3286
3288
  display: inline-block;
3287
3289
  height: auto;
3288
3290
  padding: calc(var(--spacing, 0.25rem) * 4);
3291
+ padding-inline-end: calc(var(--spacing, 0.25rem) * 12);
3289
3292
  font-size: inherit;
3290
3293
  line-height: inherit;
3291
3294
  background-color: transparent;
3292
3295
  border: 0 none;
3293
- box-shadow: none
3296
+ box-shadow: none;
3297
+ overflow-x: auto;
3298
+ scrollbar-width: none;
3299
+ -ms-overflow-style: none;
3300
+
3301
+ &::-webkit-scrollbar {
3302
+ display: none
3303
+ }
3294
3304
  }
3295
3305
 
3296
3306
  &:not(:has(code)) {
@@ -2,16 +2,15 @@
2
2
  "manifest.appwrite.auth.js": "sha384-to37ssZJXGeOS6+rf2VI47ox2mEqgsi5oQ1E5vv8XU/lDspbDFE1KHEMm8TxBhxW",
3
3
  "manifest.appwrite.data.js": "sha384-00ulLT+GAIuPHA/rRT9p98vYlsyDzkyKXtg86BDQ6FGQa5vVVN+W6kuforniBAsz",
4
4
  "manifest.appwrite.presence.js": "sha384-uxRpx9/Jj0kGtklH5QmUlAzD3zdSvFRfK6bcJQqxl+Bsf5tOo4zgwqJTQgtZoHQP",
5
- "manifest.code.js": "sha384-zjtiVXsPoPK4H/2gN4Xe4Bd0iKUwnv4MbteX9AmTWqNz49E+a3eCuONYHpSneStZ",
5
+ "manifest.code.js": "sha384-zxu52NMTOIu+wd0b4YITLmGMR637VakyN9rBVRYfHA1qQW4hGTi2j7/NbqzPT3j1",
6
6
  "manifest.color.js": "sha384-Z9G/lzt0vVMxjz4wkPuGG1X9mmQAJR15aOoGX3ephf7r2wnlUWet5GLgkUMtT4vt",
7
7
  "manifest.colorpicker.js": "sha384-0EVn+Ha06h7FIvOxc6WjZYnKYXzi+zba08yKvczSEGTRkWRxyKN2TFrZHI1SDCXu",
8
- "manifest.colors.js": "sha384-u8iD6kapVj4OjeCILxBkYQKgXtDQ7LdEodILkQuknzPMwzSMBmDHN25UuzxepHby",
9
8
  "manifest.components.js": "sha384-3dCTD5EwCZTiX+1obYtDNM3WWwPh2JDQUQQsdRUUK3gs6FXjse1ShkKaT/2jsNaI",
10
9
  "manifest.data.js": "sha384-+wfMPBlMsmLJ7EJWGJMTKGAhLaLCyOVX+Nq+ps3Lly58QC9Dp3XRHK5yangII0yq",
11
10
  "manifest.dropdowns.js": "sha384-WMrFoSpKfJuo81dyrwhVrDO8rq+rDwh2x8x4nH01BY5ZHkvjE+/SaT2gWCI0zOn+",
12
11
  "manifest.icons.js": "sha384-uOkboYrovjCpl22eey3Jaxpey+pOnot5NDnRRumcRxiR7IOVaRh1i20gYnWXR5dW",
13
12
  "manifest.localization.js": "sha384-eKdBIMEAwsugPP2p2fuPzQUkU44f1+Y0JgukMJ1KXLQY1/AYvpcGsEiritVDElsN",
14
- "manifest.markdown.js": "sha384-5dpYLup1j/JLmoVvE1Qn47rwYwtU6kH2PvuiNzU1nqa0LMRWZhdnKhKO7I3I0cyI",
13
+ "manifest.markdown.js": "sha384-gxRxl0QFZc66KfpRNG5bj1mHGD61lLg4+zN77IWclVw6nLW+SIw1ciNqQa187+fK",
15
14
  "manifest.resize.js": "sha384-Ak5gf44ERfh9pOSAD1qZzJSysslpwBCkevIlz7R3dszTUyzUKGKGF4pn5arOtgG0",
16
15
  "manifest.router.js": "sha384-n6xmIfWnYzd/0kkVTFuHhFzHuxiDgZ1Lg1W0yB6/w3Myw5pQ6PgE6SJBHfVsO7/D",
17
16
  "manifest.slides.js": "sha384-3uRTkyK9XPLmnxI2+igZlpi4EyPlU/7IHj5j3BZJJ2KN455vXyk99fiXV3feO/XY",
@@ -22,5 +21,5 @@
22
21
  "manifest.tooltips.js": "sha384-Hhip5ZN66xhDw3m0XBrKLKLpcVRz3Z9RszPKqo6xvFF0mrUgQBVZ+mZjZsXgOOjS",
23
22
  "manifest.url.parameters.js": "sha384-FIufiClqDx1rJpU/QUc9z/D43qClQ6Qm8rBahipbJl9BDHUvhrOsUDegmTWW7Tuf",
24
23
  "manifest.utilities.js": "sha384-Q98oZClq/iRKFmuwHolisLgEitsTZiEPHxUW29liKlnL1Gx+YGq8MMivYbDlGDD6",
25
- "manifest.js": "sha384-AjAnd61543ANko2XUK2ZZA7lWQH6DPoV3CSXt/Y4rJnxIOMA+5jx0sgU5U7+sEg6"
24
+ "manifest.js": "sha384-+VqLvjMEa28w5p6vlp4OEI6w/wr9Wpuzgk4rJcWsg1aDodhEB6E30yDpgs/6zRsR"
26
25
  }
package/lib/manifest.js CHANGED
@@ -175,41 +175,6 @@
175
175
  const DEFAULT_VERSION = 'latest';
176
176
  const ALPINE_CDN_URL = 'https://cdn.jsdelivr.net/npm/alpinejs@3/dist/cdn.min.js';
177
177
 
178
- // SRI integrity map: { 'manifest.foo.min.js': 'sha384-...', ... }
179
- // Inlined by build.mjs's emitIntegrityMap() step. Empty in source so the
180
- // unbuilt loader works in dev (where files are served from the local
181
- // project, same-origin, no SRI needed). Built artifact in lib/ carries
182
- // the populated map. Looked up by the filename suffix of every script URL
183
- // addScript() injects — when the file is in the map, the matching
184
- // integrity + crossorigin attributes are set, and the browser refuses to
185
- // execute the script if the bytes don't match (defends against CDN
186
- // poisoning / npm hijack).
187
- const INTEGRITY = {
188
- "manifest.appwrite.auth.js": "sha384-to37ssZJXGeOS6+rf2VI47ox2mEqgsi5oQ1E5vv8XU/lDspbDFE1KHEMm8TxBhxW",
189
- "manifest.appwrite.data.js": "sha384-00ulLT+GAIuPHA/rRT9p98vYlsyDzkyKXtg86BDQ6FGQa5vVVN+W6kuforniBAsz",
190
- "manifest.appwrite.presence.js": "sha384-uxRpx9/Jj0kGtklH5QmUlAzD3zdSvFRfK6bcJQqxl+Bsf5tOo4zgwqJTQgtZoHQP",
191
- "manifest.code.js": "sha384-zjtiVXsPoPK4H/2gN4Xe4Bd0iKUwnv4MbteX9AmTWqNz49E+a3eCuONYHpSneStZ",
192
- "manifest.color.js": "sha384-Z9G/lzt0vVMxjz4wkPuGG1X9mmQAJR15aOoGX3ephf7r2wnlUWet5GLgkUMtT4vt",
193
- "manifest.colorpicker.js": "sha384-0EVn+Ha06h7FIvOxc6WjZYnKYXzi+zba08yKvczSEGTRkWRxyKN2TFrZHI1SDCXu",
194
- "manifest.colors.js": "sha384-u8iD6kapVj4OjeCILxBkYQKgXtDQ7LdEodILkQuknzPMwzSMBmDHN25UuzxepHby",
195
- "manifest.components.js": "sha384-3dCTD5EwCZTiX+1obYtDNM3WWwPh2JDQUQQsdRUUK3gs6FXjse1ShkKaT/2jsNaI",
196
- "manifest.data.js": "sha384-+wfMPBlMsmLJ7EJWGJMTKGAhLaLCyOVX+Nq+ps3Lly58QC9Dp3XRHK5yangII0yq",
197
- "manifest.dropdowns.js": "sha384-WMrFoSpKfJuo81dyrwhVrDO8rq+rDwh2x8x4nH01BY5ZHkvjE+/SaT2gWCI0zOn+",
198
- "manifest.icons.js": "sha384-uOkboYrovjCpl22eey3Jaxpey+pOnot5NDnRRumcRxiR7IOVaRh1i20gYnWXR5dW",
199
- "manifest.localization.js": "sha384-eKdBIMEAwsugPP2p2fuPzQUkU44f1+Y0JgukMJ1KXLQY1/AYvpcGsEiritVDElsN",
200
- "manifest.markdown.js": "sha384-5dpYLup1j/JLmoVvE1Qn47rwYwtU6kH2PvuiNzU1nqa0LMRWZhdnKhKO7I3I0cyI",
201
- "manifest.resize.js": "sha384-Ak5gf44ERfh9pOSAD1qZzJSysslpwBCkevIlz7R3dszTUyzUKGKGF4pn5arOtgG0",
202
- "manifest.router.js": "sha384-n6xmIfWnYzd/0kkVTFuHhFzHuxiDgZ1Lg1W0yB6/w3Myw5pQ6PgE6SJBHfVsO7/D",
203
- "manifest.slides.js": "sha384-3uRTkyK9XPLmnxI2+igZlpi4EyPlU/7IHj5j3BZJJ2KN455vXyk99fiXV3feO/XY",
204
- "manifest.svg.js": "sha384-nc+3spSGNS2l+82maL/OFz2iOGUhLZ0kqeooj28CEcdElM4OZa34e0tbnokZHVI6",
205
- "manifest.tabs.js": "sha384-v6Ti0zHfdLhkFHbTMg0FH6uMrThuBvZrL2PQgVBeeXhDjuN7x4MtoNWogPbAQTaD",
206
- "manifest.tailwind.js": "sha384-aHLvl2oSuUgy06VaBqhhByn5wWxqvnqxw6KCwehakKUS00F/s/Nb62umeASS6Y4P",
207
- "manifest.toasts.js": "sha384-ytd5rDbax/Ou9z23uedFXPZbxDPsk2E/pxCTq4WLvfv+os1qTI6kELp0kPp07g24",
208
- "manifest.tooltips.js": "sha384-Hhip5ZN66xhDw3m0XBrKLKLpcVRz3Z9RszPKqo6xvFF0mrUgQBVZ+mZjZsXgOOjS",
209
- "manifest.url.parameters.js": "sha384-FIufiClqDx1rJpU/QUc9z/D43qClQ6Qm8rBahipbJl9BDHUvhrOsUDegmTWW7Tuf",
210
- "manifest.utilities.js": "sha384-Q98oZClq/iRKFmuwHolisLgEitsTZiEPHxUW29liKlnL1Gx+YGq8MMivYbDlGDD6"
211
- };
212
-
213
178
  // Get base URL for a given version
214
179
  function getBaseUrl(version = DEFAULT_VERSION) {
215
180
  return `https://cdn.jsdelivr.net/npm/mnfst@${version}/lib`;
@@ -244,16 +209,10 @@
244
209
  'appwrite-presence'
245
210
  ];
246
211
 
247
- // Plugin dependencies: plugins that require other plugins to be loaded first.
248
- // All Appwrite plugins depend on `data` for env-var interpolation at
249
- // manifest-load time (window.ManifestDataConfig.interpolateManifest); auth
250
- // and presence also share the data plugin's manifest-fetch plumbing.
251
- // Localization reads data-source URLs that may carry ${VAR} references.
212
+ // Plugin dependencies: plugins that require other plugins to be loaded first
252
213
  const PLUGIN_DEPENDENCIES = {
253
- 'appwrite-auth': ['data'],
254
214
  'appwrite-data': ['data'],
255
- 'appwrite-presence': ['data'],
256
- 'localization': ['data']
215
+ 'appwrite-presence': ['data']
257
216
  };
258
217
 
259
218
  // Derive default plugin list from manifest (only load data/localization/components when manifest needs them)
@@ -354,15 +313,6 @@
354
313
  const script = document.createElement('script');
355
314
  script.src = url;
356
315
  script.async = false; // Ensure scripts execute in order
357
- // Apply SRI when the file is in the inlined integrity map. The map
358
- // keys files by basename, so it works whether the URL points at
359
- // jsDelivr or a user-configured pluginBase mirror — as long as the
360
- // served bytes match what this loader version was built against.
361
- const fileName = url.split('/').pop().split('?')[0];
362
- if (INTEGRITY[fileName]) {
363
- script.integrity = INTEGRITY[fileName];
364
- script.crossOrigin = 'anonymous';
365
- }
366
316
  script.onload = () => resolve();
367
317
  script.onerror = () => reject(new Error(`Failed to load ${pluginName} from ${url}`));
368
318
  document.head.appendChild(script);
@@ -570,13 +520,6 @@
570
520
  manifest = await manifestPromise;
571
521
  }
572
522
  if (manifest && typeof window !== 'undefined') {
573
- // Resolve ${VAR} env-var references once, at the canonical load
574
- // point, so downstream plugins (auth, data, appwrite) read
575
- // already-interpolated values instead of each handling env-var
576
- // substitution themselves.
577
- if (window.ManifestDataConfig?.interpolateManifest) {
578
- window.ManifestDataConfig.interpolateManifest(manifest);
579
- }
580
523
  window.__manifestLoaded = manifest;
581
524
  if (window.ManifestComponentsRegistry) {
582
525
  window.ManifestComponentsRegistry.manifest = manifest;
@@ -169,10 +169,14 @@ async function configureMarked(marked) {
169
169
  }
170
170
  if (attrs.from) preAttrs += ` from="${escapeForAttribute(attrs.from)}"`;
171
171
 
172
- // marked has already HTML-escaped `text`. It's safe to drop
173
- // it inside <code> and let the code plugin read .textContent
174
- // as the highlight source.
175
- return `<pre${preAttrs}><code>${text}</code></pre>\n`;
172
+ // Escape the fence body before injection. Newer marked versions
173
+ // pass `token.text` raw, and if we leave it unescaped an HTML
174
+ // fence like ```html <script>…</script>``` becomes a live
175
+ // element in the document instead of source text. Escaping
176
+ // here keeps the <code> body as pure text — the code plugin's
177
+ // resolveSource reads textContent which decodes the entities
178
+ // back to the original source.
179
+ return `<pre${preAttrs}><code>${escapeForText(text)}</code></pre>\n`;
176
180
  }
177
181
  },
178
182
  // Configure marked to allow custom HTML tags
@@ -306,6 +310,56 @@ function enableCheckboxes(html) {
306
310
  return temp.innerHTML;
307
311
  }
308
312
 
313
+ // Apply trailing `{…}` attribute lists to inline `<code>` elements emitted
314
+ // by marked. Authors write ``` `npm i mnfst`{copy} ``` or ``` `code`{bash copy} ```
315
+ // in markdown; marked's default codespan handling drops the trailing brace
316
+ // block as literal text. We rewrite it post-parse so the code plugin's
317
+ // directive sees the attributes and wires copy / syntax highlighting.
318
+ //
319
+ // Supported tokens inside the braces:
320
+ // copy → adds the `copy` attribute (click-to-copy)
321
+ // <language> → bareword like `bash`, `js`, `html` becomes
322
+ // the `x-code="…"` value (drives highlighting)
323
+ // .class → appended to the element's class list
324
+ // key=value, key="quoted" → arbitrary attribute (rarely needed)
325
+ //
326
+ // Multiple tokens separate by whitespace: `cmd`{bash copy} works.
327
+ function applyInlineCodeAttributes(html) {
328
+ // marked emits `<code>…</code>` for codespans (no attributes). When we see
329
+ // `<code>X</code>{tokens}` we rewrite into `<code x-code[=lang] tokens>X</code>`.
330
+ // Be conservative: only rewrite when the brace block immediately follows
331
+ // a `<code>` close tag (no whitespace), so prose like "foo `bar` {note}" is
332
+ // untouched.
333
+ return html.replace(
334
+ /<code>([\s\S]*?)<\/code>\{([^}\n]+)\}/g,
335
+ (_, body, attrString) => {
336
+ const tokens = attrString.trim().split(/\s+/).filter(Boolean);
337
+ let language = '';
338
+ const classes = [];
339
+ const flags = new Set();
340
+ const kv = [];
341
+ for (const tok of tokens) {
342
+ if (tok === 'copy' || tok === 'lines' || tok === 'edit') {
343
+ flags.add(tok);
344
+ } else if (tok.startsWith('.')) {
345
+ classes.push(tok.slice(1));
346
+ } else if (tok.includes('=')) {
347
+ const [k, ...rest] = tok.split('=');
348
+ const v = rest.join('=').replace(/^["']|["']$/g, '');
349
+ kv.push([k, v]);
350
+ } else if (/^[a-z][\w-]*$/i.test(tok) && !language) {
351
+ language = tok;
352
+ }
353
+ }
354
+ let attrs = ` x-code="${escapeForAttribute(language)}"`;
355
+ for (const flag of flags) attrs += ` ${flag}`;
356
+ if (classes.length) attrs += ` class="${escapeForAttribute(classes.join(' '))}"`;
357
+ for (const [k, v] of kv) attrs += ` ${k}="${escapeForAttribute(v)}"`;
358
+ return `<code${attrs}>${body}</code>`;
359
+ }
360
+ );
361
+ }
362
+
309
363
  // Check if highlight.js is available
310
364
  function isHighlightJsAvailable() {
311
365
  return typeof window.hljs !== 'undefined';
@@ -498,6 +552,10 @@ async function initializeMarkdownPlugin() {
498
552
  // Post-process HTML to enable checkboxes (remove disabled attribute)
499
553
  html = enableCheckboxes(html);
500
554
 
555
+ // Promote inline code attribute blocks (`foo`{copy}) to
556
+ // real attributes so the code plugin can wire copy/highlight.
557
+ html = applyInlineCodeAttributes(html);
558
+
501
559
  // Apply opt-in DOMPurify sanitization for x-markdown.safe
502
560
  html = await maybeSanitizeMarkdownHtml(html, safe);
503
561
 
@@ -513,6 +571,18 @@ async function initializeMarkdownPlugin() {
513
571
  element.appendChild(temp.firstChild);
514
572
  }
515
573
 
574
+ // Notify the code plugin to scan the new subtree —
575
+ // fenced blocks and `inline`{copy} elements are added
576
+ // outside Alpine's initial walk and won't otherwise
577
+ // be picked up by the IntersectionObserver.
578
+ if (window.ManifestCode?.observeAll) {
579
+ window.ManifestCode.observeAll(element);
580
+ }
581
+ document.dispatchEvent(new CustomEvent('manifest:code-blocks-converted', {
582
+ bubbles: true,
583
+ detail: { root: element }
584
+ }));
585
+
516
586
  // Show element with content
517
587
  hasContent = true;
518
588
  element.style.opacity = '1';
@@ -674,6 +744,10 @@ async function initializeMarkdownPlugin() {
674
744
  // Post-process HTML to enable checkboxes (remove disabled attribute)
675
745
  html = enableCheckboxes(html);
676
746
 
747
+ // Promote inline code attribute blocks (`foo`{copy}) to
748
+ // real attributes so the code plugin can wire copy/highlight.
749
+ html = applyInlineCodeAttributes(html);
750
+
677
751
  // Apply opt-in DOMPurify sanitization for x-markdown.safe
678
752
  html = await maybeSanitizeMarkdownHtml(html, safe);
679
753
 
@@ -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,color-mix(#2f4f4f 10%,transparent));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}@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}}::view-transition-group(*){animation-duration:var(--view-transition-duration,.2s);animation-timing-function:var(--view-transition-easing,cubic-bezier(.4,0,.2,1))}[data-no-view-transition],canvas,iframe,video{view-transition-name:none}}@view-transition{navigation:auto}@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)}&>:last-child{margin-bottom:calc(var(--spacing, .25rem)*8)}:where(summary){align-items:center;color:var(--color-content-stark,#2f4f4f);cursor:pointer;display:flex;font-weight:700;justify-content:space-between;padding:var(--spacing-field-padding,.625rem) 0;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,#f5f5f5) 40%,var(--color-content-stark,#2f4f4f))}&:active{color:color-mix(in oklch,var(--color-surface-1,#f5f5f5) 50%,var(--color-content-stark,#2f4f4f))}&:before{background-color:color-mix(in oklch,var(--color-field-surface,color-mix(#2f4f4f 10%,transparent)) 50%,var(--color-field-inverse,#2f4f4f));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,color-mix(#2f4f4f 10%,transparent));background-position:50%;background-size:cover;border-radius:var(--radius,.5rem);color:var(--color-field-inverse,#2f4f4f);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,#a9a9a9)}: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,color-mix(#2f4f4f 10%,transparent));border:1px solid var(--color-page,#fff);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,color-mix(#2f4f4f 15%,transparent));& 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,color-mix(#2f4f4f 15%,transparent));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,#fff);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(code,.unstyle){align-items:center;appearance:button;background-color:var(--color-field-surface,color-mix(#2f4f4f 10%,transparent));border:0 solid transparent;border-radius:var(--radius,.5rem);color:var(--color-field-inverse,#2f4f4f);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,color-mix(#2f4f4f 10%,transparent));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,color-mix(#2f4f4f 15%,transparent))}&:focus-visible{background-color:var(--color-field-surface,color-mix(#2f4f4f 10%,transparent))}}: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,color-mix(#2f4f4f 15%,transparent));border-color:var(--color-field-surface-hover,color-mix(#2f4f4f 15%,transparent))}}&:after{background-color:var(--color-field-inverse,#2f4f4f);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)}}}:root{--color-picker-swatch:var(--color-line,color-mix(#2f4f4f 10%,transparent));--icon-color-solid:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='lucide lucide-paint-roller-icon lucide-paint-roller' viewBox='0 0 24 24'%3E%3Crect width='16' height='6' x='2' y='2' rx='2'/%3E%3Cpath d='M10 16v-2a2 2 0 0 1 2-2h8a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2'/%3E%3Crect width='4' height='6' x='8' y='16' rx='1'/%3E%3C/svg%3E");--icon-color-gradient:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='lucide lucide-blend-icon lucide-blend' viewBox='0 0 24 24'%3E%3Ccircle cx='9' cy='9' r='7'/%3E%3Ccircle cx='15' cy='15' r='7'/%3E%3C/svg%3E");--icon-color-library:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='lucide lucide-swatch-book-icon lucide-swatch-book' viewBox='0 0 24 24'%3E%3Cpath d='M11 17a4 4 0 0 1-8 0V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2Z'/%3E%3Cpath d='M16.7 13H19a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H7M7 17h.01'/%3E%3Cpath d='m11 8 2.3-2.3a2.4 2.4 0 0 1 3.404.004L18.6 7.6a2.4 2.4 0 0 1 .026 3.434L9.9 19.8'/%3E%3C/svg%3E");--icon-color-grab:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='lucide lucide-pipette-icon lucide-pipette' viewBox='0 0 24 24'%3E%3Cpath d='m12 9-8.414 8.414A2 2 0 0 0 3 18.828v1.344a2 2 0 0 1-.586 1.414A2 2 0 0 1 3.828 21h1.344a2 2 0 0 0 1.414-.586L15 12'/%3E%3Cpath d='m18 9 .4.4a1 1 0 1 1-3 3l-3.8-3.8a1 1 0 1 1 3-3l.4.4 3.4-3.4a1 1 0 1 1 3 3zM2 22l.414-.414'/%3E%3C/svg%3E");--icon-alpha-pattern:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2 2'%3E%3Cpath fill='gray' d='M0 0h1v1H0zM1 1h1v1H1z' opacity='.15'/%3E%3C/svg%3E")}@layer components{:where(input[type=color]){appearance:none;-webkit-appearance:none;&::-webkit-color-swatch-wrapper{padding:0}&::-webkit-color-swatch{border:0}&::-moz-color-swatch{border:0}}}@layer utilities{:where([x-colorpicker\.swatch],input[type=color]):not(.unstyle){background:var(--color-picker-swatch,#000);border-color:oklch(from var(--color-picker-swatch,#000) calc(l + (.5 - l) * .35) c calc(h + 0));border-radius:var(--radius,.5rem);border-style:solid;border-width:1px;cursor:pointer;height:var(--spacing-field-height,2.25rem);max-width:var(--spacing-field-height,2.25rem);min-width:var(--spacing-field-height,2.25rem);overflow:hidden;padding:0;position:relative;transition:var(--transition,all .05s ease-in-out);width:var(--spacing-field-height,2.25rem);&:active,&:focus,&:focus-visible,&:hover{border-color:oklch(from var(--color-picker-swatch,#000) calc(l + (.5 - l) * .35) c calc(h + 0)/.5)}&:before{background-image:var(--icon-alpha-pattern);background-position:0 0;background-size:50%;content:"";height:100%;left:0;position:absolute;top:0;width:100%;z-index:-1}}:where([x-colorpicker]):not(.unstyle){height:fit-content;max-height:30rem;max-width:18rem;min-width:18rem;overflow:hidden;& :where(.tabs-wrapper){border-bottom:1px solid var(--color-line,color-mix(#2f4f4f 10%,transparent));display:flex;padding:2px;width:100%;& button{flex:1;justify-content:center}}& [x-colorpicker\.solid]{& :where(.canvas-wrapper){aspect-ratio:1;cursor:crosshair;overflow:hidden;padding:2px;position:relative;touch-action:none;width:100%}& canvas{display:block;height:100%;width:100%}& :where(.color-reticle){border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.3),inset 0 0 0 1px rgba(0,0,0,.2);height:.75rem;pointer-events:none;position:absolute;transform:translate(-50%,-50%);width:.75rem;z-index:1}& :where(.solid-options-inputs){display:flex;flex-direction:column;gap:.75rem;padding:.75rem;& div:has(button[x-colorpicker\.set-color-space],input[x-colorpicker\.set-color-value],input[x-colorpicker\.set-alpha-value]){display:flex;width:100%}}& input[x-colorpicker\.set-alpha],& input[x-colorpicker\.set-hue]{appearance:none;-webkit-appearance:none;background:transparent;border:none;border-radius:1rem;cursor:pointer;height:.75rem;outline:none;padding:0;width:100%;&::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.15),0 1px 3px rgba(0,0,0,.25);cursor:grab;height:1rem;width:1rem;&:active{cursor:grabbing}}&::-moz-range-thumb{background:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.15),0 1px 3px rgba(0,0,0,.25);cursor:grab;height:1rem;width:1rem;&:active{cursor:grabbing}}&::-webkit-slider-runnable-track{border-radius:1rem;height:.75rem}&::-moz-range-track{border-radius:1rem;height:.75rem}}& input[x-colorpicker\.set-hue]{&::-webkit-slider-runnable-track{background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}&::-moz-range-track{background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}}& input[x-colorpicker\.set-alpha]{--color-picker-alpha:#000;position:relative;&::-webkit-slider-runnable-track{background:linear-gradient(to right,transparent,var(--color-picker-alpha)),var(--icon-alpha-pattern) 0 0 /.5rem .5rem}&::-moz-range-track{background:linear-gradient(to right,transparent,var(--color-picker-alpha)),var(--icon-alpha-pattern) 0 0 /.5rem .5rem}}& button[x-colorpicker\.set-color-space]{justify-content:center;padding-inline-end:0;padding-inline-start:0;width:7ch}& input[x-colorpicker\.set-color-value]{flex:1;padding-inline-end:0}& input[x-colorpicker\.set-alpha-value]{padding-inline-start:0;text-align:end;width:fit-content}}& [x-colorpicker\.gradient]{& :where(.layer-options-wrapper){border-bottom:1px solid var(--color-line,color-mix(#2f4f4f 10%,transparent));& :where(.layer-options-inputs){align-items:center;display:flex;flex-flow:row nowrap;padding:.5rem;& button{justify-content:center;width:auto}& :where(.layer-angle-wrapper){position:relative;& input[x-colorpicker\.set-angle]{cursor:ew-resize;padding-inline-end:.75rem;padding-inline-start:0;text-align:end;width:5.5ch;&:focus{cursor:text}}& span{color:var(--color-content-neutral,gray);position:absolute;right:.25rem;top:0}}& [x-colorpicker\.layer-stops-bar]{background:var(--color-field-surface,color-mix(#2f4f4f 10%,transparent));border-radius:1rem;cursor:pointer;height:.75rem;margin-inline-end:.5rem;margin-inline-start:1rem;position:relative;width:100%;& :where(.stop-handle){border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.15),0 1px 3px rgba(0,0,0,.25);cursor:grab;height:1rem;position:absolute;top:50%;touch-action:none;transform:translate(-50%,-50%);width:1rem;z-index:1;&:hover{box-shadow:0 0 0 1px rgba(0,0,0,.25),0 1px 5px rgba(0,0,0,.25)}&:active{cursor:grabbing}&.active{box-shadow:inset 0 0 0 3px hsla(0,0%,100%,.85),0 1px 5px #000}}}}& [x-colorpicker\.solid]{padding:0;& :where(.canvas-wrapper){margin:auto;padding:0 0 2px;width:calc(100% - 2rem)}& :where(.solid-options-inputs){padding-left:1rem;padding-right:1rem}}}& :where(.gradient-value-wrapper){padding:.5rem;& [x-colorpicker\.set-gradient-value]{field-sizing:content;resize:none}}}& [data-gradient-type=radial] .layer-angle-wrapper{visibility:hidden}& [x-colorpicker\.library]{max-height:30rem;overflow-y:auto;& :where(.library-wrapper){display:flex;flex-flow:column;gap:1rem;padding:1rem 1rem 4rem;width:100%;& :where(.library-group){display:flex;flex-direction:column;gap:.5rem;padding-bottom:1rem;width:100%;&:not(:last-child){border-bottom:1px solid var(--color-line,color-mix(#2f4f4f 10%,transparent))}& :where(.library-palette){display:grid;gap:1px;grid-template-columns:repeat(11,1fr);& button[x-colorpicker\.apply-color]{aspect-ratio:1/1;border:1px solid hsla(0,0%,100%,.15);border-radius:calc(var(--radius, .5rem)/2);height:auto;max-height:1.375rem;max-width:1.375rem;min-height:0;min-width:0;width:100%;&:hover{border:1px solid hsla(0,0%,100%,.35)}&.active{border:1px solid #fff;box-shadow:inset 0 0 0 3px hsla(0,0%,100%,.85),0 0 1px #000,inset 0 0 0 4px rgba(0,0,0,.25)}}}}}}}:where(menu[popover][x-colorpicker]:not(.unstyle)){padding:0;& .tabs-wrapper button{border:1px solid var(--color-popover-surface,#fff)}}:where(menu[popover]:not(.unstyle) [x-colorpicker\.library],.dropdown-menu:not(.unstyle) [x-colorpicker\.library]){& :where(.library-wrapper){padding:.5rem .5rem 4rem!important}& :where(small){padding-inline-start:0}}:where(.color-icon-solid,.color-icon-gradient,.color-icon-library,.color-icon-grab,.gradient-layer-icon-linear,.gradient-layer-icon-radial,.gradient-layer-icon-conic){aspect-ratio:1/1;background-color:currentColor;height:calc(var(--spacing-field-height, 2.25rem)/2);max-height:1rem}:where(dialog[x-colorpicker]){border-radius:calc(var(--radius, .5rem))}:where(.color-icon-solid){mask-image:var(--icon-color-solid)}:where(.color-icon-gradient){mask-image:var(--icon-color-gradient)}:where(.color-icon-library){mask-image:var(--icon-color-library)}:where(.color-icon-grab){mask-image:var(--icon-color-grab)}.gradient-layer-icon-linear{background:linear-gradient(to right,var(--color-content-neutral,gray),color-mix(in oklch,var(--color-content-neutral,gray) 0%,transparent 100%));border-radius:50%}.gradient-layer-icon-radial{background:radial-gradient(var(--color-content-neutral,gray),color-mix(in oklch,var(--color-content-neutral,gray) 0%,transparent 100%));border-radius:50%}.gradient-layer-icon-conic{background:conic-gradient(var(--color-content-neutral,gray),color-mix(in oklch,var(--color-content-neutral,gray) 0%,transparent 100%));border-radius:50%}}@layer components{:where(dialog[popover],.dialog):not(.unstyle){background-color:var(--color-popover-surface,#fff);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,#2f4f4f);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,gray);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,color-mix(#2f4f4f 10%,transparent));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],.dropdown-menu):not(.unstyle){background:var(--color-popover-surface,#fff);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,#2f4f4f);cursor:pointer;display:inline-flex;font-weight:400;justify-content:start;max-width:100%;min-height:var(--spacing-field-height,2.25rem);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,color-mix(#2f4f4f 10%,transparent));color:var(--color-field-inverse,#2f4f4f)}& [x-icon],& span{color:inherit}& [x-icon]:first-child:not(:only-child){margin-inline-end:.375rem}}& small{color:var(--color-content-neutral,gray);padding:.25rem .5rem}& hr{background-color:var(--color-line,color-mix(#2f4f4f 10%,transparent));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){}}& 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,color-mix(#2f4f4f 15%,transparent))}: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, .25rem)*4);width:100%}:where(fieldset):not(.unstyle){display:flex;flex-direction:column;gap:.375ch calc(var(--spacing, .25rem)*2);width:100%;&:has([type=radio],[type=checkbox]){gap:calc(var(--spacing, .25rem)*2)}}:where(fieldset:has(legend)):not(.unstyle){border-color:var(--color-line,color-mix(#2f4f4f 10%,transparent));border-radius:var(--radius,.5rem);border-style:solid;border-width:1px;padding:1ch 1.5ch 1.5ch;& :where(legend){color:var(--color-content-subtle,#a9a9a9);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, .5rem)/2);width:100%;:where(*){text-indent:0}:where(span:first-of-type){padding-inline-start:calc(var(--radius, .5rem)/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, 2.25rem)*8)}& .label:focus-within{box-shadow:0 0 0 2px color-mix(in oklch,var(--color-content-stark,#2f4f4f) 35%,transparent)}&:has(textarea){align-items:start;:where(data){padding-top:calc(var(--spacing, .25rem))}}}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],[type=color]),textarea,label:has([type=search],[type=file]),.label:has([type=search],[type=file])):not(.unstyle){appearance:none;background-color:var(--color-field-surface,color-mix(#2f4f4f 10%,transparent));border:0 solid transparent;border-radius:var(--radius,.5rem);color:var(--color-field-inverse,#2f4f4f);cursor:text;max-width:100%;transition:var(--transition,all .05s ease-in-out);width:100%;&:active,&:hover{background-color:var(--color-field-surface-hover,color-mix(#2f4f4f 15%,transparent))}&:focus-visible{background-color:var(--color-field-surface,color-mix(#2f4f4f 10%,transparent))}&::placeholder{color:color-mix(in oklch,var(--color-field-inverse,#2f4f4f) 65%,transparent)}&::selection{background-color:color-mix(in oklch,var(--color-field-surface,color-mix(#2f4f4f 10%,transparent)) 80%,var(--color-field-inverse,#2f4f4f))}&[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,.25rem);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,#a9a9a9);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,#2f4f4f);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,color-mix(#2f4f4f 10%,transparent));border-radius:var(--radius,.5rem);cursor:pointer;height:calc(var(--spacing, .25rem)*2);transition:var(--transition,all .05s ease-in-out)}&:hover::-webkit-slider-runnable-track{background-color:var(--color-field-surface-hover,color-mix(#2f4f4f 15%,transparent))}&::-webkit-slider-thumb{appearance:none;background-color:color-mix(in oklch,var(--color-field-surface,color-mix(#2f4f4f 10%,transparent)) 60%,var(--color-field-inverse,#2f4f4f));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,all .05s ease-in-out);width:calc(var(--spacing-field-height, 2.25rem)*.5)}&::-webkit-slider-thumb:hover{background-color:color-mix(in oklch,var(--color-field-surface,color-mix(#2f4f4f 10%,transparent)) 30%,var(--color-field-inverse,#2f4f4f))}}: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,gray);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,color-mix(#2f4f4f 10%,transparent))}}.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(nav[popover]){background-color:var(--color-popover-surface,#fff);height:100%;inset-inline-end:0;inset-inline-start:auto;max-width:80vw;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(nav[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(nav[popover]){background-color:var(--color-surface-1,#f5f5f5)}}@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, .25rem)*4)}& button[\@click="next()"]{left:auto;right:calc(var(--spacing, .25rem)*4)}.carousel-dots{bottom:calc(var(--spacing, .25rem)*4);display:flex;gap:calc(var(--spacing, .25rem)*2);left:50%;max-width:100%;overflow-x:auto;padding:0 calc(var(--spacing, .25rem)*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,color-mix(#2f4f4f 10%,transparent)) 60%,var(--color-field-inverse,#2f4f4f));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,color-mix(#2f4f4f 10%,transparent));&:before{background-color:var(--color-field-inverse,#2f4f4f);left:calc(100% - var(--spacing-field-height, 2.25rem)*.65 + .125rem)}&:hover{background-color:var(--color-field-surface-hover,color-mix(#2f4f4f 15%,transparent))}}}}@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,#f5f5f5);border-bottom:1px solid var(--color-line,color-mix(#2f4f4f 10%,transparent))}:where(th,.grid-header>*){font-weight:700}:where(tr,.grid-row>*){border-bottom:1px solid var(--color-line,color-mix(#2f4f4f 10%,transparent))}: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,#f5f5f5)}: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,#fff);border:1px solid var(--color-line,color-mix(#2f4f4f 10%,transparent));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,#2f4f4f) 20%,transparent);border-radius:0;position:relative;&:after{background-color:var(--color-field-inverse,#2f4f4f);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,color-mix(#2f4f4f 10%,transparent));color:var(--color-field-inverse,#2f4f4f);:where(.toast-dismiss-button){border-inline-start:1px solid color-mix(in oklch,var(--color-field-inverse,#2f4f4f) 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,#2f4f4f);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,#fff);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,.5s)}& [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,.link,.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,#2f4f4f);&: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:550;word-wrap:break-word}.h1,.h2,.h3,:where(h1,h2,h3):not(.unstyle){letter-spacing:-.025em}.h1,:where(h1):not(.unstyle){font-size:3rem;line-height:1.25}.h2,:where(h2):not(.unstyle){font-size:2.25rem}.h3,:where(h3):not(.unstyle){font-size:1.75rem;line-height:1.4}.h4,:where(h4):not(.unstyle){font-size:1rem}.h5,:where(h5):not(.unstyle){color:var(--color-content-neutral,gray);font-size:1rem;line-height:1rem;& a:hover{color:var(--color-content-stark,#2f4f4f)}}.h6,:where(h6):not(.unstyle){color:var(--color-brand-content,#daa520);font-size:.8125rem;line-height:1.4}.paragraph,:where(p):not(.unstyle){line-height:1.6}:where(a:not([role=button]),.link):not(.unstyle){cursor:pointer;text-align:unset;text-decoration:none;transition:var(--transition,all .05s ease-in-out);&:hover{color:var(--color-content-neutral,gray)}}:where(abbr,address,blockquote,code,del,figcaption,h1,h2,h3,h4,h5,h6,ins,legend,p,small,cite,q,.h1,.h2,.h3,.h4,.h5,.h6,.paragraph,.small,.caption,.label):not(.unstyle)>a{text-decoration:underline;text-underline-offset:2px}:where(aside):not(.unstyle){border:1px solid var(--color-line,color-mix(#2f4f4f 10%,transparent));border-radius:var(--radius,.5rem);padding:calc(var(--spacing, .25rem)*4)}:where(.badge){align-items:center;background-color:var(--color-surface-2,#dcdcdc);border-radius:100px;color:var(--color-field-inverse,#2f4f4f);display:inline-flex;font-size:.75rem;font-weight:500;gap:.25rem;height:fit-content;justify-content:center;line-height:1;padding:.35ch .65ch;width:fit-content;&:has(svg:only-child){padding:.35ch}}:where(blockquote):not(.unstyle){border-inline-end:none;border-inline-start:.25rem solid color-mix(in oklch,var(--color-content-stark,#2f4f4f) 25%,transparent);color:var(--color-content-stark,#2f4f4f);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;line-height:1.4;padding:0 .7ch;width:fit-content;word-wrap:break-word;background-color:color-mix(in oklch,var(--color-content-neutral,gray) 10%,transparent);border:1px solid color-mix(in oklch,var(--color-content-subtle,#a9a9a9) 10%,transparent);border-radius:var(--radius,.5rem);color:var(--color-content-neutral,gray);&[role=button]{cursor:pointer}}.caption,:where(figcaption):not(.unstyle){color:var(--color-content-neutral,gray);font-size:.8125rem;& a:hover{color:var(--color-content-stark,#2f4f4f)}}: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,gray);font-size:.875rem;& a:hover{color:var(--color-content-stark,#2f4f4f)}}: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,gray) 10%,transparent);border-radius:calc(var(--radius, .5rem)/1.5);color:var(--color-content-neutral,gray);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}:where(ol):not(.unstyle){list-style-type:decimal}:where(ul):not(.unstyle){list-style-type:disc}:where(ol):not(.unstyle),:where(ul):not(.unstyle){padding-inline-start:1.75ch;&:has(input[type=checkbox]){padding-inline-start:0}& 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}}}}:where(nav,menu):not(.unstyle) ol,:where(nav,menu):not(.unstyle) ul{list-style:none;padding:0;& li,li:not(:last-of-type){margin:0;padding:0}}[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(pre):not(.unstyle){background-color:var(--color-page,#fff);border:1px solid var(--color-line,color-mix(#2f4f4f 10%,transparent));border-radius:var(--radius,.5rem);display:flex;flex-flow:row wrap;font-size:.8125rem;line-height:1.7;overflow:hidden;overflow-x:auto;tab-size:4;white-space:pre;white-space-collapse:preserve;& code{background-color:transparent;border:0;box-shadow:none;display:inline-block;flex-grow:1;font-size:inherit;height:auto;line-height:inherit;padding:calc(var(--spacing, .25rem)*4)}&:not(:has(code)){padding:calc(var(--spacing, .25rem)*4)}}: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,74rem)}:where(.ghost){background-color:transparent;&:hover{background-color:var(--color-field-surface,color-mix(#2f4f4f 10%,transparent))}}: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,color-mix(#2f4f4f 10%,transparent)) 90%,var(--color-field-inverse,#2f4f4f));border-style:solid;border-width:1px}.dark :where(.outlined){border-color:color-mix(in oklch,var(--color-field-surface,color-mix(#2f4f4f 10%,transparent)) 80%,var(--color-field-inverse,#2f4f4f))}:where(.transparent){background-color:transparent!important;color:var(--color-content-neutral,gray);&:hover{color:var(--color-content-stark,#2f4f4f)}}: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:not([popover]),&>header nav:not([popover]),&>main>section:not(.banner,.overlay-dark,.overlay-light){margin-inline-end:auto;margin-inline-start:auto;max-width:100%;width:var(--spacing-content-width,74rem)}&>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}}.no-spinner{-moz-appearance:textfield!important;appearance:textfield!important;&::-webkit-inner-spin-button,&::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;display:none;margin:0}}: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,.prose details){max-width:100%;width:42rem;& aside:not([popover]){background-color:color-mix(in oklch,var(--color-field-surface,color-mix(#2f4f4f 10%,transparent)) 20%,transparent);border:1px solid color-mix(in oklch,var(--color-field-surface,color-mix(#2f4f4f 10%,transparent)) 30%,transparent);border-radius:calc(var(--radius, .5rem)*2);color:var(--color-content-stark,#2f4f4f);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}}&>details,&>hr+details{margin-top:0}&>:not(details,hr)+details,&>details:first-child{margin-top:3rem}&>details:last-child,&>details:not(:last-child):not(:has(+details,+hr)){margin-bottom:3rem}&>details+:not(details,hr){margin-top:0}&>figcaption{margin-top:1rem}&>figure{margin-top:1.4rem;& img{margin:0}}&>h1{font-size:2.25rem}&>h1+p{color:var(--color-content-neutral,gray);font-size:1.125rem;margin-top:.625rem}&>h2{font-size:1.75rem;margin-bottom:.6667rem;margin-top:1rem}&>h3{font-size:1.25rem;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}&>details+hr:has(+details){margin-bottom:1rem;margin-top:1rem}&>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,gray);display:inline-block;margin-inline-start:auto}:where(.brand){--color-field-surface:var(--color-brand-surface,#daa520);--color-field-surface-hover:var(--color-brand-surface-hover,#b8860b);--color-field-inverse:var(--color-brand-inverse,#fff);--color-content-stark:var(--color-brand-content,#daa520);--color-content-neutral:color-mix(in oklch,var(--color-brand-content,#daa520) 85%,transparent);--color-content-subtle:color-mix(in oklch,var(--color-brand-content,#daa520) 70%,transparent)}:where(.accent){--color-field-surface:var(--color-accent-surface,#2f4f4f);--color-field-surface-hover:var(--color-accent-surface-hover,color-mix(#2f4f4f 90%,#fff));--color-field-inverse:var(--color-accent-inverse,#fff);--color-content-stark:var(--color-accent-content,#2f4f4f);--color-content-neutral:color-mix(in oklch,var(--color-accent-content,#2f4f4f) 85%,transparent);--color-content-subtle:color-mix(in oklch,var(--color-accent-content,#2f4f4f) 70%,transparent)}:where(.negative){--color-field-surface:var(--color-negative-surface,salmon);--color-field-surface-hover:var(--color-negative-surface-hover,#f08080);--color-field-inverse:var(--color-negative-inverse,maroon);--color-content-stark:var(--color-negative-content,crimson);--color-content-neutral:color-mix(in oklch,var(--color-negative-content,crimson) 85%,transparent);--color-content-subtle:color-mix(in oklch,var(--color-negative-content,crimson) 70%,transparent)}:where(.positive){--color-field-surface:var(--color-positive-surface,#98fb98);--color-field-surface-hover:var(--color-positive-surface-hover,#90ee90);--color-field-inverse:var(--color-positive-inverse,#006400);--color-content-stark:var(--color-positive-content,#32cd32);--color-content-neutral:color-mix(in oklch,var(--color-positive-content,#32cd32) 85%,transparent);--color-content-subtle:color-mix(in oklch,var(--color-positive-content,#32cd32) 70%,transparent)}:where(.stark){color:var(--color-content-stark,#2f4f4f)}:where(.neutral){color:var(--color-content-neutral,gray)}:where(.subtle){color:var(--color-content-subtle,#a9a9a9)}}
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,color-mix(#2f4f4f 12%,transparent));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}@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}}::view-transition-group(*){animation-duration:var(--view-transition-duration,.2s);animation-timing-function:var(--view-transition-easing,cubic-bezier(.4,0,.2,1))}[data-no-view-transition],canvas,iframe,video{view-transition-name:none}}@view-transition{navigation:auto}@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)}&>:last-child{margin-bottom:calc(var(--spacing, .25rem)*8)}:where(summary){align-items:center;color:var(--color-content-stark,#2f4f4f);cursor:pointer;display:flex;font-weight:700;justify-content:space-between;padding:var(--spacing-field-padding,.625rem) 0;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,#f5f5f5) 40%,var(--color-content-stark,#2f4f4f))}&:active{color:color-mix(in oklch,var(--color-surface-1,#f5f5f5) 50%,var(--color-content-stark,#2f4f4f))}&:before{background-color:color-mix(in oklch,var(--color-field-surface,color-mix(#2f4f4f 10%,transparent)) 50%,var(--color-field-inverse,#2f4f4f));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,color-mix(#2f4f4f 10%,transparent));background-position:50%;background-size:cover;border-radius:var(--radius,.5rem);color:var(--color-field-inverse,#2f4f4f);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,#a9a9a9)}: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,color-mix(#2f4f4f 10%,transparent));border:1px solid var(--color-page,#fff);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,color-mix(#2f4f4f 15%,transparent));& 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,color-mix(#2f4f4f 15%,transparent));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,#fff);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(code,.unstyle){align-items:center;appearance:button;background-color:var(--color-field-surface,color-mix(#2f4f4f 10%,transparent));border:0 solid transparent;border-radius:var(--radius,.5rem);color:var(--color-field-inverse,#2f4f4f);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,color-mix(#2f4f4f 10%,transparent));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,color-mix(#2f4f4f 15%,transparent))}&:focus-visible{background-color:var(--color-field-surface,color-mix(#2f4f4f 10%,transparent))}}: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,color-mix(#2f4f4f 15%,transparent));border-color:var(--color-field-surface-hover,color-mix(#2f4f4f 15%,transparent))}}&:after{background-color:var(--color-field-inverse,#2f4f4f);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)}}}:root{--color-picker-swatch:var(--color-line,color-mix(#2f4f4f 10%,transparent));--icon-color-solid:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='lucide lucide-paint-roller-icon lucide-paint-roller' viewBox='0 0 24 24'%3E%3Crect width='16' height='6' x='2' y='2' rx='2'/%3E%3Cpath d='M10 16v-2a2 2 0 0 1 2-2h8a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2'/%3E%3Crect width='4' height='6' x='8' y='16' rx='1'/%3E%3C/svg%3E");--icon-color-gradient:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='lucide lucide-blend-icon lucide-blend' viewBox='0 0 24 24'%3E%3Ccircle cx='9' cy='9' r='7'/%3E%3Ccircle cx='15' cy='15' r='7'/%3E%3C/svg%3E");--icon-color-library:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='lucide lucide-swatch-book-icon lucide-swatch-book' viewBox='0 0 24 24'%3E%3Cpath d='M11 17a4 4 0 0 1-8 0V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2Z'/%3E%3Cpath d='M16.7 13H19a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H7M7 17h.01'/%3E%3Cpath d='m11 8 2.3-2.3a2.4 2.4 0 0 1 3.404.004L18.6 7.6a2.4 2.4 0 0 1 .026 3.434L9.9 19.8'/%3E%3C/svg%3E");--icon-color-grab:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='lucide lucide-pipette-icon lucide-pipette' viewBox='0 0 24 24'%3E%3Cpath d='m12 9-8.414 8.414A2 2 0 0 0 3 18.828v1.344a2 2 0 0 1-.586 1.414A2 2 0 0 1 3.828 21h1.344a2 2 0 0 0 1.414-.586L15 12'/%3E%3Cpath d='m18 9 .4.4a1 1 0 1 1-3 3l-3.8-3.8a1 1 0 1 1 3-3l.4.4 3.4-3.4a1 1 0 1 1 3 3zM2 22l.414-.414'/%3E%3C/svg%3E");--icon-alpha-pattern:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2 2'%3E%3Cpath fill='gray' d='M0 0h1v1H0zM1 1h1v1H1z' opacity='.15'/%3E%3C/svg%3E")}@layer components{:where(input[type=color]){appearance:none;-webkit-appearance:none;&::-webkit-color-swatch-wrapper{padding:0}&::-webkit-color-swatch{border:0}&::-moz-color-swatch{border:0}}}@layer utilities{:where([x-colorpicker\.swatch],input[type=color]):not(.unstyle){background:var(--color-picker-swatch,#000);border-color:oklch(from var(--color-picker-swatch,#000) calc(l + (.5 - l) * .35) c calc(h + 0));border-radius:var(--radius,.5rem);border-style:solid;border-width:1px;cursor:pointer;height:var(--spacing-field-height,2.25rem);max-width:var(--spacing-field-height,2.25rem);min-width:var(--spacing-field-height,2.25rem);overflow:hidden;padding:0;position:relative;transition:var(--transition,all .05s ease-in-out);width:var(--spacing-field-height,2.25rem);&:active,&:focus,&:focus-visible,&:hover{border-color:oklch(from var(--color-picker-swatch,#000) calc(l + (.5 - l) * .35) c calc(h + 0)/.5)}&:before{background-image:var(--icon-alpha-pattern);background-position:0 0;background-size:50%;content:"";height:100%;left:0;position:absolute;top:0;width:100%;z-index:-1}}:where([x-colorpicker]):not(.unstyle){height:fit-content;max-height:30rem;max-width:18rem;min-width:18rem;overflow:hidden;& :where(.tabs-wrapper){border-bottom:1px solid var(--color-line,color-mix(#2f4f4f 10%,transparent));display:flex;padding:2px;width:100%;& button{flex:1;justify-content:center}}& [x-colorpicker\.solid]{& :where(.canvas-wrapper){aspect-ratio:1;cursor:crosshair;overflow:hidden;padding:2px;position:relative;touch-action:none;width:100%}& canvas{display:block;height:100%;width:100%}& :where(.color-reticle){border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.3),inset 0 0 0 1px rgba(0,0,0,.2);height:.75rem;pointer-events:none;position:absolute;transform:translate(-50%,-50%);width:.75rem;z-index:1}& :where(.solid-options-inputs){display:flex;flex-direction:column;gap:.75rem;padding:.75rem;& div:has(button[x-colorpicker\.set-color-space],input[x-colorpicker\.set-color-value],input[x-colorpicker\.set-alpha-value]){display:flex;width:100%}}& input[x-colorpicker\.set-alpha],& input[x-colorpicker\.set-hue]{appearance:none;-webkit-appearance:none;background:transparent;border:none;border-radius:1rem;cursor:pointer;height:.75rem;outline:none;padding:0;width:100%;&::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.15),0 1px 3px rgba(0,0,0,.25);cursor:grab;height:1rem;width:1rem;&:active{cursor:grabbing}}&::-moz-range-thumb{background:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.15),0 1px 3px rgba(0,0,0,.25);cursor:grab;height:1rem;width:1rem;&:active{cursor:grabbing}}&::-webkit-slider-runnable-track{border-radius:1rem;height:.75rem}&::-moz-range-track{border-radius:1rem;height:.75rem}}& input[x-colorpicker\.set-hue]{&::-webkit-slider-runnable-track{background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}&::-moz-range-track{background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}}& input[x-colorpicker\.set-alpha]{--color-picker-alpha:#000;position:relative;&::-webkit-slider-runnable-track{background:linear-gradient(to right,transparent,var(--color-picker-alpha)),var(--icon-alpha-pattern) 0 0 /.5rem .5rem}&::-moz-range-track{background:linear-gradient(to right,transparent,var(--color-picker-alpha)),var(--icon-alpha-pattern) 0 0 /.5rem .5rem}}& button[x-colorpicker\.set-color-space]{justify-content:center;padding-inline-end:0;padding-inline-start:0;width:7ch}& input[x-colorpicker\.set-color-value]{flex:1;padding-inline-end:0}& input[x-colorpicker\.set-alpha-value]{padding-inline-start:0;text-align:end;width:fit-content}}& [x-colorpicker\.gradient]{& :where(.layer-options-wrapper){border-bottom:1px solid var(--color-line,color-mix(#2f4f4f 10%,transparent));& :where(.layer-options-inputs){align-items:center;display:flex;flex-flow:row nowrap;padding:.5rem;& button{justify-content:center;width:auto}& :where(.layer-angle-wrapper){position:relative;& input[x-colorpicker\.set-angle]{cursor:ew-resize;padding-inline-end:.75rem;padding-inline-start:0;text-align:end;width:5.5ch;&:focus{cursor:text}}& span{color:var(--color-content-neutral,gray);position:absolute;right:.25rem;top:0}}& [x-colorpicker\.layer-stops-bar]{background:var(--color-field-surface,color-mix(#2f4f4f 10%,transparent));border-radius:1rem;cursor:pointer;height:.75rem;margin-inline-end:.5rem;margin-inline-start:1rem;position:relative;width:100%;& :where(.stop-handle){border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.15),0 1px 3px rgba(0,0,0,.25);cursor:grab;height:1rem;position:absolute;top:50%;touch-action:none;transform:translate(-50%,-50%);width:1rem;z-index:1;&:hover{box-shadow:0 0 0 1px rgba(0,0,0,.25),0 1px 5px rgba(0,0,0,.25)}&:active{cursor:grabbing}&.active{box-shadow:inset 0 0 0 3px hsla(0,0%,100%,.85),0 1px 5px #000}}}}& [x-colorpicker\.solid]{padding:0;& :where(.canvas-wrapper){margin:auto;padding:0 0 2px;width:calc(100% - 2rem)}& :where(.solid-options-inputs){padding-left:1rem;padding-right:1rem}}}& :where(.gradient-value-wrapper){padding:.5rem;& [x-colorpicker\.set-gradient-value]{field-sizing:content;resize:none}}}& [data-gradient-type=radial] .layer-angle-wrapper{visibility:hidden}& [x-colorpicker\.library]{max-height:30rem;overflow-y:auto;& :where(.library-wrapper){display:flex;flex-flow:column;gap:1rem;padding:1rem 1rem 4rem;width:100%;& :where(.library-group){display:flex;flex-direction:column;gap:.5rem;padding-bottom:1rem;width:100%;&:not(:last-child){border-bottom:1px solid var(--color-line,color-mix(#2f4f4f 10%,transparent))}& :where(.library-palette){display:grid;gap:1px;grid-template-columns:repeat(11,1fr);& button[x-colorpicker\.apply-color]{aspect-ratio:1/1;border:1px solid hsla(0,0%,100%,.15);border-radius:calc(var(--radius, .5rem)/2);height:auto;max-height:1.375rem;max-width:1.375rem;min-height:0;min-width:0;width:100%;&:hover{border:1px solid hsla(0,0%,100%,.35)}&.active{border:1px solid #fff;box-shadow:inset 0 0 0 3px hsla(0,0%,100%,.85),0 0 1px #000,inset 0 0 0 4px rgba(0,0,0,.25)}}}}}}}:where(menu[popover][x-colorpicker]:not(.unstyle)){padding:0;& .tabs-wrapper button{border:1px solid var(--color-popover-surface,#fff)}}:where(menu[popover]:not(.unstyle) [x-colorpicker\.library],.dropdown-menu:not(.unstyle) [x-colorpicker\.library]){& :where(.library-wrapper){padding:.5rem .5rem 4rem!important}& :where(small){padding-inline-start:0}}:where(.color-icon-solid,.color-icon-gradient,.color-icon-library,.color-icon-grab,.gradient-layer-icon-linear,.gradient-layer-icon-radial,.gradient-layer-icon-conic){aspect-ratio:1/1;background-color:currentColor;height:calc(var(--spacing-field-height, 2.25rem)/2);max-height:1rem}:where(dialog[x-colorpicker]){border-radius:calc(var(--radius, .5rem))}:where(.color-icon-solid){mask-image:var(--icon-color-solid)}:where(.color-icon-gradient){mask-image:var(--icon-color-gradient)}:where(.color-icon-library){mask-image:var(--icon-color-library)}:where(.color-icon-grab){mask-image:var(--icon-color-grab)}.gradient-layer-icon-linear{background:linear-gradient(to right,var(--color-content-neutral,gray),color-mix(in oklch,var(--color-content-neutral,gray) 0%,transparent 100%));border-radius:50%}.gradient-layer-icon-radial{background:radial-gradient(var(--color-content-neutral,gray),color-mix(in oklch,var(--color-content-neutral,gray) 0%,transparent 100%));border-radius:50%}.gradient-layer-icon-conic{background:conic-gradient(var(--color-content-neutral,gray),color-mix(in oklch,var(--color-content-neutral,gray) 0%,transparent 100%));border-radius:50%}}@layer components{:where(dialog[popover],.dialog):not(.unstyle){background-color:var(--color-popover-surface,#fff);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,#2f4f4f);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,gray);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,color-mix(#2f4f4f 10%,transparent));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],.dropdown-menu):not(.unstyle){background:var(--color-popover-surface,#fff);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,#2f4f4f);cursor:pointer;display:inline-flex;font-weight:400;justify-content:start;max-width:100%;min-height:var(--spacing-field-height,2.25rem);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,color-mix(#2f4f4f 10%,transparent));color:var(--color-field-inverse,#2f4f4f)}& [x-icon],& span{color:inherit}& [x-icon]:first-child:not(:only-child){margin-inline-end:.375rem}}& small{color:var(--color-content-neutral,gray);padding:.25rem .5rem}& hr{background-color:var(--color-line,color-mix(#2f4f4f 10%,transparent));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){}}& 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,color-mix(#2f4f4f 15%,transparent))}: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, .25rem)*4);width:100%}:where(fieldset):not(.unstyle){display:flex;flex-direction:column;gap:.375ch calc(var(--spacing, .25rem)*2);width:100%;&:has([type=radio],[type=checkbox]){gap:calc(var(--spacing, .25rem)*2)}}:where(fieldset:has(legend)):not(.unstyle){border-color:var(--color-line,color-mix(#2f4f4f 10%,transparent));border-radius:var(--radius,.5rem);border-style:solid;border-width:1px;padding:1ch 1.5ch 1.5ch;& :where(legend){color:var(--color-content-subtle,#a9a9a9);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, .5rem)/2);width:100%;:where(*){text-indent:0}:where(span:first-of-type){padding-inline-start:calc(var(--radius, .5rem)/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, 2.25rem)*8)}& .label:focus-within{box-shadow:0 0 0 2px color-mix(in oklch,var(--color-content-stark,#2f4f4f) 35%,transparent)}&:has(textarea){align-items:start;:where(data){padding-top:calc(var(--spacing, .25rem))}}}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],[type=color]),textarea,label:has([type=search],[type=file]),.label:has([type=search],[type=file])):not(.unstyle){appearance:none;background-color:var(--color-field-surface,color-mix(#2f4f4f 10%,transparent));border:0 solid transparent;border-radius:var(--radius,.5rem);color:var(--color-field-inverse,#2f4f4f);cursor:text;max-width:100%;transition:var(--transition,all .05s ease-in-out);width:100%;&:active,&:hover{background-color:var(--color-field-surface-hover,color-mix(#2f4f4f 15%,transparent))}&:focus-visible{background-color:var(--color-field-surface,color-mix(#2f4f4f 10%,transparent))}&::placeholder{color:color-mix(in oklch,var(--color-field-inverse,#2f4f4f) 65%,transparent)}&::selection{background-color:color-mix(in oklch,var(--color-field-surface,color-mix(#2f4f4f 10%,transparent)) 80%,var(--color-field-inverse,#2f4f4f))}&[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,.25rem);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,#a9a9a9);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,#2f4f4f);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,color-mix(#2f4f4f 10%,transparent));border-radius:var(--radius,.5rem);cursor:pointer;height:calc(var(--spacing, .25rem)*2);transition:var(--transition,all .05s ease-in-out)}&:hover::-webkit-slider-runnable-track{background-color:var(--color-field-surface-hover,color-mix(#2f4f4f 15%,transparent))}&::-webkit-slider-thumb{appearance:none;background-color:color-mix(in oklch,var(--color-field-surface,color-mix(#2f4f4f 10%,transparent)) 60%,var(--color-field-inverse,#2f4f4f));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,all .05s ease-in-out);width:calc(var(--spacing-field-height, 2.25rem)*.5)}&::-webkit-slider-thumb:hover{background-color:color-mix(in oklch,var(--color-field-surface,color-mix(#2f4f4f 10%,transparent)) 30%,var(--color-field-inverse,#2f4f4f))}}: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,gray);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,color-mix(#2f4f4f 10%,transparent))}}.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(nav[popover]){background-color:var(--color-popover-surface,#fff);height:100%;inset-inline-end:0;inset-inline-start:auto;max-width:80vw;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(nav[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(nav[popover]){background-color:var(--color-surface-1,#f5f5f5)}}@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, .25rem)*4)}& button[\@click="next()"]{left:auto;right:calc(var(--spacing, .25rem)*4)}.carousel-dots{bottom:calc(var(--spacing, .25rem)*4);display:flex;gap:calc(var(--spacing, .25rem)*2);left:50%;max-width:100%;overflow-x:auto;padding:0 calc(var(--spacing, .25rem)*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,color-mix(#2f4f4f 10%,transparent)) 60%,var(--color-field-inverse,#2f4f4f));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,color-mix(#2f4f4f 10%,transparent));&:before{background-color:var(--color-field-inverse,#2f4f4f);left:calc(100% - var(--spacing-field-height, 2.25rem)*.65 + .125rem)}&:hover{background-color:var(--color-field-surface-hover,color-mix(#2f4f4f 15%,transparent))}}}}@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,#f5f5f5);border-bottom:1px solid var(--color-line,color-mix(#2f4f4f 10%,transparent))}:where(th,.grid-header>*){font-weight:700}:where(tr,.grid-row>*){border-bottom:1px solid var(--color-line,color-mix(#2f4f4f 10%,transparent))}: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,#f5f5f5)}: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,#fff);border:1px solid var(--color-line,color-mix(#2f4f4f 10%,transparent));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,#2f4f4f) 20%,transparent);border-radius:0;position:relative;&:after{background-color:var(--color-field-inverse,#2f4f4f);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,color-mix(#2f4f4f 10%,transparent));color:var(--color-field-inverse,#2f4f4f);:where(.toast-dismiss-button){border-inline-start:1px solid color-mix(in oklch,var(--color-field-inverse,#2f4f4f) 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,#2f4f4f);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,#fff);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,.5s)}& [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(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,#2f4f4f);& .link,& a:not(.unstyle){color:inherit;text-decoration:underline;text-underline-offset:2px}&:where(:has([x-icon])){align-items:center;display:inline-flex;& [x-icon]{margin-inline-end:.5ch}}:where(span){vertical-align:inherit}}.h1,.h2,.h3,.h4,.h5,.h6,:where(h1,h2,h3,h4,h5,h6):not(.unstyle){font-weight:550;word-wrap:break-word}.h1,.h2,.h3,:where(h1,h2,h3):not(.unstyle){letter-spacing:-.025em}.h1,:where(h1):not(.unstyle){font-size:3rem;line-height:1.25}.h2,:where(h2):not(.unstyle){font-size:2.25rem}.h3,:where(h3):not(.unstyle){font-size:1.75rem;line-height:1.4}.h4,:where(h4):not(.unstyle){font-size:1rem}.h5,:where(h5):not(.unstyle){color:var(--color-content-neutral,gray);font-size:1rem;line-height:1rem;& a:hover{color:var(--color-content-stark,#2f4f4f)}}.h6,:where(h6):not(.unstyle){color:var(--color-brand-content,#daa520);font-size:.8125rem;line-height:1.4}.paragraph,:where(p):not(.unstyle){line-height:1.6}:where(a:not([role=button]),.link):not(.unstyle){cursor:pointer;text-align:unset;text-decoration:none;transition:var(--transition,all .05s ease-in-out);&:hover{color:var(--color-content-neutral,gray)}}:where(aside):not(.unstyle){border:1px solid var(--color-line,color-mix(#2f4f4f 10%,transparent));border-radius:var(--radius,.5rem);padding:calc(var(--spacing, .25rem)*4)}:where(.badge){align-items:center;background-color:var(--color-surface-2,#dcdcdc);border-radius:100px;color:var(--color-field-inverse,#2f4f4f);display:inline-flex;font-size:.75rem;font-weight:500;gap:.25rem;height:fit-content;justify-content:center;line-height:1;padding:.35ch .65ch;width:fit-content;&:has(svg:only-child){padding:.35ch}}:where(blockquote):not(.unstyle){border-inline-end:none;border-inline-start:.25rem solid color-mix(in oklch,var(--color-content-stark,#2f4f4f) 25%,transparent);color:var(--color-content-stark,#2f4f4f);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;line-height:1.4;padding:0 .7ch;width:fit-content;word-wrap:break-word;background-color:color-mix(in oklch,var(--color-content-neutral,gray) 10%,transparent);border:1px solid color-mix(in oklch,var(--color-content-subtle,#a9a9a9) 10%,transparent);border-radius:var(--radius,.5rem);color:var(--color-content-neutral,gray);&[role=button]{cursor:pointer}}.caption,:where(figcaption):not(.unstyle){color:var(--color-content-neutral,gray);font-size:.8125rem;& a:hover{color:var(--color-content-stark,#2f4f4f)}}: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,gray);font-size:.875rem;& a:hover{color:var(--color-content-stark,#2f4f4f)}}: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,gray) 10%,transparent);border-radius:calc(var(--radius, .5rem)/1.5);color:var(--color-content-neutral,gray);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}:where(ol):not(.unstyle){list-style-type:decimal}:where(ul):not(.unstyle){list-style-type:disc}:where(ol):not(.unstyle),:where(ul):not(.unstyle){padding-inline-start:1.75ch;&:has(input[type=checkbox]){padding-inline-start:0}& 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}}}}:where(nav,menu):not(.unstyle) ol,:where(nav,menu):not(.unstyle) ul{list-style:none;padding:0;& li,li:not(:last-of-type){margin:0;padding:0}}[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(pre):not(.unstyle){background-color:var(--color-page,#fff);border:1px solid var(--color-line,color-mix(#2f4f4f 10%,transparent));border-radius:var(--radius,.5rem);display:flex;flex-flow:row wrap;font-size:.8125rem;line-height:1.7;overflow:hidden;overflow:hidden;tab-size:4;white-space:pre;white-space-collapse:preserve;& code{background-color:transparent;border:0;box-shadow:none;display:inline-block;flex-grow:1;font-size:inherit;height:auto;line-height:inherit;overflow-x:auto;padding:calc(var(--spacing, .25rem)*4);padding-inline-end:calc(var(--spacing, .25rem)*12);scrollbar-width:none;-ms-overflow-style:none;&::-webkit-scrollbar{display:none}}&:not(:has(code)){padding:calc(var(--spacing, .25rem)*4)}}: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,74rem)}:where(.ghost){background-color:transparent;&:hover{background-color:var(--color-field-surface,color-mix(#2f4f4f 10%,transparent))}}: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,color-mix(#2f4f4f 10%,transparent)) 90%,var(--color-field-inverse,#2f4f4f));border-style:solid;border-width:1px}.dark :where(.outlined){border-color:color-mix(in oklch,var(--color-field-surface,color-mix(#2f4f4f 10%,transparent)) 80%,var(--color-field-inverse,#2f4f4f))}:where(.transparent){background-color:transparent!important;color:var(--color-content-neutral,gray);&:hover{color:var(--color-content-stark,#2f4f4f)}}: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:not([popover]),&>header nav:not([popover]),&>main>section:not(.banner,.overlay-dark,.overlay-light){margin-inline-end:auto;margin-inline-start:auto;max-width:100%;width:var(--spacing-content-width,74rem)}&>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}}.no-spinner{-moz-appearance:textfield!important;appearance:textfield!important;&::-webkit-inner-spin-button,&::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;display:none;margin:0}}: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,.prose details){max-width:100%;width:42rem;& aside:not([popover]){background-color:color-mix(in oklch,var(--color-field-surface,color-mix(#2f4f4f 10%,transparent)) 20%,transparent);border:1px solid color-mix(in oklch,var(--color-field-surface,color-mix(#2f4f4f 10%,transparent)) 30%,transparent);border-radius:calc(var(--radius, .5rem)*2);color:var(--color-content-stark,#2f4f4f);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}}&>details,&>hr+details{margin-top:0}&>:not(details,hr)+details,&>details:first-child{margin-top:3rem}&>details:last-child,&>details:not(:last-child):not(:has(+details,+hr)){margin-bottom:3rem}&>details+:not(details,hr){margin-top:0}&>figcaption{margin-top:1rem}&>figure{margin-top:1.4rem;& img{margin:0}}&>h1{font-size:2.25rem}&>h1+p{color:var(--color-content-neutral,gray);font-size:1.125rem;margin-top:.625rem}&>h2{font-size:1.75rem;margin-bottom:.6667rem;margin-top:1rem}&>h3{font-size:1.25rem;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}&>details+hr:has(+details){margin-bottom:1rem;margin-top:1rem}&>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,gray);display:inline-block;margin-inline-start:auto}:where(.brand){--color-field-surface:var(--color-brand-surface,#daa520);--color-field-surface-hover:var(--color-brand-surface-hover,#b8860b);--color-field-inverse:var(--color-brand-inverse,#fff);--color-content-stark:var(--color-brand-content,#daa520);--color-content-neutral:color-mix(in oklch,var(--color-brand-content,#daa520) 85%,transparent);--color-content-subtle:color-mix(in oklch,var(--color-brand-content,#daa520) 70%,transparent)}:where(.accent){--color-field-surface:var(--color-accent-surface,#2f4f4f);--color-field-surface-hover:var(--color-accent-surface-hover,color-mix(#2f4f4f 90%,#fff));--color-field-inverse:var(--color-accent-inverse,#fff);--color-content-stark:var(--color-accent-content,#2f4f4f);--color-content-neutral:color-mix(in oklch,var(--color-accent-content,#2f4f4f) 85%,transparent);--color-content-subtle:color-mix(in oklch,var(--color-accent-content,#2f4f4f) 70%,transparent)}:where(.negative){--color-field-surface:var(--color-negative-surface,salmon);--color-field-surface-hover:var(--color-negative-surface-hover,#f08080);--color-field-inverse:var(--color-negative-inverse,maroon);--color-content-stark:var(--color-negative-content,crimson);--color-content-neutral:color-mix(in oklch,var(--color-negative-content,crimson) 85%,transparent);--color-content-subtle:color-mix(in oklch,var(--color-negative-content,crimson) 70%,transparent)}:where(.positive){--color-field-surface:var(--color-positive-surface,#98fb98);--color-field-surface-hover:var(--color-positive-surface-hover,#90ee90);--color-field-inverse:var(--color-positive-inverse,#006400);--color-content-stark:var(--color-positive-content,#32cd32);--color-content-neutral:color-mix(in oklch,var(--color-positive-content,#32cd32) 85%,transparent);--color-content-subtle:color-mix(in oklch,var(--color-positive-content,#32cd32) 70%,transparent)}:where(.stark){color:var(--color-content-stark,#2f4f4f)}:where(.neutral){color:var(--color-content-neutral,gray)}:where(.subtle){color:var(--color-content-subtle,#a9a9a9)}}
@@ -32,7 +32,7 @@
32
32
  --color-field-surface-hover: color-mix(var(--color-content-stark) 15%, transparent);
33
33
  --color-field-inverse: var(--color-content-stark);
34
34
  --color-popover-surface: var(--color-page);
35
- --color-line: color-mix(var(--color-content-stark) 10%, transparent);
35
+ --color-line: color-mix(var(--color-content-stark) 12%, transparent);
36
36
  --color-brand-surface: goldenrod;
37
37
  --color-brand-surface-hover: darkgoldenrod;
38
38
  --color-brand-inverse: white;
@@ -3,7 +3,7 @@
3
3
  @layer base {
4
4
 
5
5
  /* All text elements */
6
- :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),
6
+ :where(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),
7
7
  .h1,
8
8
  .h2,
9
9
  .h3,
@@ -13,10 +13,17 @@
13
13
  .paragraph,
14
14
  .small,
15
15
  .caption,
16
- .label,
17
- .link {
16
+ .label {
18
17
  color: var(--color-content-stark, darkslategray);
19
18
 
19
+ /* Inline links */
20
+ & a:not(.unstyle),
21
+ & .link {
22
+ text-decoration: underline;
23
+ text-underline-offset: 2px;
24
+ color: inherit
25
+ }
26
+
20
27
  /* Support inline icons */
21
28
  &:where(:has([x-icon])) {
22
29
  display: inline-flex;
@@ -29,7 +36,7 @@
29
36
  }
30
37
 
31
38
  /* Inline span alignment */
32
- & span {
39
+ :where(span) {
33
40
  vertical-align: inherit
34
41
  }
35
42
  }
@@ -111,11 +118,6 @@
111
118
  }
112
119
  }
113
120
 
114
- :where(abbr, address, blockquote, code, del, figcaption, h1, h2, h3, h4, h5, h6, ins, legend, p, small, cite, q, .h1, .h2, .h3, .h4, .h5, .h6, .paragraph, .small, .caption, .label):not(.unstyle)>a {
115
- text-decoration: underline;
116
- text-underline-offset: 2px
117
- }
118
-
119
121
  /* Asides */
120
122
  :where(aside):not(.unstyle) {
121
123
  padding: calc(var(--spacing, 0.25rem) * 4);
@@ -370,18 +372,26 @@
370
372
  tab-size: 4;
371
373
  white-space: pre;
372
374
  white-space-collapse: preserve;
373
- overflow-x: auto;
375
+ overflow: hidden;
374
376
 
375
377
  & code {
376
378
  flex-grow: 1;
377
379
  display: inline-block;
378
380
  height: auto;
379
381
  padding: calc(var(--spacing, 0.25rem) * 4);
382
+ padding-inline-end: calc(var(--spacing, 0.25rem) * 12);
380
383
  font-size: inherit;
381
384
  line-height: inherit;
382
385
  background-color: transparent;
383
386
  border: 0 none;
384
- box-shadow: none
387
+ box-shadow: none;
388
+ overflow-x: auto;
389
+ scrollbar-width: none;
390
+ -ms-overflow-style: none;
391
+
392
+ &::-webkit-scrollbar {
393
+ display: none
394
+ }
385
395
  }
386
396
 
387
397
  &:not(:has(code)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mnfst",
3
- "version": "0.5.83",
3
+ "version": "0.5.85",
4
4
  "private": false,
5
5
  "workspaces": [
6
6
  "templates/starter",
@@ -16,7 +16,7 @@
16
16
  "LICENSE"
17
17
  ],
18
18
  "scripts": {
19
- "clean": "rimraf src/scripts/manifest.js src/scripts/manifest.render.mjs src/styles/manifest.css src/styles/manifest.min.css src/styles/manifest.code.min.css lib",
19
+ "clean": "rimraf src/styles/manifest.css src/styles/manifest.min.css src/styles/manifest.theme.css src/styles/manifest.code.css src/styles/manifest.code.min.css lib",
20
20
  "build": "cd src && node scripts/build.mjs",
21
21
  "build:docs": "echo 'Docs is a static website - no build needed'",
22
22
  "start:src": "node packages/run/serve.mjs src",
@@ -1,109 +0,0 @@
1
- /* Manifest Colors */
2
-
3
- // Initialize plugin when either DOM is ready or Alpine is ready
4
- function initializeColorsPlugin() {
5
-
6
- // Initialize color mode state with Alpine reactivity
7
- const colors = Alpine.reactive({
8
- current: localStorage.getItem('theme') || 'system'
9
- })
10
-
11
- // Apply initial color mode
12
- applyColorMode(colors.current)
13
-
14
- // Setup system color mode listener
15
- const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)')
16
- mediaQuery.addEventListener('change', () => {
17
- if (colors.current === 'system') {
18
- applyColorMode('system')
19
- }
20
- })
21
-
22
- // Register colors directive
23
- Alpine.directive('colors', (el, { expression }, { evaluate, cleanup }) => {
24
-
25
- const handleClick = () => {
26
- const newMode = expression === 'toggle'
27
- ? (document.documentElement.classList.contains('dark') ? 'light' : 'dark')
28
- : evaluate(expression)
29
- setColorMode(newMode)
30
- }
31
-
32
- el.addEventListener('click', handleClick)
33
- cleanup(() => el.removeEventListener('click', handleClick))
34
- })
35
-
36
- // Add $colors magic method
37
- Alpine.magic('colors', () => ({
38
- get current() {
39
- return colors.current
40
- },
41
- set current(value) {
42
- setColorMode(value)
43
- }
44
- }))
45
-
46
- function setColorMode(newMode) {
47
- if (newMode === 'toggle') {
48
- newMode = colors.current === 'light' ? 'dark' : 'light'
49
- }
50
-
51
- // Update color mode state
52
- colors.current = newMode
53
- localStorage.setItem('theme', newMode)
54
-
55
- // Apply color mode
56
- applyColorMode(newMode)
57
- }
58
-
59
- function applyColorMode(mode) {
60
- const isDark = mode === 'system'
61
- ? window.matchMedia('(prefers-color-scheme: dark)').matches
62
- : mode === 'dark'
63
-
64
- // Update document classes
65
- document.documentElement.classList.remove('light', 'dark')
66
- document.documentElement.classList.add(isDark ? 'dark' : 'light')
67
-
68
- // Update meta theme-color
69
- const metaThemeColor = document.querySelector('meta[name="theme-color"]')
70
- if (metaThemeColor) {
71
- metaThemeColor.setAttribute('content', isDark ? '#000000' : '#FFFFFF')
72
- }
73
- }
74
- }
75
-
76
- // Track initialization to prevent duplicates
77
- let colorsPluginInitialized = false;
78
-
79
- function ensureColorsPluginInitialized() {
80
- if (colorsPluginInitialized) return;
81
- if (!window.Alpine || typeof window.Alpine.directive !== 'function') return;
82
-
83
- colorsPluginInitialized = true;
84
- initializeColorsPlugin();
85
- }
86
-
87
- // Expose on window for loader to call if needed
88
- window.ensureColorsPluginInitialized = ensureColorsPluginInitialized;
89
-
90
- // Handle both DOMContentLoaded and alpine:init
91
- if (document.readyState === 'loading') {
92
- document.addEventListener('DOMContentLoaded', ensureColorsPluginInitialized);
93
- }
94
-
95
- document.addEventListener('alpine:init', ensureColorsPluginInitialized);
96
-
97
- // If Alpine is already initialized when this script loads, initialize immediately
98
- if (window.Alpine && typeof window.Alpine.directive === 'function') {
99
- setTimeout(ensureColorsPluginInitialized, 0);
100
- } else {
101
- // If document is already loaded but Alpine isn't ready yet, wait for it
102
- const checkAlpine = setInterval(() => {
103
- if (window.Alpine && typeof window.Alpine.directive === 'function') {
104
- clearInterval(checkAlpine);
105
- ensureColorsPluginInitialized();
106
- }
107
- }, 10);
108
- setTimeout(() => clearInterval(checkAlpine), 5000);
109
- }