@medicaresoft/dicom-viewer 0.1.0 → 0.1.1
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/README.md +39 -0
- package/dist/DicomViewer.d.ts +7 -2
- package/dist/index.d.ts +1 -2
- package/dist/index.js +84 -60
- package/dist/skeleton.d.ts +0 -1
- package/dist/skeleton.js +5 -6
- package/dist/style.css +1 -2
- package/dist/types.d.ts +41 -0
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -45,6 +45,45 @@ El host decide de dónde salen los bytes: API propia, DICOMweb, disco local
|
|
|
45
45
|
| `onBack` | `() => void` | Si se define, muestra botón volver |
|
|
46
46
|
| `actions` | `ReactNode` | `<Action/>` inyectadas en slots |
|
|
47
47
|
| `modals` | `ReactNode` | `<ViewerModal/>` inyectados |
|
|
48
|
+
| `theme` | `DicomViewerTheme` | Colores primario/secundario + contrastes y superficies |
|
|
49
|
+
|
|
50
|
+
## Tema (`theme`)
|
|
51
|
+
|
|
52
|
+
El visor se personaliza en runtime sin recompilar estilos:
|
|
53
|
+
|
|
54
|
+
```tsx
|
|
55
|
+
<DicomViewer
|
|
56
|
+
study={study}
|
|
57
|
+
getDicomFile={fetcher}
|
|
58
|
+
theme={{
|
|
59
|
+
primary: "#0a5f8a",
|
|
60
|
+
primaryForeground: "#ffffff",
|
|
61
|
+
secondary: "#e63946",
|
|
62
|
+
secondaryForeground: "#ffffff",
|
|
63
|
+
// superficies opcionales (tema oscuro completo):
|
|
64
|
+
background: "#0e1017",
|
|
65
|
+
chrome: "#060608",
|
|
66
|
+
panel: "#1a1d27",
|
|
67
|
+
panelHover: "#202432",
|
|
68
|
+
border: "#242735",
|
|
69
|
+
// ...
|
|
70
|
+
}}
|
|
71
|
+
/>
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
El prop se inyecta como variables CSS (`--dv-*`) en el elemento raíz del
|
|
75
|
+
visor — alcance por instancia, sin contaminar el `:root` del host. Todos los
|
|
76
|
+
campos son opcionales; los no definidos usan los defaults del paquete (o el
|
|
77
|
+
tema del host, en el caso de Symphony).
|
|
78
|
+
|
|
79
|
+
También puedes sobreescribir las variables globalmente en tu CSS:
|
|
80
|
+
|
|
81
|
+
```css
|
|
82
|
+
:root {
|
|
83
|
+
--dv-secondary: #e63946;
|
|
84
|
+
--dv-primary: #0a5f8a;
|
|
85
|
+
}
|
|
86
|
+
```
|
|
48
87
|
|
|
49
88
|
## Acciones y modales (slots)
|
|
50
89
|
|
package/dist/DicomViewer.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ReactNode } from "react";
|
|
2
|
-
import type { DicomFileFetcher, DicomStudy, PresetsConfig, ThumbnailUrlResolver, ViewerBranding } from "./types";
|
|
2
|
+
import type { DicomFileFetcher, DicomStudy, DicomViewerTheme, PresetsConfig, ThumbnailUrlResolver, ViewerBranding } from "./types";
|
|
3
3
|
export interface DicomViewerProps {
|
|
4
4
|
/** Metadatos del estudio (el host los obtiene de donde quiera). */
|
|
5
5
|
study: DicomStudy;
|
|
@@ -19,6 +19,11 @@ export interface DicomViewerProps {
|
|
|
19
19
|
actions?: ReactNode;
|
|
20
20
|
/** Modales inyectados: <ViewerModal open=...>...</ViewerModal>. */
|
|
21
21
|
modals?: ReactNode;
|
|
22
|
+
/**
|
|
23
|
+
* Tema de colores: primario/secundario con contrastes y tokens de
|
|
24
|
+
* superficie. Se aplica como variables CSS scoped al visor.
|
|
25
|
+
*/
|
|
26
|
+
theme?: DicomViewerTheme;
|
|
22
27
|
className?: string;
|
|
23
28
|
}
|
|
24
29
|
/**
|
|
@@ -26,5 +31,5 @@ export interface DicomViewerProps {
|
|
|
26
31
|
* lógica de negocio, sin router y sin HTTP propio. Todo lo específico del
|
|
27
32
|
* host llega por props (datos, fetchers, branding, acciones y modales).
|
|
28
33
|
*/
|
|
29
|
-
export declare const DicomViewer: ({ study, getDicomFile, getThumbnailUrl, presets, maxConcurrentDownloads, branding, onBack, actions: actionsProp, modals: modalsProp, className, }: DicomViewerProps) => import("react/jsx-runtime").JSX.Element;
|
|
34
|
+
export declare const DicomViewer: ({ study, getDicomFile, getThumbnailUrl, presets, maxConcurrentDownloads, branding, onBack, actions: actionsProp, modals: modalsProp, theme, className, }: DicomViewerProps) => import("react/jsx-runtime").JSX.Element;
|
|
30
35
|
export default DicomViewer;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import "./style.css";
|
|
2
1
|
export { DicomViewer } from "./DicomViewer";
|
|
3
2
|
export type { DicomViewerProps } from "./DicomViewer";
|
|
4
3
|
export { Action, ViewerModal } from "./Action";
|
|
5
4
|
export { DicomToolbarButton } from "./components/DicomToolbarButton";
|
|
6
5
|
export { useDicomContext, useViewerActions, DicomViewerContext } from "./context";
|
|
7
|
-
export type { ActionContext, ActionPlacement, ActionProps, DicomFile, DicomFileFetcher, DicomSeries, DicomStudy, PresetsConfig, ThumbnailUrlResolver, ViewerBranding, ViewerModalProps, } from "./types";
|
|
6
|
+
export type { ActionContext, ActionPlacement, ActionProps, DicomFile, DicomFileFetcher, DicomSeries, DicomStudy, DicomViewerTheme, PresetsConfig, ThumbnailUrlResolver, ViewerBranding, ViewerModalProps, } from "./types";
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/* empty css */
|
|
2
1
|
import e, { Children as t, createContext as n, isValidElement as r, useCallback as i, useContext as a, useEffect as o, useMemo as s, useReducer as c, useRef as l, useState as u } from "react";
|
|
3
2
|
import { Check as d, ChevronLeft as f, ChevronRight as p, Circle as m, Columns as h, Compass as g, Contrast as _, Crosshair as v, Eye as y, EyeOff as b, FlipHorizontal as x, FlipVertical as S, LayoutGrid as C, Library as w, Loader2 as T, Move as E, Pause as D, Play as O, RefreshCw as k, RotateCcw as A, RotateCw as j, Ruler as M, Search as N, Sliders as P, SlidersHorizontal as F, Square as I, Sun as L, Target as R, Trash2 as z, Triangle as B, Wrench as V, ZoomIn as H } from "lucide-react";
|
|
4
3
|
import { Fragment as U, jsx as W, jsxs as G } from "react/jsx-runtime";
|
|
@@ -15975,7 +15974,7 @@ function Wt(...e) {
|
|
|
15975
15974
|
//#region src/components/DicomToolbarButton.tsx
|
|
15976
15975
|
var Gt = ({ active: e = !1, variant: t = "tool", icon: n, label: r, boundButtons: i, className: a, ...o }) => {
|
|
15977
15976
|
let s = Wt("relative flex items-center justify-center text-xs font-semibold rounded-xl border cursor-pointer select-none transition-all duration-200 hover:-translate-y-0.5 active:translate-y-0 disabled:opacity-40 disabled:pointer-events-none disabled:transform-none shrink-0", r ? "gap-1.5 px-3 py-1.5" : "p-2 w-9 h-9"), c = "";
|
|
15978
|
-
return t === "tool" ? c = e ? "bg-secondary/10 border-secondary/35 text-secondary shadow-sm shadow-secondary/15 font-bold" : "border-transparent text-slate-400 hover:bg-slate-850/50 hover:text-slate-200" : t === "action" ? c = "border-
|
|
15977
|
+
return t === "tool" ? c = e ? "bg-secondary/10 border-secondary/35 text-secondary shadow-sm shadow-secondary/15 font-bold" : "border-transparent text-slate-400 hover:bg-slate-850/50 hover:text-slate-200" : t === "action" ? c = "border-dv-border bg-dv-panel text-slate-300 hover:bg-dv-panel-hover hover:border-dv-border-hover hover:text-white shadow-sm" : t === "destructive" && (c = "border-dv-border bg-dv-panel text-rose-450 hover:bg-rose-950/25 hover:border-rose-800/55 hover:text-rose-400 shadow-sm"), /* @__PURE__ */ G("button", {
|
|
15979
15978
|
className: Wt(s, c, a),
|
|
15980
15979
|
...o,
|
|
15981
15980
|
children: [
|
|
@@ -16022,7 +16021,7 @@ var Gt = ({ active: e = !1, variant: t = "tool", icon: n, label: r, boundButtons
|
|
|
16022
16021
|
ref: m,
|
|
16023
16022
|
children: [/* @__PURE__ */ W("button", {
|
|
16024
16023
|
onClick: () => p(!f),
|
|
16025
|
-
className: Wt("relative flex items-center justify-center text-xs font-semibold rounded-xl border cursor-pointer select-none transition-all duration-200 hover:-translate-y-0.5 active:translate-y-0 disabled:opacity-40 disabled:pointer-events-none disabled:transform-none shrink-0 p-2 w-9 h-9 shadow-xs", f ? "bg-secondary/15 border-secondary/40 text-secondary font-extrabold shadow-sm shadow-secondary/20" : "border-
|
|
16024
|
+
className: Wt("relative flex items-center justify-center text-xs font-semibold rounded-xl border cursor-pointer select-none transition-all duration-200 hover:-translate-y-0.5 active:translate-y-0 disabled:opacity-40 disabled:pointer-events-none disabled:transform-none shrink-0 p-2 w-9 h-9 shadow-xs", f ? "bg-secondary/15 border-secondary/40 text-secondary font-extrabold shadow-sm shadow-secondary/20" : "border-dv-border bg-dv-panel text-slate-400 hover:bg-dv-panel-hover hover:text-slate-200"),
|
|
16026
16025
|
title: "Presets de Ventana (Contraste)",
|
|
16027
16026
|
children: /* @__PURE__ */ W(F, { className: "h-3.5 w-3.5" })
|
|
16028
16027
|
}), f && /* @__PURE__ */ W("div", {
|
|
@@ -16118,7 +16117,7 @@ var Yt = () => {
|
|
|
16118
16117
|
e.deltaY !== 0 && (e.currentTarget.scrollLeft += e.deltaY);
|
|
16119
16118
|
};
|
|
16120
16119
|
return /* @__PURE__ */ G("div", {
|
|
16121
|
-
className: "hidden md:flex px-4 py-2.5 bg-
|
|
16120
|
+
className: "hidden md:flex px-4 py-2.5 bg-dv-chrome border-b border-dv-border items-center justify-between gap-4 z-30 select-none shrink-0 w-full overflow-visible",
|
|
16122
16121
|
children: [
|
|
16123
16122
|
/* @__PURE__ */ G("div", {
|
|
16124
16123
|
className: "flex items-center gap-3 shrink-0",
|
|
@@ -16127,7 +16126,7 @@ var Yt = () => {
|
|
|
16127
16126
|
onClick: () => {
|
|
16128
16127
|
w?.();
|
|
16129
16128
|
},
|
|
16130
|
-
className: "p-1.5 rounded-xl border border-
|
|
16129
|
+
className: "p-1.5 rounded-xl border border-dv-border bg-dv-panel text-slate-400 hover:text-white hover:bg-slate-800/40 cursor-pointer transition-all active:scale-95",
|
|
16131
16130
|
title: "Volver a estudios",
|
|
16132
16131
|
children: /* @__PURE__ */ W(f, { className: "w-4 h-4" })
|
|
16133
16132
|
}),
|
|
@@ -16155,7 +16154,7 @@ var Yt = () => {
|
|
|
16155
16154
|
/* @__PURE__ */ W("div", {
|
|
16156
16155
|
className: "flex-1 min-w-0 flex items-center",
|
|
16157
16156
|
children: /* @__PURE__ */ W("div", {
|
|
16158
|
-
className: "w-full flex flex-nowrap gap-1 bg-
|
|
16157
|
+
className: "w-full flex flex-nowrap gap-1 bg-dv-panel border border-dv-border p-2 rounded-2xl overflow-x-auto scrollbar-none cursor-grab active:cursor-grabbing",
|
|
16159
16158
|
...N,
|
|
16160
16159
|
onWheel: R,
|
|
16161
16160
|
children: ge.map((e) => /* @__PURE__ */ W(Gt, {
|
|
@@ -16183,7 +16182,7 @@ var Yt = () => {
|
|
|
16183
16182
|
})
|
|
16184
16183
|
}),
|
|
16185
16184
|
/* @__PURE__ */ G("div", {
|
|
16186
|
-
className: "flex gap-1.5 bg-
|
|
16185
|
+
className: "flex gap-1.5 bg-dv-panel border border-dv-border p-1.5 rounded-2xl items-center shrink-0",
|
|
16187
16186
|
children: [
|
|
16188
16187
|
/* @__PURE__ */ W(Gt, {
|
|
16189
16188
|
onClick: () => n({ type: "TOGGLE_REFERENCE_LINES" }),
|
|
@@ -16225,7 +16224,7 @@ var Yt = () => {
|
|
|
16225
16224
|
]
|
|
16226
16225
|
}),
|
|
16227
16226
|
/* @__PURE__ */ G("div", {
|
|
16228
|
-
className: "flex gap-1.5 bg-
|
|
16227
|
+
className: "flex gap-1.5 bg-dv-panel border border-dv-border p-1.5 rounded-2xl items-center shrink-0",
|
|
16229
16228
|
children: [
|
|
16230
16229
|
M.map((t) => t.children ? /* @__PURE__ */ W(e.Fragment, { children: t.children }, t.id) : /* @__PURE__ */ W(Gt, {
|
|
16231
16230
|
onClick: () => t.onClick?.({
|
|
@@ -16251,7 +16250,7 @@ var Yt = () => {
|
|
|
16251
16250
|
icon: /* @__PURE__ */ W(z, { className: "w-3.5 h-3.5" }),
|
|
16252
16251
|
title: "Borrar todas las mediciones"
|
|
16253
16252
|
}),
|
|
16254
|
-
/* @__PURE__ */ W("div", { className: "w-px h-5 bg-
|
|
16253
|
+
/* @__PURE__ */ W("div", { className: "w-px h-5 bg-dv-border mx-0.5" }),
|
|
16255
16254
|
/* @__PURE__ */ W(Gt, {
|
|
16256
16255
|
onClick: () => n({
|
|
16257
16256
|
type: "SET_SHOW_OVERLAYS",
|
|
@@ -16267,7 +16266,7 @@ var Yt = () => {
|
|
|
16267
16266
|
ref: L,
|
|
16268
16267
|
children: [/* @__PURE__ */ G("button", {
|
|
16269
16268
|
onClick: () => F(!P),
|
|
16270
|
-
className: "relative flex items-center justify-center text-slate-400 hover:text-slate-200 border border-
|
|
16269
|
+
className: "relative flex items-center justify-center text-slate-400 hover:text-slate-200 border border-dv-border bg-dv-panel hover:bg-dv-panel-hover rounded-xl p-2 w-9 h-9 cursor-pointer select-none transition-all duration-200",
|
|
16271
16270
|
title: "Dividir pantalla (Layout)",
|
|
16272
16271
|
children: [
|
|
16273
16272
|
t.layout === "1x1" && /* @__PURE__ */ W(I, { className: "w-3.5 h-3.5" }),
|
|
@@ -16330,7 +16329,7 @@ var Zt = ({ currentImageIndex: e, totalImages: t, ww: n, wc: r }) => {
|
|
|
16330
16329
|
let i = se(), { state: a, onBack: o, branding: s } = i, { study: c, showOverlays: l = !0 } = a, u = e ?? i.currentImageIndex, d = t ?? i.totalImages, p = n === void 0 ? i.ww : n, m = r === void 0 ? i.wc : r, h = Wt("transition-all duration-300", l ? "opacity-80 scale-100" : "opacity-0 scale-95 pointer-events-none");
|
|
16331
16330
|
return /* @__PURE__ */ G(U, { children: [
|
|
16332
16331
|
/* @__PURE__ */ G("div", {
|
|
16333
|
-
className: Wt("absolute top-4 left-4 flex items-center gap-2.5 pointer-events-auto bg-
|
|
16332
|
+
className: Wt("absolute top-4 left-4 flex items-center gap-2.5 pointer-events-auto bg-dv-overlay/85 border border-dv-border px-3.5 py-2.5 rounded-2xl backdrop-blur-md shadow-lg leading-relaxed text-left z-10", h),
|
|
16334
16333
|
children: [o && /* @__PURE__ */ W("button", {
|
|
16335
16334
|
onClick: o,
|
|
16336
16335
|
className: "p-1 rounded-lg text-slate-400 hover:text-white hover:bg-slate-800/60 active:scale-95 transition-all cursor-pointer shrink-0 md:hidden",
|
|
@@ -16363,7 +16362,7 @@ var Zt = ({ currentImageIndex: e, totalImages: t, ww: n, wc: r }) => {
|
|
|
16363
16362
|
})]
|
|
16364
16363
|
}),
|
|
16365
16364
|
s.logo && /* @__PURE__ */ W("div", {
|
|
16366
|
-
className: Wt("absolute top-4 right-4 pointer-events-none bg-
|
|
16365
|
+
className: Wt("absolute top-4 right-4 pointer-events-none bg-dv-overlay/80 border border-dv-border px-3 py-1.5 rounded-xl backdrop-blur-md shadow-lg z-10 flex items-center justify-center md:hidden", h),
|
|
16367
16366
|
children: /* @__PURE__ */ W("img", {
|
|
16368
16367
|
src: s.logo,
|
|
16369
16368
|
alt: "Institution Logo",
|
|
@@ -16371,7 +16370,7 @@ var Zt = ({ currentImageIndex: e, totalImages: t, ww: n, wc: r }) => {
|
|
|
16371
16370
|
})
|
|
16372
16371
|
}),
|
|
16373
16372
|
/* @__PURE__ */ G("div", {
|
|
16374
|
-
className: Wt("absolute bottom-4 left-4 pointer-events-none text-[10px] text-slate-300 font-mono space-y-1 bg-
|
|
16373
|
+
className: Wt("absolute bottom-4 left-4 pointer-events-none text-[10px] text-slate-300 font-mono space-y-1 bg-dv-overlay/85 border border-dv-border px-3 py-2 rounded-2xl backdrop-blur-md shadow-lg leading-relaxed text-left z-10", h),
|
|
16375
16374
|
children: [
|
|
16376
16375
|
/* @__PURE__ */ G("p", { children: [
|
|
16377
16376
|
"W:",
|
|
@@ -16404,7 +16403,7 @@ var Zt = ({ currentImageIndex: e, totalImages: t, ww: n, wc: r }) => {
|
|
|
16404
16403
|
]
|
|
16405
16404
|
}),
|
|
16406
16405
|
s.name && /* @__PURE__ */ W("div", {
|
|
16407
|
-
className: Wt("absolute bottom-4 right-4 pointer-events-none text-[9px] text-slate-500 font-mono bg-
|
|
16406
|
+
className: Wt("absolute bottom-4 right-4 pointer-events-none text-[9px] text-slate-500 font-mono bg-dv-overlay/65 px-2.5 py-1 rounded-xl border border-dv-border shadow-inner z-10 uppercase tracking-wider", h),
|
|
16408
16407
|
children: s.name
|
|
16409
16408
|
})
|
|
16410
16409
|
] });
|
|
@@ -35805,7 +35804,7 @@ var fn = ({ viewportIndex: e, seriesIndex: t, isActive: n, onActivate: r }) => {
|
|
|
35805
35804
|
onDragEnter: b,
|
|
35806
35805
|
onDragLeave: x,
|
|
35807
35806
|
onDrop: S,
|
|
35808
|
-
className: Wt("flex-1 h-full min-h-0 relative bg-
|
|
35807
|
+
className: Wt("flex-1 h-full min-h-0 relative bg-dv-viewport flex items-center justify-center border transition-all duration-200 cursor-pointer select-none", h ? "border-secondary bg-secondary/5 ring-2 ring-secondary/35 z-10 shadow-xl" : n ? "border-secondary ring-1 ring-secondary/20 z-10 shadow-lg shadow-secondary/5" : "border-dv-border hover:border-slate-800/50"),
|
|
35809
35808
|
children: [
|
|
35810
35809
|
h && /* @__PURE__ */ W("div", {
|
|
35811
35810
|
className: "absolute inset-0 bg-secondary/5 backdrop-blur-xs border-2 border-dashed border-secondary flex items-center justify-center z-30 pointer-events-none transition-all duration-200",
|
|
@@ -35815,7 +35814,7 @@ var fn = ({ viewportIndex: e, seriesIndex: t, isActive: n, onActivate: r }) => {
|
|
|
35815
35814
|
})
|
|
35816
35815
|
}),
|
|
35817
35816
|
O < k && /* @__PURE__ */ W("div", {
|
|
35818
|
-
className: "absolute top-0 left-0 right-0 h-0.5 bg-
|
|
35817
|
+
className: "absolute top-0 left-0 right-0 h-0.5 bg-dv-overlay/80 z-20",
|
|
35819
35818
|
children: /* @__PURE__ */ W("div", {
|
|
35820
35819
|
className: "bg-linear-to-r from-secondary to-secondary/50 h-full transition-all duration-300 ease-out shadow-sm shadow-secondary/30",
|
|
35821
35820
|
style: { width: `${D}%` }
|
|
@@ -35827,10 +35826,10 @@ var fn = ({ viewportIndex: e, seriesIndex: t, isActive: n, onActivate: r }) => {
|
|
|
35827
35826
|
onContextMenu: (e) => e.preventDefault()
|
|
35828
35827
|
}),
|
|
35829
35828
|
E ? /* @__PURE__ */ G("div", {
|
|
35830
|
-
className: "absolute inset-0 bg-
|
|
35829
|
+
className: "absolute inset-0 bg-dv-viewport/90 z-10 flex flex-col justify-center items-center pointer-events-none",
|
|
35831
35830
|
children: [
|
|
35832
35831
|
/* @__PURE__ */ G("div", {
|
|
35833
|
-
className: Wt("absolute top-4 left-4 bg-
|
|
35832
|
+
className: Wt("absolute top-4 left-4 bg-dv-overlay/85 border border-dv-border px-3.5 py-2.5 rounded-2xl w-40 space-y-2 transition-all duration-300", a.showOverlays ?? !0 ? "opacity-100 scale-100" : "opacity-0 scale-95 pointer-events-none"),
|
|
35834
35833
|
children: [
|
|
35835
35834
|
/* @__PURE__ */ W(Xt, { className: "h-3 w-3/4 bg-slate-800/40" }),
|
|
35836
35835
|
/* @__PURE__ */ W(Xt, { className: "h-2 w-1/2 bg-slate-800/30" }),
|
|
@@ -35838,7 +35837,7 @@ var fn = ({ viewportIndex: e, seriesIndex: t, isActive: n, onActivate: r }) => {
|
|
|
35838
35837
|
]
|
|
35839
35838
|
}),
|
|
35840
35839
|
/* @__PURE__ */ W("div", {
|
|
35841
|
-
className: Wt("absolute top-4 right-4 bg-
|
|
35840
|
+
className: Wt("absolute top-4 right-4 bg-dv-overlay/85 border border-dv-border px-3 py-2 rounded-2xl w-24 h-12 flex items-center justify-center transition-all duration-300", a.showOverlays ?? !0 ? "opacity-100 scale-100" : "opacity-0 scale-95 pointer-events-none"),
|
|
35842
35841
|
children: /* @__PURE__ */ W(Xt, { className: "h-4 w-16 bg-slate-800/40" })
|
|
35843
35842
|
}),
|
|
35844
35843
|
/* @__PURE__ */ G("div", {
|
|
@@ -35856,7 +35855,7 @@ var fn = ({ viewportIndex: e, seriesIndex: t, isActive: n, onActivate: r }) => {
|
|
|
35856
35855
|
})]
|
|
35857
35856
|
}),
|
|
35858
35857
|
/* @__PURE__ */ G("div", {
|
|
35859
|
-
className: Wt("absolute bottom-4 left-4 bg-
|
|
35858
|
+
className: Wt("absolute bottom-4 left-4 bg-dv-overlay/85 border border-dv-border px-3 py-2 rounded-2xl w-24 space-y-2 transition-all duration-300", a.showOverlays ?? !0 ? "opacity-100 scale-100" : "opacity-0 scale-95 pointer-events-none"),
|
|
35860
35859
|
children: [
|
|
35861
35860
|
/* @__PURE__ */ W(Xt, { className: "h-2 w-2/3 bg-slate-800/30" }),
|
|
35862
35861
|
/* @__PURE__ */ W(Xt, { className: "h-2 w-2/3 bg-slate-800/30" }),
|
|
@@ -35864,7 +35863,7 @@ var fn = ({ viewportIndex: e, seriesIndex: t, isActive: n, onActivate: r }) => {
|
|
|
35864
35863
|
]
|
|
35865
35864
|
}),
|
|
35866
35865
|
/* @__PURE__ */ W("div", {
|
|
35867
|
-
className: Wt("absolute bottom-4 right-4 bg-
|
|
35866
|
+
className: Wt("absolute bottom-4 right-4 bg-dv-overlay/65 px-2.5 py-1 rounded-xl border border-dv-border w-28 h-5 flex items-center justify-center transition-all duration-300", a.showOverlays ?? !0 ? "opacity-100 scale-100" : "opacity-0 scale-95 pointer-events-none"),
|
|
35868
35867
|
children: /* @__PURE__ */ W(Xt, { className: "h-2 w-20 bg-slate-800/30" })
|
|
35869
35868
|
})
|
|
35870
35869
|
]
|
|
@@ -35895,7 +35894,7 @@ var fn = ({ viewportIndex: e, seriesIndex: t, isActive: n, onActivate: r }) => {
|
|
|
35895
35894
|
onActivate: () => {}
|
|
35896
35895
|
})
|
|
35897
35896
|
}) : /* @__PURE__ */ W("div", {
|
|
35898
|
-
className: Wt("h-full w-full min-h-0 flex-1 bg-
|
|
35897
|
+
className: Wt("h-full w-full min-h-0 flex-1 bg-dv-chrome gap-1.5 p-1.5 grid", n === "1x1" && "grid-cols-1 grid-rows-1", n === "1x2" && "grid-cols-2 grid-rows-1", n === "2x2" && "grid-cols-2 grid-rows-2"),
|
|
35899
35898
|
children: l.map((e) => {
|
|
35900
35899
|
let n = i[e]?.seriesIndex ?? 0;
|
|
35901
35900
|
return /* @__PURE__ */ W(fn, {
|
|
@@ -35912,11 +35911,11 @@ var fn = ({ viewportIndex: e, seriesIndex: t, isActive: n, onActivate: r }) => {
|
|
|
35912
35911
|
}, mn = () => {
|
|
35913
35912
|
let { state: e, dispatch: t, isPlaying: n, togglePlay: r, currentImageIndex: i, totalImages: a, downloadedCount: o, loadingProgress: s, handleSliderChange: c } = se(), l = e.playSpeed ?? 1;
|
|
35914
35913
|
return /* @__PURE__ */ G("div", {
|
|
35915
|
-
className: "bg-
|
|
35914
|
+
className: "bg-dv-overlay/90 backdrop-blur-md border border-dv-border rounded-2xl p-3 flex flex-col md:flex-row items-center gap-4 shadow-xl select-none mx-4 mb-4",
|
|
35916
35915
|
children: [
|
|
35917
35916
|
/* @__PURE__ */ W("button", {
|
|
35918
35917
|
onClick: r,
|
|
35919
|
-
className: `p-2.5 rounded-xl border cursor-pointer select-none transition-all duration-300 active:scale-95 shrink-0 ${n ? "bg-secondary/10 border-secondary/35 text-secondary shadow-sm shadow-secondary/15 font-semibold" : "border-
|
|
35918
|
+
className: `p-2.5 rounded-xl border cursor-pointer select-none transition-all duration-300 active:scale-95 shrink-0 ${n ? "bg-secondary/10 border-secondary/35 text-secondary shadow-sm shadow-secondary/15 font-semibold" : "border-dv-border bg-dv-panel text-slate-300 hover:bg-dv-panel-hover hover:text-white"}`,
|
|
35920
35919
|
title: n ? "Pausar reproducción" : "Reproducir serie",
|
|
35921
35920
|
children: W(n ? D : O, { className: "w-4 h-4 fill-current" })
|
|
35922
35921
|
}),
|
|
@@ -35936,7 +35935,7 @@ var fn = ({ viewportIndex: e, seriesIndex: t, isActive: n, onActivate: r }) => {
|
|
|
35936
35935
|
max: o > 0 ? o - 1 : 0,
|
|
35937
35936
|
value: i,
|
|
35938
35937
|
onChange: (e) => c(Number(e.target.value)),
|
|
35939
|
-
className: "flex-1 h-1.5 bg-
|
|
35938
|
+
className: "flex-1 h-1.5 bg-dv-panel border border-dv-border rounded-full appearance-none cursor-pointer accent-secondary focus:outline-none"
|
|
35940
35939
|
}),
|
|
35941
35940
|
/* @__PURE__ */ W("button", {
|
|
35942
35941
|
onClick: () => c(Math.min(o - 1, i + 1)),
|
|
@@ -35948,10 +35947,10 @@ var fn = ({ viewportIndex: e, seriesIndex: t, isActive: n, onActivate: r }) => {
|
|
|
35948
35947
|
]
|
|
35949
35948
|
}),
|
|
35950
35949
|
/* @__PURE__ */ G("div", {
|
|
35951
|
-
className: "w-full md:w-auto text-[11px] font-mono text-slate-400 bg-
|
|
35950
|
+
className: "w-full md:w-auto text-[11px] font-mono text-slate-400 bg-dv-panel border border-dv-border px-3.5 py-1.5 rounded-xl select-none flex items-center justify-between md:justify-start gap-3",
|
|
35952
35951
|
children: [
|
|
35953
35952
|
o < a && /* @__PURE__ */ G("span", {
|
|
35954
|
-
className: "flex items-center gap-1.5 text-secondary font-semibold mr-2 border-r border-
|
|
35953
|
+
className: "flex items-center gap-1.5 text-secondary font-semibold mr-2 border-r border-dv-border pr-3",
|
|
35955
35954
|
children: [/* @__PURE__ */ W(T, { className: "w-3 h-3 animate-spin" }), /* @__PURE__ */ G("span", { children: [
|
|
35956
35955
|
"Cargando ",
|
|
35957
35956
|
o,
|
|
@@ -35977,7 +35976,7 @@ var fn = ({ viewportIndex: e, seriesIndex: t, isActive: n, onActivate: r }) => {
|
|
|
35977
35976
|
onClick: () => {
|
|
35978
35977
|
t({ type: "TOGGLE_PLAY_SPEED" });
|
|
35979
35978
|
},
|
|
35980
|
-
className: "ml-3 pl-3 border-l border-
|
|
35979
|
+
className: "ml-3 pl-3 border-l border-dv-border text-[10.5px] font-black text-secondary hover:text-white transition-colors cursor-pointer select-none",
|
|
35981
35980
|
title: "Velocidad de reproducción (Cine FPS)",
|
|
35982
35981
|
children: ["x", l]
|
|
35983
35982
|
})
|
|
@@ -35988,9 +35987,9 @@ var fn = ({ viewportIndex: e, seriesIndex: t, isActive: n, onActivate: r }) => {
|
|
|
35988
35987
|
}, hn = () => {
|
|
35989
35988
|
let { state: e, dispatch: t, getThumbnailUrl: n } = se(), { study: r } = e, i = ue("sidebar"), a = e.viewports[e.activeViewportIndex]?.seriesIndex ?? 0;
|
|
35990
35989
|
return /* @__PURE__ */ G("aside", {
|
|
35991
|
-
className: "hidden md:flex w-80 border-r border-
|
|
35990
|
+
className: "hidden md:flex w-80 border-r border-dv-border bg-dv-chrome h-full flex-col shrink-0 overflow-y-auto scrollbar-discreet select-none",
|
|
35992
35991
|
children: [/* @__PURE__ */ G("div", {
|
|
35993
|
-
className: "p-4 border-b border-
|
|
35992
|
+
className: "p-4 border-b border-dv-border space-y-3 text-left",
|
|
35994
35993
|
children: [/* @__PURE__ */ W("span", {
|
|
35995
35994
|
className: "text-[9px] font-black text-slate-500 uppercase tracking-widest block pl-1",
|
|
35996
35995
|
children: "HERRAMIENTAS DE ESTUDIO"
|
|
@@ -36043,7 +36042,7 @@ var fn = ({ viewportIndex: e, seriesIndex: t, isActive: n, onActivate: r }) => {
|
|
|
36043
36042
|
let { icon: t, text: n, onClick: r, className: i, disabled: a } = e;
|
|
36044
36043
|
return /* @__PURE__ */ G("button", {
|
|
36045
36044
|
onClick: r,
|
|
36046
|
-
className: Wt("flex-1 flex items-center justify-center gap-1.5 px-2.5 py-2.5 rounded-xl text-[10px] bg-
|
|
36045
|
+
className: Wt("flex-1 flex items-center justify-center gap-1.5 px-2.5 py-2.5 rounded-xl text-[10px] bg-dv-panel hover:bg-dv-panel-hover-alt border border-dv-border font-semibold text-slate-300 hover:text-white transition-all cursor-pointer disabled:opacity-40 disabled:cursor-not-allowed select-none active:scale-95", i),
|
|
36047
36046
|
disabled: a,
|
|
36048
36047
|
children: [t, /* @__PURE__ */ W("span", { children: n })]
|
|
36049
36048
|
});
|
|
@@ -36055,7 +36054,7 @@ var fn = ({ viewportIndex: e, seriesIndex: t, isActive: n, onActivate: r }) => {
|
|
|
36055
36054
|
onDragStart: (e) => {
|
|
36056
36055
|
e.dataTransfer.setData("text/plain", s.toString()), e.dataTransfer.effectAllowed = "copyMove";
|
|
36057
36056
|
},
|
|
36058
|
-
className: Wt("relative rounded-2xl overflow-hidden border cursor-grab active:cursor-grabbing group bg-
|
|
36057
|
+
className: Wt("relative rounded-2xl overflow-hidden border cursor-grab active:cursor-grabbing group bg-dv-card/90 transition-all duration-300 p-2", t ? "border-secondary/60 shadow-md shadow-secondary/15 ring-1 ring-secondary/30" : "border-dv-border hover:border-slate-700/50"),
|
|
36059
36058
|
children: [/* @__PURE__ */ G("div", {
|
|
36060
36059
|
className: "relative w-full h-32 rounded-xl bg-black overflow-hidden flex items-center justify-center",
|
|
36061
36060
|
children: [l && /* @__PURE__ */ W("img", {
|
|
@@ -36072,7 +36071,7 @@ var fn = ({ viewportIndex: e, seriesIndex: t, isActive: n, onActivate: r }) => {
|
|
|
36072
36071
|
}), /* @__PURE__ */ G("div", {
|
|
36073
36072
|
className: "mt-2.5 flex items-center gap-2 px-1 text-left",
|
|
36074
36073
|
children: [/* @__PURE__ */ W("span", {
|
|
36075
|
-
className: Wt("px-1.5 py-0.5 rounded-lg border text-[8px] font-black uppercase tracking-wider shrink-0", t ? "bg-secondary/30 border-secondary/45 text-slate-250" : "bg-
|
|
36074
|
+
className: Wt("px-1.5 py-0.5 rounded-lg border text-[8px] font-black uppercase tracking-wider shrink-0", t ? "bg-secondary/30 border-secondary/45 text-slate-250" : "bg-dv-panel border-dv-border text-slate-450"),
|
|
36076
36075
|
children: i
|
|
36077
36076
|
}), /* @__PURE__ */ G("div", {
|
|
36078
36077
|
className: "min-w-0 flex-1",
|
|
@@ -36139,12 +36138,12 @@ var Cn = (e) => e.split("_").map((e) => e.charAt(0).toUpperCase() + e.slice(1).t
|
|
|
36139
36138
|
defaultValue: "tools",
|
|
36140
36139
|
className: "w-full",
|
|
36141
36140
|
children: [/* @__PURE__ */ G("div", {
|
|
36142
|
-
className: "flex items-center justify-between border-b border-
|
|
36141
|
+
className: "flex items-center justify-between border-b border-dv-border pb-2",
|
|
36143
36142
|
children: [/* @__PURE__ */ W("span", {
|
|
36144
36143
|
className: "text-[9px] font-black text-slate-500 uppercase tracking-widest",
|
|
36145
36144
|
children: "Herramientas"
|
|
36146
36145
|
}), /* @__PURE__ */ G(bn, {
|
|
36147
|
-
className: "bg-
|
|
36146
|
+
className: "bg-dv-card border border-dv-border h-7 p-[2px] rounded-lg",
|
|
36148
36147
|
children: [
|
|
36149
36148
|
/* @__PURE__ */ W(xn, {
|
|
36150
36149
|
value: "tools",
|
|
@@ -36175,7 +36174,7 @@ var Cn = (e) => e.split("_").map((e) => e.charAt(0).toUpperCase() + e.slice(1).t
|
|
|
36175
36174
|
let t = n === e.id;
|
|
36176
36175
|
return /* @__PURE__ */ G("button", {
|
|
36177
36176
|
onClick: () => r(e.id),
|
|
36178
|
-
className: Wt("flex flex-col items-center justify-center gap-1.5 py-2 px-1 text-[9px] font-bold rounded-xl border transition-all duration-150 active:scale-95 cursor-pointer select-none", t ? "bg-secondary/10 border-secondary/35 text-secondary shadow-sm shadow-secondary/10 font-black" : "border-
|
|
36177
|
+
className: Wt("flex flex-col items-center justify-center gap-1.5 py-2 px-1 text-[9px] font-bold rounded-xl border transition-all duration-150 active:scale-95 cursor-pointer select-none", t ? "bg-secondary/10 border-secondary/35 text-secondary shadow-sm shadow-secondary/10 font-black" : "border-dv-border bg-dv-panel text-slate-400 hover:text-slate-200"),
|
|
36179
36178
|
children: [/* @__PURE__ */ W(e.Icon, { className: "w-3.5 h-3.5" }), /* @__PURE__ */ W("span", {
|
|
36180
36179
|
className: "truncate w-full text-center",
|
|
36181
36180
|
children: e.label
|
|
@@ -36192,37 +36191,37 @@ var Cn = (e) => e.split("_").map((e) => e.charAt(0).toUpperCase() + e.slice(1).t
|
|
|
36192
36191
|
children: [
|
|
36193
36192
|
/* @__PURE__ */ G("button", {
|
|
36194
36193
|
onClick: i,
|
|
36195
|
-
className: "flex flex-col items-center justify-center gap-1.5 py-2 px-1 text-[9px] font-bold rounded-xl border border-
|
|
36194
|
+
className: "flex flex-col items-center justify-center gap-1.5 py-2 px-1 text-[9px] font-bold rounded-xl border border-dv-border bg-dv-panel text-slate-400 hover:text-slate-200 transition-all duration-150 active:scale-95 cursor-pointer",
|
|
36196
36195
|
children: [/* @__PURE__ */ W(A, { className: "w-3.5 h-3.5 text-secondary" }), /* @__PURE__ */ W("span", { children: "Restablecer" })]
|
|
36197
36196
|
}),
|
|
36198
36197
|
/* @__PURE__ */ G("button", {
|
|
36199
36198
|
onClick: a,
|
|
36200
|
-
className: "flex flex-col items-center justify-center gap-1.5 py-2 px-1 text-[9px] font-bold rounded-xl border border-
|
|
36199
|
+
className: "flex flex-col items-center justify-center gap-1.5 py-2 px-1 text-[9px] font-bold rounded-xl border border-dv-border bg-dv-panel text-rose-400 hover:text-rose-200 transition-all duration-150 active:scale-95 cursor-pointer",
|
|
36201
36200
|
children: [/* @__PURE__ */ W(z, { className: "w-3.5 h-3.5 text-rose-450" }), /* @__PURE__ */ W("span", { children: "Medidas" })]
|
|
36202
36201
|
}),
|
|
36203
36202
|
/* @__PURE__ */ G("button", {
|
|
36204
36203
|
onClick: o,
|
|
36205
|
-
className: "flex flex-col items-center justify-center gap-1.5 py-2 px-1 text-[9px] font-bold rounded-xl border border-
|
|
36204
|
+
className: "flex flex-col items-center justify-center gap-1.5 py-2 px-1 text-[9px] font-bold rounded-xl border border-dv-border bg-dv-panel text-slate-400 hover:text-slate-200 transition-all duration-150 active:scale-95 cursor-pointer",
|
|
36206
36205
|
children: [/* @__PURE__ */ W(_, { className: "w-3.5 h-3.5 text-secondary" }), /* @__PURE__ */ W("span", { children: "Invertir" })]
|
|
36207
36206
|
}),
|
|
36208
36207
|
/* @__PURE__ */ G("button", {
|
|
36209
36208
|
onClick: s,
|
|
36210
|
-
className: "flex flex-col items-center justify-center gap-1.5 py-2 px-1 text-[9px] font-bold rounded-xl border border-
|
|
36209
|
+
className: "flex flex-col items-center justify-center gap-1.5 py-2 px-1 text-[9px] font-bold rounded-xl border border-dv-border bg-dv-panel text-slate-400 hover:text-slate-200 transition-all duration-150 active:scale-95 cursor-pointer",
|
|
36211
36210
|
children: [/* @__PURE__ */ W(j, { className: "w-3.5 h-3.5 text-secondary" }), /* @__PURE__ */ W("span", { children: "Girar D." })]
|
|
36212
36211
|
}),
|
|
36213
36212
|
/* @__PURE__ */ G("button", {
|
|
36214
36213
|
onClick: c,
|
|
36215
|
-
className: "flex flex-col items-center justify-center gap-1.5 py-2 px-1 text-[9px] font-bold rounded-xl border border-
|
|
36214
|
+
className: "flex flex-col items-center justify-center gap-1.5 py-2 px-1 text-[9px] font-bold rounded-xl border border-dv-border bg-dv-panel text-slate-400 hover:text-slate-200 transition-all duration-150 active:scale-95 cursor-pointer",
|
|
36216
36215
|
children: [/* @__PURE__ */ W(A, { className: "w-3.5 h-3.5 text-secondary" }), /* @__PURE__ */ W("span", { children: "Girar I." })]
|
|
36217
36216
|
}),
|
|
36218
36217
|
/* @__PURE__ */ G("button", {
|
|
36219
36218
|
onClick: l,
|
|
36220
|
-
className: "flex flex-col items-center justify-center gap-1.5 py-2 px-1 text-[9px] font-bold rounded-xl border border-
|
|
36219
|
+
className: "flex flex-col items-center justify-center gap-1.5 py-2 px-1 text-[9px] font-bold rounded-xl border border-dv-border bg-dv-panel text-slate-400 hover:text-slate-200 transition-all duration-150 active:scale-95 cursor-pointer",
|
|
36221
36220
|
children: [/* @__PURE__ */ W(x, { className: "w-3.5 h-3.5 text-secondary" }), /* @__PURE__ */ W("span", { children: "Volteo H." })]
|
|
36222
36221
|
}),
|
|
36223
36222
|
/* @__PURE__ */ G("button", {
|
|
36224
36223
|
onClick: u,
|
|
36225
|
-
className: "flex flex-col items-center justify-center gap-1.5 py-2 px-1 text-[9px] font-bold rounded-xl border border-
|
|
36224
|
+
className: "flex flex-col items-center justify-center gap-1.5 py-2 px-1 text-[9px] font-bold rounded-xl border border-dv-border bg-dv-panel text-slate-400 hover:text-slate-200 transition-all duration-150 active:scale-95 cursor-pointer",
|
|
36226
36225
|
children: [/* @__PURE__ */ W(S, { className: "w-3.5 h-3.5 text-secondary" }), /* @__PURE__ */ W("span", { children: "Volteo V." })]
|
|
36227
36226
|
})
|
|
36228
36227
|
]
|
|
@@ -36237,7 +36236,7 @@ var Cn = (e) => e.split("_").map((e) => e.charAt(0).toUpperCase() + e.slice(1).t
|
|
|
36237
36236
|
let n = d === t.W && f === t.C;
|
|
36238
36237
|
return /* @__PURE__ */ W("button", {
|
|
36239
36238
|
onClick: () => p(t.W, t.C),
|
|
36240
|
-
className: Wt("flex items-center justify-center gap-1 py-2 px-1.5 text-[9px] font-bold rounded-xl border transition-all duration-150 active:scale-95 cursor-pointer select-none", n ? "bg-secondary/10 border-secondary/35 text-secondary shadow-sm shadow-secondary/10" : "border-
|
|
36239
|
+
className: Wt("flex items-center justify-center gap-1 py-2 px-1.5 text-[9px] font-bold rounded-xl border transition-all duration-150 active:scale-95 cursor-pointer select-none", n ? "bg-secondary/10 border-secondary/35 text-secondary shadow-sm shadow-secondary/10" : "border-dv-border bg-dv-panel text-slate-400 hover:text-slate-200"),
|
|
36241
36240
|
title: `W: ${t.W} C: ${t.C}`,
|
|
36242
36241
|
children: /* @__PURE__ */ W("span", { children: Cn(e) })
|
|
36243
36242
|
}, e);
|
|
@@ -36253,9 +36252,9 @@ var Cn = (e) => e.split("_").map((e) => e.charAt(0).toUpperCase() + e.slice(1).t
|
|
|
36253
36252
|
i((t) => t === e ? null : e);
|
|
36254
36253
|
};
|
|
36255
36254
|
return /* @__PURE__ */ G("footer", {
|
|
36256
|
-
className: "md:hidden w-full bg-
|
|
36255
|
+
className: "md:hidden w-full bg-dv-chrome border-t border-dv-border shrink-0 select-none z-20 relative font-sans",
|
|
36257
36256
|
children: [r !== null && /* @__PURE__ */ G("div", {
|
|
36258
|
-
className: "absolute bottom-16 left-4 right-4 z-30 p-4 bg-
|
|
36257
|
+
className: "absolute bottom-16 left-4 right-4 z-30 p-4 bg-dv-chrome/95 backdrop-blur-md rounded-2xl border border-dv-border shadow-2xl overflow-y-auto overflow-x-hidden scrollbar-discreet animate-in slide-in-from-bottom duration-250 max-h-[260px]",
|
|
36259
36258
|
children: [
|
|
36260
36259
|
r === "series" && /* @__PURE__ */ W(En, {}),
|
|
36261
36260
|
r === "options" && /* @__PURE__ */ G("div", {
|
|
@@ -36292,14 +36291,14 @@ var Cn = (e) => e.split("_").map((e) => e.charAt(0).toUpperCase() + e.slice(1).t
|
|
|
36292
36291
|
activeSeriesIndex: e.viewports[e.activeViewportIndex]?.seriesIndex ?? 0
|
|
36293
36292
|
}),
|
|
36294
36293
|
disabled: t.disabled,
|
|
36295
|
-
className: Wt("flex flex-col items-center justify-center gap-1.5 py-2.5 rounded-xl text-[10px] bg-
|
|
36294
|
+
className: Wt("flex flex-col items-center justify-center gap-1.5 py-2.5 rounded-xl text-[10px] bg-dv-panel border border-dv-border font-semibold text-slate-355 hover:text-white transition-all cursor-pointer select-none active:scale-95 animate-fade-in disabled:opacity-40 disabled:cursor-not-allowed", t.className),
|
|
36296
36295
|
children: [t.icon, /* @__PURE__ */ W("span", { children: t.label })]
|
|
36297
36296
|
}, t.id)), /* @__PURE__ */ G("button", {
|
|
36298
36297
|
onClick: () => t({
|
|
36299
36298
|
type: "SET_SHOW_OVERLAYS",
|
|
36300
36299
|
payload: !o
|
|
36301
36300
|
}),
|
|
36302
|
-
className: Wt("flex flex-col items-center justify-center gap-1.5 py-2.5 rounded-xl text-[10px] border font-semibold transition-all cursor-pointer select-none active:scale-95 animate-fade-in", o ? "bg-
|
|
36301
|
+
className: Wt("flex flex-col items-center justify-center gap-1.5 py-2.5 rounded-xl text-[10px] border font-semibold transition-all cursor-pointer select-none active:scale-95 animate-fade-in", o ? "bg-dv-panel border-dv-border text-slate-355 hover:text-white" : "bg-secondary/15 border-secondary/35 text-secondary font-bold"),
|
|
36303
36302
|
children: [o ? /* @__PURE__ */ W(y, { className: "h-4 w-4 text-slate-400" }) : /* @__PURE__ */ W(b, { className: "h-4 w-4 text-secondary" }), /* @__PURE__ */ W("span", { children: o ? "Ocultar Datos" : "Mostrar Datos" })]
|
|
36304
36303
|
})]
|
|
36305
36304
|
})]
|
|
@@ -36356,7 +36355,7 @@ var Cn = (e) => e.split("_").map((e) => e.charAt(0).toUpperCase() + e.slice(1).t
|
|
|
36356
36355
|
type: "SET_ACTIVE_SERIES_INDEX",
|
|
36357
36356
|
payload: r
|
|
36358
36357
|
}),
|
|
36359
|
-
className: Wt("relative rounded-2xl overflow-hidden border cursor-pointer group hover:border-secondary/20 transition-all duration-300 w-32 h-20 shrink-0 p-1 bg-
|
|
36358
|
+
className: Wt("relative rounded-2xl overflow-hidden border cursor-pointer group hover:border-secondary/20 transition-all duration-300 w-32 h-20 shrink-0 p-1 bg-dv-card/90", i ? "border-secondary/60 shadow-lg shadow-secondary/10 ring-1 ring-secondary/20" : "border-dv-border"),
|
|
36360
36359
|
children: /* @__PURE__ */ G("div", {
|
|
36361
36360
|
className: "relative w-full h-full rounded-xl bg-black overflow-hidden",
|
|
36362
36361
|
children: [n && /* @__PURE__ */ W("img", {
|
|
@@ -36367,7 +36366,7 @@ var Cn = (e) => e.split("_").map((e) => e.charAt(0).toUpperCase() + e.slice(1).t
|
|
|
36367
36366
|
className: "absolute inset-0 bg-linear-to-t from-black via-black/70 to-transparent flex flex-col justify-end p-2 text-left",
|
|
36368
36367
|
children: [
|
|
36369
36368
|
/* @__PURE__ */ W("span", {
|
|
36370
|
-
className: Wt("inline-block px-1 py-0.2 rounded-sm border text-[6px] font-black uppercase tracking-wider mb-1 w-fit", i ? "bg-secondary/30 border-secondary/45 text-slate-250" : "bg-
|
|
36369
|
+
className: Wt("inline-block px-1 py-0.2 rounded-sm border text-[6px] font-black uppercase tracking-wider mb-1 w-fit", i ? "bg-secondary/30 border-secondary/45 text-slate-250" : "bg-dv-panel border-dv-border text-slate-450"),
|
|
36371
36370
|
children: e.modality
|
|
36372
36371
|
}),
|
|
36373
36372
|
/* @__PURE__ */ W("p", {
|
|
@@ -36388,14 +36387,14 @@ var Cn = (e) => e.split("_").map((e) => e.charAt(0).toUpperCase() + e.slice(1).t
|
|
|
36388
36387
|
}, Dn = () => {
|
|
36389
36388
|
let { currentImageIndex: e, totalImages: t, downloadedCount: n, handleSliderChange: r } = se();
|
|
36390
36389
|
return /* @__PURE__ */ G("div", {
|
|
36391
|
-
className: "md:hidden shrink-0 bg-
|
|
36390
|
+
className: "md:hidden shrink-0 bg-dv-chrome border-t border-dv-border px-4 py-2.5 flex items-center gap-3 select-none",
|
|
36392
36391
|
children: [/* @__PURE__ */ W("input", {
|
|
36393
36392
|
type: "range",
|
|
36394
36393
|
min: "0",
|
|
36395
36394
|
max: n > 0 ? n - 1 : 0,
|
|
36396
36395
|
value: e,
|
|
36397
36396
|
onChange: (e) => r(Number(e.target.value)),
|
|
36398
|
-
className: "flex-1 h-1.5 bg-
|
|
36397
|
+
className: "flex-1 h-1.5 bg-dv-panel border border-dv-border rounded-full appearance-none cursor-pointer accent-secondary focus:outline-none"
|
|
36399
36398
|
}), /* @__PURE__ */ G("span", {
|
|
36400
36399
|
className: "text-[10px] font-mono text-primary font-bold shrink-0",
|
|
36401
36400
|
children: [
|
|
@@ -36405,21 +36404,46 @@ var Cn = (e) => e.split("_").map((e) => e.charAt(0).toUpperCase() + e.slice(1).t
|
|
|
36405
36404
|
]
|
|
36406
36405
|
})]
|
|
36407
36406
|
});
|
|
36408
|
-
}, On = ({ study: e, getDicomFile: n, getThumbnailUrl: i, presets: a, maxConcurrentDownloads: o, branding: c, onBack: l, actions: u, modals: d,
|
|
36409
|
-
let
|
|
36407
|
+
}, On = ({ study: e, getDicomFile: n, getThumbnailUrl: i, presets: a, maxConcurrentDownloads: o, branding: c, onBack: l, actions: u, modals: d, theme: f, className: p }) => {
|
|
36408
|
+
let m = s(() => t.toArray(u).filter(r), [u]), h = s(() => t.toArray(d).filter(r), [d]), g = s(() => {
|
|
36409
|
+
if (!f) return;
|
|
36410
|
+
let e = {
|
|
36411
|
+
primary: "--dv-primary",
|
|
36412
|
+
primaryForeground: "--dv-primary-foreground",
|
|
36413
|
+
secondary: "--dv-secondary",
|
|
36414
|
+
secondaryForeground: "--dv-secondary-foreground",
|
|
36415
|
+
background: "--dv-bg",
|
|
36416
|
+
chrome: "--dv-chrome",
|
|
36417
|
+
viewport: "--dv-viewport",
|
|
36418
|
+
overlay: "--dv-overlay",
|
|
36419
|
+
panel: "--dv-panel",
|
|
36420
|
+
panelHover: "--dv-panel-hover",
|
|
36421
|
+
panelHoverAlt: "--dv-panel-hover-alt",
|
|
36422
|
+
border: "--dv-border",
|
|
36423
|
+
borderHover: "--dv-border-hover",
|
|
36424
|
+
card: "--dv-card",
|
|
36425
|
+
modal: "--dv-modal"
|
|
36426
|
+
}, t = {};
|
|
36427
|
+
for (let [n, r] of Object.entries(e)) {
|
|
36428
|
+
let e = f[n];
|
|
36429
|
+
typeof e == "string" && e.length > 0 && (t[r] = e);
|
|
36430
|
+
}
|
|
36431
|
+
return t;
|
|
36432
|
+
}, [f]), _ = fe(e, {
|
|
36410
36433
|
getDicomFile: n,
|
|
36411
36434
|
getThumbnailUrl: i,
|
|
36412
36435
|
presets: a,
|
|
36413
36436
|
maxConcurrentDownloads: o,
|
|
36414
36437
|
branding: c,
|
|
36415
36438
|
onBack: l,
|
|
36416
|
-
actions:
|
|
36417
|
-
modals:
|
|
36439
|
+
actions: m,
|
|
36440
|
+
modals: h
|
|
36418
36441
|
});
|
|
36419
36442
|
return /* @__PURE__ */ W(oe.Provider, {
|
|
36420
|
-
value:
|
|
36443
|
+
value: _,
|
|
36421
36444
|
children: /* @__PURE__ */ G("div", {
|
|
36422
|
-
|
|
36445
|
+
style: g,
|
|
36446
|
+
className: "h-dvh bg-dv-bg text-slate-100 flex flex-col overflow-hidden font-sans select-none w-full relative" + (p ? ` ${p}` : ""),
|
|
36423
36447
|
onContextMenu: (e) => {
|
|
36424
36448
|
e.preventDefault();
|
|
36425
36449
|
},
|
|
@@ -36428,7 +36452,7 @@ var Cn = (e) => e.split("_").map((e) => e.charAt(0).toUpperCase() + e.slice(1).t
|
|
|
36428
36452
|
/* @__PURE__ */ G("div", {
|
|
36429
36453
|
className: "flex-1 flex flex-col md:flex-row overflow-hidden min-h-0 relative w-full",
|
|
36430
36454
|
children: [/* @__PURE__ */ W(hn, {}), /* @__PURE__ */ G("div", {
|
|
36431
|
-
className: "flex-1 flex flex-col h-full min-w-0 overflow-hidden bg-
|
|
36455
|
+
className: "flex-1 flex flex-col h-full min-w-0 overflow-hidden bg-dv-bg relative",
|
|
36432
36456
|
children: [
|
|
36433
36457
|
/* @__PURE__ */ W(pn, {}),
|
|
36434
36458
|
/* @__PURE__ */ W(Dn, {}),
|
|
@@ -36440,7 +36464,7 @@ var Cn = (e) => e.split("_").map((e) => e.charAt(0).toUpperCase() + e.slice(1).t
|
|
|
36440
36464
|
})]
|
|
36441
36465
|
}),
|
|
36442
36466
|
/* @__PURE__ */ W(Tn, {}),
|
|
36443
|
-
|
|
36467
|
+
h
|
|
36444
36468
|
]
|
|
36445
36469
|
})
|
|
36446
36470
|
});
|
package/dist/skeleton.d.ts
CHANGED
package/dist/skeleton.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
/* empty css */
|
|
2
1
|
import { jsx as e, jsxs as t } from "react/jsx-runtime";
|
|
3
2
|
//#region src/skeleton.tsx
|
|
4
3
|
var n = () => /* @__PURE__ */ t("div", {
|
|
5
|
-
className: "h-dvh bg-
|
|
4
|
+
className: "h-dvh bg-dv-bg text-slate-100 flex flex-col md:flex-row overflow-hidden font-sans select-none w-full relative animate-pulse",
|
|
6
5
|
children: [
|
|
7
6
|
/* @__PURE__ */ t("aside", {
|
|
8
|
-
className: "hidden md:flex w-80 border-r border-slate-800 bg-
|
|
7
|
+
className: "hidden md:flex w-80 border-r border-slate-800 bg-dv-modal h-full flex-col shrink-0",
|
|
9
8
|
children: [
|
|
10
9
|
/* @__PURE__ */ t("div", {
|
|
11
10
|
className: "p-4 border-b border-slate-800 space-y-2 text-left",
|
|
@@ -49,7 +48,7 @@ var n = () => /* @__PURE__ */ t("div", {
|
|
|
49
48
|
className: "flex-1 flex flex-col h-full min-w-0 overflow-hidden bg-black relative",
|
|
50
49
|
children: [
|
|
51
50
|
/* @__PURE__ */ t("div", {
|
|
52
|
-
className: "px-3 py-2 md:px-4 md:py-3 bg-
|
|
51
|
+
className: "px-3 py-2 md:px-4 md:py-3 bg-dv-modal border-b border-slate-800 flex flex-nowrap items-center justify-between gap-3 shrink-0 w-full overflow-hidden",
|
|
53
52
|
children: [/* @__PURE__ */ e("div", {
|
|
54
53
|
className: "flex-1 min-w-0 flex flex-nowrap gap-1.5 overflow-hidden",
|
|
55
54
|
children: [...[
|
|
@@ -99,13 +98,13 @@ var n = () => /* @__PURE__ */ t("div", {
|
|
|
99
98
|
]
|
|
100
99
|
}),
|
|
101
100
|
/* @__PURE__ */ t("div", {
|
|
102
|
-
className: "hidden md:flex h-14 border-t border-slate-800 bg-
|
|
101
|
+
className: "hidden md:flex h-14 border-t border-slate-800 bg-dv-modal items-center px-4 gap-4 shrink-0",
|
|
103
102
|
children: [/* @__PURE__ */ e("div", { className: "h-8 w-8 bg-slate-900/50 border border-slate-800/50 rounded-lg shrink-0" }), /* @__PURE__ */ e("div", { className: "flex-1 h-2 bg-slate-900/60 rounded-full" })]
|
|
104
103
|
})
|
|
105
104
|
]
|
|
106
105
|
}),
|
|
107
106
|
/* @__PURE__ */ t("footer", {
|
|
108
|
-
className: "md:hidden w-full border-t border-slate-800 bg-
|
|
107
|
+
className: "md:hidden w-full border-t border-slate-800 bg-dv-modal shrink-0 flex flex-col h-56",
|
|
109
108
|
children: [/* @__PURE__ */ t("div", {
|
|
110
109
|
className: "flex items-center justify-between p-3 border-b border-slate-800",
|
|
111
110
|
children: [/* @__PURE__ */ e("div", { className: "h-3 bg-slate-800/50 rounded-md w-1/3" }), /* @__PURE__ */ t("div", {
|
package/dist/style.css
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
2
|
-
@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-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking: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-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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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-amber-400:oklch(82.8% .189 84.429);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-950:oklch(27.9% .077 45.635);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-800:oklch(45% .085 224.283);--color-cyan-950:oklch(30.2% .056 229.695);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-800:oklch(43.8% .218 303.724);--color-purple-950:oklch(29.1% .149 302.717);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-800:oklch(45.5% .188 13.697);--color-rose-950:oklch(27.1% .105 12.094);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-xs:4px;--blur-md:12px;--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%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;-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:where(:not(iframe)){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}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::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}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.-top-1\.5{top:calc(var(--spacing) * -1.5)}.top-0{top:0}.top-2{top:calc(var(--spacing) * 2)}.top-4{top:calc(var(--spacing) * 4)}.-right-1\.5{right:calc(var(--spacing) * -1.5)}.right-0{right:0}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-16{bottom:calc(var(--spacing) * 16)}.left-0{left:0}.left-4{left:calc(var(--spacing) * 4)}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-0\.5{margin-inline:calc(var(--spacing) * .5)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mt-0{margin-top:0}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:var(--spacing)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-32{height:calc(var(--spacing) * 32)}.h-56{height:calc(var(--spacing) * 56)}.h-dvh{height:100dvh}.h-full{height:100%}.max-h-\[180px\]{max-height:180px}.max-h-\[260px\]{max-height:260px}.max-h-\[320px\]{max-height:320px}.min-h-0{min-height:0}.min-h-\[90px\]{min-height:90px}.min-h-\[120px\]{min-height:120px}.w-1\/2{width:50%}.w-1\/3{width:33.3333%}.w-1\/4{width:25%}.w-2\/3{width:66.6667%}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-16{width:calc(var(--spacing) * 16)}.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-60{width:calc(var(--spacing) * 60)}.w-80{width:calc(var(--spacing) * 80)}.w-\[170px\]{width:170px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-\[200px\]{max-width:200px}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-top-right{transform-origin:100% 0}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-crosshair{cursor:crosshair}.cursor-grab{cursor:grab}.cursor-none\!{cursor:none!important}.cursor-pointer{cursor:pointer}.touch-pan-x{--tw-pan-x:pan-x;touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.resize{resize:both}.scrollbar-none{scrollbar-width:none}.scrollbar-thin{scrollbar-width:thin}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-nowrap{flex-wrap:nowrap}.items-center{align-items:center}.justify-around{justify-content:space-around}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.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-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[\#242735\]{border-color:#242735}.border-amber-800\/80{border-color:#953d00cc}@supports (color:color-mix(in lab, red, red)){.border-amber-800\/80{border-color:color-mix(in oklab, var(--color-amber-800) 80%, transparent)}}.border-cyan-800\/80{border-color:#005f78cc}@supports (color:color-mix(in lab, red, red)){.border-cyan-800\/80{border-color:color-mix(in oklab, var(--color-cyan-800) 80%, transparent)}}.border-primary\/25{border-color:var(--dv-primary,#004461)}@supports (color:color-mix(in lab, red, red)){.border-primary\/25{border-color:color-mix(in oklab, var(--dv-primary,#004461) 25%, transparent)}}.border-purple-800\/80{border-color:#6e11b0cc}@supports (color:color-mix(in lab, red, red)){.border-purple-800\/80{border-color:color-mix(in oklab, var(--color-purple-800) 80%, transparent)}}.border-secondary,.border-secondary\/25{border-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.border-secondary\/25{border-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 25%, transparent)}}.border-secondary\/30{border-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.border-secondary\/30{border-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 30%, transparent)}}.border-secondary\/35{border-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.border-secondary\/35{border-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 35%, transparent)}}.border-secondary\/40{border-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.border-secondary\/40{border-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 40%, transparent)}}.border-secondary\/45{border-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.border-secondary\/45{border-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 45%, transparent)}}.border-secondary\/60{border-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.border-secondary\/60{border-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 60%, transparent)}}.border-slate-500{border-color:var(--color-slate-500)}.border-slate-800{border-color:var(--color-slate-800)}.border-slate-800\/50{border-color:#1d293d80}@supports (color:color-mix(in lab, red, red)){.border-slate-800\/50{border-color:color-mix(in oklab, var(--color-slate-800) 50%, transparent)}}.border-slate-800\/80{border-color:#1d293dcc}@supports (color:color-mix(in lab, red, red)){.border-slate-800\/80{border-color:color-mix(in oklab, var(--color-slate-800) 80%, transparent)}}.border-slate-900{border-color:var(--color-slate-900)}.border-slate-900\/50{border-color:#0f172b80}@supports (color:color-mix(in lab, red, red)){.border-slate-900\/50{border-color:color-mix(in oklab, var(--color-slate-900) 50%, transparent)}}.border-transparent{border-color:#0000}.border-white\/5{border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.border-white\/5{border-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.border-t-transparent{border-top-color:#0000}.bg-\[\#0c0e14\]{background-color:#0c0e14}.bg-\[\#0e1017\]{background-color:#0e1017}.bg-\[\#1a1d27\]{background-color:#1a1d27}.bg-\[\#090b11\]{background-color:#090b11}.bg-\[\#090b11\]\/90{background-color:oklab(15.0381% .0000409335 -.0134042/.9)}.bg-\[\#07090e\]{background-color:#07090e}.bg-\[\#11131c\]{background-color:#11131c}.bg-\[\#11131c\]\/90{background-color:oklab(18.9059% .00154323 -.0185384/.9)}.bg-\[\#13151c\]\/65{background-color:oklab(19.6884% .00063619 -.0144322/.65)}.bg-\[\#13151c\]\/80{background-color:oklab(19.6884% .00063619 -.0144322/.8)}.bg-\[\#13151c\]\/85{background-color:oklab(19.6884% .00063619 -.0144322/.85)}.bg-\[\#13151c\]\/90{background-color:oklab(19.6884% .00063619 -.0144322/.9)}.bg-\[\#060608\]{background-color:#060608}.bg-\[\#060608\]\/95{background-color:oklab(12.3375% .00148499 -.00533298/.95)}.bg-\[\#242735\]{background-color:#242735}.bg-amber-950\/80{background-color:#461901cc}@supports (color:color-mix(in lab, red, red)){.bg-amber-950\/80{background-color:color-mix(in oklab, var(--color-amber-950) 80%, transparent)}}.bg-black{background-color:var(--color-black)}.bg-cyan-950\/80{background-color:#053345cc}@supports (color:color-mix(in lab, red, red)){.bg-cyan-950\/80{background-color:color-mix(in oklab, var(--color-cyan-950) 80%, transparent)}}.bg-primary\/10{background-color:var(--dv-primary,#004461)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab, var(--dv-primary,#004461) 10%, transparent)}}.bg-purple-950\/80{background-color:#3c0366cc}@supports (color:color-mix(in lab, red, red)){.bg-purple-950\/80{background-color:color-mix(in oklab, var(--color-purple-950) 80%, transparent)}}.bg-secondary\/5{background-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.bg-secondary\/5{background-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 5%, transparent)}}.bg-secondary\/10{background-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.bg-secondary\/10{background-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 10%, transparent)}}.bg-secondary\/15{background-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.bg-secondary\/15{background-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 15%, transparent)}}.bg-secondary\/30{background-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.bg-secondary\/30{background-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 30%, transparent)}}.bg-slate-800\/20{background-color:#1d293d33}@supports (color:color-mix(in lab, red, red)){.bg-slate-800\/20{background-color:color-mix(in oklab, var(--color-slate-800) 20%, transparent)}}.bg-slate-800\/30{background-color:#1d293d4d}@supports (color:color-mix(in lab, red, red)){.bg-slate-800\/30{background-color:color-mix(in oklab, var(--color-slate-800) 30%, transparent)}}.bg-slate-800\/40{background-color:#1d293d66}@supports (color:color-mix(in lab, red, red)){.bg-slate-800\/40{background-color:color-mix(in oklab, var(--color-slate-800) 40%, transparent)}}.bg-slate-800\/50{background-color:#1d293d80}@supports (color:color-mix(in lab, red, red)){.bg-slate-800\/50{background-color:color-mix(in oklab, var(--color-slate-800) 50%, transparent)}}.bg-slate-800\/60{background-color:#1d293d99}@supports (color:color-mix(in lab, red, red)){.bg-slate-800\/60{background-color:color-mix(in oklab, var(--color-slate-800) 60%, transparent)}}.bg-slate-900\/20{background-color:#0f172b33}@supports (color:color-mix(in lab, red, red)){.bg-slate-900\/20{background-color:color-mix(in oklab, var(--color-slate-900) 20%, transparent)}}.bg-slate-900\/50{background-color:#0f172b80}@supports (color:color-mix(in lab, red, red)){.bg-slate-900\/50{background-color:color-mix(in oklab, var(--color-slate-900) 50%, transparent)}}.bg-slate-900\/60{background-color:#0f172b99}@supports (color:color-mix(in lab, red, red)){.bg-slate-900\/60{background-color:color-mix(in oklab, var(--color-slate-900) 60%, transparent)}}.bg-slate-950{background-color:var(--color-slate-950)}.bg-slate-950\/60{background-color:#02061899}@supports (color:color-mix(in lab, red, red)){.bg-slate-950\/60{background-color:color-mix(in oklab, var(--color-slate-950) 60%, transparent)}}.bg-slate-950\/70{background-color:#020618b3}@supports (color:color-mix(in lab, red, red)){.bg-slate-950\/70{background-color:color-mix(in oklab, var(--color-slate-950) 70%, transparent)}}.bg-slate-950\/80{background-color:#020618cc}@supports (color:color-mix(in lab, red, red)){.bg-slate-950\/80{background-color:color-mix(in oklab, var(--color-slate-950) 80%, transparent)}}.bg-slate-950\/95{background-color:#020618f2}@supports (color:color-mix(in lab, red, red)){.bg-slate-950\/95{background-color:color-mix(in oklab, var(--color-slate-950) 95%, transparent)}}.bg-linear-to-r{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-r{--tw-gradient-position:to right in oklab}}.bg-linear-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-linear-to-t{--tw-gradient-position:to top}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-t{--tw-gradient-position:to top in oklab}}.bg-linear-to-t{background-image:linear-gradient(var(--tw-gradient-stops))}.from-black{--tw-gradient-from:var(--color-black);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-secondary{--tw-gradient-from:var(--dv-secondary,#bb2d19);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-black\/70{--tw-gradient-via:#000000b3}@supports (color:color-mix(in lab, red, red)){.via-black\/70{--tw-gradient-via:color-mix(in oklab, var(--color-black) 70%, transparent)}}.via-black\/70{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-secondary\/50{--tw-gradient-to:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.to-secondary\/50{--tw-gradient-to:color-mix(in oklab, var(--dv-secondary,#bb2d19) 50%, transparent)}}.to-secondary\/50{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.fill-current{fill:currentColor}.object-contain{object-fit:contain}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-\[2px\]{padding:2px}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.pr-1{padding-right:var(--spacing)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pl-1{padding-left:var(--spacing)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[6px\]{font-size:6px}.text-\[7px\]{font-size:7px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-amber-400{color:var(--color-amber-400)}.text-cyan-400{color:var(--color-cyan-400)}.text-primary{color:var(--dv-primary,#004461)}.text-purple-400{color:var(--color-purple-400)}.text-rose-400{color:var(--color-rose-400)}.text-secondary{color:var(--dv-secondary,#bb2d19)}.text-slate-100{color:var(--color-slate-100)}.text-slate-200{color:var(--color-slate-200)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.uppercase{text-transform:uppercase}.accent-secondary{accent-color:var(--dv-secondary,#bb2d19)}.opacity-0{opacity:0}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-100{opacity:1}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_1px_4px_rgba\(0\,0\,0\,0\.5\)\]{--tw-shadow:0 1px 4px var(--tw-shadow-color,#00000080);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 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)}.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-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px 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)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + 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)}.ring-2{--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)}.shadow-secondary\/5{--tw-shadow-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.shadow-secondary\/5{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--dv-secondary,#bb2d19) 5%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-secondary\/10{--tw-shadow-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.shadow-secondary\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--dv-secondary,#bb2d19) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-secondary\/15{--tw-shadow-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.shadow-secondary\/15{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--dv-secondary,#bb2d19) 15%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-secondary\/20{--tw-shadow-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.shadow-secondary\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--dv-secondary,#bb2d19) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-secondary\/30{--tw-shadow-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.shadow-secondary\/30{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--dv-secondary,#bb2d19) 30%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-secondary\/20{--tw-ring-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.ring-secondary\/20{--tw-ring-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 20%, transparent)}}.ring-secondary\/30{--tw-ring-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.ring-secondary\/30{--tw-ring-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 30%, transparent)}}.ring-secondary\/35{--tw-ring-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.ring-secondary\/35{--tw-ring-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 35%, transparent)}}.blur-xs{--tw-blur:blur(var(--blur-xs));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,)}.brightness-110{--tw-brightness:brightness(110%);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,)}.invert{--tw-invert:invert(100%);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,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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))}.transition-transform{transition-property:transform,translate,scale,rotate;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}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-250{--tw-duration:.25s;transition-duration:.25s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\:scale-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:border-\[\#30354a\]:hover{border-color:#30354a}.hover\:border-rose-800\/55:hover{border-color:#a300378c}@supports (color:color-mix(in lab, red, red)){.hover\:border-rose-800\/55:hover{border-color:color-mix(in oklab, var(--color-rose-800) 55%, transparent)}}.hover\:border-secondary\/20:hover{border-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.hover\:border-secondary\/20:hover{border-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 20%, transparent)}}.hover\:border-slate-700\/50:hover{border-color:#31415880}@supports (color:color-mix(in lab, red, red)){.hover\:border-slate-700\/50:hover{border-color:color-mix(in oklab, var(--color-slate-700) 50%, transparent)}}.hover\:border-slate-800\/50:hover{border-color:#1d293d80}@supports (color:color-mix(in lab, red, red)){.hover\:border-slate-800\/50:hover{border-color:color-mix(in oklab, var(--color-slate-800) 50%, transparent)}}.hover\:bg-\[\#202432\]:hover{background-color:#202432}.hover\:bg-\[\#222634\]:hover{background-color:#222634}.hover\:bg-rose-950\/25:hover{background-color:#4d021840}@supports (color:color-mix(in lab, red, red)){.hover\:bg-rose-950\/25:hover{background-color:color-mix(in oklab, var(--color-rose-950) 25%, transparent)}}.hover\:bg-slate-800\/10:hover{background-color:#1d293d1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-slate-800\/10:hover{background-color:color-mix(in oklab, var(--color-slate-800) 10%, transparent)}}.hover\:bg-slate-800\/40:hover{background-color:#1d293d66}@supports (color:color-mix(in lab, red, red)){.hover\:bg-slate-800\/40:hover{background-color:color-mix(in oklab, var(--color-slate-800) 40%, transparent)}}.hover\:bg-slate-800\/60:hover{background-color:#1d293d99}@supports (color:color-mix(in lab, red, red)){.hover\:bg-slate-800\/60:hover{background-color:color-mix(in oklab, var(--color-slate-800) 60%, transparent)}}.hover\:bg-slate-900\/60:hover{background-color:#0f172b99}@supports (color:color-mix(in lab, red, red)){.hover\:bg-slate-900\/60:hover{background-color:color-mix(in oklab, var(--color-slate-900) 60%, transparent)}}.hover\:text-rose-200:hover{color:var(--color-rose-200)}.hover\:text-rose-400:hover{color:var(--color-rose-400)}.hover\:text-slate-100:hover{color:var(--color-slate-100)}.hover\:text-slate-200:hover{color:var(--color-slate-200)}.hover\:text-white:hover{color:var(--color-white)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:translate-y-0:active{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.active\:scale-90:active{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:transform-none:disabled{transform:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-20:disabled{opacity:.2}.disabled\:opacity-40:disabled{opacity:.4}.data-active\:border-secondary\/20[data-active]{border-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.data-active\:border-secondary\/20[data-active]{border-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 20%, transparent)}}.data-active\:bg-secondary\/10[data-active]{background-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.data-active\:bg-secondary\/10[data-active]{background-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 10%, transparent)}}.data-active\:font-bold[data-active]{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.data-active\:text-secondary[data-active]{color:var(--dv-secondary,#bb2d19)}.data-\[state\=active\]\:border-secondary\/20[data-state=active]{border-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.data-\[state\=active\]\:border-secondary\/20[data-state=active]{border-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 20%, transparent)}}.data-\[state\=active\]\:bg-secondary\/10[data-state=active]{background-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.data-\[state\=active\]\:bg-secondary\/10[data-state=active]{background-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 10%, transparent)}}.data-\[state\=active\]\:font-bold[data-state=active]{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.data-\[state\=active\]\:text-secondary[data-state=active]{color:var(--dv-secondary,#bb2d19)}@media (width>=48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-auto{width:auto}.md\:flex-row{flex-direction:row}.md\:justify-start{justify-content:flex-start}.md\:border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.md\:px-4{padding-inline:calc(var(--spacing) * 4)}.md\:py-3{padding-block:calc(var(--spacing) * 3)}.md\:pl-0{padding-left:0}}.\[\&_canvas\]\:cursor-none\! canvas{cursor:none!important}}@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}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{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-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-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@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}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
|
|
3
|
-
/*$vite$:1*/
|
|
2
|
+
@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-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking: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-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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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-amber-400:oklch(82.8% .189 84.429);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-950:oklch(27.9% .077 45.635);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-800:oklch(45% .085 224.283);--color-cyan-950:oklch(30.2% .056 229.695);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-800:oklch(43.8% .218 303.724);--color-purple-950:oklch(29.1% .149 302.717);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-800:oklch(45.5% .188 13.697);--color-rose-950:oklch(27.1% .105 12.094);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-xs:4px;--blur-md:12px;--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%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::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}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.-top-1\.5{top:calc(var(--spacing) * -1.5)}.top-0{top:0}.top-2{top:calc(var(--spacing) * 2)}.top-4{top:calc(var(--spacing) * 4)}.-right-1\.5{right:calc(var(--spacing) * -1.5)}.right-0{right:0}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-16{bottom:calc(var(--spacing) * 16)}.left-0{left:0}.left-4{left:calc(var(--spacing) * 4)}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.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}}.mx-0\.5{margin-inline:calc(var(--spacing) * .5)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mt-0{margin-top:0}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:var(--spacing)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-32{height:calc(var(--spacing) * 32)}.h-56{height:calc(var(--spacing) * 56)}.h-dvh{height:100dvh}.h-full{height:100%}.max-h-\[180px\]{max-height:180px}.max-h-\[260px\]{max-height:260px}.max-h-\[320px\]{max-height:320px}.min-h-0{min-height:0}.min-h-\[90px\]{min-height:90px}.min-h-\[120px\]{min-height:120px}.w-1\/2{width:50%}.w-1\/3{width:33.3333%}.w-1\/4{width:25%}.w-2\/3{width:66.6667%}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-16{width:calc(var(--spacing) * 16)}.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-60{width:calc(var(--spacing) * 60)}.w-80{width:calc(var(--spacing) * 80)}.w-\[170px\]{width:170px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-\[200px\]{max-width:200px}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-top-right{transform-origin:100% 0}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-crosshair{cursor:crosshair}.cursor-grab{cursor:grab}.cursor-none\!{cursor:none!important}.cursor-pointer{cursor:pointer}.touch-pan-x{--tw-pan-x:pan-x;touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.resize{resize:both}.scrollbar-none{scrollbar-width:none}.scrollbar-thin{scrollbar-width:thin}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-nowrap{flex-wrap:nowrap}.items-center{align-items:center}.justify-around{justify-content:space-around}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.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-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-800\/80{border-color:#953d00cc}@supports (color:color-mix(in lab, red, red)){.border-amber-800\/80{border-color:color-mix(in oklab, var(--color-amber-800) 80%, transparent)}}.border-cyan-800\/80{border-color:#005f78cc}@supports (color:color-mix(in lab, red, red)){.border-cyan-800\/80{border-color:color-mix(in oklab, var(--color-cyan-800) 80%, transparent)}}.border-dv-border{border-color:var(--dv-border,#242735)}.border-primary\/25{border-color:var(--dv-primary,#004461)}@supports (color:color-mix(in lab, red, red)){.border-primary\/25{border-color:color-mix(in oklab, var(--dv-primary,#004461) 25%, transparent)}}.border-purple-800\/80{border-color:#6e11b0cc}@supports (color:color-mix(in lab, red, red)){.border-purple-800\/80{border-color:color-mix(in oklab, var(--color-purple-800) 80%, transparent)}}.border-secondary,.border-secondary\/25{border-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.border-secondary\/25{border-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 25%, transparent)}}.border-secondary\/30{border-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.border-secondary\/30{border-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 30%, transparent)}}.border-secondary\/35{border-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.border-secondary\/35{border-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 35%, transparent)}}.border-secondary\/40{border-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.border-secondary\/40{border-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 40%, transparent)}}.border-secondary\/45{border-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.border-secondary\/45{border-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 45%, transparent)}}.border-secondary\/60{border-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.border-secondary\/60{border-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 60%, transparent)}}.border-slate-500{border-color:var(--color-slate-500)}.border-slate-800{border-color:var(--color-slate-800)}.border-slate-800\/50{border-color:#1d293d80}@supports (color:color-mix(in lab, red, red)){.border-slate-800\/50{border-color:color-mix(in oklab, var(--color-slate-800) 50%, transparent)}}.border-slate-800\/80{border-color:#1d293dcc}@supports (color:color-mix(in lab, red, red)){.border-slate-800\/80{border-color:color-mix(in oklab, var(--color-slate-800) 80%, transparent)}}.border-slate-900{border-color:var(--color-slate-900)}.border-slate-900\/50{border-color:#0f172b80}@supports (color:color-mix(in lab, red, red)){.border-slate-900\/50{border-color:color-mix(in oklab, var(--color-slate-900) 50%, transparent)}}.border-transparent{border-color:#0000}.border-white\/5{border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.border-white\/5{border-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.border-t-transparent{border-top-color:#0000}.bg-amber-950\/80{background-color:#461901cc}@supports (color:color-mix(in lab, red, red)){.bg-amber-950\/80{background-color:color-mix(in oklab, var(--color-amber-950) 80%, transparent)}}.bg-black{background-color:var(--color-black)}.bg-cyan-950\/80{background-color:#053345cc}@supports (color:color-mix(in lab, red, red)){.bg-cyan-950\/80{background-color:color-mix(in oklab, var(--color-cyan-950) 80%, transparent)}}.bg-dv-bg{background-color:var(--dv-bg,#0e1017)}.bg-dv-border{background-color:var(--dv-border,#242735)}.bg-dv-card,.bg-dv-card\/90{background-color:var(--dv-card,#11131c)}@supports (color:color-mix(in lab, red, red)){.bg-dv-card\/90{background-color:color-mix(in oklab, var(--dv-card,#11131c) 90%, transparent)}}.bg-dv-chrome,.bg-dv-chrome\/95{background-color:var(--dv-chrome,#060608)}@supports (color:color-mix(in lab, red, red)){.bg-dv-chrome\/95{background-color:color-mix(in oklab, var(--dv-chrome,#060608) 95%, transparent)}}.bg-dv-modal{background-color:var(--dv-modal,#0c0e14)}.bg-dv-overlay\/65{background-color:var(--dv-overlay,#13151c)}@supports (color:color-mix(in lab, red, red)){.bg-dv-overlay\/65{background-color:color-mix(in oklab, var(--dv-overlay,#13151c) 65%, transparent)}}.bg-dv-overlay\/80{background-color:var(--dv-overlay,#13151c)}@supports (color:color-mix(in lab, red, red)){.bg-dv-overlay\/80{background-color:color-mix(in oklab, var(--dv-overlay,#13151c) 80%, transparent)}}.bg-dv-overlay\/85{background-color:var(--dv-overlay,#13151c)}@supports (color:color-mix(in lab, red, red)){.bg-dv-overlay\/85{background-color:color-mix(in oklab, var(--dv-overlay,#13151c) 85%, transparent)}}.bg-dv-overlay\/90{background-color:var(--dv-overlay,#13151c)}@supports (color:color-mix(in lab, red, red)){.bg-dv-overlay\/90{background-color:color-mix(in oklab, var(--dv-overlay,#13151c) 90%, transparent)}}.bg-dv-panel{background-color:var(--dv-panel,#1a1d27)}.bg-dv-viewport,.bg-dv-viewport\/90{background-color:var(--dv-viewport,#090b11)}@supports (color:color-mix(in lab, red, red)){.bg-dv-viewport\/90{background-color:color-mix(in oklab, var(--dv-viewport,#090b11) 90%, transparent)}}.bg-primary\/10{background-color:var(--dv-primary,#004461)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab, var(--dv-primary,#004461) 10%, transparent)}}.bg-purple-950\/80{background-color:#3c0366cc}@supports (color:color-mix(in lab, red, red)){.bg-purple-950\/80{background-color:color-mix(in oklab, var(--color-purple-950) 80%, transparent)}}.bg-secondary\/5{background-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.bg-secondary\/5{background-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 5%, transparent)}}.bg-secondary\/10{background-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.bg-secondary\/10{background-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 10%, transparent)}}.bg-secondary\/15{background-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.bg-secondary\/15{background-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 15%, transparent)}}.bg-secondary\/30{background-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.bg-secondary\/30{background-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 30%, transparent)}}.bg-slate-800\/20{background-color:#1d293d33}@supports (color:color-mix(in lab, red, red)){.bg-slate-800\/20{background-color:color-mix(in oklab, var(--color-slate-800) 20%, transparent)}}.bg-slate-800\/30{background-color:#1d293d4d}@supports (color:color-mix(in lab, red, red)){.bg-slate-800\/30{background-color:color-mix(in oklab, var(--color-slate-800) 30%, transparent)}}.bg-slate-800\/40{background-color:#1d293d66}@supports (color:color-mix(in lab, red, red)){.bg-slate-800\/40{background-color:color-mix(in oklab, var(--color-slate-800) 40%, transparent)}}.bg-slate-800\/50{background-color:#1d293d80}@supports (color:color-mix(in lab, red, red)){.bg-slate-800\/50{background-color:color-mix(in oklab, var(--color-slate-800) 50%, transparent)}}.bg-slate-800\/60{background-color:#1d293d99}@supports (color:color-mix(in lab, red, red)){.bg-slate-800\/60{background-color:color-mix(in oklab, var(--color-slate-800) 60%, transparent)}}.bg-slate-900\/20{background-color:#0f172b33}@supports (color:color-mix(in lab, red, red)){.bg-slate-900\/20{background-color:color-mix(in oklab, var(--color-slate-900) 20%, transparent)}}.bg-slate-900\/50{background-color:#0f172b80}@supports (color:color-mix(in lab, red, red)){.bg-slate-900\/50{background-color:color-mix(in oklab, var(--color-slate-900) 50%, transparent)}}.bg-slate-900\/60{background-color:#0f172b99}@supports (color:color-mix(in lab, red, red)){.bg-slate-900\/60{background-color:color-mix(in oklab, var(--color-slate-900) 60%, transparent)}}.bg-slate-950{background-color:var(--color-slate-950)}.bg-slate-950\/60{background-color:#02061899}@supports (color:color-mix(in lab, red, red)){.bg-slate-950\/60{background-color:color-mix(in oklab, var(--color-slate-950) 60%, transparent)}}.bg-slate-950\/70{background-color:#020618b3}@supports (color:color-mix(in lab, red, red)){.bg-slate-950\/70{background-color:color-mix(in oklab, var(--color-slate-950) 70%, transparent)}}.bg-slate-950\/80{background-color:#020618cc}@supports (color:color-mix(in lab, red, red)){.bg-slate-950\/80{background-color:color-mix(in oklab, var(--color-slate-950) 80%, transparent)}}.bg-slate-950\/95{background-color:#020618f2}@supports (color:color-mix(in lab, red, red)){.bg-slate-950\/95{background-color:color-mix(in oklab, var(--color-slate-950) 95%, transparent)}}.bg-linear-to-r{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-r{--tw-gradient-position:to right in oklab}}.bg-linear-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-linear-to-t{--tw-gradient-position:to top}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-t{--tw-gradient-position:to top in oklab}}.bg-linear-to-t{background-image:linear-gradient(var(--tw-gradient-stops))}.from-black{--tw-gradient-from:var(--color-black);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-secondary{--tw-gradient-from:var(--dv-secondary,#bb2d19);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-black\/70{--tw-gradient-via:#000000b3}@supports (color:color-mix(in lab, red, red)){.via-black\/70{--tw-gradient-via:color-mix(in oklab, var(--color-black) 70%, transparent)}}.via-black\/70{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-secondary\/50{--tw-gradient-to:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.to-secondary\/50{--tw-gradient-to:color-mix(in oklab, var(--dv-secondary,#bb2d19) 50%, transparent)}}.to-secondary\/50{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.fill-current{fill:currentColor}.object-contain{object-fit:contain}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-\[2px\]{padding:2px}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.pr-1{padding-right:var(--spacing)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pl-1{padding-left:var(--spacing)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[6px\]{font-size:6px}.text-\[7px\]{font-size:7px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-amber-400{color:var(--color-amber-400)}.text-cyan-400{color:var(--color-cyan-400)}.text-primary{color:var(--dv-primary,#004461)}.text-purple-400{color:var(--color-purple-400)}.text-rose-400{color:var(--color-rose-400)}.text-secondary{color:var(--dv-secondary,#bb2d19)}.text-slate-100{color:var(--color-slate-100)}.text-slate-200{color:var(--color-slate-200)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.uppercase{text-transform:uppercase}.accent-secondary{accent-color:var(--dv-secondary,#bb2d19)}.opacity-0{opacity:0}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-100{opacity:1}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_1px_4px_rgba\(0\,0\,0\,0\.5\)\]{--tw-shadow:0 1px 4px var(--tw-shadow-color,#00000080);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 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)}.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-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px 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)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + 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)}.ring-2{--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)}.shadow-secondary\/5{--tw-shadow-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.shadow-secondary\/5{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--dv-secondary,#bb2d19) 5%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-secondary\/10{--tw-shadow-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.shadow-secondary\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--dv-secondary,#bb2d19) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-secondary\/15{--tw-shadow-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.shadow-secondary\/15{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--dv-secondary,#bb2d19) 15%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-secondary\/20{--tw-shadow-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.shadow-secondary\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--dv-secondary,#bb2d19) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-secondary\/30{--tw-shadow-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.shadow-secondary\/30{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--dv-secondary,#bb2d19) 30%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-secondary\/20{--tw-ring-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.ring-secondary\/20{--tw-ring-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 20%, transparent)}}.ring-secondary\/30{--tw-ring-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.ring-secondary\/30{--tw-ring-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 30%, transparent)}}.ring-secondary\/35{--tw-ring-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.ring-secondary\/35{--tw-ring-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 35%, transparent)}}.blur-xs{--tw-blur:blur(var(--blur-xs));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,)}.brightness-110{--tw-brightness:brightness(110%);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,)}.invert{--tw-invert:invert(100%);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,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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))}.transition-transform{transition-property:transform,translate,scale,rotate;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}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-250{--tw-duration:.25s;transition-duration:.25s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\:scale-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:border-dv-border-hover:hover{border-color:var(--dv-border-hover,#30354a)}.hover\:border-rose-800\/55:hover{border-color:#a300378c}@supports (color:color-mix(in lab, red, red)){.hover\:border-rose-800\/55:hover{border-color:color-mix(in oklab, var(--color-rose-800) 55%, transparent)}}.hover\:border-secondary\/20:hover{border-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.hover\:border-secondary\/20:hover{border-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 20%, transparent)}}.hover\:border-slate-700\/50:hover{border-color:#31415880}@supports (color:color-mix(in lab, red, red)){.hover\:border-slate-700\/50:hover{border-color:color-mix(in oklab, var(--color-slate-700) 50%, transparent)}}.hover\:border-slate-800\/50:hover{border-color:#1d293d80}@supports (color:color-mix(in lab, red, red)){.hover\:border-slate-800\/50:hover{border-color:color-mix(in oklab, var(--color-slate-800) 50%, transparent)}}.hover\:bg-dv-panel-hover:hover{background-color:var(--dv-panel-hover,#202432)}.hover\:bg-dv-panel-hover-alt:hover{background-color:var(--dv-panel-hover-alt,#222634)}.hover\:bg-rose-950\/25:hover{background-color:#4d021840}@supports (color:color-mix(in lab, red, red)){.hover\:bg-rose-950\/25:hover{background-color:color-mix(in oklab, var(--color-rose-950) 25%, transparent)}}.hover\:bg-slate-800\/10:hover{background-color:#1d293d1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-slate-800\/10:hover{background-color:color-mix(in oklab, var(--color-slate-800) 10%, transparent)}}.hover\:bg-slate-800\/40:hover{background-color:#1d293d66}@supports (color:color-mix(in lab, red, red)){.hover\:bg-slate-800\/40:hover{background-color:color-mix(in oklab, var(--color-slate-800) 40%, transparent)}}.hover\:bg-slate-800\/60:hover{background-color:#1d293d99}@supports (color:color-mix(in lab, red, red)){.hover\:bg-slate-800\/60:hover{background-color:color-mix(in oklab, var(--color-slate-800) 60%, transparent)}}.hover\:bg-slate-900\/60:hover{background-color:#0f172b99}@supports (color:color-mix(in lab, red, red)){.hover\:bg-slate-900\/60:hover{background-color:color-mix(in oklab, var(--color-slate-900) 60%, transparent)}}.hover\:text-rose-200:hover{color:var(--color-rose-200)}.hover\:text-rose-400:hover{color:var(--color-rose-400)}.hover\:text-slate-100:hover{color:var(--color-slate-100)}.hover\:text-slate-200:hover{color:var(--color-slate-200)}.hover\:text-white:hover{color:var(--color-white)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:translate-y-0:active{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.active\:scale-90:active{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:transform-none:disabled{transform:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-20:disabled{opacity:.2}.disabled\:opacity-40:disabled{opacity:.4}.data-active\:border-secondary\/20[data-active]{border-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.data-active\:border-secondary\/20[data-active]{border-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 20%, transparent)}}.data-active\:bg-secondary\/10[data-active]{background-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.data-active\:bg-secondary\/10[data-active]{background-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 10%, transparent)}}.data-active\:font-bold[data-active]{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.data-active\:text-secondary[data-active]{color:var(--dv-secondary,#bb2d19)}.data-\[state\=active\]\:border-secondary\/20[data-state=active]{border-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.data-\[state\=active\]\:border-secondary\/20[data-state=active]{border-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 20%, transparent)}}.data-\[state\=active\]\:bg-secondary\/10[data-state=active]{background-color:var(--dv-secondary,#bb2d19)}@supports (color:color-mix(in lab, red, red)){.data-\[state\=active\]\:bg-secondary\/10[data-state=active]{background-color:color-mix(in oklab, var(--dv-secondary,#bb2d19) 10%, transparent)}}.data-\[state\=active\]\:font-bold[data-state=active]{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.data-\[state\=active\]\:text-secondary[data-state=active]{color:var(--dv-secondary,#bb2d19)}@media (min-width:48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-auto{width:auto}.md\:flex-row{flex-direction:row}.md\:justify-start{justify-content:flex-start}.md\:border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.md\:px-4{padding-inline:calc(var(--spacing) * 4)}.md\:py-3{padding-block:calc(var(--spacing) * 3)}.md\:pl-0{padding-left:0}}.\[\&_canvas\]\:cursor-none\! canvas{cursor:none!important}}@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}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{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-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-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@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}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
|
package/dist/types.d.ts
CHANGED
|
@@ -48,6 +48,47 @@ export type PresetsConfig = Record<string, Record<string, {
|
|
|
48
48
|
W: number;
|
|
49
49
|
C: number;
|
|
50
50
|
}>>;
|
|
51
|
+
/**
|
|
52
|
+
* Tema del visor: colores primario/secundario con sus contrastes y tokens de
|
|
53
|
+
* superficie opcionales. Todos los campos son opcionales; los no definidos
|
|
54
|
+
* usan el default del paquete (o el tema del host en el caso de Symphony).
|
|
55
|
+
*
|
|
56
|
+
* Se aplican como variables CSS (`--dv-*`) inline en el elemento raíz del
|
|
57
|
+
* visor: alcance por instancia, sin recompilar estilos ni contaminar el
|
|
58
|
+
* `:root` del host.
|
|
59
|
+
*/
|
|
60
|
+
export interface DicomViewerTheme {
|
|
61
|
+
/** Color de acento primario (usado en spinners, contadores, presets). */
|
|
62
|
+
primary?: string;
|
|
63
|
+
/** Contraste del primario (texto sobre fondos `primary`). */
|
|
64
|
+
primaryForeground?: string;
|
|
65
|
+
/** Color de acento secundario (herramientas activas, overlays, medidor). */
|
|
66
|
+
secondary?: string;
|
|
67
|
+
/** Contraste del secundario. */
|
|
68
|
+
secondaryForeground?: string;
|
|
69
|
+
/** Fondo de la página del visor (default #0e1017). */
|
|
70
|
+
background?: string;
|
|
71
|
+
/** Barras superior/inferior y sidebar (default #060608). */
|
|
72
|
+
chrome?: string;
|
|
73
|
+
/** Fondo del canvas/viewport (default #090b11). */
|
|
74
|
+
viewport?: string;
|
|
75
|
+
/** Cajas flotantes sobre la imagen (default #13151c). */
|
|
76
|
+
overlay?: string;
|
|
77
|
+
/** Superficie de botones/paneles (default #1a1d27). */
|
|
78
|
+
panel?: string;
|
|
79
|
+
/** Hover de paneles (default #202432). */
|
|
80
|
+
panelHover?: string;
|
|
81
|
+
/** Hover alternativo (botones del sidebar, default #222634). */
|
|
82
|
+
panelHoverAlt?: string;
|
|
83
|
+
/** Bordes de superficies (default #242735). */
|
|
84
|
+
border?: string;
|
|
85
|
+
/** Hover de bordes (default #30354a). */
|
|
86
|
+
borderHover?: string;
|
|
87
|
+
/** Tarjetas de series (default #11131c). */
|
|
88
|
+
card?: string;
|
|
89
|
+
/** Fondo de modales y skeleton (default #0c0e14). */
|
|
90
|
+
modal?: string;
|
|
91
|
+
}
|
|
51
92
|
export type ActionPlacement = "toolbar" | "sidebar" | "footer";
|
|
52
93
|
export interface ActionContext {
|
|
53
94
|
study: DicomStudy;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@medicaresoft/dicom-viewer",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Visor DICOM reutilizable basado en Cornerstone v2. Núcleo de visualización sin lógica de negocio ni permisos: el host inyecta datos, acciones y branding.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"**/*.css"
|
|
31
31
|
],
|
|
32
32
|
"scripts": {
|
|
33
|
-
"build": "vite build && tsc -p tsconfig.build.json",
|
|
33
|
+
"build": "vite build && tsc -p tsconfig.build.json && tailwindcss -i style.css -o dist/style.css --minify",
|
|
34
34
|
"typecheck": "tsc --noEmit",
|
|
35
35
|
"link:shared": "bash scripts/link-shared-deps.sh",
|
|
36
36
|
"prepublishOnly": "npm run build"
|
|
@@ -51,6 +51,7 @@
|
|
|
51
51
|
"tailwind-merge": "^3.6.0"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
|
+
"@tailwindcss/cli": "^4.3.0",
|
|
54
55
|
"@tailwindcss/vite": "^4.3.0",
|
|
55
56
|
"@types/hammerjs": "^2.0.46",
|
|
56
57
|
"@types/react": "^19.2.14",
|