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.
- package/lib/manifest.code.css +6 -2
- package/lib/manifest.code.js +38 -16
- package/lib/manifest.code.min.css +1 -1
- package/lib/manifest.css +22 -12
- package/lib/manifest.integrity.json +3 -4
- package/lib/manifest.js +2 -59
- package/lib/manifest.markdown.js +78 -4
- package/lib/manifest.min.css +1 -1
- package/lib/manifest.theme.css +1 -1
- package/lib/manifest.typography.css +21 -11
- package/package.json +2 -2
- package/lib/manifest.colors.js +0 -109
package/lib/manifest.code.css
CHANGED
|
@@ -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 {
|
package/lib/manifest.code.js
CHANGED
|
@@ -199,11 +199,13 @@ function resolveLanguage(hljs, langAttr) {
|
|
|
199
199
|
|
|
200
200
|
// ─── Content prep helpers ────────────────────────────────────────────────────
|
|
201
201
|
|
|
202
|
-
// Drop
|
|
203
|
-
// <pre x-code> on its own 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(
|
|
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>.
|
|
252
|
-
//
|
|
253
|
-
//
|
|
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
|
-
|
|
874
|
-
|
|
875
|
-
|
|
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
|
|
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
|
|
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(
|
|
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
|
-
|
|
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
|
|
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-
|
|
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-
|
|
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
|
|
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;
|
package/lib/manifest.markdown.js
CHANGED
|
@@ -169,10 +169,14 @@ async function configureMarked(marked) {
|
|
|
169
169
|
}
|
|
170
170
|
if (attrs.from) preAttrs += ` from="${escapeForAttribute(attrs.from)}"`;
|
|
171
171
|
|
|
172
|
-
//
|
|
173
|
-
//
|
|
174
|
-
//
|
|
175
|
-
|
|
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
|
|
package/lib/manifest.min.css
CHANGED
|
@@ -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)}}
|
package/lib/manifest.theme.css
CHANGED
|
@@ -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)
|
|
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(
|
|
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
|
-
|
|
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
|
|
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.
|
|
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/
|
|
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",
|
package/lib/manifest.colors.js
DELETED
|
@@ -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
|
-
}
|