@genspectrum/dashboard-components 1.13.0 → 1.14.0
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/custom-elements.json +393 -2
- package/dist/components.d.ts +126 -9
- package/dist/components.js +701 -163
- package/dist/components.js.map +1 -1
- package/dist/util.d.ts +146 -11
- package/package.json +1 -1
- package/src/lapisApi/lapisTypes.ts +1 -1
- package/src/preact/queriesOverTime/__mockData__/defaultMockData/queriesOverTime.json +32 -0
- package/src/preact/queriesOverTime/__mockData__/manyQueries.json +128 -0
- package/src/preact/queriesOverTime/__mockData__/request1800s.json +16 -0
- package/src/preact/queriesOverTime/__mockData__/withGaps.json +52 -0
- package/src/preact/queriesOverTime/getFilteredQueriesOverTimeData.ts +85 -0
- package/src/preact/queriesOverTime/queries-over-time-filter.tsx +25 -0
- package/src/preact/queriesOverTime/queries-over-time-grid-tooltip.stories.tsx +134 -0
- package/src/preact/queriesOverTime/queries-over-time-grid-tooltip.tsx +123 -0
- package/src/preact/queriesOverTime/queries-over-time.stories.tsx +481 -0
- package/src/preact/queriesOverTime/queries-over-time.tsx +304 -0
- package/src/utilEntrypoint.ts +1 -0
- package/src/web-components/visualization/gs-mutations-over-time.spec-d.ts +3 -0
- package/src/web-components/visualization/gs-mutations-over-time.tsx +1 -1
- package/src/web-components/visualization/gs-queries-over-time.spec-d.ts +38 -0
- package/src/web-components/visualization/gs-queries-over-time.stories.ts +288 -0
- package/src/web-components/visualization/gs-queries-over-time.tsx +154 -0
- package/src/web-components/visualization/index.ts +1 -0
- package/standalone-bundle/dashboard-components.js +8509 -8068
- package/standalone-bundle/dashboard-components.js.map +1 -1
package/dist/components.js
CHANGED
|
@@ -434,7 +434,7 @@ const mutationsOverTimeResponse = makeLapisResponse(
|
|
|
434
434
|
})
|
|
435
435
|
);
|
|
436
436
|
const queryDefinition = z$2.object({
|
|
437
|
-
displayLabel: z$2.string()
|
|
437
|
+
displayLabel: z$2.string(),
|
|
438
438
|
countQuery: z$2.string(),
|
|
439
439
|
coverageQuery: z$2.string()
|
|
440
440
|
});
|
|
@@ -447,7 +447,7 @@ z$2.object({
|
|
|
447
447
|
downloadFileBasename: z$2.string().optional(),
|
|
448
448
|
compression: z$2.enum(["gzip", "none"]).optional()
|
|
449
449
|
});
|
|
450
|
-
makeLapisResponse(
|
|
450
|
+
const queriesOverTimeResponse = makeLapisResponse(
|
|
451
451
|
z$2.object({
|
|
452
452
|
queries: z$2.array(z$2.string()),
|
|
453
453
|
dateRanges: z$2.array(dateRange),
|
|
@@ -579,6 +579,21 @@ async function fetchMutationsOverTime(lapisUrl, body, sequenceType, signal) {
|
|
|
579
579
|
);
|
|
580
580
|
return mutationsOverTimeResponse.parse(await response.json());
|
|
581
581
|
}
|
|
582
|
+
async function fetchQueriesOverTime(lapisUrl, body, signal) {
|
|
583
|
+
const response = await callLapis(
|
|
584
|
+
queriesOverTimeEndpoint(lapisUrl),
|
|
585
|
+
{
|
|
586
|
+
method: "POST",
|
|
587
|
+
headers: {
|
|
588
|
+
"Content-Type": "application/json"
|
|
589
|
+
},
|
|
590
|
+
body: JSON.stringify(body),
|
|
591
|
+
signal
|
|
592
|
+
},
|
|
593
|
+
"queries over time"
|
|
594
|
+
);
|
|
595
|
+
return queriesOverTimeResponse.parse(await response.json());
|
|
596
|
+
}
|
|
582
597
|
async function fetchReferenceGenome(lapisUrl, signal) {
|
|
583
598
|
const response = await callLapis(
|
|
584
599
|
referenceGenomeEndpoint(lapisUrl),
|
|
@@ -663,6 +678,7 @@ const substitutionsOrDeletionsEndpoint = (lapisUrl, sequenceType) => {
|
|
|
663
678
|
const mutationsOverTimeEndpoint = (lapisUrl, sequenceType) => {
|
|
664
679
|
return sequenceType === "amino acid" ? `${lapisUrl}/component/aminoAcidMutationsOverTime` : `${lapisUrl}/component/nucleotideMutationsOverTime`;
|
|
665
680
|
};
|
|
681
|
+
const queriesOverTimeEndpoint = (lapisUrl) => `${lapisUrl}/component/queriesOverTime`;
|
|
666
682
|
const referenceGenomeEndpoint = (lapisUrl) => `${lapisUrl}/sample/referenceGenome`;
|
|
667
683
|
const lineageDefinitionEndpoint = (lapisUrl, lapisField) => `${lapisUrl}/sample/lineageDefinition/${lapisField}`;
|
|
668
684
|
const UNINITIALIZED_SEQUENCE = "__uninitialized__";
|
|
@@ -674,14 +690,14 @@ const ReferenceGenomeContext = createContext$1(INITIAL_REFERENCE_GENOMES);
|
|
|
674
690
|
function isNotInitialized(referenceGenome) {
|
|
675
691
|
return referenceGenome.genes.length === 0 && referenceGenome.nucleotideSequences.length === 1 && referenceGenome.nucleotideSequences[0].name === UNINITIALIZED_SEQUENCE;
|
|
676
692
|
}
|
|
677
|
-
var __defProp$
|
|
678
|
-
var __getOwnPropDesc$
|
|
679
|
-
var __decorateClass$
|
|
680
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
693
|
+
var __defProp$j = Object.defineProperty;
|
|
694
|
+
var __getOwnPropDesc$i = Object.getOwnPropertyDescriptor;
|
|
695
|
+
var __decorateClass$j = (decorators, target, key, kind) => {
|
|
696
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$i(target, key) : target;
|
|
681
697
|
for (var i2 = decorators.length - 1, decorator; i2 >= 0; i2--)
|
|
682
698
|
if (decorator = decorators[i2])
|
|
683
699
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
684
|
-
if (kind && result) __defProp$
|
|
700
|
+
if (kind && result) __defProp$j(target, key, result);
|
|
685
701
|
return result;
|
|
686
702
|
};
|
|
687
703
|
const lapisUrlSchema = z$2.string().url();
|
|
@@ -721,22 +737,22 @@ let AppComponent = class extends LitElement {
|
|
|
721
737
|
return this;
|
|
722
738
|
}
|
|
723
739
|
};
|
|
724
|
-
__decorateClass$
|
|
740
|
+
__decorateClass$j([
|
|
725
741
|
provide({ context: lapisContext }),
|
|
726
742
|
n$1()
|
|
727
743
|
], AppComponent.prototype, "lapis", 2);
|
|
728
|
-
__decorateClass$
|
|
744
|
+
__decorateClass$j([
|
|
729
745
|
provide({ context: mutationAnnotationsContext }),
|
|
730
746
|
n$1({ type: Array })
|
|
731
747
|
], AppComponent.prototype, "mutationAnnotations", 2);
|
|
732
|
-
__decorateClass$
|
|
748
|
+
__decorateClass$j([
|
|
733
749
|
provide({ context: mutationLinkTemplateContext }),
|
|
734
750
|
n$1({ type: Object })
|
|
735
751
|
], AppComponent.prototype, "mutationLinkTemplate", 2);
|
|
736
|
-
__decorateClass$
|
|
752
|
+
__decorateClass$j([
|
|
737
753
|
provide({ context: referenceGenomeContext })
|
|
738
754
|
], AppComponent.prototype, "referenceGenome", 2);
|
|
739
|
-
AppComponent = __decorateClass$
|
|
755
|
+
AppComponent = __decorateClass$j([
|
|
740
756
|
t$3("gs-app")
|
|
741
757
|
], AppComponent);
|
|
742
758
|
function GsAppError(error) {
|
|
@@ -2052,15 +2068,15 @@ function replaceCssProperties(styleSheet2) {
|
|
|
2052
2068
|
}
|
|
2053
2069
|
}
|
|
2054
2070
|
const tailwindStyle = `/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */
|
|
2055
|
-
@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-200:oklch(88.5% .062 18.334);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-neutral-500:oklch(55.6% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--breakpoint-lg:64rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-bold:700;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:where(:host),:host:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root{--fx-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E")}:root,[data-theme]{background-color:var(--root-bg,var(--color-base-100));color:var(--color-base-content)}:root:has(.modal-open,.modal[open],.modal:target,.modal-toggle:checked,.drawer:not([class*=drawer-open])>.drawer-toggle:checked){overflow:hidden}@property --radialprogress{syntax: "<percentage>"; inherits: true; initial-value: 0%;}:where(:root:has(.modal-open,.modal[open],.modal:target,.modal-toggle:checked,.drawer:not(.drawer-open)>.drawer-toggle:checked)){scrollbar-gutter:stable;background-image:linear-gradient(var(--color-base-100),var(--color-base-100));--root-bg:var(--color-base-100)}@supports (color:color-mix(in lab, red, red)){:where(:root:has(.modal-open,.modal[open],.modal:target,.modal-toggle:checked,.drawer:not(.drawer-open)>.drawer-toggle:checked)){--root-bg:color-mix(in srgb,var(--color-base-100),oklch(0% 0 0) 40%)}}:where(.modal[open],.modal-open,.modal-toggle:checked+.modal):not(.modal-start,.modal-end){scrollbar-gutter:stable}:root{scrollbar-color:currentColor #0000}@supports (color:color-mix(in lab, red, red)){:root{scrollbar-color:color-mix(in oklch,currentColor 35%,#0000)#0000}}}@layer components;@layer utilities{.diff{webkit-user-select:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;direction:ltr;grid-template-columns:auto 1fr;width:100%;display:grid;position:relative;overflow:hidden;container-type:inline-size}.diff:focus-visible,.diff:has(.diff-item-1:focus-visible),.diff:focus-visible{outline-style:var(--tw-outline-style);outline-offset:1px;outline-width:2px;outline-color:var(--color-base-content)}.diff:focus-visible .diff-resizer{min-width:90cqi;max-width:90cqi}.diff:has(.diff-item-2:focus-visible){outline-style:var(--tw-outline-style);outline-offset:1px;outline-width:2px}.diff:has(.diff-item-2:focus-visible) .diff-resizer{min-width:10cqi;max-width:10cqi}@supports (-webkit-overflow-scrolling:touch) and (overflow:-webkit-paged-x){.diff:focus .diff-resizer{min-width:10cqi;max-width:10cqi}.diff:has(.diff-item-1:focus) .diff-resizer{min-width:90cqi;max-width:90cqi}}.\\@container{container-type:inline-size}.modal{pointer-events:none;visibility:hidden;width:100%;max-width:none;height:100%;max-height:none;color:inherit;transition:translate .3s ease-out,visibility .3s allow-discrete,background-color .3s ease-out,opacity .1s ease-out;overscroll-behavior:contain;z-index:999;background-color:#0000;place-items:center;margin:0;padding:0;display:grid;position:fixed;inset:0;overflow:hidden}.modal::backdrop{display:none}.modal.modal-open,.modal[open],.modal:target{pointer-events:auto;visibility:visible;opacity:1;background-color:oklch(0% 0 0/.4)}:is(.modal.modal-open,.modal[open],.modal:target) .modal-box{opacity:1;translate:0;scale:1}@starting-style{.modal.modal-open,.modal[open],.modal:target{visibility:hidden;opacity:0}}.tooltip{--tt-bg:var(--color-neutral);--tt-off:calc(100% + .5rem);--tt-tail:calc(100% + 1px + .25rem);display:inline-block;position:relative}.tooltip>:where(.tooltip-content),.tooltip:where([data-tip]):before{border-radius:var(--radius-field);text-align:center;white-space:normal;max-width:20rem;color:var(--color-neutral-content);opacity:0;background-color:var(--tt-bg);pointer-events:none;z-index:2;--tw-content:attr(data-tip);content:var(--tw-content);width:-moz-max-content;width:max-content;padding-block:.25rem;padding-inline:.5rem;font-size:.875rem;line-height:1.25;transition:opacity .2s cubic-bezier(.4,0,.2,1) 75ms,transform .2s cubic-bezier(.4,0,.2,1) 75ms;position:absolute}.tooltip:after{opacity:0;background-color:var(--tt-bg);content:"";pointer-events:none;--mask-tooltip:url("data:image/svg+xml,%3Csvg width='10' height='4' viewBox='0 0 8 4' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.500009 1C3.5 1 3.00001 4 5.00001 4C7 4 6.5 1 9.5 1C10 1 10 0.499897 10 0H0C-1.99338e-08 0.5 0 1 0.500009 1Z' fill='black'/%3E%3C/svg%3E%0A");width:.625rem;height:.25rem;-webkit-mask-position:-1px 0;mask-position:-1px 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:var(--mask-tooltip);-webkit-mask-image:var(--mask-tooltip);mask-image:var(--mask-tooltip);transition:opacity .2s cubic-bezier(.4,0,.2,1) 75ms,transform .2s cubic-bezier(.4,0,.2,1) 75ms;display:block;position:absolute}:is(.tooltip.tooltip-open,.tooltip[data-tip]:not([data-tip=""]):hover,.tooltip:not(:has(.tooltip-content:empty)):has(.tooltip-content):hover,.tooltip:has(:focus-visible))>.tooltip-content,:is(.tooltip.tooltip-open,.tooltip[data-tip]:not([data-tip=""]):hover,.tooltip:not(:has(.tooltip-content:empty)):has(.tooltip-content):hover,.tooltip:has(:focus-visible))[data-tip]:before,:is(.tooltip.tooltip-open,.tooltip[data-tip]:not([data-tip=""]):hover,.tooltip:not(:has(.tooltip-content:empty)):has(.tooltip-content):hover,.tooltip:has(:focus-visible)):after{opacity:1;--tt-pos:0rem;transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}.tooltip>.tooltip-content,.tooltip[data-tip]:before{transform:translateX(-50%)translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-off)50%}.tooltip:after{transform:translateX(-50%)translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-tail)50%}.tab{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:center;webkit-user-select:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-wrap:wrap;justify-content:center;align-items:center;display:inline-flex;position:relative}@media (hover:hover){.tab:hover{color:var(--color-base-content)}}.tab{--tab-p:1rem;--tab-bg:var(--color-base-100);--tab-border-color:var(--color-base-300);--tab-radius-ss:0;--tab-radius-se:0;--tab-radius-es:0;--tab-radius-ee:0;--tab-order:0;--tab-radius-min:calc(.75rem - var(--border));order:var(--tab-order);height:var(--tab-height);border-color:#0000;padding-inline-start:var(--tab-p);padding-inline-end:var(--tab-p);font-size:.875rem}.tab:is(input[type=radio]){min-width:-moz-fit-content;min-width:fit-content}.tab:is(input[type=radio]):after{content:attr(aria-label)}.tab:is(label){position:relative}.tab:is(label) input{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;opacity:0;position:absolute;inset:0}:is(.tab:checked,.tab:is(label:has(:checked)),.tab:is(.tab-active,[aria-selected=true]))+.tab-content{height:calc(100% - var(--tab-height) + var(--border));display:block}.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true]){color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true]){color:color-mix(in oklab,var(--color-base-content)50%,transparent)}}.tab:not(input):empty{cursor:default;flex-grow:1}.tab:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tab:focus{outline-offset:2px;outline:2px solid #0000}}.tab:focus-visible,.tab:is(label:has(:checked:focus-visible)){outline-offset:-5px;outline:2px solid}.tab[disabled]{pointer-events:none;opacity:.4}.menu{--menu-active-fg:var(--color-neutral-content);--menu-active-bg:var(--color-neutral);flex-flow:column wrap;width:-moz-fit-content;width:fit-content;padding:.5rem;font-size:.875rem;display:flex}.menu :where(li ul){white-space:nowrap;margin-inline-start:1rem;padding-inline-start:.5rem;position:relative}.menu :where(li ul):before{background-color:var(--color-base-content);opacity:.1;width:var(--border);content:"";inset-inline-start:0;position:absolute;top:.75rem;bottom:.75rem}.menu :where(li>.menu-dropdown:not(.menu-dropdown-show)){display:none}.menu :where(li:not(.menu-title)>:not(ul,details,.menu-title,.btn)),.menu :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);text-align:start;text-wrap:balance;-webkit-user-select:none;-moz-user-select:none;user-select:none;grid-auto-columns:minmax(auto,max-content) auto max-content;grid-auto-flow:column;align-content:flex-start;align-items:center;gap:.5rem;padding-block:.375rem;padding-inline:.75rem;transition-property:color,background-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:grid}.menu :where(li>details>summary){--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li>details>summary){outline-offset:2px;outline:2px solid #0000}}.menu :where(li>details>summary)::-webkit-details-marker{display:none}:is(.menu :where(li>details>summary),.menu :where(li>.menu-dropdown-toggle)):after{content:"";transform-origin:50%;pointer-events:none;justify-self:flex-end;width:.375rem;height:.375rem;transition-property:rotate,translate;transition-duration:.2s;display:block;translate:0 -1px;rotate:-135deg;box-shadow:inset 2px 2px}.menu :where(li>details[open]>summary):after,.menu :where(li>.menu-dropdown-toggle.menu-dropdown-show):after{translate:0 1px;rotate:45deg}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{background-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{color:var(--color-base-content);--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{outline-offset:2px;outline:2px solid #0000}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){background-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){outline-offset:2px;outline:2px solid #0000}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){box-shadow:inset 0 1px oklch(0% 0 0/.01),inset 0 -1px oklch(100% 0 0/.01)}.menu :where(li:empty){background-color:var(--color-base-content);opacity:.1;height:1px;margin:.5rem 1rem}.menu :where(li){flex-flow:column wrap;flex-shrink:0;align-items:stretch;display:flex;position:relative}.menu :where(li) .badge{justify-self:flex-end}.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{outline-offset:2px;outline:2px solid #0000}}.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{color:var(--menu-active-fg);background-color:var(--menu-active-bg);background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise)}:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):not(:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):active){box-shadow:0 2px calc(var(--depth)*3px)-2px var(--menu-active-bg)}.menu :where(li).menu-disabled{pointer-events:none;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li).menu-disabled{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.menu .dropdown:focus-within .menu-dropdown-toggle:after{translate:0 1px;rotate:45deg}.menu .dropdown-content{margin-top:.5rem;padding:.5rem}.menu .dropdown-content:before{display:none}.dropdown{position-area:var(--anchor-v,bottom)var(--anchor-h,span-right);display:inline-block;position:relative}.dropdown>:not(summary):focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.dropdown>:not(summary):focus{outline-offset:2px;outline:2px solid #0000}}.dropdown .dropdown-content{position:absolute}.dropdown:not(details,.dropdown-open,.dropdown-hover:hover,:focus-within) .dropdown-content{transform-origin:top;opacity:0;display:none;scale:95%}.dropdown[popover],.dropdown .dropdown-content{z-index:999;transition-behavior:allow-discrete;transition-property:opacity,scale,display;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation:.2s dropdown}@starting-style{.dropdown[popover],.dropdown .dropdown-content{opacity:0;scale:95%}}:is(.dropdown.dropdown-open,.dropdown:not(.dropdown-hover):focus,.dropdown:focus-within)>[tabindex]:first-child{pointer-events:none}:is(.dropdown.dropdown-open,.dropdown:not(.dropdown-hover):focus,.dropdown:focus-within) .dropdown-content{opacity:1}.dropdown.dropdown-hover:hover .dropdown-content{opacity:1;scale:100%}.dropdown:is(details) summary::-webkit-details-marker{display:none}:is(.dropdown.dropdown-open,.dropdown:focus,.dropdown:focus-within) .dropdown-content{scale:100%}.dropdown:where([popover]){background:0 0}.dropdown[popover]{color:inherit;position:fixed}@supports not (position-area:bottom){.dropdown[popover]{margin:auto}.dropdown[popover].dropdown-open:not(:popover-open){transform-origin:top;opacity:0;display:none;scale:95%}.dropdown[popover]::backdrop{background-color:oklab(0% none none/.3)}}.dropdown[popover]:not(.dropdown-open,:popover-open){transform-origin:top;opacity:0;display:none;scale:95%}:where(.btn){width:unset}.btn{cursor:pointer;text-align:center;vertical-align:middle;outline-offset:2px;webkit-user-select:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding-inline:var(--btn-p);color:var(--btn-fg);--tw-prose-links:var(--btn-fg);height:var(--size);font-size:var(--fontsize,.875rem);outline-color:var(--btn-color,var(--color-base-content));background-color:var(--btn-bg);background-size:auto,calc(var(--noise)*100%);background-image:none,var(--btn-noise);border-width:var(--border);border-style:solid;border-color:var(--btn-border);text-shadow:0 .5px oklch(100% 0 0/calc(var(--depth)*.15));touch-action:manipulation;box-shadow:0 .5px 0 .5px oklch(100% 0 0/calc(var(--depth)*6%))inset,var(--btn-shadow);--size:calc(var(--size-field,.25rem)*10);--btn-bg:var(--btn-color,var(--color-base-200));--btn-fg:var(--color-base-content);--btn-p:1rem;--btn-border:var(--btn-bg);border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-wrap:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:.375rem;font-weight:600;transition-property:color,background-color,border-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:inline-flex}@supports (color:color-mix(in lab, red, red)){.btn{--btn-border:color-mix(in oklab,var(--btn-bg),#000 calc(var(--depth)*5%))}}.btn{--btn-shadow:0 3px 2px -2px var(--btn-bg),0 4px 3px -2px var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.btn{--btn-shadow:0 3px 2px -2px color-mix(in oklab,var(--btn-bg)calc(var(--depth)*30%),#0000),0 4px 3px -2px color-mix(in oklab,var(--btn-bg)calc(var(--depth)*30%),#0000)}}.btn{--btn-noise:var(--fx-noise)}.prose .btn{text-decoration-line:none}@media (hover:hover){.btn:hover{--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:hover{--btn-bg:color-mix(in oklab,var(--btn-color,var(--color-base-200)),#000 7%)}}}.btn:focus-visible{isolation:isolate;outline-width:2px;outline-style:solid}.btn:active:not(.btn-active){--btn-bg:var(--btn-color,var(--color-base-200));translate:0 .5px}@supports (color:color-mix(in lab, red, red)){.btn:active:not(.btn-active){--btn-bg:color-mix(in oklab,var(--btn-color,var(--color-base-200)),#000 5%)}}.btn:active:not(.btn-active){--btn-border:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:active:not(.btn-active){--btn-border:color-mix(in oklab,var(--btn-color,var(--color-base-200)),#000 7%)}}.btn:active:not(.btn-active){--btn-shadow:0 0 0 0 oklch(0% 0 0/0),0 0 0 0 oklch(0% 0 0/0)}.btn:is(:disabled,[disabled],.btn-disabled):not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:is(:disabled,[disabled],.btn-disabled):not(.btn-link,.btn-ghost){background-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.btn:is(:disabled,[disabled],.btn-disabled):not(.btn-link,.btn-ghost){box-shadow:none}.btn:is(:disabled,[disabled],.btn-disabled){pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:is(:disabled,[disabled],.btn-disabled){--btn-fg:color-mix(in oklch,var(--color-base-content)20%,#0000)}}@media (hover:hover){.btn:is(:disabled,[disabled],.btn-disabled):hover{pointer-events:none;background-color:var(--color-neutral)}@supports (color:color-mix(in lab, red, red)){.btn:is(:disabled,[disabled],.btn-disabled):hover{background-color:color-mix(in oklab,var(--color-neutral)20%,transparent)}}.btn:is(:disabled,[disabled],.btn-disabled):hover{--btn-border:#0000;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:is(:disabled,[disabled],.btn-disabled):hover{--btn-fg:color-mix(in oklch,var(--color-base-content)20%,#0000)}}}.btn:is(input[type=checkbox],input[type=radio]){-webkit-appearance:none;-moz-appearance:none;appearance:none}.btn:is(input[type=checkbox],input[type=radio]):after{content:attr(aria-label)}.btn:where(input:checked:not(.filter .btn)){--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content);isolation:isolate}.loading{pointer-events:none;aspect-ratio:1;vertical-align:middle;width:calc(var(--size-selector,.25rem)*6);background-color:currentColor;display:inline-block;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:100%;mask-size:100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.invisible{visibility:hidden}.visible{visibility:visible}.list{flex-direction:column;font-size:.875rem;display:flex}.list :where(.list-row){--list-grid-cols:minmax(0,auto)1fr;border-radius:var(--radius-box);word-break:break-word;grid-auto-flow:column;grid-template-columns:var(--list-grid-cols);gap:1rem;padding:1rem;display:grid;position:relative}.list :where(.list-row):has(.list-col-grow:first-child){--list-grid-cols:1fr}.list :where(.list-row):has(.list-col-grow:nth-child(2)){--list-grid-cols:minmax(0,auto)1fr}.list :where(.list-row):has(.list-col-grow:nth-child(3)){--list-grid-cols:minmax(0,auto)minmax(0,auto)1fr}.list :where(.list-row):has(.list-col-grow:nth-child(4)){--list-grid-cols:minmax(0,auto)minmax(0,auto)minmax(0,auto)1fr}.list :where(.list-row):has(.list-col-grow:nth-child(5)){--list-grid-cols:minmax(0,auto)minmax(0,auto)minmax(0,auto)minmax(0,auto)1fr}.list :where(.list-row):has(.list-col-grow:nth-child(6)){--list-grid-cols:minmax(0,auto)minmax(0,auto)minmax(0,auto)minmax(0,auto)minmax(0,auto)1fr}.list :where(.list-row) :not(.list-col-wrap){grid-row-start:1}:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{content:"";border-bottom:var(--border)solid;inset-inline:var(--radius-box);border-color:var(--color-base-content);position:absolute;bottom:0}@supports (color:color-mix(in lab, red, red)){:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{border-color:color-mix(in oklab,var(--color-base-content)5%,transparent)}}.toggle{border:var(--border)solid currentColor;color:var(--input-color);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--toggle-p),var(--radius-selector-max)) + min(var(--border),var(--radius-selector-max)));padding:var(--toggle-p);flex-shrink:0;grid-template-columns:0fr 1fr 1fr;place-content:center;display:inline-grid;position:relative;box-shadow:inset 0 1px}@supports (color:color-mix(in lab, red, red)){.toggle{box-shadow:0 1px color-mix(in oklab,currentColor calc(var(--depth)*10%),#0000)inset}}.toggle{--input-color:var(--color-base-content);transition:color .3s,grid-template-columns .2s}@supports (color:color-mix(in lab, red, red)){.toggle{--input-color:color-mix(in oklab,var(--color-base-content)50%,#0000)}}.toggle{--toggle-p:calc(var(--size)*.125);--size:calc(var(--size-selector,.25rem)*6);width:calc((var(--size)*2) - (var(--border) + var(--toggle-p))*2);height:var(--size)}.toggle>*{z-index:1;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#0000;border:none;grid-column:2/span 1;grid-row-start:1;height:100%;padding:.125rem;transition:opacity .2s,rotate .4s}.toggle>:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.toggle>:focus{outline-offset:2px;outline:2px solid #0000}}.toggle>:nth-child(2){color:var(--color-base-100);rotate:none}.toggle>:nth-child(3){color:var(--color-base-100);opacity:0;rotate:-15deg}.toggle:has(:checked)>:nth-child(2){opacity:0;rotate:15deg}.toggle:has(:checked)>:nth-child(3){opacity:1;rotate:none}.toggle:before{aspect-ratio:1;border-radius:var(--radius-selector);--tw-content:"";content:var(--tw-content);height:100%;box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1))inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1))inset,0 1px currentColor;background-color:currentColor;grid-row-start:1;grid-column-start:2;transition:background-color .1s,translate .2s,inset-inline-start .2s;position:relative;inset-inline-start:0;translate:0}@supports (color:color-mix(in lab, red, red)){.toggle:before{box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1))inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1))inset,0 1px color-mix(in oklab,currentColor calc(var(--depth)*10%),#0000)}}.toggle:before{background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise)}@media (forced-colors:active){.toggle:before{outline-style:var(--tw-outline-style);outline-offset:calc(1px*-1);outline-width:1px}}@media print{.toggle:before{outline-offset:-1rem;outline:.25rem solid}}.toggle:focus-visible,.toggle:has(:focus-visible){outline-offset:2px;outline:2px solid}.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked){background-color:var(--color-base-100);--input-color:var(--color-base-content);grid-template-columns:1fr 1fr 0fr}:is(.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked)):before{background-color:currentColor}@starting-style{:is(.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked)):before{opacity:0}}.toggle:indeterminate{grid-template-columns:.5fr 1fr .5fr}.toggle:disabled{cursor:not-allowed;opacity:.3}.toggle:disabled:before{border:var(--border)solid currentColor;background-color:#0000}.input{cursor:text;border:var(--border)solid #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--color-base-100);vertical-align:middle;white-space:nowrap;width:clamp(3rem,20rem,100%);height:var(--size);touch-action:manipulation;border-color:var(--input-color);box-shadow:0 1px var(--input-color)inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1))inset;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.5rem;padding-inline:.75rem;font-size:.875rem;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.input{box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000)inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1))inset}}.input{--size:calc(var(--size-field,.25rem)*10);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.input{--input-color:color-mix(in oklab,var(--color-base-content)20%,#0000)}}.input:where(input){display:inline-flex}.input :where(input){-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#0000;border:none;width:100%;height:100%;display:inline-flex}.input :where(input):focus,.input :where(input):focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.input :where(input):focus,.input :where(input):focus-within{outline-offset:2px;outline:2px solid #0000}}.input :where(input[type=url]),.input :where(input[type=email]){direction:ltr}.input :where(input[type=date]){display:inline-block}.input:focus,.input:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.input:focus,.input:focus-within{box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000)}}.input:focus,.input:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate;z-index:1}.input:has(>input[disabled]),.input:is(:disabled,[disabled]){cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.input:has(>input[disabled]),.input:is(:disabled,[disabled]){color:color-mix(in oklab,var(--color-base-content)40%,transparent)}}:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]))::-moz-placeholder{color:var(--color-base-content)}:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]))::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]))::-moz-placeholder{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]))::placeholder{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.input:has(>input[disabled]),.input:is(:disabled,[disabled]){box-shadow:none}.input:has(>input[disabled])>input[disabled]{cursor:not-allowed}.input::-webkit-date-and-time-value{text-align:inherit}.input[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input::-webkit-calendar-picker-indicator{position:absolute;inset-inline-end:.75em}.indicator{width:-moz-max-content;width:max-content;display:inline-flex;position:relative}.indicator :where(.indicator-item){z-index:1;white-space:nowrap;top:var(--indicator-t,0);bottom:var(--indicator-b,auto);left:var(--indicator-s,auto);right:var(--indicator-e,0);translate:var(--indicator-x,50%)var(--indicator-y,-50%);position:absolute}.table{border-radius:var(--radius-box);text-align:left;width:100%;font-size:.875rem;position:relative}.table:where(:dir(rtl),[dir=rtl],[dir=rtl] *){text-align:right}@media (hover:hover){:is(.table tr.row-hover,.table tr.row-hover:nth-child(2n)):hover{background-color:var(--color-base-200)}}.table :where(th,td){vertical-align:middle;padding-block:.75rem;padding-inline:1rem}.table :where(thead,tfoot){white-space:nowrap;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(thead,tfoot){color:color-mix(in oklab,var(--color-base-content)60%,transparent)}}.table :where(thead,tfoot){font-size:.875rem;font-weight:600}.table :where(tfoot){border-top:var(--border)solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(tfoot){border-top:var(--border)solid color-mix(in oklch,var(--color-base-content)5%,#0000)}}.table :where(.table-pin-rows thead tr){z-index:1;background-color:var(--color-base-100);position:sticky;top:0}.table :where(.table-pin-rows tfoot tr){z-index:1;background-color:var(--color-base-100);position:sticky;bottom:0}.table :where(.table-pin-cols tr th){background-color:var(--color-base-100);position:sticky;left:0;right:0}.table :where(thead tr,tbody tr:not(:last-child)){border-bottom:var(--border)solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(thead tr,tbody tr:not(:last-child)){border-bottom:var(--border)solid color-mix(in oklch,var(--color-base-content)5%,#0000)}}.steps{counter-reset:step;grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid;overflow:auto hidden}.steps .step{text-align:center;--step-bg:var(--color-base-300);--step-fg:var(--color-base-content);grid-template-rows:40px 1fr;grid-template-columns:auto;place-items:center;min-width:4rem;display:grid}.steps .step:before{width:100%;height:.5rem;color:var(--step-bg);background-color:var(--step-bg);--tw-content:"";content:var(--tw-content);border:1px solid;grid-row-start:1;grid-column-start:1;margin-inline-start:-100%;top:0}.steps .step>.step-icon,.steps .step:not(:has(.step-icon)):after{content:counter(step);counter-increment:step;z-index:1;color:var(--step-fg);background-color:var(--step-bg);border:1px solid var(--step-bg);border-radius:3.40282e38px;grid-row-start:1;grid-column-start:1;place-self:center;place-items:center;width:2rem;height:2rem;display:grid;position:relative}.steps .step:first-child:before{content:none}.steps .step[data-content]:after{content:attr(data-content)}.steps .step-neutral+.step-neutral:before,.steps .step-neutral:after,.steps .step-neutral>.step-icon{--step-bg:var(--color-neutral);--step-fg:var(--color-neutral-content)}.steps .step-primary+.step-primary:before,.steps .step-primary:after,.steps .step-primary>.step-icon{--step-bg:var(--color-primary);--step-fg:var(--color-primary-content)}.steps .step-secondary+.step-secondary:before,.steps .step-secondary:after,.steps .step-secondary>.step-icon{--step-bg:var(--color-secondary);--step-fg:var(--color-secondary-content)}.steps .step-accent+.step-accent:before,.steps .step-accent:after,.steps .step-accent>.step-icon{--step-bg:var(--color-accent);--step-fg:var(--color-accent-content)}.steps .step-info+.step-info:before,.steps .step-info:after,.steps .step-info>.step-icon{--step-bg:var(--color-info);--step-fg:var(--color-info-content)}.steps .step-success+.step-success:before,.steps .step-success:after,.steps .step-success>.step-icon{--step-bg:var(--color-success);--step-fg:var(--color-success-content)}.steps .step-warning+.step-warning:before,.steps .step-warning:after,.steps .step-warning>.step-icon{--step-bg:var(--color-warning);--step-fg:var(--color-warning-content)}.steps .step-error+.step-error:before,.steps .step-error:after,.steps .step-error>.step-icon{--step-bg:var(--color-error);--step-fg:var(--color-error-content)}.range{-webkit-appearance:none;-moz-appearance:none;appearance:none;webkit-appearance:none;--range-thumb:var(--color-base-100);--range-thumb-size:calc(var(--size-selector,.25rem)*6);--range-progress:currentColor;--range-fill:1;--range-p:.25rem;--range-bg:currentColor}@supports (color:color-mix(in lab, red, red)){.range{--range-bg:color-mix(in oklab,currentColor 10%,#0000)}}.range{cursor:pointer;vertical-align:middle;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--range-p),var(--radius-selector-max)));width:clamp(3rem,20rem,100%);height:var(--range-thumb-size);background-color:#0000;border:none;overflow:hidden}[dir=rtl] .range{--range-dir:-1}.range:focus{outline:none}.range:focus-visible{outline-offset:2px;outline:2px solid}.range::-webkit-slider-runnable-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size)*.5)}@media (forced-colors:active){.range::-webkit-slider-runnable-track{border:1px solid}.range::-moz-range-track{border:1px solid}}.range::-webkit-slider-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p),var(--radius-selector-max)));height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p)solid;-webkit-appearance:none;appearance:none;webkit-appearance:none;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1))inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1))inset,0 1px currentColor,0 0 0 2rem var(--range-thumb)inset,calc((var(--range-dir,1)*-100rem) - (var(--range-dir,1)*var(--range-thumb-size)/2))0 0 calc(100rem*var(--range-fill));background-color:currentColor;position:relative;top:50%;transform:translateY(-50%)}@supports (color:color-mix(in lab, red, red)){.range::-webkit-slider-thumb{box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1))inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1))inset,0 1px color-mix(in oklab,currentColor calc(var(--depth)*10%),#0000),0 0 0 2rem var(--range-thumb)inset,calc((var(--range-dir,1)*-100rem) - (var(--range-dir,1)*var(--range-thumb-size)/2))0 0 calc(100rem*var(--range-fill))}}.range::-moz-range-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size)*.5)}.range::-moz-range-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p),var(--radius-selector-max)));height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p)solid;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1))inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1))inset,0 1px currentColor,0 0 0 2rem var(--range-thumb)inset,calc((var(--range-dir,1)*-100rem) - (var(--range-dir,1)*var(--range-thumb-size)/2))0 0 calc(100rem*var(--range-fill));background-color:currentColor;position:relative;top:50%}@supports (color:color-mix(in lab, red, red)){.range::-moz-range-thumb{box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1))inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1))inset,0 1px color-mix(in oklab,currentColor calc(var(--depth)*10%),#0000),0 0 0 2rem var(--range-thumb)inset,calc((var(--range-dir,1)*-100rem) - (var(--range-dir,1)*var(--range-thumb-size)/2))0 0 calc(100rem*var(--range-fill))}}.range:disabled{cursor:not-allowed;opacity:.3}.select{border:var(--border)solid #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--color-base-100);vertical-align:middle;width:clamp(3rem,20rem,100%);height:var(--size);touch-action:manipulation;text-overflow:ellipsis;box-shadow:0 1px var(--input-color)inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1))inset;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 20px) calc(1px + 50%),calc(100% - 16.1px) calc(1px + 50%);background-repeat:no-repeat;background-size:4px 4px,4px 4px;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.375rem;padding-inline:1rem 1.75rem;font-size:.875rem;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.select{box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000)inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1))inset}}.select{border-color:var(--input-color);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.select{--input-color:color-mix(in oklab,var(--color-base-content)20%,#0000)}}.select{--size:calc(var(--size-field,.25rem)*10)}[dir=rtl] .select{background-position:12px calc(1px + 50%),16px calc(1px + 50%)}.select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:inherit;border-radius:inherit;border-style:none;width:calc(100% + 2.75rem);height:calc(100% - 2px);margin-inline:-1rem -1.75rem;padding-inline:1rem 1.75rem}.select select:focus,.select select:focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.select select:focus,.select select:focus-within{outline-offset:2px;outline:2px solid #0000}}.select select:not(:last-child){background-image:none;margin-inline-end:-1.375rem}.select:focus,.select:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.select:focus,.select:focus-within{box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000)}}.select:focus,.select:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate;z-index:1}.select:has(>select[disabled]),.select:is(:disabled,[disabled]){cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.select:has(>select[disabled]),.select:is(:disabled,[disabled]){color:color-mix(in oklab,var(--color-base-content)40%,transparent)}}:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]))::-moz-placeholder{color:var(--color-base-content)}:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]))::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]))::-moz-placeholder{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]))::placeholder{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.select:has(>select[disabled])>select[disabled]{cursor:not-allowed}.checkbox{border:var(--border)solid var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.checkbox{border:var(--border)solid var(--input-color,color-mix(in oklab,var(--color-base-content)20%,#0000))}}.checkbox{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--radius-selector);vertical-align:middle;color:var(--color-base-content);box-shadow:0 1px oklch(0% 0 0/calc(var(--depth)*.1))inset,0 0 #0000 inset,0 0 #0000;--size:calc(var(--size-selector,.25rem)*6);width:var(--size);height:var(--size);background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise);flex-shrink:0;padding:.25rem;transition:background-color .2s,box-shadow .2s;display:inline-block;position:relative}.checkbox:before{--tw-content:"";content:var(--tw-content);opacity:0;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,70% 80%,70% 100%);width:100%;height:100%;box-shadow:0px 3px 0 0px oklch(100% 0 0/calc(var(--depth)*.1))inset;background-color:currentColor;font-size:1rem;line-height:.75;transition:clip-path .3s .1s,opacity .1s .1s,rotate .3s .1s,translate .3s .1s;display:block;rotate:45deg}.checkbox:focus-visible{outline:2px solid var(--input-color,currentColor);outline-offset:2px}.checkbox:checked,.checkbox[aria-checked=true]{background-color:var(--input-color,#0000);box-shadow:0 0 #0000 inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1))inset,0 1px oklch(0% 0 0/calc(var(--depth)*.1))}:is(.checkbox:checked,.checkbox[aria-checked=true]):before{clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 0%,70% 0%,70% 100%);opacity:1}@media (forced-colors:active){:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:none}}@media print{:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:none}}.checkbox:indeterminate:before{opacity:1;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,80% 80%,80% 100%);translate:0 -35%;rotate:none}.checkbox:disabled{cursor:not-allowed;opacity:.2}.radio{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;vertical-align:middle;border:var(--border)solid var(--input-color,currentColor);border-radius:3.40282e38px;flex-shrink:0;padding:.25rem;display:inline-block;position:relative}@supports (color:color-mix(in lab, red, red)){.radio{border:var(--border)solid var(--input-color,color-mix(in srgb,currentColor 20%,#0000))}}.radio{box-shadow:0 1px oklch(0% 0 0/calc(var(--depth)*.1))inset;--size:calc(var(--size-selector,.25rem)*6);width:var(--size);height:var(--size);color:var(--input-color,currentColor)}.radio:before{--tw-content:"";content:var(--tw-content);background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise);border-radius:3.40282e38px;width:100%;height:100%;display:block}.radio:focus-visible{outline:2px solid}.radio:checked,.radio[aria-checked=true]{background-color:var(--color-base-100);border-color:currentColor;animation:.2s ease-out radio}:is(.radio:checked,.radio[aria-checked=true]):before{box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1))inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1))inset,0 1px oklch(0% 0 0/calc(var(--depth)*.1));background-color:currentColor}@media (forced-colors:active){:is(.radio:checked,.radio[aria-checked=true]):before{outline-style:var(--tw-outline-style);outline-offset:calc(1px*-1);outline-width:1px}}@media print{:is(.radio:checked,.radio[aria-checked=true]):before{outline-offset:-1rem;outline:.25rem solid}}.radio:disabled{cursor:not-allowed;opacity:.2}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-full{top:100%}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-10{right:calc(var(--spacing)*10)}.right-full{right:100%}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing)*0)}.left-1\\/2{left:50%}.left-full{left:100%}.modal-backdrop{color:#0000;z-index:-1;grid-row-start:1;grid-column-start:1;place-self:stretch stretch;display:grid}.modal-backdrop button{cursor:pointer}.z-10{z-index:10}.z-1001{z-index:1001}.modal-box{background-color:var(--color-base-100);border-top-left-radius:var(--modal-tl,var(--radius-box));border-top-right-radius:var(--modal-tr,var(--radius-box));border-bottom-left-radius:var(--modal-bl,var(--radius-box));border-bottom-right-radius:var(--modal-br,var(--radius-box));opacity:0;overscroll-behavior:contain;grid-row-start:1;grid-column-start:1;width:91.6667%;max-width:32rem;max-height:100vh;padding:1.5rem;transition:translate .3s ease-out,scale .3s ease-out,opacity .2s ease-out 50ms,box-shadow .3s ease-out;overflow-y:auto;scale:95%;box-shadow:0 25px 50px -12px oklch(0% 0 0/.25)}.stat-value{white-space:nowrap;grid-column-start:1;font-size:2rem;font-weight:800}.stat-desc{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab, red, red)){.stat-desc{color:color-mix(in oklab,var(--color-base-content)60%,transparent)}}.stat-desc{font-size:.75rem}.stat-title{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab, red, red)){.stat-title{color:color-mix(in oklab,var(--color-base-content)60%,transparent)}}.stat-title{font-size:.75rem}.float-right{float:right}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.divider{white-space:nowrap;height:1rem;margin:var(--divider-m,1rem 0);--divider-color:var(--color-base-content);flex-direction:row;align-self:stretch;align-items:center;display:flex}@supports (color:color-mix(in lab, red, red)){.divider{--divider-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.divider:before,.divider:after{content:"";background-color:var(--divider-color);flex-grow:1;width:100%;height:.125rem}@media print{.divider:before,.divider:after{border:.5px solid}}.divider:not(:empty){gap:1rem}.m-2{margin:calc(var(--spacing)*2)}.m-4{margin:calc(var(--spacing)*4)}.filter{flex-wrap:wrap;display:flex}.filter input[type=radio]{width:auto}.filter input{opacity:1;transition:margin .1s,opacity .3s,padding .3s,border-width .1s;overflow:hidden;scale:1}.filter input:not(:last-child){margin-inline-end:.25rem}.filter input.filter-reset{aspect-ratio:1}.filter input.filter-reset:after{content:"×"}.filter:not(:has(input:checked:not(.filter-reset))) .filter-reset,.filter:not(:has(input:checked:not(.filter-reset))) input[type=reset],.filter:has(input:checked:not(.filter-reset)) input:not(:checked,.filter-reset,input[type=reset]){opacity:0;border-width:0;width:0;margin-inline:0;padding-inline:0;scale:0}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-auto{margin-inline:auto}.input-sm{--size:calc(var(--size-field,.25rem)*8);font-size:.75rem}.input-sm[type=number]::-webkit-inner-spin-button{margin-block:-.5rem;margin-inline-end:-.75rem}.input-xs{--size:calc(var(--size-field,.25rem)*6);font-size:.6875rem}.input-xs[type=number]::-webkit-inner-spin-button{margin-block:-.25rem;margin-inline-end:-.75rem}.my-1{margin-block:calc(var(--spacing)*1)}.my-4{margin-block:calc(var(--spacing)*4)}.label{white-space:nowrap;color:currentColor;align-items:center;gap:.375rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.label{color:color-mix(in oklab,currentColor 60%,transparent)}}.label:has(input){cursor:pointer}.label:is(.input>*,.select>*){white-space:nowrap;height:calc(100% - .5rem);font-size:inherit;align-items:center;padding-inline:.75rem;display:flex}.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border)solid currentColor;margin-inline:-.75rem .75rem}@supports (color:color-mix(in lab, red, red)){.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border)solid color-mix(in oklab,currentColor 10%,#0000)}}.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border)solid currentColor;margin-inline:.75rem -.75rem}@supports (color:color-mix(in lab, red, red)){.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border)solid color-mix(in oklab,currentColor 10%,#0000)}}.join-item:where(:not(:first-child,:disabled,[disabled],.btn-disabled)){margin-block-start:0;margin-inline-start:calc(var(--border,1px)*-1)}.join-item:where(:is(:disabled,[disabled],.btn-disabled)){border-width:var(--border,1px)0 var(--border,1px)var(--border,1px)}.modal-action{justify-content:flex-end;gap:.5rem;margin-top:1.5rem;display:flex}.mt-0{margin-top:calc(var(--spacing)*0)}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-0{margin-bottom:calc(var(--spacing)*0)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-2\\.5{margin-left:calc(var(--spacing)*2.5)}.ml-3{margin-left:calc(var(--spacing)*3)}.status{aspect-ratio:1;border-radius:var(--radius-selector);background-color:var(--color-base-content);width:.5rem;height:.5rem;display:inline-block}@supports (color:color-mix(in lab, red, red)){.status{background-color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.status{vertical-align:middle;color:#0000004d;background-position:50%;background-repeat:no-repeat}@supports (color:color-mix(in lab, red, red)){.status{color:#0000004d}@supports (color:color-mix(in lab, red, red)){.status{color:color-mix(in oklab,var(--color-black)30%,transparent)}}}.status{background-image:radial-gradient(circle at 35% 30%,oklch(1 0 0/calc(var(--depth)*.5)),#0000);box-shadow:0 2px 3px -1px}@supports (color:color-mix(in lab, red, red)){.status{box-shadow:0 2px 3px -1px color-mix(in oklab,currentColor calc(var(--depth)*100%),#0000)}}.iconify{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.tabs{--tabs-height:auto;--tabs-direction:row;--tab-height:calc(var(--size-field,.25rem)*10);height:var(--tabs-height);flex-wrap:wrap;flex-direction:var(--tabs-direction);display:flex}.footer{grid-auto-flow:row;place-items:start;gap:2.5rem 1rem;width:100%;font-size:.875rem;line-height:1.25rem;display:grid}.footer>*{place-items:start;gap:.5rem;display:grid}.footer.footer-center{text-align:center;grid-auto-flow:column dense;place-items:center}.footer.footer-center>*{place-items:center}.stat{grid-template-columns:repeat(1,1fr);-moz-column-gap:1rem;column-gap:1rem;width:100%;padding-block:1rem;padding-inline:1.5rem;display:inline-grid}.stat:not(:last-child){border-inline-end:var(--border)dashed currentColor}@supports (color:color-mix(in lab, red, red)){.stat:not(:last-child){border-inline-end:var(--border)dashed color-mix(in oklab,currentColor 10%,#0000)}}.stat:not(:last-child){border-block-end:none}.join{--join-ss:0;--join-se:0;--join-es:0;--join-ee:0;align-items:stretch;display:inline-flex}.join :where(.join-item){border-start-start-radius:var(--join-ss,0);border-start-end-radius:var(--join-se,0);border-end-end-radius:var(--join-ee,0);border-end-start-radius:var(--join-es,0)}.join :where(.join-item) *{--join-ss:var(--radius-field);--join-se:var(--radius-field);--join-es:var(--radius-field);--join-ee:var(--radius-field)}.join>.join-item:where(:first-child),.join :first-child:not(:last-child) :where(.join-item){--join-ss:var(--radius-field);--join-se:0;--join-es:var(--radius-field);--join-ee:0}.join>.join-item:where(:last-child),.join :last-child:not(:first-child) :where(.join-item){--join-ss:0;--join-se:var(--radius-field);--join-es:0;--join-ee:var(--radius-field)}.join>.join-item:where(:only-child),.join :only-child :where(.join-item){--join-ss:var(--radius-field);--join-se:var(--radius-field);--join-es:var(--radius-field);--join-ee:var(--radius-field)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.modal-bottom{place-items:end}.modal-bottom :where(.modal-box){--modal-tl:var(--radius-box);--modal-tr:var(--radius-box);--modal-bl:0;--modal-br:0;width:100%;max-width:none;height:auto;max-height:calc(100vh - 5em);translate:0 100%;scale:1}.btn-circle{width:var(--size);height:var(--size);border-radius:3.40282e38px;padding-inline:0}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-\\[calc\\(var\\(--size\\)\\*0\\.7\\)\\]{height:calc(var(--size)*.7)}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.max-h-72{max-height:calc(var(--spacing)*72)}.max-h-80{max-height:calc(var(--spacing)*80)}.loading-md{width:calc(var(--size-selector,.25rem)*6)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-28{width:calc(var(--spacing)*28)}.w-32{width:calc(var(--spacing)*32)}.w-64{width:calc(var(--spacing)*64)}.w-\\[6rem\\]{width:6rem}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.max-w-\\(--breakpoint-lg\\){max-width:var(--breakpoint-lg)}.min-w-8{min-width:calc(var(--spacing)*8)}.min-w-24{min-width:calc(var(--spacing)*24)}.min-w-32{min-width:calc(var(--spacing)*32)}.min-w-\\[0\\.05rem\\]{min-width:.05rem}.min-w-\\[7\\.5rem\\]{min-width:7.5rem}.min-w-\\[180px\\]{min-width:180px}.flex-1{flex:1}.grow{flex-grow:1}.translate-x-\\[-50\\%\\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\\[-50\\%\\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.skeleton{border-radius:var(--radius-box);background-color:var(--color-base-300)}@media (prefers-reduced-motion:reduce){.skeleton{transition-duration:15s}}.skeleton{will-change:background-position;background-image:linear-gradient(105deg,#0000 0% 40%,var(--color-base-100)50%,#0000 60% 100%);background-position-x:-50%;background-repeat:no-repeat;background-size:200%;animation:1.8s ease-in-out infinite skeleton}.link{cursor:pointer;text-decoration-line:underline}.link:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.link:focus{outline-offset:2px;outline:2px solid #0000}}.link:focus-visible{outline-offset:2px;outline:2px solid}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-inside{list-style-position:inside}.list-outside{list-style-position:outside}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-4{gap:calc(var(--spacing)*4)}.gap-x-1{-moz-column-gap:calc(var(--spacing)*1);column-gap:calc(var(--spacing)*1)}.gap-x-6{-moz-column-gap:calc(var(--spacing)*6);column-gap:calc(var(--spacing)*6)}.gap-y-1{row-gap:calc(var(--spacing)*1)}.gap-y-2{row-gap:calc(var(--spacing)*2)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-t-md{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-tr-md{border-top-right-radius:var(--radius-md)}.rounded-b-md{border-bottom-right-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.select-ghost{box-shadow:none;background-color:#0000;border-color:#0000;transition:background-color .2s}.select-ghost:focus,.select-ghost:focus-within{background-color:var(--color-base-100);color:var(--color-base-content);box-shadow:none;border-color:#0000}.input-ghost{box-shadow:none;background-color:#0000;border-color:#0000}.input-ghost:focus,.input-ghost:focus-within{background-color:var(--color-base-100);color:var(--color-base-content);box-shadow:none;border-color:#0000}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-400{border-color:var(--color-gray-400)}.border-gray-500{border-color:var(--color-gray-500)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-300{background-color:var(--color-blue-300)}.bg-red-200{background-color:var(--color-red-200)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.loading-spinner{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E")}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-1\\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-0\\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-16{padding-block:calc(var(--spacing)*16)}.pr-14{padding-right:calc(var(--spacing)*14)}.text-center{text-align:center}.text-justify{text-align:justify}.text-left{text-align:left}.text-right{text-align:right}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.select-sm{--size:calc(var(--size-field,.25rem)*8);font-size:.75rem}.select-xs{--size:calc(var(--size-field,.25rem)*6);font-size:.6875rem}.leading-5{--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.text-nowrap{text-wrap:nowrap}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.text-\\[\\#606060\\]{color:#606060}.text-black{color:var(--color-black)}.text-blue-600{color:var(--color-blue-600)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-neutral-500{color:var(--color-neutral-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.underline{text-decoration-line:underline}.decoration-red-600{text-decoration-color:var(--color-red-600)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible){--btn-shadow:"";--btn-bg:#0000;--btn-border:#0000;--btn-noise:none}.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible):not(:disabled,[disabled],.btn-disabled){--btn-fg:currentColor;outline-color:currentColor}@media (hover:none){.btn-ghost:hover:not(.btn-active,:active,:focus-visible,:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-bg:#0000;--btn-border:#0000;--btn-noise:none;--btn-fg:currentColor}}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.btn-outline:not(.btn-active,:hover,:active:focus,:focus-visible,:disabled,[disabled],.btn-disabled,:checked){--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}@media (hover:none){.btn-outline:hover:not(.btn-active,:active,:focus-visible,:disabled,[disabled],.btn-disabled,:checked){--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}}.btn-sm{--fontsize:.75rem;--btn-p:.75rem;--size:calc(var(--size-field,.25rem)*8)}.btn-xs{--fontsize:.6875rem;--btn-p:.5rem;--size:calc(var(--size-field,.25rem)*6)}.select-text{-webkit-user-select:text;-moz-user-select:text;user-select:text}.input-error,.input-error:focus,.input-error:focus-within{--input-color:var(--color-error)}.mdi--chevron-left{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M15.41 16.58L10.83 12l4.58-4.59L14 6l-6 6l6 6z'/%3E%3C/svg%3E")}.mdi--chevron-left-first{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6l6 6zM6 6h2v12H6z'/%3E%3C/svg%3E")}.mdi--chevron-right{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M8.59 16.58L13.17 12L8.59 7.41L10 6l6 6l-6 6z'/%3E%3C/svg%3E")}.mdi--chevron-right-last{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6l-6-6zM16 6h2v12h-2z'/%3E%3C/svg%3E")}.mdi--fullscreen{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M5 5h5v2H7v3H5zm9 0h5v5h-2V7h-3zm3 9h2v5h-5v-2h3zm-7 3v2H5v-5h2v3z'/%3E%3C/svg%3E")}.mdi--fullscreen-exit{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M14 14h5v2h-3v3h-2zm-9 0h5v5H8v-3H5zm3-9h2v5H5V8h3zm11 3v2h-5V5h2v3z'/%3E%3C/svg%3E")}.mdi--reload{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M2 12a9 9 0 0 0 9 9c2.39 0 4.68-.94 6.4-2.6l-1.5-1.5A6.7 6.7 0 0 1 11 19c-6.24 0-9.36-7.54-4.95-11.95S18 5.77 18 12h-3l4 4h.1l3.9-4h-3a9 9 0 0 0-18 0'/%3E%3C/svg%3E")}@media (hover:hover){.group-hover\\:visible:is(:where(.group):hover *){visibility:visible}.hover\\:scale-90:hover{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\\:font-bold:hover{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.hover\\:text-blue-700:hover{color:var(--color-blue-700)}.hover\\:text-blue-800:hover{color:var(--color-blue-800)}.hover\\:text-gray-400:hover{color:var(--color-gray-400)}.hover\\:text-gray-700:hover{color:var(--color-gray-700)}.hover\\:text-red-600:hover{color:var(--color-red-600)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-80:hover{opacity:.8}}.focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-blue-300:focus{--tw-ring-color:var(--color-blue-300)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:underline:focus-visible{text-decoration-line:underline}@media (min-width:40rem){.sm\\:modal-middle{place-items:center}.sm\\:modal-middle :where(.modal-box){--modal-tl:var(--radius-box);--modal-tr:var(--radius-box);--modal-bl:var(--radius-box);--modal-br:var(--radius-box);width:91.6667%;max-width:32rem;height:auto;max-height:calc(100vh - 5em);translate:0 2%;scale:98%}.sm\\:max-w-5xl{max-width:var(--container-5xl)}.sm\\:flex-row{flex-direction:row}.sm\\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}}@container (min-width:2rem){.\\@\\[2rem\\]\\:visible{visibility:visible}}@container (min-width:6rem){.\\@\\[6rem\\]\\:visible{visibility:visible}}@container (min-width:14rem){.\\@4xs\\:flex-row{flex-direction:row}.\\@4xs\\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.\\@4xs\\:rounded-tr-none{border-top-right-radius:0}.\\@4xs\\:rounded-bl-md{border-bottom-left-radius:var(--radius-md)}}@container (min-width:28rem){.\\@md\\:flex-row{flex-direction:row}.\\@md\\:rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.\\@md\\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.\\@md\\:rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.\\@md\\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}}@container (min-width:36rem){.\\@xl\\:block{display:block}.\\@xl\\:justify-end{justify-content:flex-end}}}@keyframes progress{50%{background-position-x:-115%}}@keyframes rating{0%,40%{filter:brightness(1.05)contrast(1.05);scale:1.1}}@keyframes skeleton{0%{background-position:150%}to{background-position:-50%}}@keyframes dropdown{0%{opacity:0}}@keyframes radio{0%{padding:5px}50%{padding:3px}}@keyframes toast{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}
|
|
2071
|
+
@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-200:oklch(88.5% .062 18.334);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-neutral-500:oklch(55.6% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--breakpoint-lg:64rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-bold:700;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:where(:host),:host:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root{--fx-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E")}:root,[data-theme]{background-color:var(--root-bg,var(--color-base-100));color:var(--color-base-content)}:root:has(.modal-open,.modal[open],.modal:target,.modal-toggle:checked,.drawer:not([class*=drawer-open])>.drawer-toggle:checked){overflow:hidden}@property --radialprogress{syntax: "<percentage>"; inherits: true; initial-value: 0%;}:where(:root:has(.modal-open,.modal[open],.modal:target,.modal-toggle:checked,.drawer:not(.drawer-open)>.drawer-toggle:checked)){scrollbar-gutter:stable;background-image:linear-gradient(var(--color-base-100),var(--color-base-100));--root-bg:var(--color-base-100)}@supports (color:color-mix(in lab, red, red)){:where(:root:has(.modal-open,.modal[open],.modal:target,.modal-toggle:checked,.drawer:not(.drawer-open)>.drawer-toggle:checked)){--root-bg:color-mix(in srgb,var(--color-base-100),oklch(0% 0 0) 40%)}}:where(.modal[open],.modal-open,.modal-toggle:checked+.modal):not(.modal-start,.modal-end){scrollbar-gutter:stable}:root{scrollbar-color:currentColor #0000}@supports (color:color-mix(in lab, red, red)){:root{scrollbar-color:color-mix(in oklch,currentColor 35%,#0000)#0000}}}@layer components;@layer utilities{.diff{webkit-user-select:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;direction:ltr;grid-template-columns:auto 1fr;width:100%;display:grid;position:relative;overflow:hidden;container-type:inline-size}.diff:focus-visible,.diff:has(.diff-item-1:focus-visible),.diff:focus-visible{outline-style:var(--tw-outline-style);outline-offset:1px;outline-width:2px;outline-color:var(--color-base-content)}.diff:focus-visible .diff-resizer{min-width:90cqi;max-width:90cqi}.diff:has(.diff-item-2:focus-visible){outline-style:var(--tw-outline-style);outline-offset:1px;outline-width:2px}.diff:has(.diff-item-2:focus-visible) .diff-resizer{min-width:10cqi;max-width:10cqi}@supports (-webkit-overflow-scrolling:touch) and (overflow:-webkit-paged-x){.diff:focus .diff-resizer{min-width:10cqi;max-width:10cqi}.diff:has(.diff-item-1:focus) .diff-resizer{min-width:90cqi;max-width:90cqi}}.\\@container{container-type:inline-size}.modal{pointer-events:none;visibility:hidden;width:100%;max-width:none;height:100%;max-height:none;color:inherit;transition:translate .3s ease-out,visibility .3s allow-discrete,background-color .3s ease-out,opacity .1s ease-out;overscroll-behavior:contain;z-index:999;background-color:#0000;place-items:center;margin:0;padding:0;display:grid;position:fixed;inset:0;overflow:hidden}.modal::backdrop{display:none}.modal.modal-open,.modal[open],.modal:target{pointer-events:auto;visibility:visible;opacity:1;background-color:oklch(0% 0 0/.4)}:is(.modal.modal-open,.modal[open],.modal:target) .modal-box{opacity:1;translate:0;scale:1}@starting-style{.modal.modal-open,.modal[open],.modal:target{visibility:hidden;opacity:0}}.tooltip{--tt-bg:var(--color-neutral);--tt-off:calc(100% + .5rem);--tt-tail:calc(100% + 1px + .25rem);display:inline-block;position:relative}.tooltip>:where(.tooltip-content),.tooltip:where([data-tip]):before{border-radius:var(--radius-field);text-align:center;white-space:normal;max-width:20rem;color:var(--color-neutral-content);opacity:0;background-color:var(--tt-bg);pointer-events:none;z-index:2;--tw-content:attr(data-tip);content:var(--tw-content);width:-moz-max-content;width:max-content;padding-block:.25rem;padding-inline:.5rem;font-size:.875rem;line-height:1.25;transition:opacity .2s cubic-bezier(.4,0,.2,1) 75ms,transform .2s cubic-bezier(.4,0,.2,1) 75ms;position:absolute}.tooltip:after{opacity:0;background-color:var(--tt-bg);content:"";pointer-events:none;--mask-tooltip:url("data:image/svg+xml,%3Csvg width='10' height='4' viewBox='0 0 8 4' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.500009 1C3.5 1 3.00001 4 5.00001 4C7 4 6.5 1 9.5 1C10 1 10 0.499897 10 0H0C-1.99338e-08 0.5 0 1 0.500009 1Z' fill='black'/%3E%3C/svg%3E%0A");width:.625rem;height:.25rem;-webkit-mask-position:-1px 0;mask-position:-1px 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:var(--mask-tooltip);-webkit-mask-image:var(--mask-tooltip);mask-image:var(--mask-tooltip);transition:opacity .2s cubic-bezier(.4,0,.2,1) 75ms,transform .2s cubic-bezier(.4,0,.2,1) 75ms;display:block;position:absolute}:is(.tooltip.tooltip-open,.tooltip[data-tip]:not([data-tip=""]):hover,.tooltip:not(:has(.tooltip-content:empty)):has(.tooltip-content):hover,.tooltip:has(:focus-visible))>.tooltip-content,:is(.tooltip.tooltip-open,.tooltip[data-tip]:not([data-tip=""]):hover,.tooltip:not(:has(.tooltip-content:empty)):has(.tooltip-content):hover,.tooltip:has(:focus-visible))[data-tip]:before,:is(.tooltip.tooltip-open,.tooltip[data-tip]:not([data-tip=""]):hover,.tooltip:not(:has(.tooltip-content:empty)):has(.tooltip-content):hover,.tooltip:has(:focus-visible)):after{opacity:1;--tt-pos:0rem;transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}.tooltip>.tooltip-content,.tooltip[data-tip]:before{transform:translateX(-50%)translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-off)50%}.tooltip:after{transform:translateX(-50%)translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-tail)50%}.tab{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:center;webkit-user-select:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-wrap:wrap;justify-content:center;align-items:center;display:inline-flex;position:relative}@media (hover:hover){.tab:hover{color:var(--color-base-content)}}.tab{--tab-p:1rem;--tab-bg:var(--color-base-100);--tab-border-color:var(--color-base-300);--tab-radius-ss:0;--tab-radius-se:0;--tab-radius-es:0;--tab-radius-ee:0;--tab-order:0;--tab-radius-min:calc(.75rem - var(--border));order:var(--tab-order);height:var(--tab-height);border-color:#0000;padding-inline-start:var(--tab-p);padding-inline-end:var(--tab-p);font-size:.875rem}.tab:is(input[type=radio]){min-width:-moz-fit-content;min-width:fit-content}.tab:is(input[type=radio]):after{content:attr(aria-label)}.tab:is(label){position:relative}.tab:is(label) input{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;opacity:0;position:absolute;inset:0}:is(.tab:checked,.tab:is(label:has(:checked)),.tab:is(.tab-active,[aria-selected=true]))+.tab-content{height:calc(100% - var(--tab-height) + var(--border));display:block}.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true]){color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true]){color:color-mix(in oklab,var(--color-base-content)50%,transparent)}}.tab:not(input):empty{cursor:default;flex-grow:1}.tab:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tab:focus{outline-offset:2px;outline:2px solid #0000}}.tab:focus-visible,.tab:is(label:has(:checked:focus-visible)){outline-offset:-5px;outline:2px solid}.tab[disabled]{pointer-events:none;opacity:.4}.menu{--menu-active-fg:var(--color-neutral-content);--menu-active-bg:var(--color-neutral);flex-flow:column wrap;width:-moz-fit-content;width:fit-content;padding:.5rem;font-size:.875rem;display:flex}.menu :where(li ul){white-space:nowrap;margin-inline-start:1rem;padding-inline-start:.5rem;position:relative}.menu :where(li ul):before{background-color:var(--color-base-content);opacity:.1;width:var(--border);content:"";inset-inline-start:0;position:absolute;top:.75rem;bottom:.75rem}.menu :where(li>.menu-dropdown:not(.menu-dropdown-show)){display:none}.menu :where(li:not(.menu-title)>:not(ul,details,.menu-title,.btn)),.menu :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);text-align:start;text-wrap:balance;-webkit-user-select:none;-moz-user-select:none;user-select:none;grid-auto-columns:minmax(auto,max-content) auto max-content;grid-auto-flow:column;align-content:flex-start;align-items:center;gap:.5rem;padding-block:.375rem;padding-inline:.75rem;transition-property:color,background-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:grid}.menu :where(li>details>summary){--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li>details>summary){outline-offset:2px;outline:2px solid #0000}}.menu :where(li>details>summary)::-webkit-details-marker{display:none}:is(.menu :where(li>details>summary),.menu :where(li>.menu-dropdown-toggle)):after{content:"";transform-origin:50%;pointer-events:none;justify-self:flex-end;width:.375rem;height:.375rem;transition-property:rotate,translate;transition-duration:.2s;display:block;translate:0 -1px;rotate:-135deg;box-shadow:inset 2px 2px}.menu :where(li>details[open]>summary):after,.menu :where(li>.menu-dropdown-toggle.menu-dropdown-show):after{translate:0 1px;rotate:45deg}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{background-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{color:var(--color-base-content);--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{outline-offset:2px;outline:2px solid #0000}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){background-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){outline-offset:2px;outline:2px solid #0000}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){box-shadow:inset 0 1px oklch(0% 0 0/.01),inset 0 -1px oklch(100% 0 0/.01)}.menu :where(li:empty){background-color:var(--color-base-content);opacity:.1;height:1px;margin:.5rem 1rem}.menu :where(li){flex-flow:column wrap;flex-shrink:0;align-items:stretch;display:flex;position:relative}.menu :where(li) .badge{justify-self:flex-end}.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{outline-offset:2px;outline:2px solid #0000}}.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{color:var(--menu-active-fg);background-color:var(--menu-active-bg);background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise)}:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):not(:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):active){box-shadow:0 2px calc(var(--depth)*3px)-2px var(--menu-active-bg)}.menu :where(li).menu-disabled{pointer-events:none;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li).menu-disabled{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.menu .dropdown:focus-within .menu-dropdown-toggle:after{translate:0 1px;rotate:45deg}.menu .dropdown-content{margin-top:.5rem;padding:.5rem}.menu .dropdown-content:before{display:none}.dropdown{position-area:var(--anchor-v,bottom)var(--anchor-h,span-right);display:inline-block;position:relative}.dropdown>:not(summary):focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.dropdown>:not(summary):focus{outline-offset:2px;outline:2px solid #0000}}.dropdown .dropdown-content{position:absolute}.dropdown:not(details,.dropdown-open,.dropdown-hover:hover,:focus-within) .dropdown-content{transform-origin:top;opacity:0;display:none;scale:95%}.dropdown[popover],.dropdown .dropdown-content{z-index:999;transition-behavior:allow-discrete;transition-property:opacity,scale,display;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation:.2s dropdown}@starting-style{.dropdown[popover],.dropdown .dropdown-content{opacity:0;scale:95%}}:is(.dropdown.dropdown-open,.dropdown:not(.dropdown-hover):focus,.dropdown:focus-within)>[tabindex]:first-child{pointer-events:none}:is(.dropdown.dropdown-open,.dropdown:not(.dropdown-hover):focus,.dropdown:focus-within) .dropdown-content{opacity:1}.dropdown.dropdown-hover:hover .dropdown-content{opacity:1;scale:100%}.dropdown:is(details) summary::-webkit-details-marker{display:none}:is(.dropdown.dropdown-open,.dropdown:focus,.dropdown:focus-within) .dropdown-content{scale:100%}.dropdown:where([popover]){background:0 0}.dropdown[popover]{color:inherit;position:fixed}@supports not (position-area:bottom){.dropdown[popover]{margin:auto}.dropdown[popover].dropdown-open:not(:popover-open){transform-origin:top;opacity:0;display:none;scale:95%}.dropdown[popover]::backdrop{background-color:oklab(0% none none/.3)}}.dropdown[popover]:not(.dropdown-open,:popover-open){transform-origin:top;opacity:0;display:none;scale:95%}:where(.btn){width:unset}.btn{cursor:pointer;text-align:center;vertical-align:middle;outline-offset:2px;webkit-user-select:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding-inline:var(--btn-p);color:var(--btn-fg);--tw-prose-links:var(--btn-fg);height:var(--size);font-size:var(--fontsize,.875rem);outline-color:var(--btn-color,var(--color-base-content));background-color:var(--btn-bg);background-size:auto,calc(var(--noise)*100%);background-image:none,var(--btn-noise);border-width:var(--border);border-style:solid;border-color:var(--btn-border);text-shadow:0 .5px oklch(100% 0 0/calc(var(--depth)*.15));touch-action:manipulation;box-shadow:0 .5px 0 .5px oklch(100% 0 0/calc(var(--depth)*6%))inset,var(--btn-shadow);--size:calc(var(--size-field,.25rem)*10);--btn-bg:var(--btn-color,var(--color-base-200));--btn-fg:var(--color-base-content);--btn-p:1rem;--btn-border:var(--btn-bg);border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-wrap:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:.375rem;font-weight:600;transition-property:color,background-color,border-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:inline-flex}@supports (color:color-mix(in lab, red, red)){.btn{--btn-border:color-mix(in oklab,var(--btn-bg),#000 calc(var(--depth)*5%))}}.btn{--btn-shadow:0 3px 2px -2px var(--btn-bg),0 4px 3px -2px var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.btn{--btn-shadow:0 3px 2px -2px color-mix(in oklab,var(--btn-bg)calc(var(--depth)*30%),#0000),0 4px 3px -2px color-mix(in oklab,var(--btn-bg)calc(var(--depth)*30%),#0000)}}.btn{--btn-noise:var(--fx-noise)}.prose .btn{text-decoration-line:none}@media (hover:hover){.btn:hover{--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:hover{--btn-bg:color-mix(in oklab,var(--btn-color,var(--color-base-200)),#000 7%)}}}.btn:focus-visible{isolation:isolate;outline-width:2px;outline-style:solid}.btn:active:not(.btn-active){--btn-bg:var(--btn-color,var(--color-base-200));translate:0 .5px}@supports (color:color-mix(in lab, red, red)){.btn:active:not(.btn-active){--btn-bg:color-mix(in oklab,var(--btn-color,var(--color-base-200)),#000 5%)}}.btn:active:not(.btn-active){--btn-border:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:active:not(.btn-active){--btn-border:color-mix(in oklab,var(--btn-color,var(--color-base-200)),#000 7%)}}.btn:active:not(.btn-active){--btn-shadow:0 0 0 0 oklch(0% 0 0/0),0 0 0 0 oklch(0% 0 0/0)}.btn:is(:disabled,[disabled],.btn-disabled):not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:is(:disabled,[disabled],.btn-disabled):not(.btn-link,.btn-ghost){background-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.btn:is(:disabled,[disabled],.btn-disabled):not(.btn-link,.btn-ghost){box-shadow:none}.btn:is(:disabled,[disabled],.btn-disabled){pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:is(:disabled,[disabled],.btn-disabled){--btn-fg:color-mix(in oklch,var(--color-base-content)20%,#0000)}}@media (hover:hover){.btn:is(:disabled,[disabled],.btn-disabled):hover{pointer-events:none;background-color:var(--color-neutral)}@supports (color:color-mix(in lab, red, red)){.btn:is(:disabled,[disabled],.btn-disabled):hover{background-color:color-mix(in oklab,var(--color-neutral)20%,transparent)}}.btn:is(:disabled,[disabled],.btn-disabled):hover{--btn-border:#0000;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:is(:disabled,[disabled],.btn-disabled):hover{--btn-fg:color-mix(in oklch,var(--color-base-content)20%,#0000)}}}.btn:is(input[type=checkbox],input[type=radio]){-webkit-appearance:none;-moz-appearance:none;appearance:none}.btn:is(input[type=checkbox],input[type=radio]):after{content:attr(aria-label)}.btn:where(input:checked:not(.filter .btn)){--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content);isolation:isolate}.loading{pointer-events:none;aspect-ratio:1;vertical-align:middle;width:calc(var(--size-selector,.25rem)*6);background-color:currentColor;display:inline-block;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:100%;mask-size:100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.invisible{visibility:hidden}.visible{visibility:visible}.list{flex-direction:column;font-size:.875rem;display:flex}.list :where(.list-row){--list-grid-cols:minmax(0,auto)1fr;border-radius:var(--radius-box);word-break:break-word;grid-auto-flow:column;grid-template-columns:var(--list-grid-cols);gap:1rem;padding:1rem;display:grid;position:relative}.list :where(.list-row):has(.list-col-grow:first-child){--list-grid-cols:1fr}.list :where(.list-row):has(.list-col-grow:nth-child(2)){--list-grid-cols:minmax(0,auto)1fr}.list :where(.list-row):has(.list-col-grow:nth-child(3)){--list-grid-cols:minmax(0,auto)minmax(0,auto)1fr}.list :where(.list-row):has(.list-col-grow:nth-child(4)){--list-grid-cols:minmax(0,auto)minmax(0,auto)minmax(0,auto)1fr}.list :where(.list-row):has(.list-col-grow:nth-child(5)){--list-grid-cols:minmax(0,auto)minmax(0,auto)minmax(0,auto)minmax(0,auto)1fr}.list :where(.list-row):has(.list-col-grow:nth-child(6)){--list-grid-cols:minmax(0,auto)minmax(0,auto)minmax(0,auto)minmax(0,auto)minmax(0,auto)1fr}.list :where(.list-row) :not(.list-col-wrap){grid-row-start:1}:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{content:"";border-bottom:var(--border)solid;inset-inline:var(--radius-box);border-color:var(--color-base-content);position:absolute;bottom:0}@supports (color:color-mix(in lab, red, red)){:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{border-color:color-mix(in oklab,var(--color-base-content)5%,transparent)}}.toggle{border:var(--border)solid currentColor;color:var(--input-color);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--toggle-p),var(--radius-selector-max)) + min(var(--border),var(--radius-selector-max)));padding:var(--toggle-p);flex-shrink:0;grid-template-columns:0fr 1fr 1fr;place-content:center;display:inline-grid;position:relative;box-shadow:inset 0 1px}@supports (color:color-mix(in lab, red, red)){.toggle{box-shadow:0 1px color-mix(in oklab,currentColor calc(var(--depth)*10%),#0000)inset}}.toggle{--input-color:var(--color-base-content);transition:color .3s,grid-template-columns .2s}@supports (color:color-mix(in lab, red, red)){.toggle{--input-color:color-mix(in oklab,var(--color-base-content)50%,#0000)}}.toggle{--toggle-p:calc(var(--size)*.125);--size:calc(var(--size-selector,.25rem)*6);width:calc((var(--size)*2) - (var(--border) + var(--toggle-p))*2);height:var(--size)}.toggle>*{z-index:1;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#0000;border:none;grid-column:2/span 1;grid-row-start:1;height:100%;padding:.125rem;transition:opacity .2s,rotate .4s}.toggle>:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.toggle>:focus{outline-offset:2px;outline:2px solid #0000}}.toggle>:nth-child(2){color:var(--color-base-100);rotate:none}.toggle>:nth-child(3){color:var(--color-base-100);opacity:0;rotate:-15deg}.toggle:has(:checked)>:nth-child(2){opacity:0;rotate:15deg}.toggle:has(:checked)>:nth-child(3){opacity:1;rotate:none}.toggle:before{aspect-ratio:1;border-radius:var(--radius-selector);--tw-content:"";content:var(--tw-content);height:100%;box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1))inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1))inset,0 1px currentColor;background-color:currentColor;grid-row-start:1;grid-column-start:2;transition:background-color .1s,translate .2s,inset-inline-start .2s;position:relative;inset-inline-start:0;translate:0}@supports (color:color-mix(in lab, red, red)){.toggle:before{box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1))inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1))inset,0 1px color-mix(in oklab,currentColor calc(var(--depth)*10%),#0000)}}.toggle:before{background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise)}@media (forced-colors:active){.toggle:before{outline-style:var(--tw-outline-style);outline-offset:calc(1px*-1);outline-width:1px}}@media print{.toggle:before{outline-offset:-1rem;outline:.25rem solid}}.toggle:focus-visible,.toggle:has(:focus-visible){outline-offset:2px;outline:2px solid}.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked){background-color:var(--color-base-100);--input-color:var(--color-base-content);grid-template-columns:1fr 1fr 0fr}:is(.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked)):before{background-color:currentColor}@starting-style{:is(.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked)):before{opacity:0}}.toggle:indeterminate{grid-template-columns:.5fr 1fr .5fr}.toggle:disabled{cursor:not-allowed;opacity:.3}.toggle:disabled:before{border:var(--border)solid currentColor;background-color:#0000}.input{cursor:text;border:var(--border)solid #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--color-base-100);vertical-align:middle;white-space:nowrap;width:clamp(3rem,20rem,100%);height:var(--size);touch-action:manipulation;border-color:var(--input-color);box-shadow:0 1px var(--input-color)inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1))inset;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.5rem;padding-inline:.75rem;font-size:.875rem;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.input{box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000)inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1))inset}}.input{--size:calc(var(--size-field,.25rem)*10);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.input{--input-color:color-mix(in oklab,var(--color-base-content)20%,#0000)}}.input:where(input){display:inline-flex}.input :where(input){-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#0000;border:none;width:100%;height:100%;display:inline-flex}.input :where(input):focus,.input :where(input):focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.input :where(input):focus,.input :where(input):focus-within{outline-offset:2px;outline:2px solid #0000}}.input :where(input[type=url]),.input :where(input[type=email]){direction:ltr}.input :where(input[type=date]){display:inline-block}.input:focus,.input:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.input:focus,.input:focus-within{box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000)}}.input:focus,.input:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate;z-index:1}.input:has(>input[disabled]),.input:is(:disabled,[disabled]){cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.input:has(>input[disabled]),.input:is(:disabled,[disabled]){color:color-mix(in oklab,var(--color-base-content)40%,transparent)}}:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]))::-moz-placeholder{color:var(--color-base-content)}:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]))::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]))::-moz-placeholder{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]))::placeholder{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.input:has(>input[disabled]),.input:is(:disabled,[disabled]){box-shadow:none}.input:has(>input[disabled])>input[disabled]{cursor:not-allowed}.input::-webkit-date-and-time-value{text-align:inherit}.input[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input::-webkit-calendar-picker-indicator{position:absolute;inset-inline-end:.75em}.indicator{width:-moz-max-content;width:max-content;display:inline-flex;position:relative}.indicator :where(.indicator-item){z-index:1;white-space:nowrap;top:var(--indicator-t,0);bottom:var(--indicator-b,auto);left:var(--indicator-s,auto);right:var(--indicator-e,0);translate:var(--indicator-x,50%)var(--indicator-y,-50%);position:absolute}.table{border-radius:var(--radius-box);text-align:left;width:100%;font-size:.875rem;position:relative}.table:where(:dir(rtl),[dir=rtl],[dir=rtl] *){text-align:right}@media (hover:hover){:is(.table tr.row-hover,.table tr.row-hover:nth-child(2n)):hover{background-color:var(--color-base-200)}}.table :where(th,td){vertical-align:middle;padding-block:.75rem;padding-inline:1rem}.table :where(thead,tfoot){white-space:nowrap;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(thead,tfoot){color:color-mix(in oklab,var(--color-base-content)60%,transparent)}}.table :where(thead,tfoot){font-size:.875rem;font-weight:600}.table :where(tfoot){border-top:var(--border)solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(tfoot){border-top:var(--border)solid color-mix(in oklch,var(--color-base-content)5%,#0000)}}.table :where(.table-pin-rows thead tr){z-index:1;background-color:var(--color-base-100);position:sticky;top:0}.table :where(.table-pin-rows tfoot tr){z-index:1;background-color:var(--color-base-100);position:sticky;bottom:0}.table :where(.table-pin-cols tr th){background-color:var(--color-base-100);position:sticky;left:0;right:0}.table :where(thead tr,tbody tr:not(:last-child)){border-bottom:var(--border)solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(thead tr,tbody tr:not(:last-child)){border-bottom:var(--border)solid color-mix(in oklch,var(--color-base-content)5%,#0000)}}.steps{counter-reset:step;grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid;overflow:auto hidden}.steps .step{text-align:center;--step-bg:var(--color-base-300);--step-fg:var(--color-base-content);grid-template-rows:40px 1fr;grid-template-columns:auto;place-items:center;min-width:4rem;display:grid}.steps .step:before{width:100%;height:.5rem;color:var(--step-bg);background-color:var(--step-bg);--tw-content:"";content:var(--tw-content);border:1px solid;grid-row-start:1;grid-column-start:1;margin-inline-start:-100%;top:0}.steps .step>.step-icon,.steps .step:not(:has(.step-icon)):after{content:counter(step);counter-increment:step;z-index:1;color:var(--step-fg);background-color:var(--step-bg);border:1px solid var(--step-bg);border-radius:3.40282e38px;grid-row-start:1;grid-column-start:1;place-self:center;place-items:center;width:2rem;height:2rem;display:grid;position:relative}.steps .step:first-child:before{content:none}.steps .step[data-content]:after{content:attr(data-content)}.steps .step-neutral+.step-neutral:before,.steps .step-neutral:after,.steps .step-neutral>.step-icon{--step-bg:var(--color-neutral);--step-fg:var(--color-neutral-content)}.steps .step-primary+.step-primary:before,.steps .step-primary:after,.steps .step-primary>.step-icon{--step-bg:var(--color-primary);--step-fg:var(--color-primary-content)}.steps .step-secondary+.step-secondary:before,.steps .step-secondary:after,.steps .step-secondary>.step-icon{--step-bg:var(--color-secondary);--step-fg:var(--color-secondary-content)}.steps .step-accent+.step-accent:before,.steps .step-accent:after,.steps .step-accent>.step-icon{--step-bg:var(--color-accent);--step-fg:var(--color-accent-content)}.steps .step-info+.step-info:before,.steps .step-info:after,.steps .step-info>.step-icon{--step-bg:var(--color-info);--step-fg:var(--color-info-content)}.steps .step-success+.step-success:before,.steps .step-success:after,.steps .step-success>.step-icon{--step-bg:var(--color-success);--step-fg:var(--color-success-content)}.steps .step-warning+.step-warning:before,.steps .step-warning:after,.steps .step-warning>.step-icon{--step-bg:var(--color-warning);--step-fg:var(--color-warning-content)}.steps .step-error+.step-error:before,.steps .step-error:after,.steps .step-error>.step-icon{--step-bg:var(--color-error);--step-fg:var(--color-error-content)}.range{-webkit-appearance:none;-moz-appearance:none;appearance:none;webkit-appearance:none;--range-thumb:var(--color-base-100);--range-thumb-size:calc(var(--size-selector,.25rem)*6);--range-progress:currentColor;--range-fill:1;--range-p:.25rem;--range-bg:currentColor}@supports (color:color-mix(in lab, red, red)){.range{--range-bg:color-mix(in oklab,currentColor 10%,#0000)}}.range{cursor:pointer;vertical-align:middle;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--range-p),var(--radius-selector-max)));width:clamp(3rem,20rem,100%);height:var(--range-thumb-size);background-color:#0000;border:none;overflow:hidden}[dir=rtl] .range{--range-dir:-1}.range:focus{outline:none}.range:focus-visible{outline-offset:2px;outline:2px solid}.range::-webkit-slider-runnable-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size)*.5)}@media (forced-colors:active){.range::-webkit-slider-runnable-track{border:1px solid}.range::-moz-range-track{border:1px solid}}.range::-webkit-slider-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p),var(--radius-selector-max)));height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p)solid;-webkit-appearance:none;appearance:none;webkit-appearance:none;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1))inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1))inset,0 1px currentColor,0 0 0 2rem var(--range-thumb)inset,calc((var(--range-dir,1)*-100rem) - (var(--range-dir,1)*var(--range-thumb-size)/2))0 0 calc(100rem*var(--range-fill));background-color:currentColor;position:relative;top:50%;transform:translateY(-50%)}@supports (color:color-mix(in lab, red, red)){.range::-webkit-slider-thumb{box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1))inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1))inset,0 1px color-mix(in oklab,currentColor calc(var(--depth)*10%),#0000),0 0 0 2rem var(--range-thumb)inset,calc((var(--range-dir,1)*-100rem) - (var(--range-dir,1)*var(--range-thumb-size)/2))0 0 calc(100rem*var(--range-fill))}}.range::-moz-range-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size)*.5)}.range::-moz-range-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p),var(--radius-selector-max)));height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p)solid;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1))inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1))inset,0 1px currentColor,0 0 0 2rem var(--range-thumb)inset,calc((var(--range-dir,1)*-100rem) - (var(--range-dir,1)*var(--range-thumb-size)/2))0 0 calc(100rem*var(--range-fill));background-color:currentColor;position:relative;top:50%}@supports (color:color-mix(in lab, red, red)){.range::-moz-range-thumb{box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1))inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1))inset,0 1px color-mix(in oklab,currentColor calc(var(--depth)*10%),#0000),0 0 0 2rem var(--range-thumb)inset,calc((var(--range-dir,1)*-100rem) - (var(--range-dir,1)*var(--range-thumb-size)/2))0 0 calc(100rem*var(--range-fill))}}.range:disabled{cursor:not-allowed;opacity:.3}.select{border:var(--border)solid #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--color-base-100);vertical-align:middle;width:clamp(3rem,20rem,100%);height:var(--size);touch-action:manipulation;text-overflow:ellipsis;box-shadow:0 1px var(--input-color)inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1))inset;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 20px) calc(1px + 50%),calc(100% - 16.1px) calc(1px + 50%);background-repeat:no-repeat;background-size:4px 4px,4px 4px;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.375rem;padding-inline:1rem 1.75rem;font-size:.875rem;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.select{box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000)inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1))inset}}.select{border-color:var(--input-color);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.select{--input-color:color-mix(in oklab,var(--color-base-content)20%,#0000)}}.select{--size:calc(var(--size-field,.25rem)*10)}[dir=rtl] .select{background-position:12px calc(1px + 50%),16px calc(1px + 50%)}.select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:inherit;border-radius:inherit;border-style:none;width:calc(100% + 2.75rem);height:calc(100% - 2px);margin-inline:-1rem -1.75rem;padding-inline:1rem 1.75rem}.select select:focus,.select select:focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.select select:focus,.select select:focus-within{outline-offset:2px;outline:2px solid #0000}}.select select:not(:last-child){background-image:none;margin-inline-end:-1.375rem}.select:focus,.select:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.select:focus,.select:focus-within{box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000)}}.select:focus,.select:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate;z-index:1}.select:has(>select[disabled]),.select:is(:disabled,[disabled]){cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.select:has(>select[disabled]),.select:is(:disabled,[disabled]){color:color-mix(in oklab,var(--color-base-content)40%,transparent)}}:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]))::-moz-placeholder{color:var(--color-base-content)}:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]))::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]))::-moz-placeholder{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]))::placeholder{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.select:has(>select[disabled])>select[disabled]{cursor:not-allowed}.checkbox{border:var(--border)solid var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.checkbox{border:var(--border)solid var(--input-color,color-mix(in oklab,var(--color-base-content)20%,#0000))}}.checkbox{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--radius-selector);vertical-align:middle;color:var(--color-base-content);box-shadow:0 1px oklch(0% 0 0/calc(var(--depth)*.1))inset,0 0 #0000 inset,0 0 #0000;--size:calc(var(--size-selector,.25rem)*6);width:var(--size);height:var(--size);background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise);flex-shrink:0;padding:.25rem;transition:background-color .2s,box-shadow .2s;display:inline-block;position:relative}.checkbox:before{--tw-content:"";content:var(--tw-content);opacity:0;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,70% 80%,70% 100%);width:100%;height:100%;box-shadow:0px 3px 0 0px oklch(100% 0 0/calc(var(--depth)*.1))inset;background-color:currentColor;font-size:1rem;line-height:.75;transition:clip-path .3s .1s,opacity .1s .1s,rotate .3s .1s,translate .3s .1s;display:block;rotate:45deg}.checkbox:focus-visible{outline:2px solid var(--input-color,currentColor);outline-offset:2px}.checkbox:checked,.checkbox[aria-checked=true]{background-color:var(--input-color,#0000);box-shadow:0 0 #0000 inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1))inset,0 1px oklch(0% 0 0/calc(var(--depth)*.1))}:is(.checkbox:checked,.checkbox[aria-checked=true]):before{clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 0%,70% 0%,70% 100%);opacity:1}@media (forced-colors:active){:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:none}}@media print{:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:none}}.checkbox:indeterminate:before{opacity:1;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,80% 80%,80% 100%);translate:0 -35%;rotate:none}.checkbox:disabled{cursor:not-allowed;opacity:.2}.radio{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;vertical-align:middle;border:var(--border)solid var(--input-color,currentColor);border-radius:3.40282e38px;flex-shrink:0;padding:.25rem;display:inline-block;position:relative}@supports (color:color-mix(in lab, red, red)){.radio{border:var(--border)solid var(--input-color,color-mix(in srgb,currentColor 20%,#0000))}}.radio{box-shadow:0 1px oklch(0% 0 0/calc(var(--depth)*.1))inset;--size:calc(var(--size-selector,.25rem)*6);width:var(--size);height:var(--size);color:var(--input-color,currentColor)}.radio:before{--tw-content:"";content:var(--tw-content);background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise);border-radius:3.40282e38px;width:100%;height:100%;display:block}.radio:focus-visible{outline:2px solid}.radio:checked,.radio[aria-checked=true]{background-color:var(--color-base-100);border-color:currentColor;animation:.2s ease-out radio}:is(.radio:checked,.radio[aria-checked=true]):before{box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1))inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1))inset,0 1px oklch(0% 0 0/calc(var(--depth)*.1));background-color:currentColor}@media (forced-colors:active){:is(.radio:checked,.radio[aria-checked=true]):before{outline-style:var(--tw-outline-style);outline-offset:calc(1px*-1);outline-width:1px}}@media print{:is(.radio:checked,.radio[aria-checked=true]):before{outline-offset:-1rem;outline:.25rem solid}}.radio:disabled{cursor:not-allowed;opacity:.2}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-full{top:100%}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-10{right:calc(var(--spacing)*10)}.right-full{right:100%}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing)*0)}.left-1\\/2{left:50%}.left-full{left:100%}.modal-backdrop{color:#0000;z-index:-1;grid-row-start:1;grid-column-start:1;place-self:stretch stretch;display:grid}.modal-backdrop button{cursor:pointer}.z-10{z-index:10}.z-1001{z-index:1001}.modal-box{background-color:var(--color-base-100);border-top-left-radius:var(--modal-tl,var(--radius-box));border-top-right-radius:var(--modal-tr,var(--radius-box));border-bottom-left-radius:var(--modal-bl,var(--radius-box));border-bottom-right-radius:var(--modal-br,var(--radius-box));opacity:0;overscroll-behavior:contain;grid-row-start:1;grid-column-start:1;width:91.6667%;max-width:32rem;max-height:100vh;padding:1.5rem;transition:translate .3s ease-out,scale .3s ease-out,opacity .2s ease-out 50ms,box-shadow .3s ease-out;overflow-y:auto;scale:95%;box-shadow:0 25px 50px -12px oklch(0% 0 0/.25)}.stat-value{white-space:nowrap;grid-column-start:1;font-size:2rem;font-weight:800}.stat-desc{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab, red, red)){.stat-desc{color:color-mix(in oklab,var(--color-base-content)60%,transparent)}}.stat-desc{font-size:.75rem}.stat-title{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab, red, red)){.stat-title{color:color-mix(in oklab,var(--color-base-content)60%,transparent)}}.stat-title{font-size:.75rem}.float-right{float:right}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.divider{white-space:nowrap;height:1rem;margin:var(--divider-m,1rem 0);--divider-color:var(--color-base-content);flex-direction:row;align-self:stretch;align-items:center;display:flex}@supports (color:color-mix(in lab, red, red)){.divider{--divider-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.divider:before,.divider:after{content:"";background-color:var(--divider-color);flex-grow:1;width:100%;height:.125rem}@media print{.divider:before,.divider:after{border:.5px solid}}.divider:not(:empty){gap:1rem}.m-2{margin:calc(var(--spacing)*2)}.m-4{margin:calc(var(--spacing)*4)}.filter{flex-wrap:wrap;display:flex}.filter input[type=radio]{width:auto}.filter input{opacity:1;transition:margin .1s,opacity .3s,padding .3s,border-width .1s;overflow:hidden;scale:1}.filter input:not(:last-child){margin-inline-end:.25rem}.filter input.filter-reset{aspect-ratio:1}.filter input.filter-reset:after{content:"×"}.filter:not(:has(input:checked:not(.filter-reset))) .filter-reset,.filter:not(:has(input:checked:not(.filter-reset))) input[type=reset],.filter:has(input:checked:not(.filter-reset)) input:not(:checked,.filter-reset,input[type=reset]){opacity:0;border-width:0;width:0;margin-inline:0;padding-inline:0;scale:0}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-auto{margin-inline:auto}.input-sm{--size:calc(var(--size-field,.25rem)*8);font-size:.75rem}.input-sm[type=number]::-webkit-inner-spin-button{margin-block:-.5rem;margin-inline-end:-.75rem}.input-xs{--size:calc(var(--size-field,.25rem)*6);font-size:.6875rem}.input-xs[type=number]::-webkit-inner-spin-button{margin-block:-.25rem;margin-inline-end:-.75rem}.my-1{margin-block:calc(var(--spacing)*1)}.my-4{margin-block:calc(var(--spacing)*4)}.label{white-space:nowrap;color:currentColor;align-items:center;gap:.375rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.label{color:color-mix(in oklab,currentColor 60%,transparent)}}.label:has(input){cursor:pointer}.label:is(.input>*,.select>*){white-space:nowrap;height:calc(100% - .5rem);font-size:inherit;align-items:center;padding-inline:.75rem;display:flex}.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border)solid currentColor;margin-inline:-.75rem .75rem}@supports (color:color-mix(in lab, red, red)){.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border)solid color-mix(in oklab,currentColor 10%,#0000)}}.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border)solid currentColor;margin-inline:.75rem -.75rem}@supports (color:color-mix(in lab, red, red)){.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border)solid color-mix(in oklab,currentColor 10%,#0000)}}.join-item:where(:not(:first-child,:disabled,[disabled],.btn-disabled)){margin-block-start:0;margin-inline-start:calc(var(--border,1px)*-1)}.join-item:where(:is(:disabled,[disabled],.btn-disabled)){border-width:var(--border,1px)0 var(--border,1px)var(--border,1px)}.modal-action{justify-content:flex-end;gap:.5rem;margin-top:1.5rem;display:flex}.mt-0{margin-top:calc(var(--spacing)*0)}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-0{margin-bottom:calc(var(--spacing)*0)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-2\\.5{margin-left:calc(var(--spacing)*2.5)}.ml-3{margin-left:calc(var(--spacing)*3)}.status{aspect-ratio:1;border-radius:var(--radius-selector);background-color:var(--color-base-content);width:.5rem;height:.5rem;display:inline-block}@supports (color:color-mix(in lab, red, red)){.status{background-color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.status{vertical-align:middle;color:#0000004d;background-position:50%;background-repeat:no-repeat}@supports (color:color-mix(in lab, red, red)){.status{color:#0000004d}@supports (color:color-mix(in lab, red, red)){.status{color:color-mix(in oklab,var(--color-black)30%,transparent)}}}.status{background-image:radial-gradient(circle at 35% 30%,oklch(1 0 0/calc(var(--depth)*.5)),#0000);box-shadow:0 2px 3px -1px}@supports (color:color-mix(in lab, red, red)){.status{box-shadow:0 2px 3px -1px color-mix(in oklab,currentColor calc(var(--depth)*100%),#0000)}}.iconify{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.tabs{--tabs-height:auto;--tabs-direction:row;--tab-height:calc(var(--size-field,.25rem)*10);height:var(--tabs-height);flex-wrap:wrap;flex-direction:var(--tabs-direction);display:flex}.footer{grid-auto-flow:row;place-items:start;gap:2.5rem 1rem;width:100%;font-size:.875rem;line-height:1.25rem;display:grid}.footer>*{place-items:start;gap:.5rem;display:grid}.footer.footer-center{text-align:center;grid-auto-flow:column dense;place-items:center}.footer.footer-center>*{place-items:center}.stat{grid-template-columns:repeat(1,1fr);-moz-column-gap:1rem;column-gap:1rem;width:100%;padding-block:1rem;padding-inline:1.5rem;display:inline-grid}.stat:not(:last-child){border-inline-end:var(--border)dashed currentColor}@supports (color:color-mix(in lab, red, red)){.stat:not(:last-child){border-inline-end:var(--border)dashed color-mix(in oklab,currentColor 10%,#0000)}}.stat:not(:last-child){border-block-end:none}.join{--join-ss:0;--join-se:0;--join-es:0;--join-ee:0;align-items:stretch;display:inline-flex}.join :where(.join-item){border-start-start-radius:var(--join-ss,0);border-start-end-radius:var(--join-se,0);border-end-end-radius:var(--join-ee,0);border-end-start-radius:var(--join-es,0)}.join :where(.join-item) *{--join-ss:var(--radius-field);--join-se:var(--radius-field);--join-es:var(--radius-field);--join-ee:var(--radius-field)}.join>.join-item:where(:first-child),.join :first-child:not(:last-child) :where(.join-item){--join-ss:var(--radius-field);--join-se:0;--join-es:var(--radius-field);--join-ee:0}.join>.join-item:where(:last-child),.join :last-child:not(:first-child) :where(.join-item){--join-ss:0;--join-se:var(--radius-field);--join-es:0;--join-ee:var(--radius-field)}.join>.join-item:where(:only-child),.join :only-child :where(.join-item){--join-ss:var(--radius-field);--join-se:var(--radius-field);--join-es:var(--radius-field);--join-ee:var(--radius-field)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.modal-bottom{place-items:end}.modal-bottom :where(.modal-box){--modal-tl:var(--radius-box);--modal-tr:var(--radius-box);--modal-bl:0;--modal-br:0;width:100%;max-width:none;height:auto;max-height:calc(100vh - 5em);translate:0 100%;scale:1}.btn-circle{width:var(--size);height:var(--size);border-radius:3.40282e38px;padding-inline:0}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-\\[calc\\(var\\(--size\\)\\*0\\.7\\)\\]{height:calc(var(--size)*.7)}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.max-h-72{max-height:calc(var(--spacing)*72)}.max-h-80{max-height:calc(var(--spacing)*80)}.loading-md{width:calc(var(--size-selector,.25rem)*6)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-28{width:calc(var(--spacing)*28)}.w-32{width:calc(var(--spacing)*32)}.w-40{width:calc(var(--spacing)*40)}.w-64{width:calc(var(--spacing)*64)}.w-\\[6rem\\]{width:6rem}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.max-w-\\(--breakpoint-lg\\){max-width:var(--breakpoint-lg)}.min-w-8{min-width:calc(var(--spacing)*8)}.min-w-24{min-width:calc(var(--spacing)*24)}.min-w-32{min-width:calc(var(--spacing)*32)}.min-w-\\[0\\.05rem\\]{min-width:.05rem}.min-w-\\[7\\.5rem\\]{min-width:7.5rem}.min-w-\\[180px\\]{min-width:180px}.flex-1{flex:1}.grow{flex-grow:1}.translate-x-\\[-50\\%\\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\\[-50\\%\\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.skeleton{border-radius:var(--radius-box);background-color:var(--color-base-300)}@media (prefers-reduced-motion:reduce){.skeleton{transition-duration:15s}}.skeleton{will-change:background-position;background-image:linear-gradient(105deg,#0000 0% 40%,var(--color-base-100)50%,#0000 60% 100%);background-position-x:-50%;background-repeat:no-repeat;background-size:200%;animation:1.8s ease-in-out infinite skeleton}.link{cursor:pointer;text-decoration-line:underline}.link:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.link:focus{outline-offset:2px;outline:2px solid #0000}}.link:focus-visible{outline-offset:2px;outline:2px solid}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-inside{list-style-position:inside}.list-outside{list-style-position:outside}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-4{gap:calc(var(--spacing)*4)}.gap-x-1{-moz-column-gap:calc(var(--spacing)*1);column-gap:calc(var(--spacing)*1)}.gap-x-6{-moz-column-gap:calc(var(--spacing)*6);column-gap:calc(var(--spacing)*6)}.gap-y-1{row-gap:calc(var(--spacing)*1)}.gap-y-2{row-gap:calc(var(--spacing)*2)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-t-md{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-tr-md{border-top-right-radius:var(--radius-md)}.rounded-b-md{border-bottom-right-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.select-ghost{box-shadow:none;background-color:#0000;border-color:#0000;transition:background-color .2s}.select-ghost:focus,.select-ghost:focus-within{background-color:var(--color-base-100);color:var(--color-base-content);box-shadow:none;border-color:#0000}.input-ghost{box-shadow:none;background-color:#0000;border-color:#0000}.input-ghost:focus,.input-ghost:focus-within{background-color:var(--color-base-100);color:var(--color-base-content);box-shadow:none;border-color:#0000}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-400{border-color:var(--color-gray-400)}.border-gray-500{border-color:var(--color-gray-500)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-300{background-color:var(--color-blue-300)}.bg-red-200{background-color:var(--color-red-200)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.loading-spinner{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E")}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-1\\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-0\\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-16{padding-block:calc(var(--spacing)*16)}.pr-14{padding-right:calc(var(--spacing)*14)}.text-center{text-align:center}.text-justify{text-align:justify}.text-left{text-align:left}.text-right{text-align:right}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.select-sm{--size:calc(var(--size-field,.25rem)*8);font-size:.75rem}.select-xs{--size:calc(var(--size-field,.25rem)*6);font-size:.6875rem}.leading-5{--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.text-nowrap{text-wrap:nowrap}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.text-\\[\\#606060\\]{color:#606060}.text-black{color:var(--color-black)}.text-blue-600{color:var(--color-blue-600)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-neutral-500{color:var(--color-neutral-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.underline{text-decoration-line:underline}.decoration-red-600{text-decoration-color:var(--color-red-600)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible){--btn-shadow:"";--btn-bg:#0000;--btn-border:#0000;--btn-noise:none}.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible):not(:disabled,[disabled],.btn-disabled){--btn-fg:currentColor;outline-color:currentColor}@media (hover:none){.btn-ghost:hover:not(.btn-active,:active,:focus-visible,:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-bg:#0000;--btn-border:#0000;--btn-noise:none;--btn-fg:currentColor}}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.btn-outline:not(.btn-active,:hover,:active:focus,:focus-visible,:disabled,[disabled],.btn-disabled,:checked){--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}@media (hover:none){.btn-outline:hover:not(.btn-active,:active,:focus-visible,:disabled,[disabled],.btn-disabled,:checked){--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}}.btn-sm{--fontsize:.75rem;--btn-p:.75rem;--size:calc(var(--size-field,.25rem)*8)}.btn-xs{--fontsize:.6875rem;--btn-p:.5rem;--size:calc(var(--size-field,.25rem)*6)}.select-text{-webkit-user-select:text;-moz-user-select:text;user-select:text}.input-error,.input-error:focus,.input-error:focus-within{--input-color:var(--color-error)}.mdi--chevron-left{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M15.41 16.58L10.83 12l4.58-4.59L14 6l-6 6l6 6z'/%3E%3C/svg%3E")}.mdi--chevron-left-first{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6l6 6zM6 6h2v12H6z'/%3E%3C/svg%3E")}.mdi--chevron-right{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M8.59 16.58L13.17 12L8.59 7.41L10 6l6 6l-6 6z'/%3E%3C/svg%3E")}.mdi--chevron-right-last{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6l-6-6zM16 6h2v12h-2z'/%3E%3C/svg%3E")}.mdi--fullscreen{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M5 5h5v2H7v3H5zm9 0h5v5h-2V7h-3zm3 9h2v5h-5v-2h3zm-7 3v2H5v-5h2v3z'/%3E%3C/svg%3E")}.mdi--fullscreen-exit{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M14 14h5v2h-3v3h-2zm-9 0h5v5H8v-3H5zm3-9h2v5H5V8h3zm11 3v2h-5V5h2v3z'/%3E%3C/svg%3E")}.mdi--reload{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M2 12a9 9 0 0 0 9 9c2.39 0 4.68-.94 6.4-2.6l-1.5-1.5A6.7 6.7 0 0 1 11 19c-6.24 0-9.36-7.54-4.95-11.95S18 5.77 18 12h-3l4 4h.1l3.9-4h-3a9 9 0 0 0-18 0'/%3E%3C/svg%3E")}@media (hover:hover){.group-hover\\:visible:is(:where(.group):hover *){visibility:visible}.hover\\:scale-90:hover{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\\:font-bold:hover{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.hover\\:text-blue-700:hover{color:var(--color-blue-700)}.hover\\:text-blue-800:hover{color:var(--color-blue-800)}.hover\\:text-gray-400:hover{color:var(--color-gray-400)}.hover\\:text-gray-700:hover{color:var(--color-gray-700)}.hover\\:text-red-600:hover{color:var(--color-red-600)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-80:hover{opacity:.8}}.focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-blue-300:focus{--tw-ring-color:var(--color-blue-300)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:underline:focus-visible{text-decoration-line:underline}@media (min-width:40rem){.sm\\:modal-middle{place-items:center}.sm\\:modal-middle :where(.modal-box){--modal-tl:var(--radius-box);--modal-tr:var(--radius-box);--modal-bl:var(--radius-box);--modal-br:var(--radius-box);width:91.6667%;max-width:32rem;height:auto;max-height:calc(100vh - 5em);translate:0 2%;scale:98%}.sm\\:max-w-5xl{max-width:var(--container-5xl)}.sm\\:flex-row{flex-direction:row}.sm\\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}}@container (min-width:2rem){.\\@\\[2rem\\]\\:visible{visibility:visible}}@container (min-width:6rem){.\\@\\[6rem\\]\\:visible{visibility:visible}}@container (min-width:14rem){.\\@4xs\\:flex-row{flex-direction:row}.\\@4xs\\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.\\@4xs\\:rounded-tr-none{border-top-right-radius:0}.\\@4xs\\:rounded-bl-md{border-bottom-left-radius:var(--radius-md)}}@container (min-width:28rem){.\\@md\\:flex-row{flex-direction:row}.\\@md\\:rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.\\@md\\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.\\@md\\:rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.\\@md\\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}}@container (min-width:36rem){.\\@xl\\:block{display:block}.\\@xl\\:justify-end{justify-content:flex-end}}}@keyframes progress{50%{background-position-x:-115%}}@keyframes rating{0%,40%{filter:brightness(1.05)contrast(1.05);scale:1.1}}@keyframes skeleton{0%{background-position:150%}to{background-position:-50%}}@keyframes dropdown{0%{opacity:0}}@keyframes radio{0%{padding:5px}50%{padding:3px}}@keyframes toast{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}
|
|
2056
2072
|
`;
|
|
2057
|
-
var __defProp$
|
|
2058
|
-
var __decorateClass$
|
|
2073
|
+
var __defProp$i = Object.defineProperty;
|
|
2074
|
+
var __decorateClass$i = (decorators, target, key, kind) => {
|
|
2059
2075
|
var result = void 0;
|
|
2060
2076
|
for (var i2 = decorators.length - 1, decorator; i2 >= 0; i2--)
|
|
2061
2077
|
if (decorator = decorators[i2])
|
|
2062
2078
|
result = decorator(target, key, result) || result;
|
|
2063
|
-
if (result) __defProp$
|
|
2079
|
+
if (result) __defProp$i(target, key, result);
|
|
2064
2080
|
return result;
|
|
2065
2081
|
};
|
|
2066
2082
|
const tailwindElementCss = unsafeCSS(tailwindStyle);
|
|
@@ -2083,20 +2099,20 @@ const _PreactLitAdapter = class _PreactLitAdapter extends ReactiveElement {
|
|
|
2083
2099
|
};
|
|
2084
2100
|
_PreactLitAdapter.styles = [tailwindElementCss, minMaxPercentSliderElementCss];
|
|
2085
2101
|
let PreactLitAdapter = _PreactLitAdapter;
|
|
2086
|
-
__decorateClass$
|
|
2102
|
+
__decorateClass$i([
|
|
2087
2103
|
consume({ context: lapisContext })
|
|
2088
2104
|
], PreactLitAdapter.prototype, "lapis");
|
|
2089
|
-
__decorateClass$
|
|
2105
|
+
__decorateClass$i([
|
|
2090
2106
|
consume({ context: referenceGenomeContext, subscribe: true })
|
|
2091
2107
|
], PreactLitAdapter.prototype, "referenceGenome");
|
|
2092
|
-
var __defProp$
|
|
2093
|
-
var __getOwnPropDesc$
|
|
2094
|
-
var __decorateClass$
|
|
2095
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
2108
|
+
var __defProp$h = Object.defineProperty;
|
|
2109
|
+
var __getOwnPropDesc$h = Object.getOwnPropertyDescriptor;
|
|
2110
|
+
var __decorateClass$h = (decorators, target, key, kind) => {
|
|
2111
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$h(target, key) : target;
|
|
2096
2112
|
for (var i2 = decorators.length - 1, decorator; i2 >= 0; i2--)
|
|
2097
2113
|
if (decorator = decorators[i2])
|
|
2098
2114
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
2099
|
-
if (kind && result) __defProp$
|
|
2115
|
+
if (kind && result) __defProp$h(target, key, result);
|
|
2100
2116
|
return result;
|
|
2101
2117
|
};
|
|
2102
2118
|
let GenomeDataViewerComponent = class extends PreactLitAdapter {
|
|
@@ -2110,16 +2126,16 @@ let GenomeDataViewerComponent = class extends PreactLitAdapter {
|
|
|
2110
2126
|
return /* @__PURE__ */ u$1(GenomeDataViewer, { gff3Source: this.gff3Source, genomeLength: this.genomeLength, width: this.width });
|
|
2111
2127
|
}
|
|
2112
2128
|
};
|
|
2113
|
-
__decorateClass$
|
|
2129
|
+
__decorateClass$h([
|
|
2114
2130
|
n$1({ type: String })
|
|
2115
2131
|
], GenomeDataViewerComponent.prototype, "gff3Source", 2);
|
|
2116
|
-
__decorateClass$
|
|
2132
|
+
__decorateClass$h([
|
|
2117
2133
|
n$1({ type: Number })
|
|
2118
2134
|
], GenomeDataViewerComponent.prototype, "genomeLength", 2);
|
|
2119
|
-
__decorateClass$
|
|
2135
|
+
__decorateClass$h([
|
|
2120
2136
|
n$1({ type: String })
|
|
2121
2137
|
], GenomeDataViewerComponent.prototype, "width", 2);
|
|
2122
|
-
GenomeDataViewerComponent = __decorateClass$
|
|
2138
|
+
GenomeDataViewerComponent = __decorateClass$h([
|
|
2123
2139
|
t$3("gs-genome-data-viewer")
|
|
2124
2140
|
], GenomeDataViewerComponent);
|
|
2125
2141
|
const MutationAnnotationsContext = createContext$1({
|
|
@@ -3381,7 +3397,7 @@ const MutationComparisonTabs = ({ data, originalComponentProps }) => {
|
|
|
3381
3397
|
ref: tabsRef,
|
|
3382
3398
|
tabs,
|
|
3383
3399
|
toolbar: /* @__PURE__ */ u$1(
|
|
3384
|
-
Toolbar$
|
|
3400
|
+
Toolbar$8,
|
|
3385
3401
|
{
|
|
3386
3402
|
displayedSegments,
|
|
3387
3403
|
setDisplayedSegments,
|
|
@@ -3396,7 +3412,7 @@ const MutationComparisonTabs = ({ data, originalComponentProps }) => {
|
|
|
3396
3412
|
}
|
|
3397
3413
|
);
|
|
3398
3414
|
};
|
|
3399
|
-
const Toolbar$
|
|
3415
|
+
const Toolbar$8 = ({
|
|
3400
3416
|
displayedSegments,
|
|
3401
3417
|
setDisplayedSegments,
|
|
3402
3418
|
displayedMutationTypes,
|
|
@@ -3471,14 +3487,14 @@ const _PreactLitAdapterWithGridJsStyles = class _PreactLitAdapterWithGridJsStyle
|
|
|
3471
3487
|
};
|
|
3472
3488
|
_PreactLitAdapterWithGridJsStyles.styles = [...PreactLitAdapter.styles, gridJsElementCss];
|
|
3473
3489
|
let PreactLitAdapterWithGridJsStyles = _PreactLitAdapterWithGridJsStyles;
|
|
3474
|
-
var __defProp$
|
|
3475
|
-
var __getOwnPropDesc$
|
|
3476
|
-
var __decorateClass$
|
|
3477
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
3490
|
+
var __defProp$g = Object.defineProperty;
|
|
3491
|
+
var __getOwnPropDesc$g = Object.getOwnPropertyDescriptor;
|
|
3492
|
+
var __decorateClass$g = (decorators, target, key, kind) => {
|
|
3493
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$g(target, key) : target;
|
|
3478
3494
|
for (var i2 = decorators.length - 1, decorator; i2 >= 0; i2--)
|
|
3479
3495
|
if (decorator = decorators[i2])
|
|
3480
3496
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
3481
|
-
if (kind && result) __defProp$
|
|
3497
|
+
if (kind && result) __defProp$g(target, key, result);
|
|
3482
3498
|
return result;
|
|
3483
3499
|
};
|
|
3484
3500
|
let MutationComparisonComponent = class extends PreactLitAdapterWithGridJsStyles {
|
|
@@ -3507,31 +3523,31 @@ let MutationComparisonComponent = class extends PreactLitAdapterWithGridJsStyles
|
|
|
3507
3523
|
) }) });
|
|
3508
3524
|
}
|
|
3509
3525
|
};
|
|
3510
|
-
__decorateClass$
|
|
3526
|
+
__decorateClass$g([
|
|
3511
3527
|
n$1({ type: Array })
|
|
3512
3528
|
], MutationComparisonComponent.prototype, "lapisFilters", 2);
|
|
3513
|
-
__decorateClass$
|
|
3529
|
+
__decorateClass$g([
|
|
3514
3530
|
n$1({ type: String })
|
|
3515
3531
|
], MutationComparisonComponent.prototype, "sequenceType", 2);
|
|
3516
|
-
__decorateClass$
|
|
3532
|
+
__decorateClass$g([
|
|
3517
3533
|
n$1({ type: Array })
|
|
3518
3534
|
], MutationComparisonComponent.prototype, "views", 2);
|
|
3519
|
-
__decorateClass$
|
|
3535
|
+
__decorateClass$g([
|
|
3520
3536
|
n$1({ type: String })
|
|
3521
3537
|
], MutationComparisonComponent.prototype, "width", 2);
|
|
3522
|
-
__decorateClass$
|
|
3538
|
+
__decorateClass$g([
|
|
3523
3539
|
n$1({ type: String })
|
|
3524
3540
|
], MutationComparisonComponent.prototype, "height", 2);
|
|
3525
|
-
__decorateClass$
|
|
3541
|
+
__decorateClass$g([
|
|
3526
3542
|
n$1({ type: Object })
|
|
3527
3543
|
], MutationComparisonComponent.prototype, "pageSize", 2);
|
|
3528
|
-
__decorateClass$
|
|
3544
|
+
__decorateClass$g([
|
|
3529
3545
|
consume({ context: mutationAnnotationsContext, subscribe: true })
|
|
3530
3546
|
], MutationComparisonComponent.prototype, "mutationAnnotations", 2);
|
|
3531
|
-
__decorateClass$
|
|
3547
|
+
__decorateClass$g([
|
|
3532
3548
|
consume({ context: mutationLinkTemplateContext, subscribe: true })
|
|
3533
3549
|
], MutationComparisonComponent.prototype, "mutationLinkTemplate", 2);
|
|
3534
|
-
MutationComparisonComponent = __decorateClass$
|
|
3550
|
+
MutationComparisonComponent = __decorateClass$g([
|
|
3535
3551
|
t$3("gs-mutation-comparison")
|
|
3536
3552
|
], MutationComparisonComponent);
|
|
3537
3553
|
function getInsertionsTableData(data) {
|
|
@@ -3959,7 +3975,7 @@ const MutationsTabs = ({ mutationsData, originalComponentProps }) => {
|
|
|
3959
3975
|
};
|
|
3960
3976
|
const tabs = originalComponentProps.views.map((view) => getTab(view));
|
|
3961
3977
|
const toolbar = (activeTab) => /* @__PURE__ */ u$1(
|
|
3962
|
-
Toolbar$
|
|
3978
|
+
Toolbar$7,
|
|
3963
3979
|
{
|
|
3964
3980
|
activeTab,
|
|
3965
3981
|
displayedSegments,
|
|
@@ -3976,7 +3992,7 @@ const MutationsTabs = ({ mutationsData, originalComponentProps }) => {
|
|
|
3976
3992
|
);
|
|
3977
3993
|
return /* @__PURE__ */ u$1(Tabs, { ref: tabsRef, tabs, toolbar });
|
|
3978
3994
|
};
|
|
3979
|
-
const Toolbar$
|
|
3995
|
+
const Toolbar$7 = ({
|
|
3980
3996
|
activeTab,
|
|
3981
3997
|
displayedSegments,
|
|
3982
3998
|
setDisplayedSegments,
|
|
@@ -4063,14 +4079,14 @@ const MutationsInfo = ({ originalComponentProps }) => {
|
|
|
4063
4079
|
/* @__PURE__ */ u$1(InfoComponentCode, { componentName: "mutations", params: originalComponentProps, lapisUrl: lapis })
|
|
4064
4080
|
] });
|
|
4065
4081
|
};
|
|
4066
|
-
var __defProp$
|
|
4067
|
-
var __getOwnPropDesc$
|
|
4068
|
-
var __decorateClass$
|
|
4069
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
4082
|
+
var __defProp$f = Object.defineProperty;
|
|
4083
|
+
var __getOwnPropDesc$f = Object.getOwnPropertyDescriptor;
|
|
4084
|
+
var __decorateClass$f = (decorators, target, key, kind) => {
|
|
4085
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$f(target, key) : target;
|
|
4070
4086
|
for (var i2 = decorators.length - 1, decorator; i2 >= 0; i2--)
|
|
4071
4087
|
if (decorator = decorators[i2])
|
|
4072
4088
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
4073
|
-
if (kind && result) __defProp$
|
|
4089
|
+
if (kind && result) __defProp$f(target, key, result);
|
|
4074
4090
|
return result;
|
|
4075
4091
|
};
|
|
4076
4092
|
let MutationsComponent = class extends PreactLitAdapterWithGridJsStyles {
|
|
@@ -4101,34 +4117,34 @@ let MutationsComponent = class extends PreactLitAdapterWithGridJsStyles {
|
|
|
4101
4117
|
) }) });
|
|
4102
4118
|
}
|
|
4103
4119
|
};
|
|
4104
|
-
__decorateClass$
|
|
4120
|
+
__decorateClass$f([
|
|
4105
4121
|
n$1({ type: Object })
|
|
4106
4122
|
], MutationsComponent.prototype, "lapisFilter", 2);
|
|
4107
|
-
__decorateClass$
|
|
4123
|
+
__decorateClass$f([
|
|
4108
4124
|
n$1({ type: Object })
|
|
4109
4125
|
], MutationsComponent.prototype, "baselineLapisFilter", 2);
|
|
4110
|
-
__decorateClass$
|
|
4126
|
+
__decorateClass$f([
|
|
4111
4127
|
n$1({ type: String })
|
|
4112
4128
|
], MutationsComponent.prototype, "sequenceType", 2);
|
|
4113
|
-
__decorateClass$
|
|
4129
|
+
__decorateClass$f([
|
|
4114
4130
|
n$1({ type: Array })
|
|
4115
4131
|
], MutationsComponent.prototype, "views", 2);
|
|
4116
|
-
__decorateClass$
|
|
4132
|
+
__decorateClass$f([
|
|
4117
4133
|
n$1({ type: String })
|
|
4118
4134
|
], MutationsComponent.prototype, "width", 2);
|
|
4119
|
-
__decorateClass$
|
|
4135
|
+
__decorateClass$f([
|
|
4120
4136
|
n$1({ type: String })
|
|
4121
4137
|
], MutationsComponent.prototype, "height", 2);
|
|
4122
|
-
__decorateClass$
|
|
4138
|
+
__decorateClass$f([
|
|
4123
4139
|
n$1({ type: Object })
|
|
4124
4140
|
], MutationsComponent.prototype, "pageSize", 2);
|
|
4125
|
-
__decorateClass$
|
|
4141
|
+
__decorateClass$f([
|
|
4126
4142
|
consume({ context: mutationAnnotationsContext, subscribe: true })
|
|
4127
4143
|
], MutationsComponent.prototype, "mutationAnnotations", 2);
|
|
4128
|
-
__decorateClass$
|
|
4144
|
+
__decorateClass$f([
|
|
4129
4145
|
consume({ context: mutationLinkTemplateContext, subscribe: true })
|
|
4130
4146
|
], MutationsComponent.prototype, "mutationLinkTemplate", 2);
|
|
4131
|
-
MutationsComponent = __decorateClass$
|
|
4147
|
+
MutationsComponent = __decorateClass$f([
|
|
4132
4148
|
t$3("gs-mutations")
|
|
4133
4149
|
], MutationsComponent);
|
|
4134
4150
|
function getPrevalenceOverTimeTableData(data, granularity) {
|
|
@@ -5894,7 +5910,7 @@ const PrevalenceOverTimeTabs = ({ data, ...componentProps }) => {
|
|
|
5894
5910
|
};
|
|
5895
5911
|
const tabs = views2.map((view) => getTab(view));
|
|
5896
5912
|
const toolbar = (activeTab) => /* @__PURE__ */ u$1(
|
|
5897
|
-
Toolbar$
|
|
5913
|
+
Toolbar$6,
|
|
5898
5914
|
{
|
|
5899
5915
|
activeTab,
|
|
5900
5916
|
yAxisScaleType,
|
|
@@ -5907,7 +5923,7 @@ const PrevalenceOverTimeTabs = ({ data, ...componentProps }) => {
|
|
|
5907
5923
|
);
|
|
5908
5924
|
return /* @__PURE__ */ u$1(Tabs, { ref: tabsRef, tabs, toolbar });
|
|
5909
5925
|
};
|
|
5910
|
-
const Toolbar$
|
|
5926
|
+
const Toolbar$6 = ({
|
|
5911
5927
|
activeTab,
|
|
5912
5928
|
yAxisScaleType,
|
|
5913
5929
|
setYAxisScaleType,
|
|
@@ -5966,14 +5982,14 @@ const PrevalenceOverTimeInfo = (componentProps) => {
|
|
|
5966
5982
|
] });
|
|
5967
5983
|
};
|
|
5968
5984
|
const maxInData = (data) => Math.max(...data.flatMap((variant) => variant.content.map((dataPoint) => dataPoint.prevalence)));
|
|
5969
|
-
var __defProp$
|
|
5970
|
-
var __getOwnPropDesc$
|
|
5971
|
-
var __decorateClass$
|
|
5972
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
5985
|
+
var __defProp$e = Object.defineProperty;
|
|
5986
|
+
var __getOwnPropDesc$e = Object.getOwnPropertyDescriptor;
|
|
5987
|
+
var __decorateClass$e = (decorators, target, key, kind) => {
|
|
5988
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$e(target, key) : target;
|
|
5973
5989
|
for (var i2 = decorators.length - 1, decorator; i2 >= 0; i2--)
|
|
5974
5990
|
if (decorator = decorators[i2])
|
|
5975
5991
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
5976
|
-
if (kind && result) __defProp$
|
|
5992
|
+
if (kind && result) __defProp$e(target, key, result);
|
|
5977
5993
|
return result;
|
|
5978
5994
|
};
|
|
5979
5995
|
let PrevalenceOverTimeComponent = class extends PreactLitAdapterWithGridJsStyles {
|
|
@@ -6012,43 +6028,43 @@ let PrevalenceOverTimeComponent = class extends PreactLitAdapterWithGridJsStyles
|
|
|
6012
6028
|
);
|
|
6013
6029
|
}
|
|
6014
6030
|
};
|
|
6015
|
-
__decorateClass$
|
|
6031
|
+
__decorateClass$e([
|
|
6016
6032
|
n$1({ type: Object })
|
|
6017
6033
|
], PrevalenceOverTimeComponent.prototype, "numeratorFilters", 2);
|
|
6018
|
-
__decorateClass$
|
|
6034
|
+
__decorateClass$e([
|
|
6019
6035
|
n$1({ type: Object })
|
|
6020
6036
|
], PrevalenceOverTimeComponent.prototype, "denominatorFilter", 2);
|
|
6021
|
-
__decorateClass$
|
|
6037
|
+
__decorateClass$e([
|
|
6022
6038
|
n$1({ type: String })
|
|
6023
6039
|
], PrevalenceOverTimeComponent.prototype, "granularity", 2);
|
|
6024
|
-
__decorateClass$
|
|
6040
|
+
__decorateClass$e([
|
|
6025
6041
|
n$1({ type: Number })
|
|
6026
6042
|
], PrevalenceOverTimeComponent.prototype, "smoothingWindow", 2);
|
|
6027
|
-
__decorateClass$
|
|
6043
|
+
__decorateClass$e([
|
|
6028
6044
|
n$1({ type: Array })
|
|
6029
6045
|
], PrevalenceOverTimeComponent.prototype, "views", 2);
|
|
6030
|
-
__decorateClass$
|
|
6046
|
+
__decorateClass$e([
|
|
6031
6047
|
n$1({ type: Array })
|
|
6032
6048
|
], PrevalenceOverTimeComponent.prototype, "confidenceIntervalMethods", 2);
|
|
6033
|
-
__decorateClass$
|
|
6049
|
+
__decorateClass$e([
|
|
6034
6050
|
n$1({ type: String })
|
|
6035
6051
|
], PrevalenceOverTimeComponent.prototype, "width", 2);
|
|
6036
|
-
__decorateClass$
|
|
6052
|
+
__decorateClass$e([
|
|
6037
6053
|
n$1({ type: String })
|
|
6038
6054
|
], PrevalenceOverTimeComponent.prototype, "height", 2);
|
|
6039
|
-
__decorateClass$
|
|
6055
|
+
__decorateClass$e([
|
|
6040
6056
|
n$1({ type: String })
|
|
6041
6057
|
], PrevalenceOverTimeComponent.prototype, "lapisDateField", 2);
|
|
6042
|
-
__decorateClass$
|
|
6058
|
+
__decorateClass$e([
|
|
6043
6059
|
n$1({ type: Object })
|
|
6044
6060
|
], PrevalenceOverTimeComponent.prototype, "pageSize", 2);
|
|
6045
|
-
__decorateClass$
|
|
6061
|
+
__decorateClass$e([
|
|
6046
6062
|
n$1({ type: String })
|
|
6047
6063
|
], PrevalenceOverTimeComponent.prototype, "yAxisMaxLinear", 2);
|
|
6048
|
-
__decorateClass$
|
|
6064
|
+
__decorateClass$e([
|
|
6049
6065
|
n$1({ type: String })
|
|
6050
6066
|
], PrevalenceOverTimeComponent.prototype, "yAxisMaxLogarithmic", 2);
|
|
6051
|
-
PrevalenceOverTimeComponent = __decorateClass$
|
|
6067
|
+
PrevalenceOverTimeComponent = __decorateClass$e([
|
|
6052
6068
|
t$3("gs-prevalence-over-time")
|
|
6053
6069
|
], PrevalenceOverTimeComponent);
|
|
6054
6070
|
Chart.register(...registerables, LogitScale);
|
|
@@ -6417,14 +6433,14 @@ const RelativeGrowthAdvantageInfo = ({
|
|
|
6417
6433
|
)
|
|
6418
6434
|
] });
|
|
6419
6435
|
};
|
|
6420
|
-
var __defProp$
|
|
6421
|
-
var __getOwnPropDesc$
|
|
6422
|
-
var __decorateClass$
|
|
6423
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
6436
|
+
var __defProp$d = Object.defineProperty;
|
|
6437
|
+
var __getOwnPropDesc$d = Object.getOwnPropertyDescriptor;
|
|
6438
|
+
var __decorateClass$d = (decorators, target, key, kind) => {
|
|
6439
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$d(target, key) : target;
|
|
6424
6440
|
for (var i2 = decorators.length - 1, decorator; i2 >= 0; i2--)
|
|
6425
6441
|
if (decorator = decorators[i2])
|
|
6426
6442
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
6427
|
-
if (kind && result) __defProp$
|
|
6443
|
+
if (kind && result) __defProp$d(target, key, result);
|
|
6428
6444
|
return result;
|
|
6429
6445
|
};
|
|
6430
6446
|
let RelativeGrowthAdvantageComponent = class extends PreactLitAdapter {
|
|
@@ -6457,34 +6473,34 @@ let RelativeGrowthAdvantageComponent = class extends PreactLitAdapter {
|
|
|
6457
6473
|
);
|
|
6458
6474
|
}
|
|
6459
6475
|
};
|
|
6460
|
-
__decorateClass$
|
|
6476
|
+
__decorateClass$d([
|
|
6461
6477
|
n$1({ type: Object })
|
|
6462
6478
|
], RelativeGrowthAdvantageComponent.prototype, "numeratorFilter", 2);
|
|
6463
|
-
__decorateClass$
|
|
6479
|
+
__decorateClass$d([
|
|
6464
6480
|
n$1({ type: Object })
|
|
6465
6481
|
], RelativeGrowthAdvantageComponent.prototype, "denominatorFilter", 2);
|
|
6466
|
-
__decorateClass$
|
|
6482
|
+
__decorateClass$d([
|
|
6467
6483
|
n$1({ type: Number })
|
|
6468
6484
|
], RelativeGrowthAdvantageComponent.prototype, "generationTime", 2);
|
|
6469
|
-
__decorateClass$
|
|
6485
|
+
__decorateClass$d([
|
|
6470
6486
|
n$1({ type: Array })
|
|
6471
6487
|
], RelativeGrowthAdvantageComponent.prototype, "views", 2);
|
|
6472
|
-
__decorateClass$
|
|
6488
|
+
__decorateClass$d([
|
|
6473
6489
|
n$1({ type: String })
|
|
6474
6490
|
], RelativeGrowthAdvantageComponent.prototype, "width", 2);
|
|
6475
|
-
__decorateClass$
|
|
6491
|
+
__decorateClass$d([
|
|
6476
6492
|
n$1({ type: String })
|
|
6477
6493
|
], RelativeGrowthAdvantageComponent.prototype, "height", 2);
|
|
6478
|
-
__decorateClass$
|
|
6494
|
+
__decorateClass$d([
|
|
6479
6495
|
n$1({ type: String })
|
|
6480
6496
|
], RelativeGrowthAdvantageComponent.prototype, "lapisDateField", 2);
|
|
6481
|
-
__decorateClass$
|
|
6497
|
+
__decorateClass$d([
|
|
6482
6498
|
n$1({ type: String })
|
|
6483
6499
|
], RelativeGrowthAdvantageComponent.prototype, "yAxisMaxLinear", 2);
|
|
6484
|
-
__decorateClass$
|
|
6500
|
+
__decorateClass$d([
|
|
6485
6501
|
n$1({ type: String })
|
|
6486
6502
|
], RelativeGrowthAdvantageComponent.prototype, "yAxisMaxLogarithmic", 2);
|
|
6487
|
-
RelativeGrowthAdvantageComponent = __decorateClass$
|
|
6503
|
+
RelativeGrowthAdvantageComponent = __decorateClass$d([
|
|
6488
6504
|
t$3("gs-relative-growth-advantage")
|
|
6489
6505
|
], RelativeGrowthAdvantageComponent);
|
|
6490
6506
|
const compareAscending = (a2, b2) => {
|
|
@@ -6755,11 +6771,11 @@ const AggregatedDataTabs = ({ data, originalComponentProps }) => {
|
|
|
6755
6771
|
{
|
|
6756
6772
|
ref: tabsRef,
|
|
6757
6773
|
tabs,
|
|
6758
|
-
toolbar: /* @__PURE__ */ u$1(Toolbar$
|
|
6774
|
+
toolbar: /* @__PURE__ */ u$1(Toolbar$5, { data, originalComponentProps })
|
|
6759
6775
|
}
|
|
6760
6776
|
);
|
|
6761
6777
|
};
|
|
6762
|
-
const Toolbar$
|
|
6778
|
+
const Toolbar$5 = ({ data, originalComponentProps }) => {
|
|
6763
6779
|
return /* @__PURE__ */ u$1(Fragment, { children: [
|
|
6764
6780
|
/* @__PURE__ */ u$1(CsvDownloadButton, { className: "btn btn-xs", getData: () => data, filename: "aggregate.csv" }),
|
|
6765
6781
|
/* @__PURE__ */ u$1(AggregateInfo, { originalComponentProps }),
|
|
@@ -6779,14 +6795,14 @@ const AggregateInfo = ({ originalComponentProps }) => {
|
|
|
6779
6795
|
/* @__PURE__ */ u$1(InfoComponentCode, { componentName: "aggregate", params: originalComponentProps, lapisUrl: lapis })
|
|
6780
6796
|
] });
|
|
6781
6797
|
};
|
|
6782
|
-
var __defProp$
|
|
6783
|
-
var __getOwnPropDesc$
|
|
6784
|
-
var __decorateClass$
|
|
6785
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
6798
|
+
var __defProp$c = Object.defineProperty;
|
|
6799
|
+
var __getOwnPropDesc$c = Object.getOwnPropertyDescriptor;
|
|
6800
|
+
var __decorateClass$c = (decorators, target, key, kind) => {
|
|
6801
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$c(target, key) : target;
|
|
6786
6802
|
for (var i2 = decorators.length - 1, decorator; i2 >= 0; i2--)
|
|
6787
6803
|
if (decorator = decorators[i2])
|
|
6788
6804
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
6789
|
-
if (kind && result) __defProp$
|
|
6805
|
+
if (kind && result) __defProp$c(target, key, result);
|
|
6790
6806
|
return result;
|
|
6791
6807
|
};
|
|
6792
6808
|
let AggregateComponent = class extends PreactLitAdapterWithGridJsStyles {
|
|
@@ -6819,34 +6835,34 @@ let AggregateComponent = class extends PreactLitAdapterWithGridJsStyles {
|
|
|
6819
6835
|
);
|
|
6820
6836
|
}
|
|
6821
6837
|
};
|
|
6822
|
-
__decorateClass$
|
|
6838
|
+
__decorateClass$c([
|
|
6823
6839
|
n$1({ type: Array })
|
|
6824
6840
|
], AggregateComponent.prototype, "fields", 2);
|
|
6825
|
-
__decorateClass$
|
|
6841
|
+
__decorateClass$c([
|
|
6826
6842
|
n$1({ type: Array })
|
|
6827
6843
|
], AggregateComponent.prototype, "views", 2);
|
|
6828
|
-
__decorateClass$
|
|
6844
|
+
__decorateClass$c([
|
|
6829
6845
|
n$1({ type: Object })
|
|
6830
6846
|
], AggregateComponent.prototype, "lapisFilter", 2);
|
|
6831
|
-
__decorateClass$
|
|
6847
|
+
__decorateClass$c([
|
|
6832
6848
|
n$1({ type: String })
|
|
6833
6849
|
], AggregateComponent.prototype, "width", 2);
|
|
6834
|
-
__decorateClass$
|
|
6850
|
+
__decorateClass$c([
|
|
6835
6851
|
n$1({ type: String })
|
|
6836
6852
|
], AggregateComponent.prototype, "height", 2);
|
|
6837
|
-
__decorateClass$
|
|
6853
|
+
__decorateClass$c([
|
|
6838
6854
|
n$1({ type: String })
|
|
6839
6855
|
], AggregateComponent.prototype, "initialSortField", 2);
|
|
6840
|
-
__decorateClass$
|
|
6856
|
+
__decorateClass$c([
|
|
6841
6857
|
n$1({ type: String })
|
|
6842
6858
|
], AggregateComponent.prototype, "initialSortDirection", 2);
|
|
6843
|
-
__decorateClass$
|
|
6859
|
+
__decorateClass$c([
|
|
6844
6860
|
n$1({ type: Object })
|
|
6845
6861
|
], AggregateComponent.prototype, "pageSize", 2);
|
|
6846
|
-
__decorateClass$
|
|
6862
|
+
__decorateClass$c([
|
|
6847
6863
|
n$1({ type: Object })
|
|
6848
6864
|
], AggregateComponent.prototype, "maxNumberOfBars", 2);
|
|
6849
|
-
AggregateComponent = __decorateClass$
|
|
6865
|
+
AggregateComponent = __decorateClass$c([
|
|
6850
6866
|
t$3("gs-aggregate")
|
|
6851
6867
|
], AggregateComponent);
|
|
6852
6868
|
const getNumberOfSequencesOverTimeTableData = (data, dateRangeKey) => {
|
|
@@ -7096,7 +7112,7 @@ const NumberSequencesOverTimeTabs = ({ data, originalComponentProps }) => {
|
|
|
7096
7112
|
ref: tabsRef,
|
|
7097
7113
|
tabs: originalComponentProps.views.map((view) => getTab(view)),
|
|
7098
7114
|
toolbar: (activeTab) => /* @__PURE__ */ u$1(
|
|
7099
|
-
Toolbar$
|
|
7115
|
+
Toolbar$4,
|
|
7100
7116
|
{
|
|
7101
7117
|
activeTab,
|
|
7102
7118
|
data,
|
|
@@ -7108,7 +7124,7 @@ const NumberSequencesOverTimeTabs = ({ data, originalComponentProps }) => {
|
|
|
7108
7124
|
}
|
|
7109
7125
|
);
|
|
7110
7126
|
};
|
|
7111
|
-
const Toolbar$
|
|
7127
|
+
const Toolbar$4 = ({ activeTab, data, yAxisScaleType, setYAxisScaleType, originalComponentProps }) => {
|
|
7112
7128
|
return /* @__PURE__ */ u$1(Fragment, { children: [
|
|
7113
7129
|
activeTab !== "Table" && /* @__PURE__ */ u$1(
|
|
7114
7130
|
ScalingSelector,
|
|
@@ -7153,14 +7169,14 @@ const NumberSequencesOverTimeInfo = ({
|
|
|
7153
7169
|
)
|
|
7154
7170
|
] });
|
|
7155
7171
|
};
|
|
7156
|
-
var __defProp$
|
|
7157
|
-
var __getOwnPropDesc$
|
|
7158
|
-
var __decorateClass$
|
|
7159
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
7172
|
+
var __defProp$b = Object.defineProperty;
|
|
7173
|
+
var __getOwnPropDesc$b = Object.getOwnPropertyDescriptor;
|
|
7174
|
+
var __decorateClass$b = (decorators, target, key, kind) => {
|
|
7175
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$b(target, key) : target;
|
|
7160
7176
|
for (var i2 = decorators.length - 1, decorator; i2 >= 0; i2--)
|
|
7161
7177
|
if (decorator = decorators[i2])
|
|
7162
7178
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
7163
|
-
if (kind && result) __defProp$
|
|
7179
|
+
if (kind && result) __defProp$b(target, key, result);
|
|
7164
7180
|
return result;
|
|
7165
7181
|
};
|
|
7166
7182
|
let NumberSequencesOverTimeComponent = class extends PreactLitAdapterWithGridJsStyles {
|
|
@@ -7191,31 +7207,31 @@ let NumberSequencesOverTimeComponent = class extends PreactLitAdapterWithGridJsS
|
|
|
7191
7207
|
);
|
|
7192
7208
|
}
|
|
7193
7209
|
};
|
|
7194
|
-
__decorateClass$
|
|
7210
|
+
__decorateClass$b([
|
|
7195
7211
|
n$1({ type: Object })
|
|
7196
7212
|
], NumberSequencesOverTimeComponent.prototype, "lapisFilters", 2);
|
|
7197
|
-
__decorateClass$
|
|
7213
|
+
__decorateClass$b([
|
|
7198
7214
|
n$1({ type: String })
|
|
7199
7215
|
], NumberSequencesOverTimeComponent.prototype, "lapisDateField", 2);
|
|
7200
|
-
__decorateClass$
|
|
7216
|
+
__decorateClass$b([
|
|
7201
7217
|
n$1({ type: Array })
|
|
7202
7218
|
], NumberSequencesOverTimeComponent.prototype, "views", 2);
|
|
7203
|
-
__decorateClass$
|
|
7219
|
+
__decorateClass$b([
|
|
7204
7220
|
n$1({ type: String })
|
|
7205
7221
|
], NumberSequencesOverTimeComponent.prototype, "width", 2);
|
|
7206
|
-
__decorateClass$
|
|
7222
|
+
__decorateClass$b([
|
|
7207
7223
|
n$1({ type: String })
|
|
7208
7224
|
], NumberSequencesOverTimeComponent.prototype, "height", 2);
|
|
7209
|
-
__decorateClass$
|
|
7225
|
+
__decorateClass$b([
|
|
7210
7226
|
n$1({ type: String })
|
|
7211
7227
|
], NumberSequencesOverTimeComponent.prototype, "granularity", 2);
|
|
7212
|
-
__decorateClass$
|
|
7228
|
+
__decorateClass$b([
|
|
7213
7229
|
n$1({ type: Number })
|
|
7214
7230
|
], NumberSequencesOverTimeComponent.prototype, "smoothingWindow", 2);
|
|
7215
|
-
__decorateClass$
|
|
7231
|
+
__decorateClass$b([
|
|
7216
7232
|
n$1({ type: Object })
|
|
7217
7233
|
], NumberSequencesOverTimeComponent.prototype, "pageSize", 2);
|
|
7218
|
-
NumberSequencesOverTimeComponent = __decorateClass$
|
|
7234
|
+
NumberSequencesOverTimeComponent = __decorateClass$b([
|
|
7219
7235
|
t$3("gs-number-sequences-over-time")
|
|
7220
7236
|
], NumberSequencesOverTimeComponent);
|
|
7221
7237
|
class Map2dBase {
|
|
@@ -7478,7 +7494,7 @@ function fetchAndPrepareDates(filter, granularity, lapisDateField) {
|
|
|
7478
7494
|
}
|
|
7479
7495
|
class BaseMutationOverTimeDataMap extends Map2dBase {
|
|
7480
7496
|
constructor(initialContent) {
|
|
7481
|
-
super(serializeSubstitutionOrDeletion, serializeTemporal, initialContent);
|
|
7497
|
+
super(serializeSubstitutionOrDeletion, serializeTemporal$1, initialContent);
|
|
7482
7498
|
}
|
|
7483
7499
|
}
|
|
7484
7500
|
function getProportion(value) {
|
|
@@ -7493,7 +7509,7 @@ function getProportion(value) {
|
|
|
7493
7509
|
}
|
|
7494
7510
|
return void 0;
|
|
7495
7511
|
}
|
|
7496
|
-
const MAX_NUMBER_OF_GRID_COLUMNS = 200;
|
|
7512
|
+
const MAX_NUMBER_OF_GRID_COLUMNS$1 = 200;
|
|
7497
7513
|
const MUTATIONS_OVER_TIME_MIN_PROPORTION = 1e-3;
|
|
7498
7514
|
function codeToEmptyEntry(code) {
|
|
7499
7515
|
const maybeDeletion = DeletionClass.parse(code);
|
|
@@ -7557,10 +7573,10 @@ async function queryOverallMutationData({
|
|
|
7557
7573
|
}
|
|
7558
7574
|
async function queryMutationsOverTimeData(lapisFilter, sequenceType, lapis, lapisDateField, granularity, displayMutations, signal) {
|
|
7559
7575
|
const requestedDateRanges = await queryDatesInDataset(lapisFilter, lapis, granularity, lapisDateField, signal);
|
|
7560
|
-
if (requestedDateRanges.length > MAX_NUMBER_OF_GRID_COLUMNS) {
|
|
7576
|
+
if (requestedDateRanges.length > MAX_NUMBER_OF_GRID_COLUMNS$1) {
|
|
7561
7577
|
throw new UserFacingError(
|
|
7562
7578
|
"Too many dates",
|
|
7563
|
-
`The dataset would contain ${requestedDateRanges.length} date intervals. Please reduce the number to below ${MAX_NUMBER_OF_GRID_COLUMNS} to display the data. You can achieve this by either narrowing the date range in the provided LAPIS filter or by selecting a larger granularity.`
|
|
7579
|
+
`The dataset would contain ${requestedDateRanges.length} date intervals. Please reduce the number to below ${MAX_NUMBER_OF_GRID_COLUMNS$1} to display the data. You can achieve this by either narrowing the date range in the provided LAPIS filter or by selecting a larger granularity.`
|
|
7564
7580
|
);
|
|
7565
7581
|
}
|
|
7566
7582
|
const overallMutationData = await queryOverallMutationData({
|
|
@@ -7667,7 +7683,7 @@ function fetchAndPrepareSubstitutionsOrDeletions(filter, sequenceType) {
|
|
|
7667
7683
|
function serializeSubstitutionOrDeletion(mutation) {
|
|
7668
7684
|
return mutation.code;
|
|
7669
7685
|
}
|
|
7670
|
-
function serializeTemporal(date) {
|
|
7686
|
+
function serializeTemporal$1(date) {
|
|
7671
7687
|
return date.dateString;
|
|
7672
7688
|
}
|
|
7673
7689
|
const MutationsOverTimeGridTooltip = ({
|
|
@@ -7702,11 +7718,11 @@ const MutationsOverTimeGridTooltip = ({
|
|
|
7702
7718
|
] }),
|
|
7703
7719
|
/* @__PURE__ */ u$1("div", { className: "flex flex-col text-right", children: [
|
|
7704
7720
|
/* @__PURE__ */ u$1("span", { className: "font-bold", children: dateClass.englishName() }),
|
|
7705
|
-
/* @__PURE__ */ u$1("span", { className: "text-gray-600", children: timeIntervalDisplay(dateClass) })
|
|
7721
|
+
/* @__PURE__ */ u$1("span", { className: "text-gray-600", children: timeIntervalDisplay$1(dateClass) })
|
|
7706
7722
|
] })
|
|
7707
7723
|
] }),
|
|
7708
7724
|
value !== null && /* @__PURE__ */ u$1(
|
|
7709
|
-
TooltipValueCountsDescription,
|
|
7725
|
+
TooltipValueCountsDescription$1,
|
|
7710
7726
|
{
|
|
7711
7727
|
value,
|
|
7712
7728
|
mutationCode: mutation.code,
|
|
@@ -7715,7 +7731,7 @@ const MutationsOverTimeGridTooltip = ({
|
|
|
7715
7731
|
)
|
|
7716
7732
|
] });
|
|
7717
7733
|
};
|
|
7718
|
-
const TooltipValueCountsDescription = ({ value, mutationCode, mutationPosition }) => {
|
|
7734
|
+
const TooltipValueCountsDescription$1 = ({ value, mutationCode, mutationPosition }) => {
|
|
7719
7735
|
if (value.type === "wastewaterValue") {
|
|
7720
7736
|
return;
|
|
7721
7737
|
}
|
|
@@ -7779,7 +7795,7 @@ const TooltipValueCountsDescription = ({ value, mutationCode, mutationPosition }
|
|
|
7779
7795
|
] })
|
|
7780
7796
|
] });
|
|
7781
7797
|
};
|
|
7782
|
-
const timeIntervalDisplay = (date) => {
|
|
7798
|
+
const timeIntervalDisplay$1 = (date) => {
|
|
7783
7799
|
if (date instanceof YearMonthDayClass) {
|
|
7784
7800
|
return date.toString();
|
|
7785
7801
|
}
|
|
@@ -8322,7 +8338,7 @@ const AnnotationCheckboxes = ({ value, setFilterValue }) => {
|
|
|
8322
8338
|
] });
|
|
8323
8339
|
};
|
|
8324
8340
|
const mutationsOverTimeViewSchema = z$2.literal(views.grid);
|
|
8325
|
-
const meanProportionIntervalSchema = z$2.object({
|
|
8341
|
+
const meanProportionIntervalSchema$1 = z$2.object({
|
|
8326
8342
|
min: z$2.number().min(0).max(1),
|
|
8327
8343
|
max: z$2.number().min(0).max(1)
|
|
8328
8344
|
});
|
|
@@ -8333,7 +8349,7 @@ const mutationOverTimeSchema = z$2.object({
|
|
|
8333
8349
|
granularity: temporalGranularitySchema,
|
|
8334
8350
|
lapisDateField: z$2.string().min(1),
|
|
8335
8351
|
displayMutations: displayMutationsSchema.optional(),
|
|
8336
|
-
initialMeanProportionInterval: meanProportionIntervalSchema,
|
|
8352
|
+
initialMeanProportionInterval: meanProportionIntervalSchema$1,
|
|
8337
8353
|
hideGaps: z$2.boolean().optional(),
|
|
8338
8354
|
width: z$2.string(),
|
|
8339
8355
|
height: z$2.string().optional(),
|
|
@@ -8447,7 +8463,7 @@ const MutationsOverTimeTabs$1 = ({
|
|
|
8447
8463
|
};
|
|
8448
8464
|
const tabs = originalComponentProps.views.map((view) => getTab(view));
|
|
8449
8465
|
const toolbar = (activeTab) => /* @__PURE__ */ u$1(
|
|
8450
|
-
Toolbar$
|
|
8466
|
+
Toolbar$3,
|
|
8451
8467
|
{
|
|
8452
8468
|
activeTab,
|
|
8453
8469
|
displayedSegments,
|
|
@@ -8468,7 +8484,7 @@ const MutationsOverTimeTabs$1 = ({
|
|
|
8468
8484
|
);
|
|
8469
8485
|
return /* @__PURE__ */ u$1("div", { ref: tooltipPortalTargetRef, children: /* @__PURE__ */ u$1(PageSizeContextProvider, { pageSizes: originalComponentProps.pageSizes, children: /* @__PURE__ */ u$1(Tabs, { ref: tabsRef, tabs, toolbar }) }) });
|
|
8470
8486
|
};
|
|
8471
|
-
const Toolbar$
|
|
8487
|
+
const Toolbar$3 = ({
|
|
8472
8488
|
activeTab,
|
|
8473
8489
|
displayedSegments,
|
|
8474
8490
|
setDisplayedSegments,
|
|
@@ -8525,7 +8541,7 @@ const Toolbar$2 = ({
|
|
|
8525
8541
|
CsvDownloadButton,
|
|
8526
8542
|
{
|
|
8527
8543
|
className: "btn btn-xs",
|
|
8528
|
-
getData: () => getDownloadData(filteredData),
|
|
8544
|
+
getData: () => getDownloadData$1(filteredData),
|
|
8529
8545
|
filename: "mutations_over_time.csv"
|
|
8530
8546
|
}
|
|
8531
8547
|
),
|
|
@@ -8549,7 +8565,7 @@ const MutationsOverTimeInfo = ({ originalComponentProps }) => {
|
|
|
8549
8565
|
/* @__PURE__ */ u$1(InfoComponentCode, { componentName: "mutations-over-time", params: originalComponentProps, lapisUrl: lapis })
|
|
8550
8566
|
] });
|
|
8551
8567
|
};
|
|
8552
|
-
function getDownloadData(filteredData) {
|
|
8568
|
+
function getDownloadData$1(filteredData) {
|
|
8553
8569
|
const dates = filteredData.getSecondAxisKeys().map((date) => toTemporalClass(date));
|
|
8554
8570
|
return filteredData.getFirstAxisKeys().map((mutation) => {
|
|
8555
8571
|
return dates.reduce(
|
|
@@ -8565,14 +8581,14 @@ function getDownloadData(filteredData) {
|
|
|
8565
8581
|
);
|
|
8566
8582
|
});
|
|
8567
8583
|
}
|
|
8568
|
-
var __defProp$
|
|
8569
|
-
var __getOwnPropDesc$
|
|
8570
|
-
var __decorateClass$
|
|
8571
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
8584
|
+
var __defProp$a = Object.defineProperty;
|
|
8585
|
+
var __getOwnPropDesc$a = Object.getOwnPropertyDescriptor;
|
|
8586
|
+
var __decorateClass$a = (decorators, target, key, kind) => {
|
|
8587
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$a(target, key) : target;
|
|
8572
8588
|
for (var i2 = decorators.length - 1, decorator; i2 >= 0; i2--)
|
|
8573
8589
|
if (decorator = decorators[i2])
|
|
8574
8590
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
8575
|
-
if (kind && result) __defProp$
|
|
8591
|
+
if (kind && result) __defProp$a(target, key, result);
|
|
8576
8592
|
return result;
|
|
8577
8593
|
};
|
|
8578
8594
|
let MutationsOverTimeComponent = class extends PreactLitAdapterWithGridJsStyles {
|
|
@@ -8613,51 +8629,572 @@ let MutationsOverTimeComponent = class extends PreactLitAdapterWithGridJsStyles
|
|
|
8613
8629
|
) }) });
|
|
8614
8630
|
}
|
|
8615
8631
|
};
|
|
8616
|
-
__decorateClass$
|
|
8632
|
+
__decorateClass$a([
|
|
8617
8633
|
n$1({ type: Object })
|
|
8618
8634
|
], MutationsOverTimeComponent.prototype, "lapisFilter", 2);
|
|
8619
|
-
__decorateClass$
|
|
8635
|
+
__decorateClass$a([
|
|
8620
8636
|
n$1({ type: String })
|
|
8621
8637
|
], MutationsOverTimeComponent.prototype, "sequenceType", 2);
|
|
8622
|
-
__decorateClass$
|
|
8638
|
+
__decorateClass$a([
|
|
8623
8639
|
n$1({ type: Array })
|
|
8624
8640
|
], MutationsOverTimeComponent.prototype, "views", 2);
|
|
8625
|
-
__decorateClass$
|
|
8641
|
+
__decorateClass$a([
|
|
8626
8642
|
n$1({ type: String })
|
|
8627
8643
|
], MutationsOverTimeComponent.prototype, "width", 2);
|
|
8628
|
-
__decorateClass$
|
|
8644
|
+
__decorateClass$a([
|
|
8629
8645
|
n$1({ type: String })
|
|
8630
8646
|
], MutationsOverTimeComponent.prototype, "height", 2);
|
|
8631
|
-
__decorateClass$
|
|
8647
|
+
__decorateClass$a([
|
|
8632
8648
|
n$1({ type: String })
|
|
8633
8649
|
], MutationsOverTimeComponent.prototype, "granularity", 2);
|
|
8634
|
-
__decorateClass$
|
|
8650
|
+
__decorateClass$a([
|
|
8635
8651
|
n$1({ type: String })
|
|
8636
8652
|
], MutationsOverTimeComponent.prototype, "lapisDateField", 2);
|
|
8637
|
-
__decorateClass$
|
|
8653
|
+
__decorateClass$a([
|
|
8638
8654
|
n$1({ type: Array })
|
|
8639
8655
|
], MutationsOverTimeComponent.prototype, "displayMutations", 2);
|
|
8640
|
-
__decorateClass$
|
|
8656
|
+
__decorateClass$a([
|
|
8641
8657
|
n$1({ type: Object })
|
|
8642
8658
|
], MutationsOverTimeComponent.prototype, "initialMeanProportionInterval", 2);
|
|
8643
|
-
__decorateClass$
|
|
8659
|
+
__decorateClass$a([
|
|
8644
8660
|
n$1({ type: Boolean })
|
|
8645
8661
|
], MutationsOverTimeComponent.prototype, "hideGaps", 2);
|
|
8646
|
-
__decorateClass$
|
|
8662
|
+
__decorateClass$a([
|
|
8647
8663
|
n$1({ type: Array })
|
|
8648
8664
|
], MutationsOverTimeComponent.prototype, "pageSizes", 2);
|
|
8649
|
-
__decorateClass$
|
|
8665
|
+
__decorateClass$a([
|
|
8650
8666
|
n$1({ type: Array })
|
|
8651
8667
|
], MutationsOverTimeComponent.prototype, "customColumns", 2);
|
|
8652
|
-
__decorateClass$
|
|
8668
|
+
__decorateClass$a([
|
|
8653
8669
|
consume({ context: mutationAnnotationsContext, subscribe: true })
|
|
8654
8670
|
], MutationsOverTimeComponent.prototype, "mutationAnnotations", 2);
|
|
8655
|
-
__decorateClass$
|
|
8671
|
+
__decorateClass$a([
|
|
8656
8672
|
consume({ context: mutationLinkTemplateContext, subscribe: true })
|
|
8657
8673
|
], MutationsOverTimeComponent.prototype, "mutationLinkTemplate", 2);
|
|
8658
|
-
MutationsOverTimeComponent = __decorateClass$
|
|
8674
|
+
MutationsOverTimeComponent = __decorateClass$a([
|
|
8659
8675
|
t$3("gs-mutations-over-time")
|
|
8660
8676
|
], MutationsOverTimeComponent);
|
|
8677
|
+
const MAX_NUMBER_OF_GRID_COLUMNS = 200;
|
|
8678
|
+
async function queryQueriesOverTimeData(lapisFilter, queries, lapis, lapisDateField, granularity, signal) {
|
|
8679
|
+
const requestedDateRanges = await queryDatesInDataset(lapisFilter, lapis, granularity, lapisDateField, signal);
|
|
8680
|
+
if (requestedDateRanges.length > MAX_NUMBER_OF_GRID_COLUMNS) {
|
|
8681
|
+
throw new UserFacingError(
|
|
8682
|
+
"Too many dates",
|
|
8683
|
+
`The dataset would contain ${requestedDateRanges.length} date intervals. Please reduce the number to below ${MAX_NUMBER_OF_GRID_COLUMNS} to display the data. You can achieve this by either narrowing the date range in the provided LAPIS filter or by selecting a larger granularity.`
|
|
8684
|
+
);
|
|
8685
|
+
}
|
|
8686
|
+
if (requestedDateRanges.length === 0) {
|
|
8687
|
+
return {
|
|
8688
|
+
queryOverTimeData: {
|
|
8689
|
+
keysFirstAxis: /* @__PURE__ */ new Map(),
|
|
8690
|
+
keysSecondAxis: /* @__PURE__ */ new Map(),
|
|
8691
|
+
data: /* @__PURE__ */ new Map()
|
|
8692
|
+
}
|
|
8693
|
+
};
|
|
8694
|
+
}
|
|
8695
|
+
const apiResult = await fetchQueriesOverTime(
|
|
8696
|
+
lapis,
|
|
8697
|
+
{
|
|
8698
|
+
filters: lapisFilter,
|
|
8699
|
+
queries: queries.map((q2) => ({
|
|
8700
|
+
displayLabel: q2.displayLabel,
|
|
8701
|
+
countQuery: q2.countQuery,
|
|
8702
|
+
coverageQuery: q2.coverageQuery
|
|
8703
|
+
})),
|
|
8704
|
+
dateRanges: requestedDateRanges.map((date) => ({
|
|
8705
|
+
dateFrom: date.firstDay.toString(),
|
|
8706
|
+
dateTo: date.lastDay.toString()
|
|
8707
|
+
})),
|
|
8708
|
+
dateField: lapisDateField
|
|
8709
|
+
},
|
|
8710
|
+
signal
|
|
8711
|
+
);
|
|
8712
|
+
const totalCounts = apiResult.data.totalCountsByDateRange;
|
|
8713
|
+
const responseQueries = apiResult.data.queries;
|
|
8714
|
+
const queryOverTimeData = {
|
|
8715
|
+
keysFirstAxis: new Map(responseQueries.map((query) => [query, query])),
|
|
8716
|
+
keysSecondAxis: new Map(requestedDateRanges.map((date) => [date.dateString, date])),
|
|
8717
|
+
data: new Map(
|
|
8718
|
+
responseQueries.map((query, i2) => [
|
|
8719
|
+
query,
|
|
8720
|
+
new Map(
|
|
8721
|
+
requestedDateRanges.map((date, j2) => {
|
|
8722
|
+
if (totalCounts[j2] === 0) {
|
|
8723
|
+
return [date.dateString, null];
|
|
8724
|
+
}
|
|
8725
|
+
const count = apiResult.data.data[i2][j2].count;
|
|
8726
|
+
const coverage = apiResult.data.data[i2][j2].coverage;
|
|
8727
|
+
const totalCount = totalCounts[j2];
|
|
8728
|
+
if (coverage === 0) {
|
|
8729
|
+
return [
|
|
8730
|
+
date.dateString,
|
|
8731
|
+
{
|
|
8732
|
+
type: "belowThreshold",
|
|
8733
|
+
totalCount
|
|
8734
|
+
}
|
|
8735
|
+
];
|
|
8736
|
+
}
|
|
8737
|
+
return [
|
|
8738
|
+
date.dateString,
|
|
8739
|
+
{
|
|
8740
|
+
type: "valueWithCoverage",
|
|
8741
|
+
count,
|
|
8742
|
+
coverage,
|
|
8743
|
+
totalCount
|
|
8744
|
+
}
|
|
8745
|
+
];
|
|
8746
|
+
})
|
|
8747
|
+
)
|
|
8748
|
+
])
|
|
8749
|
+
)
|
|
8750
|
+
};
|
|
8751
|
+
return {
|
|
8752
|
+
queryOverTimeData
|
|
8753
|
+
};
|
|
8754
|
+
}
|
|
8755
|
+
function serializeQuery(displayLabel) {
|
|
8756
|
+
return displayLabel;
|
|
8757
|
+
}
|
|
8758
|
+
function serializeTemporal(date) {
|
|
8759
|
+
return date.dateString;
|
|
8760
|
+
}
|
|
8761
|
+
class QueryOverTimeDataMap extends Map2dBase {
|
|
8762
|
+
constructor(initialContent) {
|
|
8763
|
+
super(serializeQuery, serializeTemporal, initialContent);
|
|
8764
|
+
}
|
|
8765
|
+
}
|
|
8766
|
+
function getFilteredQueryOverTimeData({
|
|
8767
|
+
data,
|
|
8768
|
+
proportionInterval,
|
|
8769
|
+
hideGaps,
|
|
8770
|
+
queryFilterValue
|
|
8771
|
+
}) {
|
|
8772
|
+
const dataMap = new QueryOverTimeDataMap(data);
|
|
8773
|
+
const filteredData = new Map2dView(dataMap);
|
|
8774
|
+
const queries = filteredData.getFirstAxisKeys();
|
|
8775
|
+
const dates = filteredData.getSecondAxisKeys();
|
|
8776
|
+
const queriesToFilterOut = queries.filter((query) => {
|
|
8777
|
+
let totalCount = 0;
|
|
8778
|
+
let totalCoverage = 0;
|
|
8779
|
+
dates.forEach((date) => {
|
|
8780
|
+
const value = filteredData.get(query, date);
|
|
8781
|
+
if ((value == null ? void 0 : value.type) === "valueWithCoverage") {
|
|
8782
|
+
totalCount += value.count;
|
|
8783
|
+
totalCoverage += value.coverage;
|
|
8784
|
+
}
|
|
8785
|
+
});
|
|
8786
|
+
const overallProportion = totalCoverage > 0 ? totalCount / totalCoverage : 0;
|
|
8787
|
+
if (overallProportion < proportionInterval.min || overallProportion > proportionInterval.max) {
|
|
8788
|
+
return true;
|
|
8789
|
+
}
|
|
8790
|
+
if (queryFilterValue.textFilter !== "" && !query.toLowerCase().includes(queryFilterValue.textFilter.toLowerCase())) {
|
|
8791
|
+
return true;
|
|
8792
|
+
}
|
|
8793
|
+
return false;
|
|
8794
|
+
});
|
|
8795
|
+
queriesToFilterOut.forEach((query) => {
|
|
8796
|
+
filteredData.deleteRow(query);
|
|
8797
|
+
});
|
|
8798
|
+
if (hideGaps) {
|
|
8799
|
+
const dateRangesToFilterOut = filteredData.getSecondAxisKeys().filter((dateRange2) => {
|
|
8800
|
+
const vals = filteredData.getColumn(dateRange2);
|
|
8801
|
+
return !vals.some((v2) => ((v2 == null ? void 0 : v2.type) === "value" || (v2 == null ? void 0 : v2.type) === "valueWithCoverage") && v2.totalCount > 0);
|
|
8802
|
+
});
|
|
8803
|
+
dateRangesToFilterOut.forEach((dateRange2) => filteredData.deleteColumn(dateRange2));
|
|
8804
|
+
}
|
|
8805
|
+
return filteredData;
|
|
8806
|
+
}
|
|
8807
|
+
const QueriesOverTimeFilter = ({ value, setFilterValue }) => {
|
|
8808
|
+
return /* @__PURE__ */ u$1(
|
|
8809
|
+
"input",
|
|
8810
|
+
{
|
|
8811
|
+
type: "text",
|
|
8812
|
+
placeholder: "Filter queries...",
|
|
8813
|
+
className: "input input-xs input-bordered w-40",
|
|
8814
|
+
value: value.textFilter,
|
|
8815
|
+
onInput: (e2) => setFilterValue({
|
|
8816
|
+
textFilter: e2.target.value
|
|
8817
|
+
})
|
|
8818
|
+
}
|
|
8819
|
+
);
|
|
8820
|
+
};
|
|
8821
|
+
const QUERIES_OVER_TIME_MIN_PROPORTION = 1e-3;
|
|
8822
|
+
const QueriesOverTimeGridTooltip = ({
|
|
8823
|
+
query,
|
|
8824
|
+
date,
|
|
8825
|
+
value
|
|
8826
|
+
}) => {
|
|
8827
|
+
const dateClass = toTemporalClass(date);
|
|
8828
|
+
let proportionText = "No data";
|
|
8829
|
+
if (value !== null) {
|
|
8830
|
+
switch (value.type) {
|
|
8831
|
+
case "belowThreshold": {
|
|
8832
|
+
proportionText = `<${formatProportion(QUERIES_OVER_TIME_MIN_PROPORTION)}`;
|
|
8833
|
+
break;
|
|
8834
|
+
}
|
|
8835
|
+
case "value":
|
|
8836
|
+
case "wastewaterValue": {
|
|
8837
|
+
proportionText = formatProportion(value.proportion);
|
|
8838
|
+
break;
|
|
8839
|
+
}
|
|
8840
|
+
case "valueWithCoverage": {
|
|
8841
|
+
proportionText = formatProportion(value.count / value.coverage);
|
|
8842
|
+
break;
|
|
8843
|
+
}
|
|
8844
|
+
}
|
|
8845
|
+
}
|
|
8846
|
+
return /* @__PURE__ */ u$1("div", { children: [
|
|
8847
|
+
/* @__PURE__ */ u$1("div", { className: "flex flex-row justify-between gap-4 items-baseline", children: [
|
|
8848
|
+
/* @__PURE__ */ u$1("div", { className: "flex flex-col text-left", children: [
|
|
8849
|
+
/* @__PURE__ */ u$1("span", { className: "font-bold", children: query }),
|
|
8850
|
+
/* @__PURE__ */ u$1("span", { children: proportionText })
|
|
8851
|
+
] }),
|
|
8852
|
+
/* @__PURE__ */ u$1("div", { className: "flex flex-col text-right", children: [
|
|
8853
|
+
/* @__PURE__ */ u$1("span", { className: "font-bold", children: dateClass.englishName() }),
|
|
8854
|
+
/* @__PURE__ */ u$1("span", { className: "text-gray-600", children: timeIntervalDisplay(dateClass) })
|
|
8855
|
+
] })
|
|
8856
|
+
] }),
|
|
8857
|
+
value !== null && /* @__PURE__ */ u$1(TooltipValueCountsDescription, { value, queryLabel: query })
|
|
8858
|
+
] });
|
|
8859
|
+
};
|
|
8860
|
+
const TooltipValueCountsDescription = ({ value, queryLabel }) => {
|
|
8861
|
+
if (value.type === "wastewaterValue") {
|
|
8862
|
+
return;
|
|
8863
|
+
}
|
|
8864
|
+
return /* @__PURE__ */ u$1("div", { className: "mt-2", children: [
|
|
8865
|
+
(() => {
|
|
8866
|
+
switch (value.type) {
|
|
8867
|
+
case "belowThreshold":
|
|
8868
|
+
return /* @__PURE__ */ u$1("p", { className: "text-gray-600", children: [
|
|
8869
|
+
"None or less than ",
|
|
8870
|
+
formatProportion(QUERIES_OVER_TIME_MIN_PROPORTION),
|
|
8871
|
+
" match the query."
|
|
8872
|
+
] });
|
|
8873
|
+
case "value":
|
|
8874
|
+
return /* @__PURE__ */ u$1(Fragment, { children: [
|
|
8875
|
+
/* @__PURE__ */ u$1("p", { children: [
|
|
8876
|
+
value.count,
|
|
8877
|
+
" ",
|
|
8878
|
+
/* @__PURE__ */ u$1("span", { className: "text-gray-600", children: [
|
|
8879
|
+
"match the query ",
|
|
8880
|
+
queryLabel,
|
|
8881
|
+
"."
|
|
8882
|
+
] })
|
|
8883
|
+
] }),
|
|
8884
|
+
value.proportion > 0 && /* @__PURE__ */ u$1("p", { children: [
|
|
8885
|
+
Math.round(value.count / value.proportion),
|
|
8886
|
+
" ",
|
|
8887
|
+
/* @__PURE__ */ u$1("span", { className: "text-gray-600", children: "total with coverage." })
|
|
8888
|
+
] })
|
|
8889
|
+
] });
|
|
8890
|
+
case "valueWithCoverage":
|
|
8891
|
+
return /* @__PURE__ */ u$1(Fragment, { children: [
|
|
8892
|
+
/* @__PURE__ */ u$1("p", { children: [
|
|
8893
|
+
value.count,
|
|
8894
|
+
" ",
|
|
8895
|
+
/* @__PURE__ */ u$1("span", { className: "text-gray-600", children: [
|
|
8896
|
+
"match the query ",
|
|
8897
|
+
queryLabel,
|
|
8898
|
+
" out of"
|
|
8899
|
+
] })
|
|
8900
|
+
] }),
|
|
8901
|
+
/* @__PURE__ */ u$1("p", { children: [
|
|
8902
|
+
value.coverage,
|
|
8903
|
+
" ",
|
|
8904
|
+
/* @__PURE__ */ u$1("span", { className: "text-gray-600", children: "with coverage for this query." })
|
|
8905
|
+
] })
|
|
8906
|
+
] });
|
|
8907
|
+
}
|
|
8908
|
+
})(),
|
|
8909
|
+
/* @__PURE__ */ u$1("p", { children: [
|
|
8910
|
+
value.totalCount,
|
|
8911
|
+
" ",
|
|
8912
|
+
/* @__PURE__ */ u$1("span", { className: "text-gray-600", children: "total in this date range." })
|
|
8913
|
+
] })
|
|
8914
|
+
] });
|
|
8915
|
+
};
|
|
8916
|
+
const timeIntervalDisplay = (date) => {
|
|
8917
|
+
if (date instanceof YearMonthDayClass) {
|
|
8918
|
+
return date.toString();
|
|
8919
|
+
}
|
|
8920
|
+
return `${date.firstDay.toString()} - ${date.lastDay.toString()}`;
|
|
8921
|
+
};
|
|
8922
|
+
const queriesOverTimeViewSchema = z$2.literal(views.grid);
|
|
8923
|
+
const meanProportionIntervalSchema = z$2.object({
|
|
8924
|
+
min: z$2.number().min(0).max(1),
|
|
8925
|
+
max: z$2.number().min(0).max(1)
|
|
8926
|
+
});
|
|
8927
|
+
const queriesOverTimeSchema = z$2.object({
|
|
8928
|
+
lapisFilter: lapisFilterSchema,
|
|
8929
|
+
queries: z$2.array(
|
|
8930
|
+
z$2.object({
|
|
8931
|
+
displayLabel: z$2.string(),
|
|
8932
|
+
countQuery: z$2.string(),
|
|
8933
|
+
coverageQuery: z$2.string()
|
|
8934
|
+
})
|
|
8935
|
+
).min(1),
|
|
8936
|
+
views: z$2.array(queriesOverTimeViewSchema),
|
|
8937
|
+
granularity: temporalGranularitySchema,
|
|
8938
|
+
lapisDateField: z$2.string().min(1),
|
|
8939
|
+
initialMeanProportionInterval: meanProportionIntervalSchema,
|
|
8940
|
+
hideGaps: z$2.boolean().optional(),
|
|
8941
|
+
width: z$2.string(),
|
|
8942
|
+
height: z$2.string().optional(),
|
|
8943
|
+
pageSizes: pageSizesSchema,
|
|
8944
|
+
customColumns: z$2.array(customColumnSchema).optional()
|
|
8945
|
+
});
|
|
8946
|
+
const QueriesOverTime = (componentProps) => {
|
|
8947
|
+
const { width, height } = componentProps;
|
|
8948
|
+
const size = { height, width };
|
|
8949
|
+
return /* @__PURE__ */ u$1(ErrorBoundary, { size, schema: queriesOverTimeSchema, componentProps, children: /* @__PURE__ */ u$1(ResizeContainer, { size, children: /* @__PURE__ */ u$1(QueriesOverTimeInner, { ...componentProps }) }) });
|
|
8950
|
+
};
|
|
8951
|
+
const QueriesOverTimeInner = ({ ...componentProps }) => {
|
|
8952
|
+
const lapis = useLapisUrl();
|
|
8953
|
+
const { lapisFilter, queries, granularity, lapisDateField } = componentProps;
|
|
8954
|
+
const { data, error, isLoading } = useQuery(
|
|
8955
|
+
() => queryQueriesOverTimeData(lapisFilter, queries, lapis, lapisDateField, granularity),
|
|
8956
|
+
[granularity, lapis, lapisDateField, lapisFilter, queries]
|
|
8957
|
+
);
|
|
8958
|
+
if (isLoading) {
|
|
8959
|
+
return /* @__PURE__ */ u$1(LoadingDisplay, {});
|
|
8960
|
+
}
|
|
8961
|
+
if (error !== null) {
|
|
8962
|
+
throw error;
|
|
8963
|
+
}
|
|
8964
|
+
const { queryOverTimeData } = data;
|
|
8965
|
+
if (queryOverTimeData.keysFirstAxis.size === 0) {
|
|
8966
|
+
return /* @__PURE__ */ u$1(NoDataDisplay, {});
|
|
8967
|
+
}
|
|
8968
|
+
return /* @__PURE__ */ u$1(QueriesOverTimeTabs, { queryOverTimeData, originalComponentProps: componentProps });
|
|
8969
|
+
};
|
|
8970
|
+
const QueriesOverTimeTabs = ({
|
|
8971
|
+
queryOverTimeData,
|
|
8972
|
+
originalComponentProps
|
|
8973
|
+
}) => {
|
|
8974
|
+
const tabsRef = useDispatchFinishedLoadingEvent();
|
|
8975
|
+
const tooltipPortalTargetRef = A$1(null);
|
|
8976
|
+
const [tooltipPortalTarget, setTooltipPortalTarget] = d(null);
|
|
8977
|
+
_(() => {
|
|
8978
|
+
setTooltipPortalTarget(tooltipPortalTargetRef.current);
|
|
8979
|
+
}, []);
|
|
8980
|
+
const [queryFilterValue, setQueryFilterValue] = d({
|
|
8981
|
+
textFilter: ""
|
|
8982
|
+
});
|
|
8983
|
+
const [proportionInterval, setProportionInterval] = d(originalComponentProps.initialMeanProportionInterval);
|
|
8984
|
+
const [colorScale, setColorScale] = d({ min: 0, max: 1, color: "indigo" });
|
|
8985
|
+
const [hideGaps, setHideGaps] = d(originalComponentProps.hideGaps ?? false);
|
|
8986
|
+
y2(() => setHideGaps(originalComponentProps.hideGaps ?? false), [originalComponentProps.hideGaps]);
|
|
8987
|
+
const filteredData = T$1(() => {
|
|
8988
|
+
return getFilteredQueryOverTimeData({
|
|
8989
|
+
data: queryOverTimeData,
|
|
8990
|
+
proportionInterval,
|
|
8991
|
+
hideGaps,
|
|
8992
|
+
queryFilterValue
|
|
8993
|
+
});
|
|
8994
|
+
}, [queryOverTimeData, proportionInterval, hideGaps, queryFilterValue]);
|
|
8995
|
+
const queryRenderer = T$1(
|
|
8996
|
+
() => ({
|
|
8997
|
+
asString: (value) => value,
|
|
8998
|
+
renderRowLabel: (value) => /* @__PURE__ */ u$1("div", { className: "text-center", children: /* @__PURE__ */ u$1("span", { children: value }) }),
|
|
8999
|
+
renderTooltip: (value, temporal, proportionValue) => /* @__PURE__ */ u$1(QueriesOverTimeGridTooltip, { query: value, date: temporal, value: proportionValue })
|
|
9000
|
+
}),
|
|
9001
|
+
[]
|
|
9002
|
+
);
|
|
9003
|
+
const getTab = (view) => {
|
|
9004
|
+
switch (view) {
|
|
9005
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- for extensibility
|
|
9006
|
+
case "grid":
|
|
9007
|
+
return {
|
|
9008
|
+
title: "Grid",
|
|
9009
|
+
content: /* @__PURE__ */ u$1(
|
|
9010
|
+
FeaturesOverTimeGrid,
|
|
9011
|
+
{
|
|
9012
|
+
rowLabelHeader: "Query",
|
|
9013
|
+
data: filteredData,
|
|
9014
|
+
colorScale,
|
|
9015
|
+
pageSizes: originalComponentProps.pageSizes,
|
|
9016
|
+
customColumns: originalComponentProps.customColumns,
|
|
9017
|
+
featureRenderer: queryRenderer,
|
|
9018
|
+
tooltipPortalTarget
|
|
9019
|
+
}
|
|
9020
|
+
)
|
|
9021
|
+
};
|
|
9022
|
+
}
|
|
9023
|
+
};
|
|
9024
|
+
const tabs = originalComponentProps.views.map((view) => getTab(view));
|
|
9025
|
+
const toolbar = (activeTab) => /* @__PURE__ */ u$1(
|
|
9026
|
+
Toolbar$2,
|
|
9027
|
+
{
|
|
9028
|
+
activeTab,
|
|
9029
|
+
proportionInterval,
|
|
9030
|
+
setProportionInterval,
|
|
9031
|
+
hideGaps,
|
|
9032
|
+
setHideGaps,
|
|
9033
|
+
filteredData,
|
|
9034
|
+
colorScale,
|
|
9035
|
+
setColorScale,
|
|
9036
|
+
originalComponentProps,
|
|
9037
|
+
setFilterValue: setQueryFilterValue,
|
|
9038
|
+
queryFilterValue
|
|
9039
|
+
}
|
|
9040
|
+
);
|
|
9041
|
+
return /* @__PURE__ */ u$1("div", { ref: tooltipPortalTargetRef, children: /* @__PURE__ */ u$1(PageSizeContextProvider, { pageSizes: originalComponentProps.pageSizes, children: /* @__PURE__ */ u$1(Tabs, { ref: tabsRef, tabs, toolbar }) }) });
|
|
9042
|
+
};
|
|
9043
|
+
const Toolbar$2 = ({
|
|
9044
|
+
activeTab,
|
|
9045
|
+
proportionInterval,
|
|
9046
|
+
setProportionInterval,
|
|
9047
|
+
hideGaps,
|
|
9048
|
+
setHideGaps,
|
|
9049
|
+
filteredData,
|
|
9050
|
+
colorScale,
|
|
9051
|
+
setColorScale,
|
|
9052
|
+
originalComponentProps,
|
|
9053
|
+
setFilterValue,
|
|
9054
|
+
queryFilterValue
|
|
9055
|
+
}) => {
|
|
9056
|
+
return /* @__PURE__ */ u$1(Fragment, { children: [
|
|
9057
|
+
/* @__PURE__ */ u$1(QueriesOverTimeFilter, { setFilterValue, value: queryFilterValue }),
|
|
9058
|
+
/* @__PURE__ */ u$1(
|
|
9059
|
+
ProportionSelectorDropdown,
|
|
9060
|
+
{
|
|
9061
|
+
proportionInterval,
|
|
9062
|
+
setMinProportion: (min) => setProportionInterval((prev) => ({ ...prev, min })),
|
|
9063
|
+
setMaxProportion: (max) => setProportionInterval((prev) => ({ ...prev, max })),
|
|
9064
|
+
labelPrefix: "Mean proportion"
|
|
9065
|
+
}
|
|
9066
|
+
),
|
|
9067
|
+
/* @__PURE__ */ u$1(
|
|
9068
|
+
"button",
|
|
9069
|
+
{
|
|
9070
|
+
className: "btn btn-xs w-24",
|
|
9071
|
+
onClick: () => setHideGaps((s2) => !s2),
|
|
9072
|
+
title: hideGaps ? "Date ranges that do not contain data are excluded from the table" : "Exclude date ranges without data from the table",
|
|
9073
|
+
children: hideGaps ? "Gaps hidden" : "Hide gaps"
|
|
9074
|
+
}
|
|
9075
|
+
),
|
|
9076
|
+
activeTab === "Grid" && /* @__PURE__ */ u$1(ColorScaleSelectorDropdown, { colorScale, setColorScale }),
|
|
9077
|
+
/* @__PURE__ */ u$1(
|
|
9078
|
+
CsvDownloadButton,
|
|
9079
|
+
{
|
|
9080
|
+
className: "btn btn-xs",
|
|
9081
|
+
getData: () => getDownloadData(filteredData),
|
|
9082
|
+
filename: "queries_over_time.csv"
|
|
9083
|
+
}
|
|
9084
|
+
),
|
|
9085
|
+
/* @__PURE__ */ u$1(QueriesOverTimeInfo, { originalComponentProps }),
|
|
9086
|
+
/* @__PURE__ */ u$1(Fullscreen, {})
|
|
9087
|
+
] });
|
|
9088
|
+
};
|
|
9089
|
+
const QueriesOverTimeInfo = ({ originalComponentProps }) => {
|
|
9090
|
+
const lapis = useLapisUrl();
|
|
9091
|
+
return /* @__PURE__ */ u$1(Info, { children: [
|
|
9092
|
+
/* @__PURE__ */ u$1(InfoHeadline1, { children: "Queries over time" }),
|
|
9093
|
+
/* @__PURE__ */ u$1(InfoParagraph, { children: [
|
|
9094
|
+
"This component displays the proportions of custom queries per ",
|
|
9095
|
+
originalComponentProps.granularity,
|
|
9096
|
+
". Each query consists of a count query (what to count) and a coverage query (what to use as the denominator). In the toolbar, you can filter queries by text and configure which queries are displayed by applying a filter based on the mean proportion of the query's occurrence over the entire time range."
|
|
9097
|
+
] }),
|
|
9098
|
+
/* @__PURE__ */ u$1(InfoParagraph, { children: "The grid cells have a tooltip that will show more detailed information. It shows the count of samples that match the count query and the count of samples that match the coverage query in this timeframe. It also shows the total count of samples in this timeframe." }),
|
|
9099
|
+
/* @__PURE__ */ u$1(InfoComponentCode, { componentName: "queries-over-time", params: originalComponentProps, lapisUrl: lapis })
|
|
9100
|
+
] });
|
|
9101
|
+
};
|
|
9102
|
+
function getDownloadData(filteredData) {
|
|
9103
|
+
const dates = filteredData.getSecondAxisKeys().map((date) => toTemporalClass(date));
|
|
9104
|
+
return filteredData.getFirstAxisKeys().map((query) => {
|
|
9105
|
+
return dates.reduce(
|
|
9106
|
+
(accumulated, date) => {
|
|
9107
|
+
const value = filteredData.get(query, date);
|
|
9108
|
+
const proportion = getProportion(value ?? null) ?? "";
|
|
9109
|
+
return {
|
|
9110
|
+
...accumulated,
|
|
9111
|
+
[date.dateString]: proportion
|
|
9112
|
+
};
|
|
9113
|
+
},
|
|
9114
|
+
{ query }
|
|
9115
|
+
);
|
|
9116
|
+
});
|
|
9117
|
+
}
|
|
9118
|
+
var __defProp$9 = Object.defineProperty;
|
|
9119
|
+
var __getOwnPropDesc$9 = Object.getOwnPropertyDescriptor;
|
|
9120
|
+
var __decorateClass$9 = (decorators, target, key, kind) => {
|
|
9121
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$9(target, key) : target;
|
|
9122
|
+
for (var i2 = decorators.length - 1, decorator; i2 >= 0; i2--)
|
|
9123
|
+
if (decorator = decorators[i2])
|
|
9124
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
9125
|
+
if (kind && result) __defProp$9(target, key, result);
|
|
9126
|
+
return result;
|
|
9127
|
+
};
|
|
9128
|
+
let QueriesOverTimeComponent = class extends PreactLitAdapterWithGridJsStyles {
|
|
9129
|
+
constructor() {
|
|
9130
|
+
super(...arguments);
|
|
9131
|
+
this.lapisFilter = {};
|
|
9132
|
+
this.queries = [];
|
|
9133
|
+
this.views = ["grid"];
|
|
9134
|
+
this.width = "100%";
|
|
9135
|
+
this.height = void 0;
|
|
9136
|
+
this.granularity = "week";
|
|
9137
|
+
this.lapisDateField = "date";
|
|
9138
|
+
this.initialMeanProportionInterval = { min: 0, max: 1 };
|
|
9139
|
+
this.hideGaps = false;
|
|
9140
|
+
this.pageSizes = [10, 20, 30, 40, 50];
|
|
9141
|
+
this.customColumns = void 0;
|
|
9142
|
+
}
|
|
9143
|
+
render() {
|
|
9144
|
+
return /* @__PURE__ */ u$1(
|
|
9145
|
+
QueriesOverTime,
|
|
9146
|
+
{
|
|
9147
|
+
lapisFilter: this.lapisFilter,
|
|
9148
|
+
queries: this.queries,
|
|
9149
|
+
views: this.views,
|
|
9150
|
+
width: this.width,
|
|
9151
|
+
height: this.height,
|
|
9152
|
+
granularity: this.granularity,
|
|
9153
|
+
lapisDateField: this.lapisDateField,
|
|
9154
|
+
initialMeanProportionInterval: this.initialMeanProportionInterval,
|
|
9155
|
+
hideGaps: this.hideGaps,
|
|
9156
|
+
pageSizes: this.pageSizes,
|
|
9157
|
+
customColumns: this.customColumns
|
|
9158
|
+
}
|
|
9159
|
+
);
|
|
9160
|
+
}
|
|
9161
|
+
};
|
|
9162
|
+
__decorateClass$9([
|
|
9163
|
+
n$1({ type: Object })
|
|
9164
|
+
], QueriesOverTimeComponent.prototype, "lapisFilter", 2);
|
|
9165
|
+
__decorateClass$9([
|
|
9166
|
+
n$1({ type: Array })
|
|
9167
|
+
], QueriesOverTimeComponent.prototype, "queries", 2);
|
|
9168
|
+
__decorateClass$9([
|
|
9169
|
+
n$1({ type: Array })
|
|
9170
|
+
], QueriesOverTimeComponent.prototype, "views", 2);
|
|
9171
|
+
__decorateClass$9([
|
|
9172
|
+
n$1({ type: String })
|
|
9173
|
+
], QueriesOverTimeComponent.prototype, "width", 2);
|
|
9174
|
+
__decorateClass$9([
|
|
9175
|
+
n$1({ type: String })
|
|
9176
|
+
], QueriesOverTimeComponent.prototype, "height", 2);
|
|
9177
|
+
__decorateClass$9([
|
|
9178
|
+
n$1({ type: String })
|
|
9179
|
+
], QueriesOverTimeComponent.prototype, "granularity", 2);
|
|
9180
|
+
__decorateClass$9([
|
|
9181
|
+
n$1({ type: String })
|
|
9182
|
+
], QueriesOverTimeComponent.prototype, "lapisDateField", 2);
|
|
9183
|
+
__decorateClass$9([
|
|
9184
|
+
n$1({ type: Object })
|
|
9185
|
+
], QueriesOverTimeComponent.prototype, "initialMeanProportionInterval", 2);
|
|
9186
|
+
__decorateClass$9([
|
|
9187
|
+
n$1({ type: Boolean })
|
|
9188
|
+
], QueriesOverTimeComponent.prototype, "hideGaps", 2);
|
|
9189
|
+
__decorateClass$9([
|
|
9190
|
+
n$1({ type: Array })
|
|
9191
|
+
], QueriesOverTimeComponent.prototype, "pageSizes", 2);
|
|
9192
|
+
__decorateClass$9([
|
|
9193
|
+
n$1({ type: Array })
|
|
9194
|
+
], QueriesOverTimeComponent.prototype, "customColumns", 2);
|
|
9195
|
+
QueriesOverTimeComponent = __decorateClass$9([
|
|
9196
|
+
t$3("gs-queries-over-time")
|
|
9197
|
+
], QueriesOverTimeComponent);
|
|
8661
9198
|
const leafletStyle = `/* required styles */\r
|
|
8662
9199
|
\r
|
|
8663
9200
|
.leaflet-pane,\r
|
|
@@ -16462,6 +16999,7 @@ export {
|
|
|
16462
16999
|
NumberRangeFilterComponent,
|
|
16463
17000
|
NumberSequencesOverTimeComponent,
|
|
16464
17001
|
PrevalenceOverTimeComponent,
|
|
17002
|
+
QueriesOverTimeComponent,
|
|
16465
17003
|
RelativeGrowthAdvantageComponent,
|
|
16466
17004
|
SequencesByLocationComponent,
|
|
16467
17005
|
StatisticsComponent,
|